@annotorious/react 3.0.0-rc.21 → 3.0.0-rc.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Annotorious.d.ts +28 -3
- package/dist/Annotorious.d.ts.map +1 -1
- package/dist/AnnotoriousPlugin.d.ts +6 -7
- package/dist/AnnotoriousPlugin.d.ts.map +1 -1
- package/dist/ImageAnnotator.d.ts.map +1 -1
- package/dist/annotorious-react.css +1 -1
- package/dist/annotorious-react.es.js +50 -33
- package/dist/annotorious-react.es.js.map +1 -1
- package/dist/annotorious-react.es10.js +3 -29
- package/dist/annotorious-react.es10.js.map +1 -1
- package/dist/annotorious-react.es11.js +27 -36
- package/dist/annotorious-react.es11.js.map +1 -1
- package/dist/annotorious-react.es12.js +20 -16
- package/dist/annotorious-react.es12.js.map +1 -1
- package/dist/annotorious-react.es13.js +54 -6
- package/dist/annotorious-react.es13.js.map +1 -1
- package/dist/annotorious-react.es14.js +17 -8
- package/dist/annotorious-react.es14.js.map +1 -1
- package/dist/annotorious-react.es15.js +21 -152
- package/dist/annotorious-react.es15.js.map +1 -1
- package/dist/annotorious-react.es16.js +2 -27436
- package/dist/annotorious-react.es16.js.map +1 -1
- package/dist/annotorious-react.es17.js +2 -32
- package/dist/annotorious-react.es17.js.map +1 -1
- package/dist/annotorious-react.es18.js +3859 -2
- package/dist/annotorious-react.es18.js.map +1 -1
- package/dist/annotorious-react.es19.js +29 -30
- package/dist/annotorious-react.es19.js.map +1 -1
- package/dist/annotorious-react.es2.js +32 -32
- package/dist/annotorious-react.es2.js.map +1 -1
- package/dist/annotorious-react.es20.js +35 -598
- package/dist/annotorious-react.es20.js.map +1 -1
- package/dist/annotorious-react.es21.js +16 -2
- package/dist/annotorious-react.es21.js.map +1 -1
- package/dist/annotorious-react.es22.js +4 -2
- package/dist/annotorious-react.es22.js.map +1 -1
- package/dist/annotorious-react.es23.js +11 -0
- package/dist/annotorious-react.es23.js.map +1 -0
- package/dist/annotorious-react.es24.js +156 -0
- package/dist/annotorious-react.es24.js.map +1 -0
- package/dist/annotorious-react.es25.js +9 -0
- package/dist/annotorious-react.es25.js.map +1 -0
- package/dist/annotorious-react.es26.js +20665 -0
- package/dist/annotorious-react.es26.js.map +1 -0
- package/dist/annotorious-react.es27.js +35 -0
- package/dist/annotorious-react.es27.js.map +1 -0
- package/dist/annotorious-react.es28.js +5 -0
- package/dist/annotorious-react.es28.js.map +1 -0
- package/dist/annotorious-react.es29.js +33 -0
- package/dist/annotorious-react.es29.js.map +1 -0
- package/dist/annotorious-react.es3.js +7 -7
- package/dist/annotorious-react.es3.js.map +1 -1
- package/dist/annotorious-react.es30.js +602 -0
- package/dist/annotorious-react.es30.js.map +1 -0
- package/dist/annotorious-react.es31.js +5 -0
- package/dist/annotorious-react.es31.js.map +1 -0
- package/dist/annotorious-react.es32.js +5 -0
- package/dist/annotorious-react.es32.js.map +1 -0
- package/dist/annotorious-react.es33.js +20 -0
- package/dist/annotorious-react.es33.js.map +1 -0
- package/dist/annotorious-react.es34.js +30 -0
- package/dist/annotorious-react.es34.js.map +1 -0
- package/dist/annotorious-react.es35.js +19 -0
- package/dist/annotorious-react.es35.js.map +1 -0
- package/dist/annotorious-react.es36.js +24 -0
- package/dist/annotorious-react.es36.js.map +1 -0
- package/dist/annotorious-react.es37.js +19 -0
- package/dist/annotorious-react.es37.js.map +1 -0
- package/dist/annotorious-react.es38.js +7 -0
- package/dist/annotorious-react.es38.js.map +1 -0
- package/dist/annotorious-react.es39.js +11 -0
- package/dist/annotorious-react.es39.js.map +1 -0
- package/dist/annotorious-react.es4.js +8 -8
- package/dist/annotorious-react.es4.js.map +1 -1
- package/dist/annotorious-react.es40.js +10 -0
- package/dist/annotorious-react.es40.js.map +1 -0
- package/dist/annotorious-react.es5.js +10 -10
- package/dist/annotorious-react.es5.js.map +1 -1
- package/dist/annotorious-react.es6.js +4 -1
- package/dist/annotorious-react.es6.js.map +1 -1
- package/dist/annotorious-react.es7.js +4 -1
- package/dist/annotorious-react.es7.js.map +1 -1
- package/dist/annotorious-react.es8.js +46 -85
- package/dist/annotorious-react.es8.js.map +1 -1
- package/dist/annotorious-react.es9.js +10 -4237
- package/dist/annotorious-react.es9.js.map +1 -1
- package/dist/index.d.ts +10 -12
- package/dist/index.d.ts.map +1 -1
- package/dist/openseadragon/OpenSeadragonAnnotator.d.ts.map +1 -1
- package/dist/openseadragon/setPosition.d.ts.map +1 -1
- package/package.json +8 -16
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"annotorious-react.es9.js","sources":["../../annotorious/dist/annotorious.es.js"],"sourcesContent":["var nn = Object.defineProperty;\nvar on = (e, t, n) => t in e ? nn(e, t, { enumerable: !0, configurable: !0, writable: !0, value: n }) : e[t] = n;\nvar Ke = (e, t, n) => (on(e, typeof t != \"symbol\" ? t + \"\" : t, n), n);\nfunction V() {\n}\nfunction nt(e, t) {\n for (const n in t)\n e[n] = t[n];\n return (\n /** @type {T & S} */\n e\n );\n}\nfunction Nt(e) {\n return e();\n}\nfunction dt() {\n return /* @__PURE__ */ Object.create(null);\n}\nfunction ae(e) {\n e.forEach(Nt);\n}\nfunction q(e) {\n return typeof e == \"function\";\n}\nfunction W(e, t) {\n return e != e ? t == t : e !== t || e && typeof e == \"object\" || typeof e == \"function\";\n}\nfunction sn(e) {\n return Object.keys(e).length === 0;\n}\nfunction Vt(e, ...t) {\n if (e == null) {\n for (const o of t)\n o(void 0);\n return V;\n }\n const n = e.subscribe(...t);\n return n.unsubscribe ? () => n.unsubscribe() : n;\n}\nfunction ht(e, t, n) {\n e.$$.on_destroy.push(Vt(t, n));\n}\nfunction rn(e, t, n, o) {\n if (e) {\n const i = Gt(e, t, n, o);\n return e[0](i);\n }\n}\nfunction Gt(e, t, n, o) {\n return e[1] && o ? nt(n.ctx.slice(), e[1](o(t))) : n.ctx;\n}\nfunction ln(e, t, n, o) {\n if (e[2] && o) {\n const i = e[2](o(n));\n if (t.dirty === void 0)\n return i;\n if (typeof i == \"object\") {\n const s = [], r = Math.max(t.dirty.length, i.length);\n for (let l = 0; l < r; l += 1)\n s[l] = t.dirty[l] | i[l];\n return s;\n }\n return t.dirty | i;\n }\n return t.dirty;\n}\nfunction an(e, t, n, o, i, s) {\n if (i) {\n const r = Gt(t, n, o, s);\n e.p(r, i);\n }\n}\nfunction cn(e) {\n if (e.ctx.length > 32) {\n const t = [], n = e.ctx.length / 32;\n for (let o = 0; o < n; o++)\n t[o] = -1;\n return t;\n }\n return -1;\n}\nfunction gt(e) {\n const t = {};\n for (const n in e)\n n[0] !== \"$\" && (t[n] = e[n]);\n return t;\n}\nfunction Ge(e) {\n return e ?? \"\";\n}\nconst fn = typeof window < \"u\" ? window : typeof globalThis < \"u\" ? globalThis : (\n // @ts-ignore Node typings have this\n global\n);\nfunction se(e, t) {\n e.appendChild(t);\n}\nfunction O(e, t, n) {\n e.insertBefore(t, n || null);\n}\nfunction L(e) {\n e.parentNode && e.parentNode.removeChild(e);\n}\nfunction rt(e, t) {\n for (let n = 0; n < e.length; n += 1)\n e[n] && e[n].d(t);\n}\nfunction R(e) {\n return document.createElementNS(\"http://www.w3.org/2000/svg\", e);\n}\nfunction zt(e) {\n return document.createTextNode(e);\n}\nfunction oe() {\n return zt(\" \");\n}\nfunction ce() {\n return zt(\"\");\n}\nfunction F(e, t, n, o) {\n return e.addEventListener(t, n, o), () => e.removeEventListener(t, n, o);\n}\nfunction d(e, t, n) {\n n == null ? e.removeAttribute(t) : e.getAttribute(t) !== n && e.setAttribute(t, n);\n}\nfunction un(e) {\n return Array.from(e.childNodes);\n}\nfunction ze(e, t, n) {\n e.classList.toggle(t, !!n);\n}\nfunction dn(e, t, { bubbles: n = !1, cancelable: o = !1 } = {}) {\n return new CustomEvent(e, { detail: t, bubbles: n, cancelable: o });\n}\nlet Ie;\nfunction Be(e) {\n Ie = e;\n}\nfunction Ht() {\n if (!Ie)\n throw new Error(\"Function called outside component initialization\");\n return Ie;\n}\nfunction Pe(e) {\n Ht().$$.on_mount.push(e);\n}\nfunction Te() {\n const e = Ht();\n return (t, n, { cancelable: o = !1 } = {}) => {\n const i = e.$$.callbacks[t];\n if (i) {\n const s = dn(\n /** @type {string} */\n t,\n n,\n { cancelable: o }\n );\n return i.slice().forEach((r) => {\n r.call(e, s);\n }), !s.defaultPrevented;\n }\n return !0;\n };\n}\nfunction ue(e, t) {\n const n = e.$$.callbacks[t.type];\n n && n.slice().forEach((o) => o.call(this, t));\n}\nconst be = [], He = [];\nlet Ae = [];\nconst mt = [], hn = /* @__PURE__ */ Promise.resolve();\nlet ot = !1;\nfunction gn() {\n ot || (ot = !0, hn.then(Ft));\n}\nfunction it(e) {\n Ae.push(e);\n}\nconst We = /* @__PURE__ */ new Set();\nlet pe = 0;\nfunction Ft() {\n if (pe !== 0)\n return;\n const e = Ie;\n do {\n try {\n for (; pe < be.length; ) {\n const t = be[pe];\n pe++, Be(t), mn(t.$$);\n }\n } catch (t) {\n throw be.length = 0, pe = 0, t;\n }\n for (Be(null), be.length = 0, pe = 0; He.length; )\n He.pop()();\n for (let t = 0; t < Ae.length; t += 1) {\n const n = Ae[t];\n We.has(n) || (We.add(n), n());\n }\n Ae.length = 0;\n } while (be.length);\n for (; mt.length; )\n mt.pop()();\n ot = !1, We.clear(), Be(e);\n}\nfunction mn(e) {\n if (e.fragment !== null) {\n e.update(), ae(e.before_update);\n const t = e.dirty;\n e.dirty = [-1], e.fragment && e.fragment.p(e.ctx, t), e.after_update.forEach(it);\n }\n}\nfunction pn(e) {\n const t = [], n = [];\n Ae.forEach((o) => e.indexOf(o) === -1 ? t.push(o) : n.push(o)), n.forEach((o) => o()), Ae = t;\n}\nconst Ve = /* @__PURE__ */ new Set();\nlet de;\nfunction re() {\n de = {\n r: 0,\n c: [],\n p: de\n // parent group\n };\n}\nfunction le() {\n de.r || ae(de.c), de = de.p;\n}\nfunction P(e, t) {\n e && e.i && (Ve.delete(e), e.i(t));\n}\nfunction D(e, t, n, o) {\n if (e && e.o) {\n if (Ve.has(e))\n return;\n Ve.add(e), de.c.push(() => {\n Ve.delete(e), o && (n && e.d(1), o());\n }), e.o(t);\n } else\n o && o();\n}\nfunction Se(e) {\n return (e == null ? void 0 : e.length) !== void 0 ? e : Array.from(e);\n}\nfunction $(e) {\n e && e.c();\n}\nfunction Q(e, t, n) {\n const { fragment: o, after_update: i } = e.$$;\n o && o.m(t, n), it(() => {\n const s = e.$$.on_mount.map(Nt).filter(q);\n e.$$.on_destroy ? e.$$.on_destroy.push(...s) : ae(s), e.$$.on_mount = [];\n }), i.forEach(it);\n}\nfunction x(e, t) {\n const n = e.$$;\n n.fragment !== null && (pn(n.after_update), ae(n.on_destroy), n.fragment && n.fragment.d(t), n.on_destroy = n.fragment = null, n.ctx = []);\n}\nfunction yn(e, t) {\n e.$$.dirty[0] === -1 && (be.push(e), gn(), e.$$.dirty.fill(0)), e.$$.dirty[t / 31 | 0] |= 1 << t % 31;\n}\nfunction ee(e, t, n, o, i, s, r = null, l = [-1]) {\n const a = Ie;\n Be(e);\n const c = e.$$ = {\n fragment: null,\n ctx: [],\n // state\n props: s,\n update: V,\n not_equal: i,\n bound: dt(),\n // lifecycle\n on_mount: [],\n on_destroy: [],\n on_disconnect: [],\n before_update: [],\n after_update: [],\n context: new Map(t.context || (a ? a.$$.context : [])),\n // everything else\n callbacks: dt(),\n dirty: l,\n skip_bound: !1,\n root: t.target || a.$$.root\n };\n r && r(c.root);\n let u = !1;\n if (c.ctx = n ? n(e, t.props || {}, (f, h, ...g) => {\n const m = g.length ? g[0] : h;\n return c.ctx && i(c.ctx[f], c.ctx[f] = m) && (!c.skip_bound && c.bound[f] && c.bound[f](m), u && yn(e, f)), h;\n }) : [], c.update(), u = !0, ae(c.before_update), c.fragment = o ? o(c.ctx) : !1, t.target) {\n if (t.hydrate) {\n const f = un(t.target);\n c.fragment && c.fragment.l(f), f.forEach(L);\n } else\n c.fragment && c.fragment.c();\n t.intro && P(e.$$.fragment), Q(e, t.target, t.anchor), Ft();\n }\n Be(a);\n}\nclass te {\n constructor() {\n /**\n * ### PRIVATE API\n *\n * Do not use, may change at any time\n *\n * @type {any}\n */\n Ke(this, \"$$\");\n /**\n * ### PRIVATE API\n *\n * Do not use, may change at any time\n *\n * @type {any}\n */\n Ke(this, \"$$set\");\n }\n /** @returns {void} */\n $destroy() {\n x(this, 1), this.$destroy = V;\n }\n /**\n * @template {Extract<keyof Events, string>} K\n * @param {K} type\n * @param {((e: Events[K]) => void) | null | undefined} callback\n * @returns {() => void}\n */\n $on(t, n) {\n if (!q(n))\n return V;\n const o = this.$$.callbacks[t] || (this.$$.callbacks[t] = []);\n return o.push(n), () => {\n const i = o.indexOf(n);\n i !== -1 && o.splice(i, 1);\n };\n }\n /**\n * @param {Partial<Props>} props\n * @returns {void}\n */\n $set(t) {\n this.$$set && !sn(t) && (this.$$.skip_bound = !0, this.$$set(t), this.$$.skip_bound = !1);\n }\n}\nconst _n = \"4\";\ntypeof window < \"u\" && (window.__svelte || (window.__svelte = { v: /* @__PURE__ */ new Set() })).v.add(_n);\nvar j = /* @__PURE__ */ ((e) => (e.ELLIPSE = \"ELLIPSE\", e.POLYGON = \"POLYGON\", e.RECTANGLE = \"RECTANGLE\", e))(j || {});\nconst lt = {}, at = (e, t) => lt[e] = t, st = (e) => lt[e.type].area(e), wn = (e, t, n) => lt[e.type].intersects(e, t, n), Fe = (e) => {\n let t = 1 / 0, n = 1 / 0, o = -1 / 0, i = -1 / 0;\n return e.forEach(([s, r]) => {\n t = Math.min(t, s), n = Math.min(n, r), o = Math.max(o, s), i = Math.max(i, r);\n }), { minX: t, minY: n, maxX: o, maxY: i };\n}, bn = {\n area: (e) => Math.PI * e.geometry.rx * e.geometry.ry,\n intersects: (e, t, n) => {\n const { cx: o, cy: i, rx: s, ry: r } = e.geometry, l = 0, a = Math.cos(l), c = Math.sin(l), u = t - o, f = n - i, h = a * u + c * f, g = c * u - a * f;\n return h * h / (s * s) + g * g / (r * r) <= 1;\n }\n};\nat(j.ELLIPSE, bn);\nconst En = {\n area: (e) => {\n const { points: t } = e.geometry;\n let n = 0, o = t.length - 1;\n for (let i = 0; i < t.length; i++)\n n += (t[o][0] + t[i][0]) * (t[o][1] - t[i][1]), o = i;\n return Math.abs(0.5 * n);\n },\n intersects: (e, t, n) => {\n const { points: o } = e.geometry;\n let i = !1;\n for (let s = 0, r = o.length - 1; s < o.length; r = s++) {\n const l = o[s][0], a = o[s][1], c = o[r][0], u = o[r][1];\n a > n != u > n && t < (c - l) * (n - a) / (u - a) + l && (i = !i);\n }\n return i;\n }\n};\nat(j.POLYGON, En);\nconst An = {\n area: (e) => e.geometry.w * e.geometry.h,\n intersects: (e, t, n) => t >= e.geometry.x && t <= e.geometry.x + e.geometry.w && n >= e.geometry.y && n <= e.geometry.y + e.geometry.h\n};\nat(j.RECTANGLE, An);\nconst Sn = (e, t = !1) => {\n const n = typeof e == \"string\" ? e : e.value, o = /^(xywh)=(pixel|percent)?:?(.+?),(.+?),(.+?),(.+)*/g, i = [...n.matchAll(o)][0], [s, r, l, a, c, u, f] = i;\n if (r !== \"xywh\")\n throw new Error(\"Unsupported MediaFragment: \" + n);\n if (l && l !== \"pixel\")\n throw new Error(`Unsupported MediaFragment unit: ${l}`);\n const [h, g, m, _] = [a, c, u, f].map(parseFloat);\n return {\n type: j.RECTANGLE,\n geometry: {\n x: h,\n y: g,\n w: m,\n h: _,\n bounds: {\n minX: h,\n minY: t ? g - _ : g,\n maxX: h + m,\n maxY: t ? g : g + _\n }\n }\n };\n}, Tn = (e) => {\n const { x: t, y: n, w: o, h: i } = e;\n return {\n type: \"FragmentSelector\",\n conformsTo: \"http://www.w3.org/TR/media-frags/\",\n value: `xywh=pixel:${t},${n},${o},${i}`\n };\n}, jt = \"http://www.w3.org/2000/svg\", pt = (e) => {\n const t = (o) => {\n Array.from(o.attributes).forEach((i) => {\n i.name.startsWith(\"on\") && o.removeAttribute(i.name);\n });\n }, n = e.getElementsByTagName(\"script\");\n return Array.from(n).reverse().forEach((o) => o.parentNode.removeChild(o)), Array.from(e.querySelectorAll(\"*\")).forEach(t), e;\n}, Mn = (e) => {\n const o = new XMLSerializer().serializeToString(e.documentElement).replace(\"<svg>\", `<svg xmlns=\"${jt}\">`);\n return new DOMParser().parseFromString(o, \"image/svg+xml\").documentElement;\n}, vn = (e) => {\n const n = new DOMParser().parseFromString(e, \"image/svg+xml\"), o = n.lookupPrefix(jt), i = n.lookupNamespaceURI(null);\n return o || i ? pt(n).firstChild : pt(Mn(n)).firstChild;\n}, Ln = (e) => {\n const [t, n, o] = e.match(/(<polygon points=[\"|'])([^(\"|')]*)/) || [], i = o.split(\" \").map((s) => s.split(\",\").map(parseFloat));\n return {\n type: j.POLYGON,\n geometry: {\n points: i,\n bounds: Fe(i)\n }\n };\n}, kn = (e) => {\n const t = vn(e), n = parseFloat(t.getAttribute(\"cx\")), o = parseFloat(t.getAttribute(\"cy\")), i = parseFloat(t.getAttribute(\"rx\")), s = parseFloat(t.getAttribute(\"ry\")), r = {\n minX: n - i,\n minY: o - s,\n maxX: n + i,\n maxY: o + s\n };\n return {\n type: j.ELLIPSE,\n geometry: {\n cx: n,\n cy: o,\n rx: i,\n ry: s,\n bounds: r\n }\n };\n}, On = (e) => {\n const t = typeof e == \"string\" ? e : e.value;\n if (t.includes(\"<polygon points=\"))\n return Ln(t);\n if (t.includes(\"<ellipse \"))\n return kn(t);\n throw \"Unsupported SVG shape: \" + t;\n}, Bn = (e) => {\n let t;\n if (e.type === j.POLYGON) {\n const n = e.geometry, { points: o } = n;\n t = `<svg><polygon points=\"${o.map((i) => i.join(\",\")).join(\" \")}\" /></svg>`;\n } else if (e.type === j.ELLIPSE) {\n const n = e.geometry;\n t = `<svg><ellipse cx=\"${n.cx}\" cy=\"${n.cy}\" rx=\"${n.rx}\" ry=\"${n.ry}\" /></svg>`;\n }\n if (t)\n return { type: \"SvgSelector\", value: t };\n throw `Unsupported shape type: ${e.type}`;\n};\nlet Re;\nconst In = new Uint8Array(16);\nfunction Pn() {\n if (!Re && (Re = typeof crypto < \"u\" && crypto.getRandomValues && crypto.getRandomValues.bind(crypto), !Re))\n throw new Error(\"crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported\");\n return Re(In);\n}\nconst K = [];\nfor (let e = 0; e < 256; ++e)\n K.push((e + 256).toString(16).slice(1));\nfunction Yn(e, t = 0) {\n return K[e[t + 0]] + K[e[t + 1]] + K[e[t + 2]] + K[e[t + 3]] + \"-\" + K[e[t + 4]] + K[e[t + 5]] + \"-\" + K[e[t + 6]] + K[e[t + 7]] + \"-\" + K[e[t + 8]] + K[e[t + 9]] + \"-\" + K[e[t + 10]] + K[e[t + 11]] + K[e[t + 12]] + K[e[t + 13]] + K[e[t + 14]] + K[e[t + 15]];\n}\nconst Cn = typeof crypto < \"u\" && crypto.randomUUID && crypto.randomUUID.bind(crypto), yt = {\n randomUUID: Cn\n};\nfunction qt(e, t, n) {\n if (yt.randomUUID && !t && !e)\n return yt.randomUUID();\n e = e || {};\n const o = e.random || (e.rng || Pn)();\n if (o[6] = o[6] & 15 | 64, o[8] = o[8] & 63 | 128, t) {\n n = n || 0;\n for (let i = 0; i < 16; ++i)\n t[n + i] = o[i];\n return t;\n }\n return Yn(o);\n}\nvar _t = Object.prototype.hasOwnProperty;\nfunction he(e, t) {\n var n, o;\n if (e === t)\n return !0;\n if (e && t && (n = e.constructor) === t.constructor) {\n if (n === Date)\n return e.getTime() === t.getTime();\n if (n === RegExp)\n return e.toString() === t.toString();\n if (n === Array) {\n if ((o = e.length) === t.length)\n for (; o-- && he(e[o], t[o]); )\n ;\n return o === -1;\n }\n if (!n || typeof e == \"object\") {\n o = 0;\n for (n in e)\n if (_t.call(e, n) && ++o && !_t.call(t, n) || !(n in t) || !he(e[n], t[n]))\n return !1;\n return Object.keys(t).length === o;\n }\n }\n return e !== e && t !== t;\n}\nfunction Je() {\n}\nfunction Dn(e, t) {\n return e != e ? t == t : e !== t || e && typeof e == \"object\" || typeof e == \"function\";\n}\nconst ye = [];\nfunction ct(e, t = Je) {\n let n;\n const o = /* @__PURE__ */ new Set();\n function i(l) {\n if (Dn(e, l) && (e = l, n)) {\n const a = !ye.length;\n for (const c of o)\n c[1](), ye.push(c, e);\n if (a) {\n for (let c = 0; c < ye.length; c += 2)\n ye[c][0](ye[c + 1]);\n ye.length = 0;\n }\n }\n }\n function s(l) {\n i(l(e));\n }\n function r(l, a = Je) {\n const c = [l, a];\n return o.add(c), o.size === 1 && (n = t(i, s) || Je), l(e), () => {\n o.delete(c), o.size === 0 && n && (n(), n = null);\n };\n }\n return { set: i, update: s, subscribe: r };\n}\nconst Xn = (e) => {\n const { subscribe: t, set: n } = ct();\n let o;\n return t((i) => o = i), e.observe(({ changes: i }) => {\n if (o) {\n (i.deleted || []).some((r) => r.id === o) && n(void 0);\n const s = (i.updated || []).find(({ oldValue: r }) => r.id === o);\n s && n(s.newValue.id);\n }\n }), {\n get current() {\n return o;\n },\n subscribe: t,\n set: n\n };\n};\nvar Kt = /* @__PURE__ */ ((e) => (e.EDIT = \"EDIT\", e.SELECT = \"SELECT\", e.NONE = \"NONE\", e))(Kt || {});\nconst Ze = { selected: [] }, Rn = (e, t = \"EDIT\") => {\n const { subscribe: n, set: o } = ct(Ze);\n let i = Ze;\n n((f) => i = f);\n const s = () => o(Ze), r = () => {\n var f;\n return ((f = i.selected) == null ? void 0 : f.length) === 0;\n }, l = (f) => {\n if (i.selected.length === 0)\n return !1;\n const h = typeof f == \"string\" ? f : f.id;\n return i.selected.some((g) => g.id === h);\n }, a = (f, h) => {\n const g = e.getAnnotation(f);\n if (g) {\n const m = Un(g, t);\n o(m === \"EDIT\" ? { selected: [{ id: f, editable: !0 }], pointerEvent: h } : m === \"SELECT\" ? { selected: [{ id: f }], pointerEvent: h } : { selected: [], pointerEvent: h });\n } else\n console.warn(\"Invalid selection: \" + f);\n }, c = (f, h = !0) => {\n const g = Array.isArray(f) ? f : [f], m = g.map((_) => e.getAnnotation(_)).filter(Boolean);\n o({ selected: m.map(({ id: _ }) => ({ id: _, editable: h })) }), m.length !== g.length && console.warn(\"Invalid selection\", f);\n }, u = (f) => {\n if (i.selected.length === 0)\n return !1;\n const { selected: h } = i;\n h.filter(({ id: g }) => f.includes(g)).length > 0 && o({ selected: h.filter(({ id: g }) => !f.includes(g)) });\n };\n return e.observe(({ changes: f }) => u((f.deleted || []).map((h) => h.id))), {\n clear: s,\n clickSelect: a,\n get selected() {\n return i ? [...i.selected] : null;\n },\n get pointerEvent() {\n return i ? i.pointerEvent : null;\n },\n isEmpty: r,\n isSelected: l,\n setSelected: c,\n subscribe: n\n };\n}, Un = (e, t) => typeof t == \"function\" ? t(e) || \"EDIT\" : t || \"EDIT\", Nn = [];\nfor (let e = 0; e < 256; ++e)\n Nn.push((e + 256).toString(16).slice(1));\ntypeof crypto < \"u\" && crypto.randomUUID && crypto.randomUUID.bind(crypto);\nconst Vn = (e, t) => {\n const n = new Set(e.bodies.map((o) => o.id));\n return t.bodies.filter((o) => !n.has(o.id));\n}, Gn = (e, t) => {\n const n = new Set(t.bodies.map((o) => o.id));\n return e.bodies.filter((o) => !n.has(o.id));\n}, zn = (e, t) => t.bodies.map((n) => {\n const o = e.bodies.find((i) => i.id === n.id);\n return { newBody: n, oldBody: o && !he(o, n) ? o : void 0 };\n}).filter(({ oldBody: n }) => n).map(({ oldBody: n, newBody: o }) => ({ oldBody: n, newBody: o })), Hn = (e, t) => !he(e.target, t.target), Wt = (e, t) => {\n const n = Vn(e, t), o = Gn(e, t), i = zn(e, t);\n return {\n oldValue: e,\n newValue: t,\n bodiesCreated: n.length > 0 ? n : void 0,\n bodiesDeleted: o.length > 0 ? o : void 0,\n bodiesUpdated: i.length > 0 ? i : void 0,\n targetUpdated: Hn(e, t) ? { oldTarget: e.target, newTarget: t.target } : void 0\n };\n};\nvar G = /* @__PURE__ */ ((e) => (e.LOCAL = \"LOCAL\", e.REMOTE = \"REMOTE\", e))(G || {});\nconst Fn = (e, t) => {\n var n, o;\n const { changes: i, origin: s } = t;\n if (!(!e.options.origin || e.options.origin === s))\n return !1;\n if (e.options.ignore) {\n const { ignore: r } = e.options, l = (a) => a && a.length > 0;\n if (!(l(i.created) || l(i.deleted))) {\n const a = (n = i.updated) == null ? void 0 : n.some((u) => l(u.bodiesCreated) || l(u.bodiesDeleted) || l(u.bodiesUpdated)), c = (o = i.updated) == null ? void 0 : o.some((u) => u.targetUpdated);\n if (r === \"BODY_ONLY\" && a && !c || r === \"TARGET_ONLY\" && c && !a)\n return !1;\n }\n }\n if (e.options.annotations) {\n const r = /* @__PURE__ */ new Set([\n ...(i.created || []).map((l) => l.id),\n ...(i.deleted || []).map((l) => l.id),\n ...(i.updated || []).map(({ oldValue: l }) => l.id)\n ]);\n return !!(Array.isArray(e.options.annotations) ? e.options.annotations : [e.options.annotations]).find((l) => r.has(l));\n } else\n return !0;\n}, jn = (e, t) => {\n const n = new Set((e.created || []).map((f) => f.id)), o = new Set((e.updated || []).map(({ newValue: f }) => f.id)), i = new Set((t.created || []).map((f) => f.id)), s = new Set((t.deleted || []).map((f) => f.id)), r = new Set((t.updated || []).map(({ oldValue: f }) => f.id)), l = new Set((t.updated || []).filter(({ oldValue: f }) => n.has(f.id) || o.has(f.id)).map(({ oldValue: f }) => f.id)), a = [\n ...(e.created || []).filter((f) => !s.has(f.id)).map((f) => r.has(f.id) ? t.updated.find(({ oldValue: h }) => h.id === f.id).newValue : f),\n ...t.created || []\n ], c = [\n ...(e.deleted || []).filter((f) => !i.has(f.id)),\n ...(t.deleted || []).filter((f) => !n.has(f.id))\n ], u = [\n ...(e.updated || []).filter(({ newValue: f }) => !s.has(f.id)).map((f) => {\n const { oldValue: h, newValue: g } = f;\n if (r.has(g.id)) {\n const m = t.updated.find((_) => _.oldValue.id === g.id).newValue;\n return Wt(h, m);\n } else\n return f;\n }),\n ...(t.updated || []).filter(({ oldValue: f }) => !l.has(f.id))\n ];\n return { created: a, deleted: c, updated: u };\n}, qn = (e) => e.id !== void 0, Kn = () => {\n const e = /* @__PURE__ */ new Map(), t = /* @__PURE__ */ new Map(), n = [], o = (p, T = {}) => n.push({ onChange: p, options: T }), i = (p) => {\n const T = n.findIndex((S) => S.onChange == p);\n T > -1 && n.splice(T, 1);\n }, s = (p, T) => {\n const S = {\n origin: p,\n changes: {\n created: T.created || [],\n updated: T.updated || [],\n deleted: T.deleted || []\n },\n state: [...e.values()]\n };\n n.forEach((M) => {\n Fn(M, S) && M.onChange(S);\n });\n }, r = (p, T = G.LOCAL) => {\n if (e.get(p.id))\n throw Error(`Cannot add annotation ${p.id} - exists already`);\n e.set(p.id, p), p.bodies.forEach((S) => t.set(S.id, p.id)), s(T, { created: [p] });\n }, l = (p, T) => {\n const S = typeof p == \"string\" ? T : p, M = typeof p == \"string\" ? p : p.id, k = e.get(M);\n if (k) {\n const C = Wt(k, S);\n return M === S.id ? e.set(M, S) : (e.delete(M), e.set(S.id, S)), k.bodies.forEach((Z) => t.delete(Z.id)), S.bodies.forEach((Z) => t.set(Z.id, S.id)), C;\n } else\n console.warn(`Cannot update annotation ${M} - does not exist`);\n }, a = (p, T = G.LOCAL, S = G.LOCAL) => {\n const M = qn(T) ? S : T, k = l(p, T);\n k && s(M, { updated: [k] });\n }, c = (p, T = G.LOCAL) => {\n const S = p.reduce((M, k) => {\n const C = l(k);\n return C ? [...M, C] : M;\n }, []);\n S.length > 0 && s(T, { updated: S });\n }, u = (p, T = G.LOCAL) => {\n const S = e.get(p.annotation);\n if (S) {\n const M = {\n ...S,\n bodies: [...S.bodies, p]\n };\n e.set(S.id, M), t.set(p.id, M.id), s(T, { updated: [{\n oldValue: S,\n newValue: M,\n bodiesCreated: [p]\n }] });\n } else\n console.warn(`Attempt to add body to missing annotation: ${p.annotation}`);\n }, f = () => [...e.values()], h = (p = G.LOCAL) => {\n const T = [...e.values()];\n e.clear(), t.clear(), s(p, { deleted: T });\n }, g = (p, T = !0, S = G.LOCAL) => {\n if (T) {\n const M = [...e.values()];\n e.clear(), t.clear(), p.forEach((k) => {\n e.set(k.id, k), k.bodies.forEach((C) => t.set(C.id, k.id));\n }), s(S, { created: p, deleted: M });\n } else {\n const M = p.reduce((k, C) => {\n const Z = e.get(C.id);\n return Z ? [...k, Z] : k;\n }, []);\n if (M.length > 0)\n throw Error(`Bulk insert would overwrite the following annotations: ${M.map((k) => k.id).join(\", \")}`);\n p.forEach((k) => {\n e.set(k.id, k), k.bodies.forEach((C) => t.set(C.id, k.id));\n }), s(S, { created: p });\n }\n }, m = (p) => {\n const T = typeof p == \"string\" ? p : p.id, S = e.get(T);\n if (S)\n return e.delete(T), S.bodies.forEach((M) => t.delete(M.id)), S;\n console.warn(`Attempt to delete missing annotation: ${T}`);\n }, _ = (p, T = G.LOCAL) => {\n const S = m(p);\n S && s(T, { deleted: [S] });\n }, b = (p, T = G.LOCAL) => {\n const S = p.reduce((M, k) => {\n const C = m(k);\n return C ? [...M, C] : M;\n }, []);\n S.length > 0 && s(T, { deleted: S });\n }, y = (p, T = G.LOCAL) => {\n const S = e.get(p.annotation);\n if (S) {\n const M = S.bodies.find((k) => k.id === p.id);\n if (M) {\n t.delete(M.id);\n const k = {\n ...S,\n bodies: S.bodies.filter((C) => C.id !== p.id)\n };\n e.set(S.id, k), s(T, { updated: [{\n oldValue: S,\n newValue: k,\n bodiesDeleted: [M]\n }] });\n } else\n console.warn(`Attempt to delete missing body ${p.id} from annotation ${p.annotation}`);\n } else\n console.warn(`Attempt to delete body from missing annotation ${p.annotation}`);\n }, A = (p) => {\n const T = e.get(p);\n return T ? { ...T } : void 0;\n }, w = (p) => {\n const T = t.get(p);\n if (T) {\n const S = A(T).bodies.find((M) => M.id === p);\n if (S)\n return S;\n console.error(`Store integrity error: body ${p} in index, but not in annotation`);\n } else\n console.warn(`Attempt to retrieve missing body: ${p}`);\n }, E = (p, T) => {\n if (p.annotation !== T.annotation)\n throw \"Annotation integrity violation: annotation ID must be the same when updating bodies\";\n const S = e.get(p.annotation);\n if (S) {\n const M = S.bodies.find((C) => C.id === p.id), k = {\n ...S,\n bodies: S.bodies.map((C) => C.id === M.id ? T : C)\n };\n return e.set(S.id, k), M.id !== T.id && (t.delete(M.id), t.set(T.id, k.id)), {\n oldValue: S,\n newValue: k,\n bodiesUpdated: [{ oldBody: M, newBody: T }]\n };\n } else\n console.warn(`Attempt to add body to missing annotation ${p.annotation}`);\n }, B = (p, T, S = G.LOCAL) => {\n const M = E(p, T);\n M && s(S, { updated: [M] });\n }, U = (p, T = G.LOCAL) => {\n const S = p.map((M) => E({ id: M.id, annotation: M.annotation }, M)).filter(Boolean);\n s(T, { updated: S });\n }, X = (p) => {\n const T = e.get(p.annotation);\n if (T) {\n const S = {\n ...T,\n target: {\n ...T.target,\n ...p\n }\n };\n return e.set(T.id, S), {\n oldValue: T,\n newValue: S,\n targetUpdated: {\n oldTarget: T.target,\n newTarget: p\n }\n };\n } else\n console.warn(`Attempt to update target on missing annotation: ${p.annotation}`);\n };\n return {\n addAnnotation: r,\n addBody: u,\n all: f,\n bulkAddAnnotation: g,\n bulkDeleteAnnotation: b,\n bulkUpdateAnnotation: c,\n bulkUpdateBodies: U,\n bulkUpdateTargets: (p, T = G.LOCAL) => {\n const S = p.map((M) => X(M)).filter(Boolean);\n S.length > 0 && s(T, { updated: S });\n },\n clear: h,\n deleteAnnotation: _,\n deleteBody: y,\n getAnnotation: A,\n getBody: w,\n observe: o,\n unobserve: i,\n updateAnnotation: a,\n updateBody: B,\n updateTarget: (p, T = G.LOCAL) => {\n const S = X(p);\n S && s(T, { updated: [S] });\n }\n };\n}, Wn = (e) => ({\n ...e,\n subscribe: (t) => {\n const n = (o) => t(o.state);\n return e.observe(n), t(e.all()), () => e.unobserve(n);\n }\n});\nlet Jn = () => ({\n emit(e, ...t) {\n for (let n = 0, o = this.events[e] || [], i = o.length; n < i; n++)\n o[n](...t);\n },\n events: {},\n on(e, t) {\n var n;\n return ((n = this.events)[e] || (n[e] = [])).push(t), () => {\n var o;\n this.events[e] = (o = this.events[e]) == null ? void 0 : o.filter((i) => t !== i);\n };\n }\n});\nconst Zn = 250, Qn = (e) => {\n const t = Jn(), n = [];\n let o = -1, i = !1, s = 0;\n const r = (g) => {\n if (!i) {\n const { changes: m } = g, _ = performance.now();\n if (_ - s > Zn)\n n.splice(o + 1), n.push(m), o = n.length - 1;\n else {\n const b = n.length - 1;\n n[b] = jn(n[b], m);\n }\n s = _;\n }\n i = !1;\n };\n e.observe(r, { origin: G.LOCAL });\n const l = (g) => g && g.length > 0 && e.bulkDeleteAnnotation(g), a = (g) => g && g.length > 0 && e.bulkAddAnnotation(g, !1), c = (g) => g && g.length > 0 && e.bulkUpdateAnnotation(g.map(({ oldValue: m }) => m)), u = (g) => g && g.length > 0 && e.bulkUpdateAnnotation(g.map(({ newValue: m }) => m)), f = (g) => g && g.length > 0 && e.bulkAddAnnotation(g, !1), h = (g) => g && g.length > 0 && e.bulkDeleteAnnotation(g);\n return {\n canRedo: () => n.length - 1 > o,\n canUndo: () => o > -1,\n destroy: () => e.unobserve(r),\n on: (g, m) => t.on(g, m),\n redo: () => {\n if (n.length - 1 > o) {\n i = !0;\n const { created: g, updated: m, deleted: _ } = n[o + 1];\n a(g), u(m), h(_), t.emit(\"redo\", n[o + 1]), o += 1;\n }\n },\n undo: () => {\n if (o > -1) {\n i = !0;\n const { created: g, updated: m, deleted: _ } = n[o];\n l(g), c(m), f(_), t.emit(\"undo\", n[o]), o -= 1;\n }\n }\n };\n}, xn = () => {\n const { subscribe: e, set: t } = ct([]);\n return {\n subscribe: e,\n set: t\n };\n}, $n = (e, t, n, o) => {\n const { store: i, selection: s, hover: r, viewport: l } = e, a = /* @__PURE__ */ new Map();\n let c = [], u, f;\n const h = (y, A) => {\n a.has(y) ? a.get(y).push(A) : a.set(y, [A]);\n }, g = (y, A) => {\n const w = a.get(y);\n w && w.indexOf(A) > 0 && w.splice(w.indexOf(A), 1);\n }, m = (y, A, w) => {\n a.has(y) && setTimeout(() => {\n a.get(y).forEach((E) => {\n if (n) {\n const B = Array.isArray(A) ? A.map((X) => n.serialize(X)) : n.serialize(A), U = w ? w instanceof PointerEvent ? w : n.serialize(w) : void 0;\n E(B, U);\n } else\n E(A, w);\n });\n }, 1);\n }, _ = () => {\n const { selected: y } = s, A = (y || []).map(({ id: w }) => i.getAnnotation(w));\n A.forEach((w) => {\n const E = c.find((B) => B.id === w.id);\n (!E || !he(E, w)) && m(\"updateAnnotation\", w, E);\n }), c = c.map((w) => A.find(({ id: B }) => B === w.id) || w);\n };\n s.subscribe(({ selected: y }) => {\n if (!(c.length === 0 && y.length === 0)) {\n if (c.length === 0 && y.length > 0)\n c = y.map(({ id: A }) => i.getAnnotation(A));\n else if (c.length > 0 && y.length === 0)\n c.forEach((A) => {\n const w = i.getAnnotation(A.id);\n w && !he(w, A) && m(\"updateAnnotation\", w, A);\n }), c = [];\n else {\n const A = new Set(c.map((E) => E.id)), w = new Set(y.map(({ id: E }) => E));\n c.filter((E) => !w.has(E.id)).forEach((E) => {\n const B = i.getAnnotation(E.id);\n B && !he(B, E) && m(\"updateAnnotation\", B, E);\n }), c = [\n // Remove annotations that were deselected\n ...c.filter((E) => w.has(E.id)),\n // Add editable annotations that were selected\n ...y.filter(({ id: E }) => !A.has(E)).map(({ id: E }) => i.getAnnotation(E))\n ];\n }\n m(\"selectionChanged\", c);\n }\n }), r.subscribe((y) => {\n !u && y ? m(\"mouseEnterAnnotation\", i.getAnnotation(y)) : u && !y ? m(\"mouseLeaveAnnotation\", i.getAnnotation(u)) : u && y && (m(\"mouseLeaveAnnotation\", i.getAnnotation(u)), m(\"mouseEnterAnnotation\", i.getAnnotation(y))), u = y;\n }), l == null || l.subscribe((y) => m(\"viewportIntersect\", y.map((A) => i.getAnnotation(A)))), i.observe((y) => {\n o && (f && clearTimeout(f), f = setTimeout(_, 1e3));\n const { created: A, deleted: w } = y.changes;\n (A || []).forEach((E) => m(\"createAnnotation\", E)), (w || []).forEach((E) => m(\"deleteAnnotation\", E)), (y.changes.updated || []).filter((E) => [\n ...E.bodiesCreated || [],\n ...E.bodiesDeleted || [],\n ...E.bodiesUpdated || []\n ].length > 0).forEach(({ oldValue: E, newValue: B }) => {\n const U = c.find((X) => X.id === E.id) || E;\n c = c.map((X) => X.id === E.id ? B : X), m(\"updateAnnotation\", B, U);\n });\n }, { origin: G.LOCAL }), i.observe((y) => {\n if (c) {\n const A = new Set(c.map((E) => E.id)), w = (y.changes.updated || []).filter(({ newValue: E }) => A.has(E.id)).map(({ newValue: E }) => E);\n w.length > 0 && (c = c.map((E) => w.find((U) => U.id === E.id) || E));\n }\n }, { origin: G.REMOTE });\n const b = (y) => (A) => {\n const { updated: w } = A;\n y ? (w || []).forEach((E) => m(\"updateAnnotation\", E.oldValue, E.newValue)) : (w || []).forEach((E) => m(\"updateAnnotation\", E.newValue, E.oldValue));\n };\n return t.on(\"undo\", b(!0)), t.on(\"redo\", b(!1)), { on: h, off: g, emit: m };\n}, eo = (e) => (t) => t.reduce((n, o) => {\n const { parsed: i, error: s } = e.parse(o);\n return s ? {\n parsed: n.parsed,\n failed: [...n.failed, o]\n } : i ? {\n parsed: [...n.parsed, i],\n failed: n.failed\n } : {\n ...n\n };\n}, { parsed: [], failed: [] }), to = (e, t, n) => {\n const { store: o, selection: i } = e, s = (b) => {\n if (n) {\n const { parsed: y, error: A } = n.parse(b);\n y ? o.addAnnotation(y, G.REMOTE) : console.error(A);\n } else\n o.addAnnotation(b, G.REMOTE);\n }, r = () => i.clear(), l = () => o.clear(), a = (b) => {\n const y = o.getAnnotation(b);\n return n && y ? n.serialize(y) : y;\n }, c = () => n ? o.all().map(n.serialize) : o.all(), u = () => {\n var b;\n const y = (((b = i.selected) == null ? void 0 : b.map((A) => A.id)) || []).map((A) => o.getAnnotation(A)).filter(Boolean);\n return n ? y.map(n.serialize) : y;\n }, f = (b, y = !0) => fetch(b).then((A) => A.json()).then((A) => (g(A, y), A)), h = (b) => {\n if (typeof b == \"string\") {\n const y = o.getAnnotation(b);\n if (o.deleteAnnotation(b), y)\n return n ? n.serialize(y) : y;\n } else {\n const y = n ? n.parse(b).parsed : b;\n if (y)\n return o.deleteAnnotation(y), b;\n }\n }, g = (b, y = !0) => {\n if (n) {\n const { parsed: A, failed: w } = eo(n)(b);\n w.length > 0 && console.warn(`Discarded ${w.length} invalid annotations`, w), o.bulkAddAnnotation(A, y, G.REMOTE);\n } else\n o.bulkAddAnnotation(b, y, G.REMOTE);\n }, m = (b) => {\n b ? i.setSelected(b) : i.clear();\n }, _ = (b) => {\n if (n) {\n const y = n.parse(b).parsed, A = n.serialize(o.getAnnotation(y.id));\n return o.updateAnnotation(y), A;\n } else {\n const y = o.getAnnotation(b.id);\n return o.updateAnnotation(b), y;\n }\n };\n return {\n addAnnotation: s,\n cancelSelected: r,\n canRedo: t.canRedo,\n canUndo: t.canUndo,\n clearAnnotations: l,\n getAnnotationById: a,\n getAnnotations: c,\n getSelected: u,\n loadAnnotations: f,\n redo: t.redo,\n removeAnnotation: h,\n setAnnotations: g,\n setSelected: m,\n undo: t.undo,\n updateAnnotation: _\n };\n}, no = \"useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict\";\nlet oo = (e) => crypto.getRandomValues(new Uint8Array(e)), io = (e, t, n) => {\n let o = (2 << Math.log(e.length - 1) / Math.LN2) - 1, i = -~(1.6 * o * t / e.length);\n return (s = t) => {\n let r = \"\";\n for (; ; ) {\n let l = n(i), a = i;\n for (; a--; )\n if (r += e[l[a] & o] || \"\", r.length === s)\n return r;\n }\n };\n}, so = (e, t = 21) => io(e, t, oo), ro = (e = 21) => {\n let t = \"\", n = crypto.getRandomValues(new Uint8Array(e));\n for (; e--; )\n t += no[n[e] & 63];\n return t;\n};\nconst lo = () => ({ isGuest: !0, id: so(\"1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_\", 20)() }), ao = (e) => {\n const t = JSON.stringify(e);\n let n = 0;\n for (let o = 0, i = t.length; o < i; o++) {\n let s = t.charCodeAt(o);\n n = (n << 5) - n + s, n |= 0;\n }\n return `${n}`;\n}, Jt = (e) => e ? typeof e == \"object\" ? { ...e } : e : void 0, co = (e, t) => (Array.isArray(e) ? e : [e]).map((n) => {\n const { id: o, type: i, purpose: s, value: r, created: l, creator: a, ...c } = n;\n return {\n id: o || `temp-${ao(n)}`,\n annotation: t,\n type: i,\n purpose: s,\n value: r,\n created: l ? new Date(l) : void 0,\n creator: Jt(a),\n ...c\n };\n}), fo = (e) => e.map((t) => {\n var n, o;\n const i = { ...t };\n return delete i.annotation, (n = i.id) != null && n.startsWith(\"temp-\") && delete i.id, { ...i, created: (o = i.created) == null ? void 0 : o.toISOString() };\n});\nro();\nconst Yi = (e, t = !1) => ({ parse: (i) => uo(i, t), serialize: (i) => ho(i, e) }), uo = (e, t = !1) => {\n const n = e.id || qt(), {\n creator: o,\n created: i,\n modified: s,\n body: r,\n ...l\n } = e, a = co(r, n), c = Array.isArray(e.target) ? e.target[0] : e.target, u = Array.isArray(c.selector) ? c.selector[0] : c.selector, f = (u == null ? void 0 : u.type) === \"FragmentSelector\" ? Sn(u, t) : (u == null ? void 0 : u.type) === \"SvgSelector\" ? On(u) : void 0;\n return f ? {\n parsed: {\n ...l,\n id: n,\n bodies: a,\n target: {\n created: i ? new Date(i) : void 0,\n creator: Jt(o),\n updated: s ? new Date(s) : void 0,\n ...Array.isArray(l.target) ? l.target[0] : l.target,\n annotation: n,\n selector: f\n }\n }\n } : {\n error: Error(`Invalid selector: ${JSON.stringify(u)}`)\n };\n}, ho = (e, t) => {\n const {\n selector: n,\n creator: o,\n created: i,\n updated: s,\n updatedBy: r,\n // Excluded from serialization\n ...l\n } = e.target, a = n.type == j.RECTANGLE ? Tn(n.geometry) : Bn(n), c = {\n ...e,\n \"@context\": \"http://www.w3.org/ns/anno.jsonld\",\n id: e.id,\n type: \"Annotation\",\n body: fo(e.bodies),\n created: i == null ? void 0 : i.toISOString(),\n creator: o,\n modified: s == null ? void 0 : s.toISOString(),\n target: {\n ...l,\n source: t,\n selector: a\n }\n };\n return delete c.bodies, \"annotation\" in c.target && delete c.target.annotation, c;\n};\nfunction wt(e, t, n) {\n const o = e.slice();\n return o[10] = t[n], o[12] = n, o;\n}\nfunction bt(e) {\n let t, n;\n return t = new Le({\n props: {\n x: (\n /*point*/\n e[10][0]\n ),\n y: (\n /*point*/\n e[10][1]\n ),\n scale: (\n /*viewportScale*/\n e[3]\n )\n }\n }), t.$on(\"pointerdown\", function() {\n q(\n /*grab*/\n e[9](`HANDLE-${/*idx*/\n e[12]}`)\n ) && e[9](`HANDLE-${/*idx*/\n e[12]}`).apply(this, arguments);\n }), {\n c() {\n $(t.$$.fragment);\n },\n m(o, i) {\n Q(t, o, i), n = !0;\n },\n p(o, i) {\n e = o;\n const s = {};\n i & /*geom*/\n 16 && (s.x = /*point*/\n e[10][0]), i & /*geom*/\n 16 && (s.y = /*point*/\n e[10][1]), i & /*viewportScale*/\n 8 && (s.scale = /*viewportScale*/\n e[3]), t.$set(s);\n },\n i(o) {\n n || (P(t.$$.fragment, o), n = !0);\n },\n o(o) {\n D(t.$$.fragment, o), n = !1;\n },\n d(o) {\n x(t, o);\n }\n };\n}\nfunction go(e) {\n let t, n, o, i, s, r, l, a, c, u, f, h = Se(\n /*geom*/\n e[4].points\n ), g = [];\n for (let _ = 0; _ < h.length; _ += 1)\n g[_] = bt(wt(e, h, _));\n const m = (_) => D(g[_], 1, 1, () => {\n g[_] = null;\n });\n return {\n c() {\n t = R(\"polygon\"), i = oe(), s = R(\"polygon\"), l = oe();\n for (let _ = 0; _ < g.length; _ += 1)\n g[_].c();\n a = ce(), d(t, \"class\", \"a9s-outer\"), d(t, \"style\", n = /*computedStyle*/\n e[1] ? \"display:none;\" : void 0), d(t, \"points\", o = /*geom*/\n e[4].points.map(Et).join(\" \")), d(s, \"class\", \"a9s-inner a9s-shape-handle\"), d(\n s,\n \"style\",\n /*computedStyle*/\n e[1]\n ), d(s, \"points\", r = /*geom*/\n e[4].points.map(At).join(\" \"));\n },\n m(_, b) {\n O(_, t, b), O(_, i, b), O(_, s, b), O(_, l, b);\n for (let y = 0; y < g.length; y += 1)\n g[y] && g[y].m(_, b);\n O(_, a, b), c = !0, u || (f = [\n F(t, \"pointerdown\", function() {\n q(\n /*grab*/\n e[9](\"SHAPE\")\n ) && e[9](\"SHAPE\").apply(this, arguments);\n }),\n F(s, \"pointerdown\", function() {\n q(\n /*grab*/\n e[9](\"SHAPE\")\n ) && e[9](\"SHAPE\").apply(this, arguments);\n })\n ], u = !0);\n },\n p(_, b) {\n if (e = _, (!c || b & /*computedStyle*/\n 2 && n !== (n = /*computedStyle*/\n e[1] ? \"display:none;\" : void 0)) && d(t, \"style\", n), (!c || b & /*geom*/\n 16 && o !== (o = /*geom*/\n e[4].points.map(Et).join(\" \"))) && d(t, \"points\", o), (!c || b & /*computedStyle*/\n 2) && d(\n s,\n \"style\",\n /*computedStyle*/\n e[1]\n ), (!c || b & /*geom*/\n 16 && r !== (r = /*geom*/\n e[4].points.map(At).join(\" \"))) && d(s, \"points\", r), b & /*geom, viewportScale, grab*/\n 536) {\n h = Se(\n /*geom*/\n e[4].points\n );\n let y;\n for (y = 0; y < h.length; y += 1) {\n const A = wt(e, h, y);\n g[y] ? (g[y].p(A, b), P(g[y], 1)) : (g[y] = bt(A), g[y].c(), P(g[y], 1), g[y].m(a.parentNode, a));\n }\n for (re(), y = h.length; y < g.length; y += 1)\n m(y);\n le();\n }\n },\n i(_) {\n if (!c) {\n for (let b = 0; b < h.length; b += 1)\n P(g[b]);\n c = !0;\n }\n },\n o(_) {\n g = g.filter(Boolean);\n for (let b = 0; b < g.length; b += 1)\n D(g[b]);\n c = !1;\n },\n d(_) {\n _ && (L(t), L(i), L(s), L(l), L(a)), rt(g, _), u = !1, ae(f);\n }\n };\n}\nfunction mo(e) {\n let t, n;\n return t = new Qt({\n props: {\n shape: (\n /*shape*/\n e[0]\n ),\n transform: (\n /*transform*/\n e[2]\n ),\n editor: (\n /*editor*/\n e[5]\n ),\n $$slots: {\n default: [\n go,\n ({ grab: o }) => ({ 9: o }),\n ({ grab: o }) => o ? 512 : 0\n ]\n },\n $$scope: { ctx: e }\n }\n }), t.$on(\n \"change\",\n /*change_handler*/\n e[6]\n ), t.$on(\n \"grab\",\n /*grab_handler*/\n e[7]\n ), t.$on(\n \"release\",\n /*release_handler*/\n e[8]\n ), {\n c() {\n $(t.$$.fragment);\n },\n m(o, i) {\n Q(t, o, i), n = !0;\n },\n p(o, [i]) {\n const s = {};\n i & /*shape*/\n 1 && (s.shape = /*shape*/\n o[0]), i & /*transform*/\n 4 && (s.transform = /*transform*/\n o[2]), i & /*$$scope, geom, viewportScale, grab, computedStyle*/\n 8730 && (s.$$scope = { dirty: i, ctx: o }), t.$set(s);\n },\n i(o) {\n n || (P(t.$$.fragment, o), n = !0);\n },\n o(o) {\n D(t.$$.fragment, o), n = !1;\n },\n d(o) {\n x(t, o);\n }\n };\n}\nconst Et = (e) => e.join(\",\"), At = (e) => e.join(\",\");\nfunction po(e, t, n) {\n let o, { shape: i } = t, { computedStyle: s } = t, { transform: r } = t, { viewportScale: l = 1 } = t;\n const a = (h, g, m) => {\n let _;\n const b = h.geometry;\n g === \"SHAPE\" ? _ = b.points.map(([A, w]) => [A + m[0], w + m[1]]) : _ = b.points.map(([A, w], E) => g === `HANDLE-${E}` ? [A + m[0], w + m[1]] : [A, w]);\n const y = Fe(_);\n return { ...h, geometry: { points: _, bounds: y } };\n };\n function c(h) {\n ue.call(this, e, h);\n }\n function u(h) {\n ue.call(this, e, h);\n }\n function f(h) {\n ue.call(this, e, h);\n }\n return e.$$set = (h) => {\n \"shape\" in h && n(0, i = h.shape), \"computedStyle\" in h && n(1, s = h.computedStyle), \"transform\" in h && n(2, r = h.transform), \"viewportScale\" in h && n(3, l = h.viewportScale);\n }, e.$$.update = () => {\n e.$$.dirty & /*shape*/\n 1 && n(4, o = i.geometry);\n }, [\n i,\n s,\n r,\n l,\n o,\n a,\n c,\n u,\n f\n ];\n}\nclass yo extends te {\n constructor(t) {\n super(), ee(this, t, po, mo, W, {\n shape: 0,\n computedStyle: 1,\n transform: 2,\n viewportScale: 3\n });\n }\n}\nconst Qe = (e, t) => {\n const n = Math.abs(t[0] - e[0]), o = Math.abs(t[1] - e[1]);\n return Math.sqrt(Math.pow(n, 2) + Math.pow(o, 2));\n}, _e = [];\nfunction _o(e, t = V) {\n let n;\n const o = /* @__PURE__ */ new Set();\n function i(l) {\n if (W(e, l) && (e = l, n)) {\n const a = !_e.length;\n for (const c of o)\n c[1](), _e.push(c, e);\n if (a) {\n for (let c = 0; c < _e.length; c += 2)\n _e[c][0](_e[c + 1]);\n _e.length = 0;\n }\n }\n }\n function s(l) {\n i(l(e));\n }\n function r(l, a = V) {\n const c = [l, a];\n return o.add(c), o.size === 1 && (n = t(i, s) || V), l(e), () => {\n o.delete(c), o.size === 0 && n && (n(), n = null);\n };\n }\n return { set: i, update: s, subscribe: r };\n}\nconst wo = (e, t) => {\n const { naturalWidth: n, naturalHeight: o } = e;\n if (!n && !o) {\n const { width: i, height: s } = e;\n t.setAttribute(\"viewBox\", `0 0 ${i} ${s}`), e.addEventListener(\"load\", (r) => {\n const l = r.target;\n t.setAttribute(\"viewBox\", `0 0 ${l.naturalWidth} ${l.naturalHeight}`);\n });\n } else\n t.setAttribute(\"viewBox\", `0 0 ${n} ${o}`);\n}, bo = (e, t) => {\n wo(e, t);\n const { subscribe: n, set: o } = _o(1);\n let i;\n return window.ResizeObserver && (i = new ResizeObserver(() => {\n const r = t.getBoundingClientRect(), { width: l, height: a } = t.viewBox.baseVal, c = Math.max(\n r.width / l,\n r.height / a\n );\n o(c);\n }), i.observe(t.parentElement)), { destroy: () => {\n i && i.disconnect();\n }, subscribe: n };\n}, Eo = \"ontouchstart\" in window || navigator.maxTouchPoints > 0 || navigator.msMaxTouchPoints > 0;\nfunction Ao(e) {\n let t, n, o, i, s, r;\n return {\n c() {\n t = R(\"rect\"), d(t, \"class\", n = Ge(`a9s-handle ${/*$$props*/\n e[8].class || \"\"}`.trim()) + \" svelte-1sgkh33\"), d(t, \"x\", o = /*x*/\n e[0] - /*handleSize*/\n e[5] / 2), d(t, \"y\", i = /*y*/\n e[1] - /*handleSize*/\n e[5] / 2), d(\n t,\n \"width\",\n /*handleSize*/\n e[5]\n ), d(\n t,\n \"height\",\n /*handleSize*/\n e[5]\n );\n },\n m(l, a) {\n O(l, t, a), s || (r = F(\n t,\n \"pointerdown\",\n /*pointerdown_handler_2*/\n e[11]\n ), s = !0);\n },\n p(l, a) {\n a & /*$$props*/\n 256 && n !== (n = Ge(`a9s-handle ${/*$$props*/\n l[8].class || \"\"}`.trim()) + \" svelte-1sgkh33\") && d(t, \"class\", n), a & /*x, handleSize*/\n 33 && o !== (o = /*x*/\n l[0] - /*handleSize*/\n l[5] / 2) && d(t, \"x\", o), a & /*y, handleSize*/\n 34 && i !== (i = /*y*/\n l[1] - /*handleSize*/\n l[5] / 2) && d(t, \"y\", i), a & /*handleSize*/\n 32 && d(\n t,\n \"width\",\n /*handleSize*/\n l[5]\n ), a & /*handleSize*/\n 32 && d(\n t,\n \"height\",\n /*handleSize*/\n l[5]\n );\n },\n d(l) {\n l && L(t), s = !1, r();\n }\n };\n}\nfunction So(e) {\n let t, n, o, i, s, r, l, a, c;\n return {\n c() {\n t = R(\"g\"), n = R(\"circle\"), i = R(\"rect\"), d(\n n,\n \"cx\",\n /*x*/\n e[0]\n ), d(\n n,\n \"cy\",\n /*y*/\n e[1]\n ), d(n, \"r\", o = /*radius*/\n e[3] / /*scale*/\n e[2]), d(n, \"class\", \"a9s-touch-halo svelte-1sgkh33\"), ze(\n n,\n \"touched\",\n /*touched*/\n e[4]\n ), d(i, \"class\", s = Ge(`a9s-handle ${/*$$props*/\n e[8].class || \"\"}`.trim()) + \" svelte-1sgkh33\"), d(i, \"x\", r = /*x*/\n e[0] - /*handleSize*/\n e[5] / 2), d(i, \"y\", l = /*y*/\n e[1] - /*handleSize*/\n e[5] / 2), d(\n i,\n \"width\",\n /*handleSize*/\n e[5]\n ), d(\n i,\n \"height\",\n /*handleSize*/\n e[5]\n ), d(t, \"class\", \"a9s-touch-handle\");\n },\n m(u, f) {\n O(u, t, f), se(t, n), se(t, i), a || (c = [\n F(\n n,\n \"pointerdown\",\n /*pointerdown_handler*/\n e[10]\n ),\n F(\n n,\n \"pointerdown\",\n /*onPointerDown*/\n e[6]\n ),\n F(\n n,\n \"pointerup\",\n /*onPointerUp*/\n e[7]\n ),\n F(\n i,\n \"pointerdown\",\n /*pointerdown_handler_1*/\n e[9]\n ),\n F(\n i,\n \"pointerdown\",\n /*onPointerDown*/\n e[6]\n ),\n F(\n i,\n \"pointerup\",\n /*onPointerUp*/\n e[7]\n )\n ], a = !0);\n },\n p(u, f) {\n f & /*x*/\n 1 && d(\n n,\n \"cx\",\n /*x*/\n u[0]\n ), f & /*y*/\n 2 && d(\n n,\n \"cy\",\n /*y*/\n u[1]\n ), f & /*radius, scale*/\n 12 && o !== (o = /*radius*/\n u[3] / /*scale*/\n u[2]) && d(n, \"r\", o), f & /*touched*/\n 16 && ze(\n n,\n \"touched\",\n /*touched*/\n u[4]\n ), f & /*$$props*/\n 256 && s !== (s = Ge(`a9s-handle ${/*$$props*/\n u[8].class || \"\"}`.trim()) + \" svelte-1sgkh33\") && d(i, \"class\", s), f & /*x, handleSize*/\n 33 && r !== (r = /*x*/\n u[0] - /*handleSize*/\n u[5] / 2) && d(i, \"x\", r), f & /*y, handleSize*/\n 34 && l !== (l = /*y*/\n u[1] - /*handleSize*/\n u[5] / 2) && d(i, \"y\", l), f & /*handleSize*/\n 32 && d(\n i,\n \"width\",\n /*handleSize*/\n u[5]\n ), f & /*handleSize*/\n 32 && d(\n i,\n \"height\",\n /*handleSize*/\n u[5]\n );\n },\n d(u) {\n u && L(t), a = !1, ae(c);\n }\n };\n}\nfunction To(e) {\n let t;\n function n(s, r) {\n return Eo ? So : Ao;\n }\n let i = n()(e);\n return {\n c() {\n i.c(), t = ce();\n },\n m(s, r) {\n i.m(s, r), O(s, t, r);\n },\n p(s, [r]) {\n i.p(s, r);\n },\n i: V,\n o: V,\n d(s) {\n s && L(t), i.d(s);\n }\n };\n}\nfunction Mo(e, t, n) {\n let o, { x: i } = t, { y: s } = t, { scale: r } = t, { radius: l = 30 } = t, a = !1;\n const c = (m) => {\n m.pointerType === \"touch\" && n(4, a = !0);\n }, u = () => n(4, a = !1);\n function f(m) {\n ue.call(this, e, m);\n }\n function h(m) {\n ue.call(this, e, m);\n }\n function g(m) {\n ue.call(this, e, m);\n }\n return e.$$set = (m) => {\n n(8, t = nt(nt({}, t), gt(m))), \"x\" in m && n(0, i = m.x), \"y\" in m && n(1, s = m.y), \"scale\" in m && n(2, r = m.scale), \"radius\" in m && n(3, l = m.radius);\n }, e.$$.update = () => {\n e.$$.dirty & /*scale*/\n 4 && n(5, o = 10 / r);\n }, t = gt(t), [\n i,\n s,\n r,\n l,\n a,\n o,\n c,\n u,\n t,\n f,\n h,\n g\n ];\n}\nclass Le extends te {\n constructor(t) {\n super(), ee(this, t, Mo, To, W, { x: 0, y: 1, scale: 2, radius: 3 });\n }\n}\nfunction vo(e) {\n let t, n, o, i, s, r, l, a, c, u, f, h, g, m, _, b, y, A, w, E, B, U, X, p, T, S, M, k, C, Z, ge, me, Me, ie, I, z, H, J, fe, ne, N, qe, ut;\n return ie = new Le({\n props: {\n class: \"a9s-corner-handle-topleft\",\n x: (\n /*geom*/\n e[4].x\n ),\n y: (\n /*geom*/\n e[4].y\n ),\n scale: (\n /*viewportScale*/\n e[3]\n )\n }\n }), ie.$on(\"pointerdown\", function() {\n q(\n /*grab*/\n e[9](\"TOP_LEFT\")\n ) && e[9](\"TOP_LEFT\").apply(this, arguments);\n }), z = new Le({\n props: {\n class: \"a9s-corner-handle-topright\",\n x: (\n /*geom*/\n e[4].x + /*geom*/\n e[4].w\n ),\n y: (\n /*geom*/\n e[4].y\n ),\n scale: (\n /*viewportScale*/\n e[3]\n )\n }\n }), z.$on(\"pointerdown\", function() {\n q(\n /*grab*/\n e[9](\"TOP_RIGHT\")\n ) && e[9](\"TOP_RIGHT\").apply(this, arguments);\n }), J = new Le({\n props: {\n class: \"a9s-corner-handle-bottomright\",\n x: (\n /*geom*/\n e[4].x + /*geom*/\n e[4].w\n ),\n y: (\n /*geom*/\n e[4].y + /*geom*/\n e[4].h\n ),\n scale: (\n /*viewportScale*/\n e[3]\n )\n }\n }), J.$on(\"pointerdown\", function() {\n q(\n /*grab*/\n e[9](\"BOTTOM_RIGHT\")\n ) && e[9](\"BOTTOM_RIGHT\").apply(this, arguments);\n }), ne = new Le({\n props: {\n class: \"a9s-corner-handle-bottomleft\",\n x: (\n /*geom*/\n e[4].x\n ),\n y: (\n /*geom*/\n e[4].y + /*geom*/\n e[4].h\n ),\n scale: (\n /*viewportScale*/\n e[3]\n )\n }\n }), ne.$on(\"pointerdown\", function() {\n q(\n /*grab*/\n e[9](\"BOTTOM_LEFT\")\n ) && e[9](\"BOTTOM_LEFT\").apply(this, arguments);\n }), {\n c() {\n t = R(\"rect\"), l = oe(), a = R(\"rect\"), g = oe(), m = R(\"rect\"), A = oe(), w = R(\"rect\"), X = oe(), p = R(\"rect\"), k = oe(), C = R(\"rect\"), Me = oe(), $(ie.$$.fragment), I = oe(), $(z.$$.fragment), H = oe(), $(J.$$.fragment), fe = oe(), $(ne.$$.fragment), d(t, \"class\", \"a9s-outer\"), d(t, \"style\", n = /*computedStyle*/\n e[1] ? \"display:none;\" : void 0), d(t, \"x\", o = /*geom*/\n e[4].x), d(t, \"y\", i = /*geom*/\n e[4].y), d(t, \"width\", s = /*geom*/\n e[4].w), d(t, \"height\", r = /*geom*/\n e[4].h), d(a, \"class\", \"a9s-inner a9s-shape-handle\"), d(\n a,\n \"style\",\n /*computedStyle*/\n e[1]\n ), d(a, \"x\", c = /*geom*/\n e[4].x), d(a, \"y\", u = /*geom*/\n e[4].y), d(a, \"width\", f = /*geom*/\n e[4].w), d(a, \"height\", h = /*geom*/\n e[4].h), d(m, \"class\", \"a9s-edge-handle a9s-edge-handle-top\"), d(m, \"x\", _ = /*geom*/\n e[4].x), d(m, \"y\", b = /*geom*/\n e[4].y), d(m, \"height\", 1), d(m, \"width\", y = /*geom*/\n e[4].w), d(w, \"class\", \"a9s-edge-handle a9s-edge-handle-right\"), d(w, \"x\", E = /*geom*/\n e[4].x + /*geom*/\n e[4].w), d(w, \"y\", B = /*geom*/\n e[4].y), d(w, \"height\", U = /*geom*/\n e[4].h), d(w, \"width\", 1), d(p, \"class\", \"a9s-edge-handle a9s-edge-handle-bottom\"), d(p, \"x\", T = /*geom*/\n e[4].x), d(p, \"y\", S = /*geom*/\n e[4].y + /*geom*/\n e[4].h), d(p, \"height\", 1), d(p, \"width\", M = /*geom*/\n e[4].w), d(C, \"class\", \"a9s-edge-handle a9s-edge-handle-left\"), d(C, \"x\", Z = /*geom*/\n e[4].x), d(C, \"y\", ge = /*geom*/\n e[4].y), d(C, \"height\", me = /*geom*/\n e[4].h), d(C, \"width\", 1);\n },\n m(Y, v) {\n O(Y, t, v), O(Y, l, v), O(Y, a, v), O(Y, g, v), O(Y, m, v), O(Y, A, v), O(Y, w, v), O(Y, X, v), O(Y, p, v), O(Y, k, v), O(Y, C, v), O(Y, Me, v), Q(ie, Y, v), O(Y, I, v), Q(z, Y, v), O(Y, H, v), Q(J, Y, v), O(Y, fe, v), Q(ne, Y, v), N = !0, qe || (ut = [\n F(t, \"pointerdown\", function() {\n q(\n /*grab*/\n e[9](\"SHAPE\")\n ) && e[9](\"SHAPE\").apply(this, arguments);\n }),\n F(a, \"pointerdown\", function() {\n q(\n /*grab*/\n e[9](\"SHAPE\")\n ) && e[9](\"SHAPE\").apply(this, arguments);\n }),\n F(m, \"pointerdown\", function() {\n q(\n /*grab*/\n e[9](\"TOP\")\n ) && e[9](\"TOP\").apply(this, arguments);\n }),\n F(w, \"pointerdown\", function() {\n q(\n /*grab*/\n e[9](\"RIGHT\")\n ) && e[9](\"RIGHT\").apply(this, arguments);\n }),\n F(p, \"pointerdown\", function() {\n q(\n /*grab*/\n e[9](\"BOTTOM\")\n ) && e[9](\"BOTTOM\").apply(this, arguments);\n }),\n F(C, \"pointerdown\", function() {\n q(\n /*grab*/\n e[9](\"LEFT\")\n ) && e[9](\"LEFT\").apply(this, arguments);\n })\n ], qe = !0);\n },\n p(Y, v) {\n e = Y, (!N || v & /*computedStyle*/\n 2 && n !== (n = /*computedStyle*/\n e[1] ? \"display:none;\" : void 0)) && d(t, \"style\", n), (!N || v & /*geom*/\n 16 && o !== (o = /*geom*/\n e[4].x)) && d(t, \"x\", o), (!N || v & /*geom*/\n 16 && i !== (i = /*geom*/\n e[4].y)) && d(t, \"y\", i), (!N || v & /*geom*/\n 16 && s !== (s = /*geom*/\n e[4].w)) && d(t, \"width\", s), (!N || v & /*geom*/\n 16 && r !== (r = /*geom*/\n e[4].h)) && d(t, \"height\", r), (!N || v & /*computedStyle*/\n 2) && d(\n a,\n \"style\",\n /*computedStyle*/\n e[1]\n ), (!N || v & /*geom*/\n 16 && c !== (c = /*geom*/\n e[4].x)) && d(a, \"x\", c), (!N || v & /*geom*/\n 16 && u !== (u = /*geom*/\n e[4].y)) && d(a, \"y\", u), (!N || v & /*geom*/\n 16 && f !== (f = /*geom*/\n e[4].w)) && d(a, \"width\", f), (!N || v & /*geom*/\n 16 && h !== (h = /*geom*/\n e[4].h)) && d(a, \"height\", h), (!N || v & /*geom*/\n 16 && _ !== (_ = /*geom*/\n e[4].x)) && d(m, \"x\", _), (!N || v & /*geom*/\n 16 && b !== (b = /*geom*/\n e[4].y)) && d(m, \"y\", b), (!N || v & /*geom*/\n 16 && y !== (y = /*geom*/\n e[4].w)) && d(m, \"width\", y), (!N || v & /*geom*/\n 16 && E !== (E = /*geom*/\n e[4].x + /*geom*/\n e[4].w)) && d(w, \"x\", E), (!N || v & /*geom*/\n 16 && B !== (B = /*geom*/\n e[4].y)) && d(w, \"y\", B), (!N || v & /*geom*/\n 16 && U !== (U = /*geom*/\n e[4].h)) && d(w, \"height\", U), (!N || v & /*geom*/\n 16 && T !== (T = /*geom*/\n e[4].x)) && d(p, \"x\", T), (!N || v & /*geom*/\n 16 && S !== (S = /*geom*/\n e[4].y + /*geom*/\n e[4].h)) && d(p, \"y\", S), (!N || v & /*geom*/\n 16 && M !== (M = /*geom*/\n e[4].w)) && d(p, \"width\", M), (!N || v & /*geom*/\n 16 && Z !== (Z = /*geom*/\n e[4].x)) && d(C, \"x\", Z), (!N || v & /*geom*/\n 16 && ge !== (ge = /*geom*/\n e[4].y)) && d(C, \"y\", ge), (!N || v & /*geom*/\n 16 && me !== (me = /*geom*/\n e[4].h)) && d(C, \"height\", me);\n const Ye = {};\n v & /*geom*/\n 16 && (Ye.x = /*geom*/\n e[4].x), v & /*geom*/\n 16 && (Ye.y = /*geom*/\n e[4].y), v & /*viewportScale*/\n 8 && (Ye.scale = /*viewportScale*/\n e[3]), ie.$set(Ye);\n const Ce = {};\n v & /*geom*/\n 16 && (Ce.x = /*geom*/\n e[4].x + /*geom*/\n e[4].w), v & /*geom*/\n 16 && (Ce.y = /*geom*/\n e[4].y), v & /*viewportScale*/\n 8 && (Ce.scale = /*viewportScale*/\n e[3]), z.$set(Ce);\n const De = {};\n v & /*geom*/\n 16 && (De.x = /*geom*/\n e[4].x + /*geom*/\n e[4].w), v & /*geom*/\n 16 && (De.y = /*geom*/\n e[4].y + /*geom*/\n e[4].h), v & /*viewportScale*/\n 8 && (De.scale = /*viewportScale*/\n e[3]), J.$set(De);\n const Xe = {};\n v & /*geom*/\n 16 && (Xe.x = /*geom*/\n e[4].x), v & /*geom*/\n 16 && (Xe.y = /*geom*/\n e[4].y + /*geom*/\n e[4].h), v & /*viewportScale*/\n 8 && (Xe.scale = /*viewportScale*/\n e[3]), ne.$set(Xe);\n },\n i(Y) {\n N || (P(ie.$$.fragment, Y), P(z.$$.fragment, Y), P(J.$$.fragment, Y), P(ne.$$.fragment, Y), N = !0);\n },\n o(Y) {\n D(ie.$$.fragment, Y), D(z.$$.fragment, Y), D(J.$$.fragment, Y), D(ne.$$.fragment, Y), N = !1;\n },\n d(Y) {\n Y && (L(t), L(l), L(a), L(g), L(m), L(A), L(w), L(X), L(p), L(k), L(C), L(Me), L(I), L(H), L(fe)), x(ie, Y), x(z, Y), x(J, Y), x(ne, Y), qe = !1, ae(ut);\n }\n };\n}\nfunction Lo(e) {\n let t, n;\n return t = new Qt({\n props: {\n shape: (\n /*shape*/\n e[0]\n ),\n transform: (\n /*transform*/\n e[2]\n ),\n editor: (\n /*editor*/\n e[5]\n ),\n $$slots: {\n default: [\n vo,\n ({ grab: o }) => ({ 9: o }),\n ({ grab: o }) => o ? 512 : 0\n ]\n },\n $$scope: { ctx: e }\n }\n }), t.$on(\n \"grab\",\n /*grab_handler*/\n e[6]\n ), t.$on(\n \"change\",\n /*change_handler*/\n e[7]\n ), t.$on(\n \"release\",\n /*release_handler*/\n e[8]\n ), {\n c() {\n $(t.$$.fragment);\n },\n m(o, i) {\n Q(t, o, i), n = !0;\n },\n p(o, [i]) {\n const s = {};\n i & /*shape*/\n 1 && (s.shape = /*shape*/\n o[0]), i & /*transform*/\n 4 && (s.transform = /*transform*/\n o[2]), i & /*$$scope, geom, viewportScale, grab, computedStyle*/\n 1562 && (s.$$scope = { dirty: i, ctx: o }), t.$set(s);\n },\n i(o) {\n n || (P(t.$$.fragment, o), n = !0);\n },\n o(o) {\n D(t.$$.fragment, o), n = !1;\n },\n d(o) {\n x(t, o);\n }\n };\n}\nfunction ko(e, t, n) {\n let o, { shape: i } = t, { computedStyle: s } = t, { transform: r } = t, { viewportScale: l = 1 } = t;\n const a = (h, g, m) => {\n const _ = h.geometry.bounds;\n let [b, y] = [_.minX, _.minY], [A, w] = [_.maxX, _.maxY];\n const [E, B] = m;\n if (g === \"SHAPE\")\n b += E, A += E, y += B, w += B;\n else {\n switch (g) {\n case \"TOP\":\n case \"TOP_LEFT\":\n case \"TOP_RIGHT\": {\n y += B;\n break;\n }\n case \"BOTTOM\":\n case \"BOTTOM_LEFT\":\n case \"BOTTOM_RIGHT\": {\n w += B;\n break;\n }\n }\n switch (g) {\n case \"LEFT\":\n case \"TOP_LEFT\":\n case \"BOTTOM_LEFT\": {\n b += E;\n break;\n }\n case \"RIGHT\":\n case \"TOP_RIGHT\":\n case \"BOTTOM_RIGHT\": {\n A += E;\n break;\n }\n }\n }\n const U = Math.min(b, A), X = Math.min(y, w), p = Math.abs(A - b), T = Math.abs(w - y);\n return {\n ...h,\n geometry: {\n x: U,\n y: X,\n w: p,\n h: T,\n bounds: {\n minX: U,\n minY: X,\n maxX: U + p,\n maxY: X + T\n }\n }\n };\n };\n function c(h) {\n ue.call(this, e, h);\n }\n function u(h) {\n ue.call(this, e, h);\n }\n function f(h) {\n ue.call(this, e, h);\n }\n return e.$$set = (h) => {\n \"shape\" in h && n(0, i = h.shape), \"computedStyle\" in h && n(1, s = h.computedStyle), \"transform\" in h && n(2, r = h.transform), \"viewportScale\" in h && n(3, l = h.viewportScale);\n }, e.$$.update = () => {\n e.$$.dirty & /*shape*/\n 1 && n(4, o = i.geometry);\n }, [\n i,\n s,\n r,\n l,\n o,\n a,\n c,\n u,\n f\n ];\n}\nclass Oo extends te {\n constructor(t) {\n super(), ee(this, t, ko, Lo, W, {\n shape: 0,\n computedStyle: 1,\n transform: 2,\n viewportScale: 3\n });\n }\n}\nconst Zt = /* @__PURE__ */ new Map([\n [j.RECTANGLE, Oo],\n [j.POLYGON, yo]\n]), Bo = (e) => Zt.get(e.type), Io = (e, t) => Zt.set(e, t), Po = (e) => ({}), St = (e) => ({ grab: (\n /*onGrab*/\n e[0]\n) });\nfunction Yo(e) {\n let t, n, o, i;\n const s = (\n /*#slots*/\n e[7].default\n ), r = rn(\n s,\n e,\n /*$$scope*/\n e[6],\n St\n );\n return {\n c() {\n t = R(\"g\"), r && r.c(), d(t, \"class\", \"a9s-annotation selected\");\n },\n m(l, a) {\n O(l, t, a), r && r.m(t, null), n = !0, o || (i = [\n F(\n t,\n \"pointerup\",\n /*onRelease*/\n e[2]\n ),\n F(\n t,\n \"pointermove\",\n /*onPointerMove*/\n e[1]\n )\n ], o = !0);\n },\n p(l, [a]) {\n r && r.p && (!n || a & /*$$scope*/\n 64) && an(\n r,\n s,\n l,\n /*$$scope*/\n l[6],\n n ? ln(\n s,\n /*$$scope*/\n l[6],\n a,\n Po\n ) : cn(\n /*$$scope*/\n l[6]\n ),\n St\n );\n },\n i(l) {\n n || (P(r, l), n = !0);\n },\n o(l) {\n D(r, l), n = !1;\n },\n d(l) {\n l && L(t), r && r.d(l), o = !1, ae(i);\n }\n };\n}\nfunction Co(e, t, n) {\n let { $$slots: o = {}, $$scope: i } = t;\n const s = Te();\n let { shape: r } = t, { editor: l } = t, { transform: a } = t, c, u, f;\n const h = (_) => (b) => {\n c = _, u = a.elementToImage(b.offsetX, b.offsetY), f = r, b.target.setPointerCapture(b.pointerId), s(\"grab\", b);\n }, g = (_) => {\n if (c) {\n const [b, y] = a.elementToImage(_.offsetX, _.offsetY), A = [b - u[0], y - u[1]];\n n(3, r = l(f, c, A)), s(\"change\", r);\n }\n }, m = (_) => {\n _.target.releasePointerCapture(_.pointerId), c = void 0, f = r, s(\"release\", _);\n };\n return e.$$set = (_) => {\n \"shape\" in _ && n(3, r = _.shape), \"editor\" in _ && n(4, l = _.editor), \"transform\" in _ && n(5, a = _.transform), \"$$scope\" in _ && n(6, i = _.$$scope);\n }, [h, g, m, r, l, a, i, o];\n}\nclass Qt extends te {\n constructor(t) {\n super(), ee(this, t, Co, Yo, W, { shape: 3, editor: 4, transform: 5 });\n }\n}\nconst je = (e, t) => {\n const n = typeof t == \"function\" ? t(e) : t;\n if (n) {\n const { fill: o, fillOpacity: i } = n;\n let s = \"\";\n return o && (s += `fill:${o};stroke:${o};`), s += `fill-opacity:${i || \"0.25\"};`, s;\n }\n};\nfunction Do(e, t, n) {\n let o;\n const i = Te();\n let { annotation: s } = t, { editor: r } = t, { style: l } = t, { target: a } = t, { transform: c } = t, { viewportScale: u } = t, f;\n return Pe(() => (n(6, f = new r({\n target: a,\n props: {\n shape: s.target.selector,\n computedStyle: o,\n transform: c,\n viewportScale: u\n }\n })), f.$on(\"change\", (h) => {\n f.$$set({ shape: h.detail }), i(\"change\", h.detail);\n }), f.$on(\"grab\", (h) => i(\"grab\", h.detail)), f.$on(\"release\", (h) => i(\"release\", h.detail)), () => {\n f.$destroy();\n })), e.$$set = (h) => {\n \"annotation\" in h && n(0, s = h.annotation), \"editor\" in h && n(1, r = h.editor), \"style\" in h && n(2, l = h.style), \"target\" in h && n(3, a = h.target), \"transform\" in h && n(4, c = h.transform), \"viewportScale\" in h && n(5, u = h.viewportScale);\n }, e.$$.update = () => {\n e.$$.dirty & /*annotation, style*/\n 5 && (o = je(s, l)), e.$$.dirty & /*annotation, editorComponent*/\n 65 && s && (f == null || f.$set({ shape: s.target.selector })), e.$$.dirty & /*editorComponent, transform*/\n 80 && f && f.$set({ transform: c }), e.$$.dirty & /*editorComponent, viewportScale*/\n 96 && f && f.$set({ viewportScale: u });\n }, [s, r, l, a, c, u, f];\n}\nclass Xo extends te {\n constructor(t) {\n super(), ee(this, t, Do, null, W, {\n annotation: 0,\n editor: 1,\n style: 2,\n target: 3,\n transform: 4,\n viewportScale: 5\n });\n }\n}\nfunction Ro(e, t, n) {\n const o = Te();\n let { drawingMode: i } = t, { target: s } = t, { tool: r } = t, { transform: l } = t, { viewportScale: a } = t, c;\n return Pe(() => {\n const u = s.closest(\"svg\"), f = [], h = (g, m, _) => {\n u == null || u.addEventListener(g, m, _), f.push(() => u == null ? void 0 : u.removeEventListener(g, m, _));\n };\n return n(5, c = new r({\n target: s,\n props: {\n addEventListener: h,\n drawingMode: i,\n transform: l,\n viewportScale: a\n }\n })), c.$on(\"create\", (g) => o(\"create\", g.detail)), () => {\n f.forEach((g) => g()), c.$destroy();\n };\n }), e.$$set = (u) => {\n \"drawingMode\" in u && n(0, i = u.drawingMode), \"target\" in u && n(1, s = u.target), \"tool\" in u && n(2, r = u.tool), \"transform\" in u && n(3, l = u.transform), \"viewportScale\" in u && n(4, a = u.viewportScale);\n }, e.$$.update = () => {\n e.$$.dirty & /*toolComponent, transform*/\n 40 && c && c.$set({ transform: l }), e.$$.dirty & /*toolComponent, viewportScale*/\n 48 && c && c.$set({ viewportScale: a });\n }, [i, s, r, l, a, c];\n}\nclass Uo extends te {\n constructor(t) {\n super(), ee(this, t, Ro, null, W, {\n drawingMode: 0,\n target: 1,\n tool: 2,\n transform: 3,\n viewportScale: 4\n });\n }\n}\nfunction Tt(e) {\n let t, n;\n return {\n c() {\n t = R(\"rect\"), n = R(\"rect\"), d(t, \"class\", \"a9s-outer\"), d(\n t,\n \"x\",\n /*x*/\n e[1]\n ), d(\n t,\n \"y\",\n /*y*/\n e[2]\n ), d(\n t,\n \"width\",\n /*w*/\n e[3]\n ), d(\n t,\n \"height\",\n /*h*/\n e[4]\n ), d(n, \"class\", \"a9s-inner\"), d(\n n,\n \"x\",\n /*x*/\n e[1]\n ), d(\n n,\n \"y\",\n /*y*/\n e[2]\n ), d(\n n,\n \"width\",\n /*w*/\n e[3]\n ), d(\n n,\n \"height\",\n /*h*/\n e[4]\n );\n },\n m(o, i) {\n O(o, t, i), O(o, n, i);\n },\n p(o, i) {\n i & /*x*/\n 2 && d(\n t,\n \"x\",\n /*x*/\n o[1]\n ), i & /*y*/\n 4 && d(\n t,\n \"y\",\n /*y*/\n o[2]\n ), i & /*w*/\n 8 && d(\n t,\n \"width\",\n /*w*/\n o[3]\n ), i & /*h*/\n 16 && d(\n t,\n \"height\",\n /*h*/\n o[4]\n ), i & /*x*/\n 2 && d(\n n,\n \"x\",\n /*x*/\n o[1]\n ), i & /*y*/\n 4 && d(\n n,\n \"y\",\n /*y*/\n o[2]\n ), i & /*w*/\n 8 && d(\n n,\n \"width\",\n /*w*/\n o[3]\n ), i & /*h*/\n 16 && d(\n n,\n \"height\",\n /*h*/\n o[4]\n );\n },\n d(o) {\n o && (L(t), L(n));\n }\n };\n}\nfunction No(e) {\n let t, n = (\n /*origin*/\n e[0] && Tt(e)\n );\n return {\n c() {\n t = R(\"g\"), n && n.c(), d(t, \"class\", \"a9s-annotation a9s-rubberband\");\n },\n m(o, i) {\n O(o, t, i), n && n.m(t, null);\n },\n p(o, [i]) {\n /*origin*/\n o[0] ? n ? n.p(o, i) : (n = Tt(o), n.c(), n.m(t, null)) : n && (n.d(1), n = null);\n },\n i: V,\n o: V,\n d(o) {\n o && L(t), n && n.d();\n }\n };\n}\nfunction Vo(e, t, n) {\n const o = Te();\n let { addEventListener: i } = t, { drawingMode: s } = t, { transform: r } = t, l, a, c, u, f, h, g;\n const m = (A) => {\n const w = A;\n l = performance.now(), s === \"drag\" && (n(0, a = r.elementToImage(w.offsetX, w.offsetY)), c = a, n(1, u = a[0]), n(2, f = a[1]), n(3, h = 1), n(4, g = 1));\n }, _ = (A) => {\n const w = A;\n a && (c = r.elementToImage(w.offsetX, w.offsetY), n(1, u = Math.min(c[0], a[0])), n(2, f = Math.min(c[1], a[1])), n(3, h = Math.abs(c[0] - a[0])), n(4, g = Math.abs(c[1] - a[1])));\n }, b = (A) => {\n const w = A, E = performance.now() - l;\n if (s === \"click\") {\n if (E > 300)\n return;\n w.stopPropagation(), a ? y() : (n(0, a = r.elementToImage(w.offsetX, w.offsetY)), c = a, n(1, u = a[0]), n(2, f = a[1]), n(3, h = 1), n(4, g = 1));\n } else\n a && (E > 300 || h * g > 100 ? (w.stopPropagation(), y()) : (n(0, a = void 0), c = void 0));\n }, y = () => {\n if (h * g > 15) {\n const A = {\n type: j.RECTANGLE,\n geometry: {\n bounds: {\n minX: u,\n minY: f,\n maxX: u + h,\n maxY: f + g\n },\n x: u,\n y: f,\n w: h,\n h: g\n }\n };\n o(\"create\", A);\n }\n n(0, a = void 0), c = void 0;\n };\n return Pe(() => {\n i(\"pointerdown\", m), i(\"pointermove\", _), i(\"pointerup\", b, !0);\n }), e.$$set = (A) => {\n \"addEventListener\" in A && n(5, i = A.addEventListener), \"drawingMode\" in A && n(6, s = A.drawingMode), \"transform\" in A && n(7, r = A.transform);\n }, [a, u, f, h, g, i, s, r];\n}\nclass Go extends te {\n constructor(t) {\n super(), ee(this, t, Vo, No, W, {\n addEventListener: 5,\n drawingMode: 6,\n transform: 7\n });\n }\n}\nfunction xe(e) {\n const t = e.slice(), n = (\n /*isClosable*/\n (t[2] ? (\n /*points*/\n t[0]\n ) : [\n .../*points*/\n t[0],\n /*cursor*/\n t[1]\n ]).map((o) => o.join(\",\")).join(\" \")\n );\n return t[16] = n, t;\n}\nfunction Mt(e) {\n let t, n, o, i, s, r = (\n /*isClosable*/\n e[2] && vt(e)\n );\n return {\n c() {\n t = R(\"polygon\"), o = R(\"polygon\"), r && r.c(), s = ce(), d(t, \"class\", \"a9s-outer\"), d(t, \"points\", n = /*coords*/\n e[16]), d(o, \"class\", \"a9s-inner\"), d(o, \"points\", i = /*coords*/\n e[16]);\n },\n m(l, a) {\n O(l, t, a), O(l, o, a), r && r.m(l, a), O(l, s, a);\n },\n p(l, a) {\n a & /*isClosable, points, cursor*/\n 7 && n !== (n = /*coords*/\n l[16]) && d(t, \"points\", n), a & /*isClosable, points, cursor*/\n 7 && i !== (i = /*coords*/\n l[16]) && d(o, \"points\", i), /*isClosable*/\n l[2] ? r ? r.p(l, a) : (r = vt(l), r.c(), r.m(s.parentNode, s)) : r && (r.d(1), r = null);\n },\n d(l) {\n l && (L(t), L(o), L(s)), r && r.d(l);\n }\n };\n}\nfunction vt(e) {\n let t, n, o;\n return {\n c() {\n t = R(\"rect\"), d(t, \"class\", \"a9s-corner-handle\"), d(t, \"x\", n = /*points*/\n e[0][0][0] - /*handleSize*/\n e[3] / 2), d(t, \"y\", o = /*points*/\n e[0][0][1] - /*handleSize*/\n e[3] / 2), d(\n t,\n \"height\",\n /*handleSize*/\n e[3]\n ), d(\n t,\n \"width\",\n /*handleSize*/\n e[3]\n );\n },\n m(i, s) {\n O(i, t, s);\n },\n p(i, s) {\n s & /*points, handleSize*/\n 9 && n !== (n = /*points*/\n i[0][0][0] - /*handleSize*/\n i[3] / 2) && d(t, \"x\", n), s & /*points, handleSize*/\n 9 && o !== (o = /*points*/\n i[0][0][1] - /*handleSize*/\n i[3] / 2) && d(t, \"y\", o), s & /*handleSize*/\n 8 && d(\n t,\n \"height\",\n /*handleSize*/\n i[3]\n ), s & /*handleSize*/\n 8 && d(\n t,\n \"width\",\n /*handleSize*/\n i[3]\n );\n },\n d(i) {\n i && L(t);\n }\n };\n}\nfunction zo(e) {\n let t, n = (\n /*cursor*/\n e[1] && Mt(xe(e))\n );\n return {\n c() {\n t = R(\"g\"), n && n.c(), d(t, \"class\", \"a9s-annotation a9s-rubberband\");\n },\n m(o, i) {\n O(o, t, i), n && n.m(t, null);\n },\n p(o, [i]) {\n /*cursor*/\n o[1] ? n ? n.p(xe(o), i) : (n = Mt(xe(o)), n.c(), n.m(t, null)) : n && (n.d(1), n = null);\n },\n i: V,\n o: V,\n d(o) {\n o && L(t), n && n.d();\n }\n };\n}\nconst Ho = 20, Fo = 1500;\nfunction jo(e, t, n) {\n let o;\n const i = Te();\n let { addEventListener: s } = t, { drawingMode: r } = t, { transform: l } = t, { viewportScale: a = 1 } = t, c, u = [], f, h, g = !1;\n const m = (w) => {\n const E = w, { timeStamp: B, offsetX: U, offsetY: X } = E;\n if (c = { timeStamp: B, offsetX: U, offsetY: X }, r === \"drag\" && u.length === 0) {\n const p = l.elementToImage(E.offsetX, E.offsetY);\n u.push(p), n(1, f = p);\n }\n }, _ = (w) => {\n const E = w;\n if (h && clearTimeout(h), u.length > 0) {\n if (n(1, f = l.elementToImage(E.offsetX, E.offsetY)), u.length > 2) {\n const B = Qe(f, u[0]) * a;\n n(2, g = B < Ho);\n }\n E.pointerType === \"touch\" && (h = setTimeout(\n () => {\n y();\n },\n Fo\n ));\n }\n }, b = (w) => {\n const E = w;\n if (h && clearTimeout(h), r === \"click\") {\n const B = E.timeStamp - c.timeStamp, U = Qe([c.offsetX, c.offsetY], [E.offsetX, E.offsetY]);\n if (B > 300 || U > 15)\n return;\n if (g)\n A();\n else if (u.length === 0) {\n const X = l.elementToImage(E.offsetX, E.offsetY);\n u.push(X), n(1, f = X);\n } else\n u.push(f);\n } else {\n if (u.length === 1 && Qe(u[0], f) <= 4) {\n n(0, u = []), n(1, f = void 0);\n return;\n }\n E.stopImmediatePropagation(), g ? A() : u.push(f);\n }\n }, y = () => {\n if (!f)\n return;\n const w = [...u, f], E = {\n type: j.POLYGON,\n geometry: { bounds: Fe(w), points: w }\n };\n st(E) > 4 && (n(0, u = []), n(1, f = void 0), i(\"create\", E));\n }, A = () => {\n const w = {\n type: j.POLYGON,\n geometry: {\n bounds: Fe(u),\n points: [...u]\n }\n };\n n(0, u = []), n(1, f = void 0), i(\"create\", w);\n };\n return Pe(() => {\n s(\"pointerdown\", m, !0), s(\"pointermove\", _), s(\"pointerup\", b, !0), s(\"dblclick\", y, !0);\n }), e.$$set = (w) => {\n \"addEventListener\" in w && n(4, s = w.addEventListener), \"drawingMode\" in w && n(5, r = w.drawingMode), \"transform\" in w && n(6, l = w.transform), \"viewportScale\" in w && n(7, a = w.viewportScale);\n }, e.$$.update = () => {\n e.$$.dirty & /*viewportScale*/\n 128 && n(3, o = 10 / a);\n }, [\n u,\n f,\n g,\n o,\n s,\n r,\n l,\n a\n ];\n}\nclass qo extends te {\n constructor(t) {\n super(), ee(this, t, jo, zo, W, {\n addEventListener: 4,\n drawingMode: 5,\n transform: 6,\n viewportScale: 7\n });\n }\n}\nconst ft = /* @__PURE__ */ new Map([\n [\"rectangle\", { tool: Go }],\n [\"polygon\", { tool: qo }]\n]), xt = () => [...ft.keys()], $t = (e) => ft.get(e), Ko = (e, t, n) => ft.set(e, { tool: t, opts: n });\nfunction Wo(e) {\n let t, n, o, i, s;\n return {\n c() {\n t = R(\"g\"), n = R(\"ellipse\"), i = R(\"ellipse\"), d(n, \"class\", \"a9s-outer\"), d(n, \"style\", o = /*computedStyle*/\n e[1] ? \"display:none;\" : void 0), d(\n n,\n \"cx\",\n /*cx*/\n e[2]\n ), d(\n n,\n \"cy\",\n /*cy*/\n e[3]\n ), d(\n n,\n \"rx\",\n /*rx*/\n e[4]\n ), d(\n n,\n \"ry\",\n /*ry*/\n e[5]\n ), d(i, \"class\", \"a9s-inner\"), d(\n i,\n \"style\",\n /*computedStyle*/\n e[1]\n ), d(\n i,\n \"cx\",\n /*cx*/\n e[2]\n ), d(\n i,\n \"cy\",\n /*cy*/\n e[3]\n ), d(\n i,\n \"rx\",\n /*rx*/\n e[4]\n ), d(\n i,\n \"ry\",\n /*ry*/\n e[5]\n ), d(t, \"data-id\", s = /*annotation*/\n e[0].id);\n },\n m(r, l) {\n O(r, t, l), se(t, n), se(t, i);\n },\n p(r, [l]) {\n l & /*computedStyle*/\n 2 && o !== (o = /*computedStyle*/\n r[1] ? \"display:none;\" : void 0) && d(n, \"style\", o), l & /*computedStyle*/\n 2 && d(\n i,\n \"style\",\n /*computedStyle*/\n r[1]\n ), l & /*annotation*/\n 1 && s !== (s = /*annotation*/\n r[0].id) && d(t, \"data-id\", s);\n },\n i: V,\n o: V,\n d(r) {\n r && L(t);\n }\n };\n}\nfunction Jo(e, t, n) {\n let o, { annotation: i } = t, { geom: s } = t, { style: r } = t;\n const { cx: l, cy: a, rx: c, ry: u } = s;\n return e.$$set = (f) => {\n \"annotation\" in f && n(0, i = f.annotation), \"geom\" in f && n(6, s = f.geom), \"style\" in f && n(7, r = f.style);\n }, e.$$.update = () => {\n e.$$.dirty & /*annotation, style*/\n 129 && n(1, o = je(i, r));\n }, [i, o, l, a, c, u, s, r];\n}\nclass Zo extends te {\n constructor(t) {\n super(), ee(this, t, Jo, Wo, W, { annotation: 0, geom: 6, style: 7 });\n }\n}\nfunction Qo(e) {\n let t, n, o, i, s;\n return {\n c() {\n t = R(\"g\"), n = R(\"polygon\"), i = R(\"polygon\"), d(n, \"class\", \"a9s-outer\"), d(n, \"style\", o = /*computedStyle*/\n e[1] ? \"display:none;\" : void 0), d(\n n,\n \"points\",\n /*points*/\n e[2].map(xo).join(\" \")\n ), d(i, \"class\", \"a9s-inner\"), d(\n i,\n \"style\",\n /*computedStyle*/\n e[1]\n ), d(\n i,\n \"points\",\n /*points*/\n e[2].map($o).join(\" \")\n ), d(t, \"data-id\", s = /*annotation*/\n e[0].id);\n },\n m(r, l) {\n O(r, t, l), se(t, n), se(t, i);\n },\n p(r, [l]) {\n l & /*computedStyle*/\n 2 && o !== (o = /*computedStyle*/\n r[1] ? \"display:none;\" : void 0) && d(n, \"style\", o), l & /*computedStyle*/\n 2 && d(\n i,\n \"style\",\n /*computedStyle*/\n r[1]\n ), l & /*annotation*/\n 1 && s !== (s = /*annotation*/\n r[0].id) && d(t, \"data-id\", s);\n },\n i: V,\n o: V,\n d(r) {\n r && L(t);\n }\n };\n}\nconst xo = (e) => e.join(\",\"), $o = (e) => e.join(\",\");\nfunction ei(e, t, n) {\n let o, { annotation: i } = t, { geom: s } = t, { style: r } = t;\n const { points: l } = s;\n return e.$$set = (a) => {\n \"annotation\" in a && n(0, i = a.annotation), \"geom\" in a && n(3, s = a.geom), \"style\" in a && n(4, r = a.style);\n }, e.$$.update = () => {\n e.$$.dirty & /*annotation, style*/\n 17 && n(1, o = je(i, r));\n }, [i, o, l, s, r];\n}\nclass ti extends te {\n constructor(t) {\n super(), ee(this, t, ei, Qo, W, { annotation: 0, geom: 3, style: 4 });\n }\n}\nfunction ni(e) {\n let t, n, o, i, s;\n return {\n c() {\n t = R(\"g\"), n = R(\"rect\"), i = R(\"rect\"), d(n, \"class\", \"a9s-outer\"), d(n, \"style\", o = /*computedStyle*/\n e[5] ? \"display:none;\" : void 0), d(\n n,\n \"x\",\n /*x*/\n e[4]\n ), d(\n n,\n \"y\",\n /*y*/\n e[3]\n ), d(\n n,\n \"width\",\n /*w*/\n e[2]\n ), d(\n n,\n \"height\",\n /*h*/\n e[1]\n ), d(i, \"class\", \"a9s-inner\"), d(\n i,\n \"style\",\n /*computedStyle*/\n e[5]\n ), d(\n i,\n \"x\",\n /*x*/\n e[4]\n ), d(\n i,\n \"y\",\n /*y*/\n e[3]\n ), d(\n i,\n \"width\",\n /*w*/\n e[2]\n ), d(\n i,\n \"height\",\n /*h*/\n e[1]\n ), d(t, \"data-id\", s = /*annotation*/\n e[0].id);\n },\n m(r, l) {\n O(r, t, l), se(t, n), se(t, i);\n },\n p(r, [l]) {\n l & /*computedStyle*/\n 32 && o !== (o = /*computedStyle*/\n r[5] ? \"display:none;\" : void 0) && d(n, \"style\", o), l & /*x*/\n 16 && d(\n n,\n \"x\",\n /*x*/\n r[4]\n ), l & /*y*/\n 8 && d(\n n,\n \"y\",\n /*y*/\n r[3]\n ), l & /*w*/\n 4 && d(\n n,\n \"width\",\n /*w*/\n r[2]\n ), l & /*h*/\n 2 && d(\n n,\n \"height\",\n /*h*/\n r[1]\n ), l & /*computedStyle*/\n 32 && d(\n i,\n \"style\",\n /*computedStyle*/\n r[5]\n ), l & /*x*/\n 16 && d(\n i,\n \"x\",\n /*x*/\n r[4]\n ), l & /*y*/\n 8 && d(\n i,\n \"y\",\n /*y*/\n r[3]\n ), l & /*w*/\n 4 && d(\n i,\n \"width\",\n /*w*/\n r[2]\n ), l & /*h*/\n 2 && d(\n i,\n \"height\",\n /*h*/\n r[1]\n ), l & /*annotation*/\n 1 && s !== (s = /*annotation*/\n r[0].id) && d(t, \"data-id\", s);\n },\n i: V,\n o: V,\n d(r) {\n r && L(t);\n }\n };\n}\nfunction oi(e, t, n) {\n let o, i, s, r, l, { annotation: a } = t, { geom: c } = t, { style: u } = t;\n return e.$$set = (f) => {\n \"annotation\" in f && n(0, a = f.annotation), \"geom\" in f && n(6, c = f.geom), \"style\" in f && n(7, u = f.style);\n }, e.$$.update = () => {\n e.$$.dirty & /*annotation, style*/\n 129 && n(5, o = je(a, u)), e.$$.dirty & /*geom*/\n 64 && n(4, { x: i, y: s, w: r, h: l } = c, i, (n(3, s), n(6, c)), (n(2, r), n(6, c)), (n(1, l), n(6, c)));\n }, [a, l, r, s, i, o, c, u];\n}\nclass ii extends te {\n constructor(t) {\n super(), ee(this, t, oi, ni, W, { annotation: 0, geom: 6, style: 7 });\n }\n}\nconst Ci = {\n elementToImage: (e, t) => [e, t]\n}, si = (e) => ({\n elementToImage: (t, n) => {\n const o = e.getBoundingClientRect(), i = e.createSVGPoint();\n i.x = t + o.x, i.y = n + o.y;\n const { x: s, y: r } = i.matrixTransform(e.getScreenCTM().inverse());\n return [s, r];\n }\n}), ri = 250, li = (e, t) => {\n const n = Te();\n let o;\n return { onPointerDown: () => o = performance.now(), onPointerUp: (r) => {\n if (performance.now() - o < ri) {\n const { x: a, y: c } = ai(r, e), u = t.getAt(a, c);\n u ? n(\"click\", { originalEvent: r, annotation: u }) : n(\"click\", { originalEvent: r });\n }\n } };\n}, ai = (e, t) => {\n const n = t.createSVGPoint(), o = t.getBoundingClientRect(), i = e.clientX - o.x, s = e.clientY - o.y, { left: r, top: l } = t.getBoundingClientRect();\n return n.x = i + r, n.y = s + l, n.matrixTransform(t.getScreenCTM().inverse());\n}, { Boolean: en } = fn;\nfunction Lt(e, t, n) {\n const o = e.slice();\n return o[30] = t[n], o;\n}\nfunction kt(e, t, n) {\n const o = e.slice();\n return o[33] = t[n], o;\n}\nfunction $e(e) {\n const t = e.slice(), n = (\n /*annotation*/\n t[33].target.selector\n );\n return t[36] = n, t;\n}\nfunction Ot(e) {\n let t = (\n /*annotation*/\n e[33].id\n ), n, o, i = Bt(e);\n return {\n c() {\n i.c(), n = ce();\n },\n m(s, r) {\n i.m(s, r), O(s, n, r), o = !0;\n },\n p(s, r) {\n r[0] & /*$store*/\n 8192 && W(t, t = /*annotation*/\n s[33].id) ? (re(), D(i, 1, 1, V), le(), i = Bt(s), i.c(), P(i, 1), i.m(n.parentNode, n)) : i.p(s, r);\n },\n i(s) {\n o || (P(i), o = !0);\n },\n o(s) {\n D(i), o = !1;\n },\n d(s) {\n s && L(n), i.d(s);\n }\n };\n}\nfunction ci(e) {\n let t, n;\n return t = new ti({\n props: {\n annotation: (\n /*annotation*/\n e[33]\n ),\n geom: (\n /*selector*/\n e[36].geometry\n ),\n style: (\n /*style*/\n e[1]\n )\n }\n }), {\n c() {\n $(t.$$.fragment);\n },\n m(o, i) {\n Q(t, o, i), n = !0;\n },\n p(o, i) {\n const s = {};\n i[0] & /*$store*/\n 8192 && (s.annotation = /*annotation*/\n o[33]), i[0] & /*$store*/\n 8192 && (s.geom = /*selector*/\n o[36].geometry), i[0] & /*style*/\n 2 && (s.style = /*style*/\n o[1]), t.$set(s);\n },\n i(o) {\n n || (P(t.$$.fragment, o), n = !0);\n },\n o(o) {\n D(t.$$.fragment, o), n = !1;\n },\n d(o) {\n x(t, o);\n }\n };\n}\nfunction fi(e) {\n let t, n;\n return t = new ii({\n props: {\n annotation: (\n /*annotation*/\n e[33]\n ),\n geom: (\n /*selector*/\n e[36].geometry\n ),\n style: (\n /*style*/\n e[1]\n )\n }\n }), {\n c() {\n $(t.$$.fragment);\n },\n m(o, i) {\n Q(t, o, i), n = !0;\n },\n p(o, i) {\n const s = {};\n i[0] & /*$store*/\n 8192 && (s.annotation = /*annotation*/\n o[33]), i[0] & /*$store*/\n 8192 && (s.geom = /*selector*/\n o[36].geometry), i[0] & /*style*/\n 2 && (s.style = /*style*/\n o[1]), t.$set(s);\n },\n i(o) {\n n || (P(t.$$.fragment, o), n = !0);\n },\n o(o) {\n D(t.$$.fragment, o), n = !1;\n },\n d(o) {\n x(t, o);\n }\n };\n}\nfunction ui(e) {\n let t, n;\n return t = new Zo({\n props: {\n annotation: (\n /*annotation*/\n e[33]\n ),\n geom: (\n /*selector*/\n e[36].geometry\n ),\n style: (\n /*style*/\n e[1]\n )\n }\n }), {\n c() {\n $(t.$$.fragment);\n },\n m(o, i) {\n Q(t, o, i), n = !0;\n },\n p(o, i) {\n const s = {};\n i[0] & /*$store*/\n 8192 && (s.annotation = /*annotation*/\n o[33]), i[0] & /*$store*/\n 8192 && (s.geom = /*selector*/\n o[36].geometry), i[0] & /*style*/\n 2 && (s.style = /*style*/\n o[1]), t.$set(s);\n },\n i(o) {\n n || (P(t.$$.fragment, o), n = !0);\n },\n o(o) {\n D(t.$$.fragment, o), n = !1;\n },\n d(o) {\n x(t, o);\n }\n };\n}\nfunction Bt(e) {\n let t, n, o, i;\n const s = [ui, fi, ci], r = [];\n function l(a, c) {\n return (\n /*selector*/\n a[36].type === j.ELLIPSE ? 0 : (\n /*selector*/\n a[36].type === j.RECTANGLE ? 1 : (\n /*selector*/\n a[36].type === j.POLYGON ? 2 : -1\n )\n )\n );\n }\n return ~(t = l(e)) && (n = r[t] = s[t](e)), {\n c() {\n n && n.c(), o = ce();\n },\n m(a, c) {\n ~t && r[t].m(a, c), O(a, o, c), i = !0;\n },\n p(a, c) {\n let u = t;\n t = l(a), t === u ? ~t && r[t].p(a, c) : (n && (re(), D(r[u], 1, 1, () => {\n r[u] = null;\n }), le()), ~t ? (n = r[t], n ? n.p(a, c) : (n = r[t] = s[t](a), n.c()), P(n, 1), n.m(o.parentNode, o)) : n = null);\n },\n i(a) {\n i || (P(n), i = !0);\n },\n o(a) {\n D(n), i = !1;\n },\n d(a) {\n a && L(o), ~t && r[t].d(a);\n }\n };\n}\nfunction It(e) {\n let t = !/*isEditable*/\n e[7](\n /*annotation*/\n e[33]\n ), n, o, i = t && Ot($e(e));\n return {\n c() {\n i && i.c(), n = ce();\n },\n m(s, r) {\n i && i.m(s, r), O(s, n, r), o = !0;\n },\n p(s, r) {\n r[0] & /*isEditable, $store*/\n 8320 && (t = !/*isEditable*/\n s[7](\n /*annotation*/\n s[33]\n )), t ? i ? (i.p($e(s), r), r[0] & /*isEditable, $store*/\n 8320 && P(i, 1)) : (i = Ot($e(s)), i.c(), P(i, 1), i.m(n.parentNode, n)) : i && (re(), D(i, 1, 1, () => {\n i = null;\n }), le());\n },\n i(s) {\n o || (P(i), o = !0);\n },\n o(s) {\n D(i), o = !1;\n },\n d(s) {\n s && L(n), i && i.d(s);\n }\n };\n}\nfunction Pt(e) {\n let t, n, o, i;\n const s = [hi, di], r = [];\n function l(a, c) {\n return (\n /*editableAnnotations*/\n a[6] ? 0 : (\n /*tool*/\n a[12] && /*drawingEnabled*/\n a[0] ? 1 : -1\n )\n );\n }\n return ~(t = l(e)) && (n = r[t] = s[t](e)), {\n c() {\n n && n.c(), o = ce();\n },\n m(a, c) {\n ~t && r[t].m(a, c), O(a, o, c), i = !0;\n },\n p(a, c) {\n let u = t;\n t = l(a), t === u ? ~t && r[t].p(a, c) : (n && (re(), D(r[u], 1, 1, () => {\n r[u] = null;\n }), le()), ~t ? (n = r[t], n ? n.p(a, c) : (n = r[t] = s[t](a), n.c()), P(n, 1), n.m(o.parentNode, o)) : n = null);\n },\n i(a) {\n i || (P(n), i = !0);\n },\n o(a) {\n D(n), i = !1;\n },\n d(a) {\n a && L(o), ~t && r[t].d(a);\n }\n };\n}\nfunction di(e) {\n let t = (\n /*toolName*/\n e[2]\n ), n, o, i = Yt(e);\n return {\n c() {\n i.c(), n = ce();\n },\n m(s, r) {\n i.m(s, r), O(s, n, r), o = !0;\n },\n p(s, r) {\n r[0] & /*toolName*/\n 4 && W(t, t = /*toolName*/\n s[2]) ? (re(), D(i, 1, 1, V), le(), i = Yt(s), i.c(), P(i, 1), i.m(n.parentNode, n)) : i.p(s, r);\n },\n i(s) {\n o || (P(i), o = !0);\n },\n o(s) {\n D(i), o = !1;\n },\n d(s) {\n s && L(n), i.d(s);\n }\n };\n}\nfunction hi(e) {\n let t, n, o = Se(\n /*editableAnnotations*/\n e[6]\n ), i = [];\n for (let r = 0; r < o.length; r += 1)\n i[r] = Dt(Lt(e, o, r));\n const s = (r) => D(i[r], 1, 1, () => {\n i[r] = null;\n });\n return {\n c() {\n for (let r = 0; r < i.length; r += 1)\n i[r].c();\n t = ce();\n },\n m(r, l) {\n for (let a = 0; a < i.length; a += 1)\n i[a] && i[a].m(r, l);\n O(r, t, l), n = !0;\n },\n p(r, l) {\n if (l[0] & /*editableAnnotations, drawingEl, getEditor, style, transform, $scale, onChangeSelected*/\n 803922) {\n o = Se(\n /*editableAnnotations*/\n r[6]\n );\n let a;\n for (a = 0; a < o.length; a += 1) {\n const c = Lt(r, o, a);\n i[a] ? (i[a].p(c, l), P(i[a], 1)) : (i[a] = Dt(c), i[a].c(), P(i[a], 1), i[a].m(t.parentNode, t));\n }\n for (re(), a = o.length; a < i.length; a += 1)\n s(a);\n le();\n }\n },\n i(r) {\n if (!n) {\n for (let l = 0; l < o.length; l += 1)\n P(i[l]);\n n = !0;\n }\n },\n o(r) {\n i = i.filter(en);\n for (let l = 0; l < i.length; l += 1)\n D(i[l]);\n n = !1;\n },\n d(r) {\n r && L(t), rt(i, r);\n }\n };\n}\nfunction Yt(e) {\n let t, n;\n return t = new Uo({\n props: {\n target: (\n /*drawingEl*/\n e[4]\n ),\n tool: (\n /*tool*/\n e[12]\n ),\n drawingMode: (\n /*drawingMode*/\n e[11]\n ),\n transform: (\n /*transform*/\n e[10]\n ),\n viewportScale: (\n /*$scale*/\n e[14]\n )\n }\n }), t.$on(\n \"create\",\n /*onSelectionCreated*/\n e[17]\n ), {\n c() {\n $(t.$$.fragment);\n },\n m(o, i) {\n Q(t, o, i), n = !0;\n },\n p(o, i) {\n const s = {};\n i[0] & /*drawingEl*/\n 16 && (s.target = /*drawingEl*/\n o[4]), i[0] & /*tool*/\n 4096 && (s.tool = /*tool*/\n o[12]), i[0] & /*drawingMode*/\n 2048 && (s.drawingMode = /*drawingMode*/\n o[11]), i[0] & /*transform*/\n 1024 && (s.transform = /*transform*/\n o[10]), i[0] & /*$scale*/\n 16384 && (s.viewportScale = /*$scale*/\n o[14]), t.$set(s);\n },\n i(o) {\n n || (P(t.$$.fragment, o), n = !0);\n },\n o(o) {\n D(t.$$.fragment, o), n = !1;\n },\n d(o) {\n x(t, o);\n }\n };\n}\nfunction Ct(e) {\n let t, n;\n return t = new Xo({\n props: {\n target: (\n /*drawingEl*/\n e[4]\n ),\n editor: (\n /*getEditor*/\n e[19](\n /*editable*/\n e[30].target.selector\n )\n ),\n annotation: (\n /*editable*/\n e[30]\n ),\n style: (\n /*style*/\n e[1]\n ),\n transform: (\n /*transform*/\n e[10]\n ),\n viewportScale: (\n /*$scale*/\n e[14]\n )\n }\n }), t.$on(\"change\", function() {\n q(\n /*onChangeSelected*/\n e[18](\n /*editable*/\n e[30]\n )\n ) && e[18](\n /*editable*/\n e[30]\n ).apply(this, arguments);\n }), {\n c() {\n $(t.$$.fragment);\n },\n m(o, i) {\n Q(t, o, i), n = !0;\n },\n p(o, i) {\n e = o;\n const s = {};\n i[0] & /*drawingEl*/\n 16 && (s.target = /*drawingEl*/\n e[4]), i[0] & /*editableAnnotations*/\n 64 && (s.editor = /*getEditor*/\n e[19](\n /*editable*/\n e[30].target.selector\n )), i[0] & /*editableAnnotations*/\n 64 && (s.annotation = /*editable*/\n e[30]), i[0] & /*style*/\n 2 && (s.style = /*style*/\n e[1]), i[0] & /*transform*/\n 1024 && (s.transform = /*transform*/\n e[10]), i[0] & /*$scale*/\n 16384 && (s.viewportScale = /*$scale*/\n e[14]), t.$set(s);\n },\n i(o) {\n n || (P(t.$$.fragment, o), n = !0);\n },\n o(o) {\n D(t.$$.fragment, o), n = !1;\n },\n d(o) {\n x(t, o);\n }\n };\n}\nfunction Dt(e) {\n let t = (\n /*editable*/\n e[30].id\n ), n, o, i = Ct(e);\n return {\n c() {\n i.c(), n = ce();\n },\n m(s, r) {\n i.m(s, r), O(s, n, r), o = !0;\n },\n p(s, r) {\n r[0] & /*editableAnnotations*/\n 64 && W(t, t = /*editable*/\n s[30].id) ? (re(), D(i, 1, 1, V), le(), i = Ct(s), i.c(), P(i, 1), i.m(n.parentNode, n)) : i.p(s, r);\n },\n i(s) {\n o || (P(i), o = !0);\n },\n o(s) {\n D(i), o = !1;\n },\n d(s) {\n s && L(n), i.d(s);\n }\n };\n}\nfunction gi(e) {\n let t, n, o, i, s, r, l = Se(\n /*$store*/\n e[13]\n ), a = [];\n for (let f = 0; f < l.length; f += 1)\n a[f] = It(kt(e, l, f));\n const c = (f) => D(a[f], 1, 1, () => {\n a[f] = null;\n });\n let u = (\n /*drawingEl*/\n e[4] && Pt(e)\n );\n return {\n c() {\n t = R(\"svg\"), n = R(\"g\");\n for (let f = 0; f < a.length; f += 1)\n a[f].c();\n o = R(\"g\"), u && u.c(), d(o, \"class\", \"drawing\"), d(t, \"class\", \"a9s-annotationlayer\"), ze(\n t,\n \"drawing\",\n /*tool*/\n e[12]\n );\n },\n m(f, h) {\n O(f, t, h), se(t, n);\n for (let g = 0; g < a.length; g += 1)\n a[g] && a[g].m(n, null);\n se(t, o), u && u.m(o, null), e[26](o), e[27](t), i = !0, s || (r = [\n F(t, \"pointerup\", function() {\n q(\n /*onPointerUp*/\n e[8]\n ) && e[8].apply(this, arguments);\n }),\n F(t, \"pointerdown\", function() {\n q(\n /*onPointerDown*/\n e[9]\n ) && e[9].apply(this, arguments);\n })\n ], s = !0);\n },\n p(f, h) {\n if (e = f, h[0] & /*$store, style, isEditable*/\n 8322) {\n l = Se(\n /*$store*/\n e[13]\n );\n let g;\n for (g = 0; g < l.length; g += 1) {\n const m = kt(e, l, g);\n a[g] ? (a[g].p(m, h), P(a[g], 1)) : (a[g] = It(m), a[g].c(), P(a[g], 1), a[g].m(n, null));\n }\n for (re(), g = l.length; g < a.length; g += 1)\n c(g);\n le();\n }\n /*drawingEl*/\n e[4] ? u ? (u.p(e, h), h[0] & /*drawingEl*/\n 16 && P(u, 1)) : (u = Pt(e), u.c(), P(u, 1), u.m(o, null)) : u && (re(), D(u, 1, 1, () => {\n u = null;\n }), le()), (!i || h[0] & /*tool*/\n 4096) && ze(\n t,\n \"drawing\",\n /*tool*/\n e[12]\n );\n },\n i(f) {\n if (!i) {\n for (let h = 0; h < l.length; h += 1)\n P(a[h]);\n P(u), i = !0;\n }\n },\n o(f) {\n a = a.filter(en);\n for (let h = 0; h < a.length; h += 1)\n D(a[h]);\n D(u), i = !1;\n },\n d(f) {\n f && L(t), rt(a, f), u && u.d(), e[26](null), e[27](null), s = !1, ae(r);\n }\n };\n}\nfunction mi(e, t, n) {\n let o, i, s, r, l, a, c, u, f, h, g = V, m = () => (g(), g = Vt(p, (I) => n(14, h = I)), p);\n e.$$.on_destroy.push(() => g());\n let { drawingEnabled: _ } = t, { image: b } = t, { preferredDrawingMode: y } = t, { state: A } = t, { style: w = void 0 } = t, { toolName: E = xt()[0] } = t, { user: B } = t, U, X, p;\n Pe(() => m(n(5, p = bo(b, X))));\n const { selection: T, store: S } = A;\n ht(e, T, (I) => n(25, u = I)), ht(e, S, (I) => n(13, f = I));\n let M, k;\n const C = (I) => {\n M && S.unobserve(M);\n const z = I.filter(({ editable: H }) => H).map(({ id: H }) => H);\n z.length > 0 ? (n(6, k = z.map((H) => S.getAnnotation(H)).filter(Boolean)), M = (H) => {\n const { updated: J } = H.changes;\n n(6, k = J == null ? void 0 : J.map((fe) => fe.newValue));\n }, S.observe(M, { annotations: z })) : n(6, k = void 0);\n }, Z = (I) => {\n const z = qt(), H = {\n id: z,\n bodies: [],\n target: {\n annotation: z,\n selector: I.detail,\n creator: B,\n created: /* @__PURE__ */ new Date()\n }\n };\n S.addAnnotation(H), T.setSelected(H.id);\n }, ge = (I) => (z) => {\n var ne;\n const { target: H } = I, J = 10 * 60 * 1e3, fe = ((ne = H.creator) == null ? void 0 : ne.id) !== B.id || !H.created || (/* @__PURE__ */ new Date()).getTime() - H.created.getTime() > J;\n S.updateTarget({\n ...H,\n selector: z.detail,\n created: fe ? H.created : /* @__PURE__ */ new Date(),\n updated: fe ? /* @__PURE__ */ new Date() : void 0,\n updatedBy: fe ? B : void 0\n });\n }, me = (I) => Bo(I);\n function Me(I) {\n He[I ? \"unshift\" : \"push\"](() => {\n U = I, n(4, U);\n });\n }\n function ie(I) {\n He[I ? \"unshift\" : \"push\"](() => {\n X = I, n(3, X);\n });\n }\n return e.$$set = (I) => {\n \"drawingEnabled\" in I && n(0, _ = I.drawingEnabled), \"image\" in I && n(20, b = I.image), \"preferredDrawingMode\" in I && n(21, y = I.preferredDrawingMode), \"state\" in I && n(22, A = I.state), \"style\" in I && n(1, w = I.style), \"toolName\" in I && n(2, E = I.toolName), \"user\" in I && n(23, B = I.user);\n }, e.$$.update = () => {\n e.$$.dirty[0] & /*toolName*/\n 4 && n(12, { tool: o, opts: i } = $t(E) || { tool: void 0, opts: void 0 }, o, (n(24, i), n(2, E))), e.$$.dirty[0] & /*opts, preferredDrawingMode*/\n 18874368 && n(11, s = (i == null ? void 0 : i.drawingMode) || y), e.$$.dirty[0] & /*svgEl*/\n 8 && n(10, r = si(X)), e.$$.dirty[0] & /*svgEl*/\n 8 && n(9, { onPointerDown: l, onPointerUp: a } = li(X, S), l, (n(8, a), n(3, X))), e.$$.dirty[0] & /*$selection*/\n 33554432 && n(7, c = (I) => u.selected.find((z) => z.id === I.id && z.editable)), e.$$.dirty[0] & /*$selection*/\n 33554432 && C(u.selected);\n }, [\n _,\n w,\n E,\n X,\n U,\n p,\n k,\n c,\n a,\n l,\n r,\n s,\n o,\n f,\n h,\n T,\n S,\n Z,\n ge,\n me,\n b,\n y,\n A,\n B,\n i,\n u,\n Me,\n ie\n ];\n}\nclass pi extends te {\n constructor(t) {\n super(), ee(\n this,\n t,\n mi,\n gi,\n W,\n {\n drawingEnabled: 0,\n image: 20,\n preferredDrawingMode: 21,\n state: 22,\n style: 1,\n toolName: 2,\n user: 23\n },\n null,\n [-1, -1]\n );\n }\n}\nfunction yi(e, t, n, o, i) {\n tn(e, t, n || 0, o || e.length - 1, i || _i);\n}\nfunction tn(e, t, n, o, i) {\n for (; o > n; ) {\n if (o - n > 600) {\n var s = o - n + 1, r = t - n + 1, l = Math.log(s), a = 0.5 * Math.exp(2 * l / 3), c = 0.5 * Math.sqrt(l * a * (s - a) / s) * (r - s / 2 < 0 ? -1 : 1), u = Math.max(n, Math.floor(t - r * a / s + c)), f = Math.min(o, Math.floor(t + (s - r) * a / s + c));\n tn(e, t, u, f, i);\n }\n var h = e[t], g = n, m = o;\n for (ve(e, n, t), i(e[o], h) > 0 && ve(e, n, o); g < m; ) {\n for (ve(e, g, m), g++, m--; i(e[g], h) < 0; )\n g++;\n for (; i(e[m], h) > 0; )\n m--;\n }\n i(e[n], h) === 0 ? ve(e, n, m) : (m++, ve(e, m, o)), m <= t && (n = m + 1), t <= m && (o = m - 1);\n }\n}\nfunction ve(e, t, n) {\n var o = e[t];\n e[t] = e[n], e[n] = o;\n}\nfunction _i(e, t) {\n return e < t ? -1 : e > t ? 1 : 0;\n}\nclass wi {\n constructor(t = 9) {\n this._maxEntries = Math.max(4, t), this._minEntries = Math.max(2, Math.ceil(this._maxEntries * 0.4)), this.clear();\n }\n all() {\n return this._all(this.data, []);\n }\n search(t) {\n let n = this.data;\n const o = [];\n if (!Ne(t, n))\n return o;\n const i = this.toBBox, s = [];\n for (; n; ) {\n for (let r = 0; r < n.children.length; r++) {\n const l = n.children[r], a = n.leaf ? i(l) : l;\n Ne(t, a) && (n.leaf ? o.push(l) : tt(t, a) ? this._all(l, o) : s.push(l));\n }\n n = s.pop();\n }\n return o;\n }\n collides(t) {\n let n = this.data;\n if (!Ne(t, n))\n return !1;\n const o = [];\n for (; n; ) {\n for (let i = 0; i < n.children.length; i++) {\n const s = n.children[i], r = n.leaf ? this.toBBox(s) : s;\n if (Ne(t, r)) {\n if (n.leaf || tt(t, r))\n return !0;\n o.push(s);\n }\n }\n n = o.pop();\n }\n return !1;\n }\n load(t) {\n if (!(t && t.length))\n return this;\n if (t.length < this._minEntries) {\n for (let o = 0; o < t.length; o++)\n this.insert(t[o]);\n return this;\n }\n let n = this._build(t.slice(), 0, t.length - 1, 0);\n if (!this.data.children.length)\n this.data = n;\n else if (this.data.height === n.height)\n this._splitRoot(this.data, n);\n else {\n if (this.data.height < n.height) {\n const o = this.data;\n this.data = n, n = o;\n }\n this._insert(n, this.data.height - n.height - 1, !0);\n }\n return this;\n }\n insert(t) {\n return t && this._insert(t, this.data.height - 1), this;\n }\n clear() {\n return this.data = Ee([]), this;\n }\n remove(t, n) {\n if (!t)\n return this;\n let o = this.data;\n const i = this.toBBox(t), s = [], r = [];\n let l, a, c;\n for (; o || s.length; ) {\n if (o || (o = s.pop(), a = s[s.length - 1], l = r.pop(), c = !0), o.leaf) {\n const u = bi(t, o.children, n);\n if (u !== -1)\n return o.children.splice(u, 1), s.push(o), this._condense(s), this;\n }\n !c && !o.leaf && tt(o, i) ? (s.push(o), r.push(l), l = 0, a = o, o = o.children[0]) : a ? (l++, o = a.children[l], c = !1) : o = null;\n }\n return this;\n }\n toBBox(t) {\n return t;\n }\n compareMinX(t, n) {\n return t.minX - n.minX;\n }\n compareMinY(t, n) {\n return t.minY - n.minY;\n }\n toJSON() {\n return this.data;\n }\n fromJSON(t) {\n return this.data = t, this;\n }\n _all(t, n) {\n const o = [];\n for (; t; )\n t.leaf ? n.push(...t.children) : o.push(...t.children), t = o.pop();\n return n;\n }\n _build(t, n, o, i) {\n const s = o - n + 1;\n let r = this._maxEntries, l;\n if (s <= r)\n return l = Ee(t.slice(n, o + 1)), we(l, this.toBBox), l;\n i || (i = Math.ceil(Math.log(s) / Math.log(r)), r = Math.ceil(s / Math.pow(r, i - 1))), l = Ee([]), l.leaf = !1, l.height = i;\n const a = Math.ceil(s / r), c = a * Math.ceil(Math.sqrt(r));\n Xt(t, n, o, c, this.compareMinX);\n for (let u = n; u <= o; u += c) {\n const f = Math.min(u + c - 1, o);\n Xt(t, u, f, a, this.compareMinY);\n for (let h = u; h <= f; h += a) {\n const g = Math.min(h + a - 1, f);\n l.children.push(this._build(t, h, g, i - 1));\n }\n }\n return we(l, this.toBBox), l;\n }\n _chooseSubtree(t, n, o, i) {\n for (; i.push(n), !(n.leaf || i.length - 1 === o); ) {\n let s = 1 / 0, r = 1 / 0, l;\n for (let a = 0; a < n.children.length; a++) {\n const c = n.children[a], u = et(c), f = Si(t, c) - u;\n f < r ? (r = f, s = u < s ? u : s, l = c) : f === r && u < s && (s = u, l = c);\n }\n n = l || n.children[0];\n }\n return n;\n }\n _insert(t, n, o) {\n const i = o ? t : this.toBBox(t), s = [], r = this._chooseSubtree(i, this.data, n, s);\n for (r.children.push(t), Oe(r, i); n >= 0 && s[n].children.length > this._maxEntries; )\n this._split(s, n), n--;\n this._adjustParentBBoxes(i, s, n);\n }\n // split overflowed node into two\n _split(t, n) {\n const o = t[n], i = o.children.length, s = this._minEntries;\n this._chooseSplitAxis(o, s, i);\n const r = this._chooseSplitIndex(o, s, i), l = Ee(o.children.splice(r, o.children.length - r));\n l.height = o.height, l.leaf = o.leaf, we(o, this.toBBox), we(l, this.toBBox), n ? t[n - 1].children.push(l) : this._splitRoot(o, l);\n }\n _splitRoot(t, n) {\n this.data = Ee([t, n]), this.data.height = t.height + 1, this.data.leaf = !1, we(this.data, this.toBBox);\n }\n _chooseSplitIndex(t, n, o) {\n let i, s = 1 / 0, r = 1 / 0;\n for (let l = n; l <= o - n; l++) {\n const a = ke(t, 0, l, this.toBBox), c = ke(t, l, o, this.toBBox), u = Ti(a, c), f = et(a) + et(c);\n u < s ? (s = u, i = l, r = f < r ? f : r) : u === s && f < r && (r = f, i = l);\n }\n return i || o - n;\n }\n // sorts node children by the best axis for split\n _chooseSplitAxis(t, n, o) {\n const i = t.leaf ? this.compareMinX : Ei, s = t.leaf ? this.compareMinY : Ai, r = this._allDistMargin(t, n, o, i), l = this._allDistMargin(t, n, o, s);\n r < l && t.children.sort(i);\n }\n // total margin of all possible split distributions where each node is at least m full\n _allDistMargin(t, n, o, i) {\n t.children.sort(i);\n const s = this.toBBox, r = ke(t, 0, n, s), l = ke(t, o - n, o, s);\n let a = Ue(r) + Ue(l);\n for (let c = n; c < o - n; c++) {\n const u = t.children[c];\n Oe(r, t.leaf ? s(u) : u), a += Ue(r);\n }\n for (let c = o - n - 1; c >= n; c--) {\n const u = t.children[c];\n Oe(l, t.leaf ? s(u) : u), a += Ue(l);\n }\n return a;\n }\n _adjustParentBBoxes(t, n, o) {\n for (let i = o; i >= 0; i--)\n Oe(n[i], t);\n }\n _condense(t) {\n for (let n = t.length - 1, o; n >= 0; n--)\n t[n].children.length === 0 ? n > 0 ? (o = t[n - 1].children, o.splice(o.indexOf(t[n]), 1)) : this.clear() : we(t[n], this.toBBox);\n }\n}\nfunction bi(e, t, n) {\n if (!n)\n return t.indexOf(e);\n for (let o = 0; o < t.length; o++)\n if (n(e, t[o]))\n return o;\n return -1;\n}\nfunction we(e, t) {\n ke(e, 0, e.children.length, t, e);\n}\nfunction ke(e, t, n, o, i) {\n i || (i = Ee(null)), i.minX = 1 / 0, i.minY = 1 / 0, i.maxX = -1 / 0, i.maxY = -1 / 0;\n for (let s = t; s < n; s++) {\n const r = e.children[s];\n Oe(i, e.leaf ? o(r) : r);\n }\n return i;\n}\nfunction Oe(e, t) {\n return e.minX = Math.min(e.minX, t.minX), e.minY = Math.min(e.minY, t.minY), e.maxX = Math.max(e.maxX, t.maxX), e.maxY = Math.max(e.maxY, t.maxY), e;\n}\nfunction Ei(e, t) {\n return e.minX - t.minX;\n}\nfunction Ai(e, t) {\n return e.minY - t.minY;\n}\nfunction et(e) {\n return (e.maxX - e.minX) * (e.maxY - e.minY);\n}\nfunction Ue(e) {\n return e.maxX - e.minX + (e.maxY - e.minY);\n}\nfunction Si(e, t) {\n return (Math.max(t.maxX, e.maxX) - Math.min(t.minX, e.minX)) * (Math.max(t.maxY, e.maxY) - Math.min(t.minY, e.minY));\n}\nfunction Ti(e, t) {\n const n = Math.max(e.minX, t.minX), o = Math.max(e.minY, t.minY), i = Math.min(e.maxX, t.maxX), s = Math.min(e.maxY, t.maxY);\n return Math.max(0, i - n) * Math.max(0, s - o);\n}\nfunction tt(e, t) {\n return e.minX <= t.minX && e.minY <= t.minY && t.maxX <= e.maxX && t.maxY <= e.maxY;\n}\nfunction Ne(e, t) {\n return t.minX <= e.maxX && t.minY <= e.maxY && t.maxX >= e.minX && t.maxY >= e.minY;\n}\nfunction Ee(e) {\n return {\n children: e,\n height: 1,\n leaf: !0,\n minX: 1 / 0,\n minY: 1 / 0,\n maxX: -1 / 0,\n maxY: -1 / 0\n };\n}\nfunction Xt(e, t, n, o, i) {\n const s = [t, n];\n for (; s.length; ) {\n if (n = s.pop(), t = s.pop(), n - t <= o)\n continue;\n const r = t + Math.ceil((n - t) / o / 2) * o;\n yi(e, r, t, n, i), s.push(t, r, r, n);\n }\n}\nconst Mi = () => {\n const e = new wi(), t = /* @__PURE__ */ new Map(), n = () => [...t.values()], o = () => {\n e.clear(), t.clear();\n }, i = (f) => {\n const { minX: h, minY: g, maxX: m, maxY: _ } = f.selector.geometry.bounds, b = { minX: h, minY: g, maxX: m, maxY: _, target: f };\n e.insert(b), t.set(f.annotation, b);\n }, s = (f) => {\n const h = t.get(f.annotation);\n h && e.remove(h), t.delete(f.annotation);\n };\n return {\n all: n,\n clear: o,\n getAt: (f, h) => {\n const m = e.search({\n minX: f,\n minY: h,\n maxX: f,\n maxY: h\n }).map((_) => _.target).filter((_) => _.selector.type === j.RECTANGLE || wn(_.selector, f, h));\n if (m.length > 0)\n return m.sort((_, b) => st(_.selector) - st(b.selector)), m[0];\n },\n getIntersecting: (f, h, g, m) => e.search({\n minX: f,\n minY: h,\n maxX: f + g,\n maxY: h + m\n }).map((_) => _.target),\n insert: i,\n remove: s,\n set: (f, h = !0) => {\n h && o();\n const g = f.map((m) => {\n const { minX: _, minY: b, maxX: y, maxY: A } = m.selector.geometry.bounds;\n return { minX: _, minY: b, maxX: y, maxY: A, target: m };\n });\n g.forEach((m) => t.set(m.target.annotation, m)), e.load(g);\n },\n size: () => e.all().length,\n update: (f, h) => {\n s(f), i(h);\n }\n };\n}, vi = (e) => {\n const t = Kn(), n = Mi(), o = Rn(t, e.pointerSelectAction), i = Xn(t), s = xn();\n return t.observe(({ changes: a }) => {\n n.set((a.created || []).map((c) => c.target), !1), (a.deleted || []).forEach((c) => n.remove(c.target)), (a.updated || []).forEach(({ oldValue: c, newValue: u }) => n.update(c.target, u.target));\n }), {\n store: {\n ...t,\n getAt: (a, c) => {\n const u = n.getAt(a, c);\n return u ? t.getAnnotation(u.annotation) : void 0;\n },\n getIntersecting: (a, c, u, f) => n.getIntersecting(a, c, u, f).map((h) => t.getAnnotation(h.annotation))\n },\n selection: o,\n hover: i,\n viewport: s\n };\n}, Li = (e) => {\n const t = vi(e);\n return {\n ...t,\n store: Wn(t.store)\n };\n}, ki = (e) => {\n let t, n;\n if (e.nodeName === \"CANVAS\")\n t = e, n = t.getContext(\"2d\", { willReadFrequently: !0 });\n else {\n const i = e;\n t = document.createElement(\"canvas\"), t.width = i.width, t.height = i.height, n = t.getContext(\"2d\", { willReadFrequently: !0 }), n.drawImage(i, 0, 0, i.width, i.height);\n }\n let o = 0;\n for (let i = 1; i < 10; i++)\n for (let s = 1; s < 10; s++) {\n const r = Math.round(s * t.width / 10), l = Math.round(i * t.height / 10), a = n.getImageData(r, l, 1, 1).data, c = (0.299 * a[0] + 0.587 * a[1] + 0.114 * a[2]) / 255;\n o += c;\n }\n return o / 81;\n}, Oi = (e) => {\n const t = ki(e), n = t > 0.6 ? \"dark\" : \"light\";\n return console.log(`[Annotorious] Image brightness: ${t.toFixed(1)}. Setting ${n} theme.`), n;\n}, Rt = (e, t, n) => t.setAttribute(\"data-theme\", n === \"auto\" ? Oi(e) : n), Bi = (e, t) => ({\n ...e,\n drawingEnabled: e.drawingEnabled === void 0 ? t.drawingEnabled : e.drawingEnabled,\n drawingMode: e.drawingMode || t.drawingMode,\n pointerSelectAction: e.pointerSelectAction || t.pointerSelectAction,\n theme: e.theme || t.theme\n}), Ut = navigator.userAgent.indexOf(\"Mac OS X\") !== -1, Ii = (e, t) => {\n const n = t || document, o = (r) => {\n const l = r;\n l.key === \"z\" && l.ctrlKey ? e.undo() : l.key === \"y\" && l.ctrlKey && e.redo();\n }, i = (r) => {\n const l = r;\n l.key === \"z\" && l.metaKey && (l.shiftKey ? e.redo() : e.undo());\n }, s = () => {\n Ut ? n.removeEventListener(\"keydown\", i) : n.removeEventListener(\"keydown\", o);\n };\n return Ut ? n.addEventListener(\"keydown\", i) : n.addEventListener(\"keydown\", o), {\n destroy: s\n };\n}, Di = (e, t = {}) => {\n if (!e)\n throw \"Missing argument: image\";\n const n = typeof e == \"string\" ? document.getElementById(e) : e, o = Bi(t, {\n drawingEnabled: !0,\n drawingMode: \"drag\",\n pointerSelectAction: Kt.EDIT,\n theme: \"light\"\n }), i = Li(o), { selection: s, store: r } = i, l = Qn(r), a = $n(\n i,\n l,\n o.adapter,\n o.autoSave\n ), c = document.createElement(\"DIV\");\n c.style.position = \"relative\", c.style.display = \"inline-block\", n.style.display = \"block\", n.parentNode.insertBefore(c, n), c.appendChild(n);\n const u = Ii(l);\n let f = lo();\n Rt(n, c, o.theme);\n const h = new pi({\n target: c,\n props: {\n drawingEnabled: !!o.drawingEnabled,\n image: n,\n preferredDrawingMode: o.drawingMode,\n state: i,\n style: o.style,\n user: f\n }\n });\n h.$on(\"click\", (p) => {\n const { originalEvent: T, annotation: S } = p.detail;\n S ? s.clickSelect(S.id, T) : s.isEmpty() || s.clear();\n });\n const g = to(i, l, o.adapter), m = () => {\n h.$destroy(), c.parentNode.insertBefore(n, c), c.parentNode.removeChild(c), u.destroy(), l.destroy();\n }, _ = () => f, b = (p, T, S) => Ko(p, T, S), y = (p, T) => Io(p, T), A = (p) => {\n if (!$t(p))\n throw `No drawing tool named ${p}`;\n h.$set({ toolName: p });\n }, w = (p) => h.$set({ drawingEnabled: p }), E = (p) => {\n console.warn(\"Filter not implemented yet\");\n }, B = (p) => h.$set({ style: p }), U = (p) => Rt(n, c, p), X = (p) => {\n f = p, h.$set({ user: p });\n };\n return {\n ...g,\n destroy: m,\n getUser: _,\n listDrawingTools: xt,\n on: a.on,\n off: a.off,\n registerDrawingTool: b,\n registerShapeEditor: y,\n setDrawingEnabled: w,\n setDrawingTool: A,\n setFilter: E,\n setStyle: B,\n setTheme: U,\n setUser: X,\n state: i\n };\n};\nexport {\n Qt as Editor,\n Xo as EditorMount,\n Le as Handle,\n Ci as IdentityTransform,\n yo as PolygonEditor,\n Oo as RectangleEditor,\n An as RectangleUtil,\n Go as RubberbandRectangle,\n pi as SVGAnnotationLayer,\n j as ShapeType,\n Uo as ToolMount,\n Yi as W3CImageFormat,\n li as addEventListeners,\n Fe as boundsFromPoints,\n st as computeArea,\n Di as createImageAnnotator,\n vi as createImageAnnotatorState,\n si as createSVGTransform,\n Li as createSvelteImageAnnotatorState,\n Oi as detectTheme,\n Qe as distance,\n bo as enableResponsive,\n Bi as fillDefaults,\n Bo as getEditor,\n $t as getTool,\n Ii as initKeyboardCommands,\n wn as intersects,\n Eo as isTouch,\n xt as listDrawingTools,\n Sn as parseFragmentSelector,\n On as parseSVGSelector,\n uo as parseW3CImageAnnotation,\n Io as registerEditor,\n at as registerShapeUtil,\n Ko as registerTool,\n ki as sampleBrightness,\n Tn as serializeFragmentSelector,\n Bn as serializeSVGSelector,\n ho as serializeW3CImageAnnotation,\n Rt as setTheme\n};\n//# sourceMappingURL=annotorious.es.js.map\n"],"names":["e","t","Ke","V","nt","Nt","dt","ae","q","sn","Vt","ht","rn","i","Gt","ln","s","r","l","an","gt","Ge","fn","se","L","rt","R","zt","oe","ce","F","d","ze","dn","Ie","Be","Ht","Pe","Te","ue","be","He","Ae","mt","ot","Ft","it","We","pe","mn","pn","Ve","de","re","le","P","D","Se","$","Q","x","ee","a","f","te","_n","j","lt","at","st","wn","Fe","bn","En","An","Sn","_","Tn","jt","pt","Mn","o","vn","n","Ln","kn","Re","In","Pn","K","Yn","Cn","yt","qt","_t","he","Je","Dn","ye","ct","Xn","Kt","Ze","Rn","Un","Nn","Vn","Gn","zn","Hn","Wt","G","qn","Kn","p","T","S","M","k","C","Z","b","A","E","B","U","X","Wn","Jn","Zn","Qn","xn","$n","eo","to","io","so","ro","lo","ao","Jt","fo","Yi","uo","wt","bt","Le","Et","At","mo","Qt","po","Qe","_e","_o","wo","bo","c","Eo","Ao","So","To","Mo","vo","ge","me","Me","ie","I","z","J","fe","ne","N","qe","ut","Y","v","Ye","Ce","De","Xe","Lo","ko","Zt","Io","Po","St","Yo","Co","je","Do","Xo","Ro","Uo","Tt","No","Vo","Go","xe","Mt","vt","zo","Ho","qo","ft","xt","$t","Ko","Wo","Jo","Zo","Qo","xo","$o","ei","ti","ni","oi","ii","si","ri","li","ai","u","en","Lt","kt","$e","Ot","Bt","ci","fi","ui","It","Pt","hi","di","Yt","Dt","Ct","gi","mi","H","pi","yi","tn","_i","ve","wi","Ne","tt","Ee","bi","we","Xt","et","Si","Oe","ke","Ti","Ei","Ai","Ue","Mi","h","g","m","y","vi","Li","ki","Oi","Rt","Bi","Ut","Ii","Di"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"annotorious-react.es9.js","sources":["../../annotorious-core/src/model/FormatAdapter.ts"],"sourcesContent":["import type { Annotation } from './Annotation';\n\nexport interface FormatAdapter<A extends Annotation, T extends unknown> {\n\n parse(serialized: T): ParseResult<A>;\n\n serialize(core: A): T;\n\n}\n\nexport interface ParseResult<A extends Annotation> {\n\n parsed?: A;\n \n error?: Error;\n\n}\n\nexport const serializeAll = \n <A extends Annotation, T extends unknown>(adapter: FormatAdapter<A, T>) =>\n (annotations: A[]) => annotations.map(a => adapter.serialize(a));\n\nexport const parseAll = \n <A extends Annotation, T extends unknown>(adapter: FormatAdapter<A, T>) =>\n (serialized: T[]) => serialized.reduce((result, next) => {\n const { parsed, error } = adapter.parse(next);\n\n return error ? {\n parsed: result.parsed,\n failed: [...result.failed, next ]\n } : {\n parsed: [...result.parsed, parsed ],\n failed: result.failed\n }\n }, { parsed: [], failed: [] });\n "],"names":["serializeAll","adapter","annotations","a","parseAll","serialized","result","next","parsed","error"],"mappings":"AAkBa,MAAAA,IACX,CAA0CC,MACxC,CAACC,MAAqBA,EAAY,IAAI,CAAKC,MAAAF,EAAQ,UAAUE,CAAC,CAAC,GAEtDC,IACX,CAA0CH,MACxC,CAACI,MAAoBA,EAAW,OAAO,CAACC,GAAQC,MAAS;AACvD,QAAM,EAAE,QAAAC,GAAQ,OAAAC,EAAA,IAAUR,EAAQ,MAAMM,CAAI;AAE5C,SAAOE,IAAQ;AAAA,IACb,QAAQH,EAAO;AAAA,IACf,QAAQ,CAAC,GAAGA,EAAO,QAAQC,CAAK;AAAA,EAAA,IAC9B;AAAA,IACF,QAAQ,CAAC,GAAGD,EAAO,QAAQE,CAAO;AAAA,IAClC,QAAQF,EAAO;AAAA,EAAA;AAEnB,GAAG,EAAE,QAAQ,IAAI,QAAQ,CAAA,EAAI,CAAA;"}
|