@annotorious/react 3.0.0-rc.8 → 3.0.0-rc.9
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-react.es.js +4 -4
- package/dist/annotorious-react.es10.js +35 -28
- package/dist/annotorious-react.es10.js.map +1 -1
- package/dist/annotorious-react.es11.js +16 -36
- package/dist/annotorious-react.es11.js.map +1 -1
- package/dist/annotorious-react.es12.js +4 -16
- package/dist/annotorious-react.es12.js.map +1 -1
- package/dist/annotorious-react.es13.js +8 -4
- package/dist/annotorious-react.es13.js.map +1 -1
- package/dist/annotorious-react.es14.js +153 -8
- package/dist/annotorious-react.es14.js.map +1 -1
- package/dist/annotorious-react.es15.js +6 -153
- package/dist/annotorious-react.es15.js.map +1 -1
- package/dist/annotorious-react.es16.js +22155 -6
- package/dist/annotorious-react.es16.js.map +1 -1
- package/dist/annotorious-react.es17.js +31 -20707
- package/dist/annotorious-react.es17.js.map +1 -1
- package/dist/annotorious-react.es18.js +2 -32
- package/dist/annotorious-react.es18.js.map +1 -1
- package/dist/annotorious-react.es19.js +30 -2
- package/dist/annotorious-react.es19.js.map +1 -1
- package/dist/annotorious-react.es2.js +2 -2
- package/dist/annotorious-react.es20.js +590 -21
- package/dist/annotorious-react.es20.js.map +1 -1
- package/dist/annotorious-react.es21.js +2 -599
- package/dist/annotorious-react.es21.js.map +1 -1
- package/dist/annotorious-react.es22.js +2 -2
- package/dist/annotorious-react.es4.js +2 -2
- package/dist/annotorious-react.es5.js +2 -2
- package/dist/annotorious-react.es9.js +25 -3920
- package/dist/annotorious-react.es9.js.map +1 -1
- package/package.json +2 -1
- package/dist/annotorious-react.es23.js +0 -5
- package/dist/annotorious-react.es23.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"annotorious-react.es9.js","sources":["../../annotorious/dist/annotorious.es.js"],"sourcesContent":["function F() {\n}\nfunction $t(e, t) {\n for (const n in t)\n e[n] = t[n];\n return e;\n}\nfunction Nt(e) {\n return e();\n}\nfunction ft() {\n return /* @__PURE__ */ Object.create(null);\n}\nfunction ie(e) {\n e.forEach(Nt);\n}\nfunction j(e) {\n return typeof e == \"function\";\n}\nfunction J(e, t) {\n return e != e ? t == t : e !== t || e && typeof e == \"object\" || typeof e == \"function\";\n}\nfunction en(e) {\n return Object.keys(e).length === 0;\n}\nfunction Vt(e, ...t) {\n if (e == null)\n return F;\n const n = e.subscribe(...t);\n return n.unsubscribe ? () => n.unsubscribe() : n;\n}\nfunction dt(e, t, n) {\n e.$$.on_destroy.push(Vt(t, n));\n}\nfunction tn(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 ? $t(n.ctx.slice(), e[1](o(t))) : n.ctx;\n}\nfunction nn(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 a = 0; a < r; a += 1)\n s[a] = t.dirty[a] | i[a];\n return s;\n }\n return t.dirty | i;\n }\n return t.dirty;\n}\nfunction on(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 sn(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 re(e, t) {\n e.appendChild(t);\n}\nfunction I(e, t, n) {\n e.insertBefore(t, n || null);\n}\nfunction k(e) {\n e.parentNode && e.parentNode.removeChild(e);\n}\nfunction st(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 Ft(e) {\n return document.createTextNode(e);\n}\nfunction $() {\n return Ft(\" \");\n}\nfunction se() {\n return Ft(\"\");\n}\nfunction K(e, t, n, o) {\n return e.addEventListener(t, n, o), () => e.removeEventListener(t, n, o);\n}\nfunction f(e, t, n) {\n n == null ? e.removeAttribute(t) : e.getAttribute(t) !== n && e.setAttribute(t, n);\n}\nfunction rn(e) {\n return Array.from(e.childNodes);\n}\nfunction ht(e, t, n) {\n e.classList[n ? \"add\" : \"remove\"](t);\n}\nfunction ln(e, t, { bubbles: n = !1, cancelable: o = !1 } = {}) {\n const i = document.createEvent(\"CustomEvent\");\n return i.initCustomEvent(e, n, o, t), i;\n}\nlet Ie;\nfunction ke(e) {\n Ie = e;\n}\nfunction Ht() {\n if (!Ie)\n throw new Error(\"Function called outside component initialization\");\n return Ie;\n}\nfunction Be(e) {\n Ht().$$.on_mount.push(e);\n}\nfunction Se() {\n const e = Ht();\n return (t, n, { cancelable: o = !1 } = {}) => {\n const i = e.$$.callbacks[t];\n if (i) {\n const s = ln(t, n, { cancelable: o });\n return i.slice().forEach((r) => {\n r.call(e, s);\n }), !s.defaultPrevented;\n }\n return !0;\n };\n}\nfunction Ae(e, t) {\n const n = e.$$.callbacks[t.type];\n n && n.slice().forEach((o) => o.call(this, t));\n}\nconst be = [], Ge = [];\nlet Te = [];\nconst mt = [], an = /* @__PURE__ */ Promise.resolve();\nlet tt = !1;\nfunction cn() {\n tt || (tt = !0, an.then(zt));\n}\nfunction nt(e) {\n Te.push(e);\n}\nconst Ke = /* @__PURE__ */ new Set();\nlet pe = 0;\nfunction zt() {\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++, ke(t), un(t.$$);\n }\n } catch (t) {\n throw be.length = 0, pe = 0, t;\n }\n for (ke(null), be.length = 0, pe = 0; Ge.length; )\n Ge.pop()();\n for (let t = 0; t < Te.length; t += 1) {\n const n = Te[t];\n Ke.has(n) || (Ke.add(n), n());\n }\n Te.length = 0;\n } while (be.length);\n for (; mt.length; )\n mt.pop()();\n tt = !1, Ke.clear(), ke(e);\n}\nfunction un(e) {\n if (e.fragment !== null) {\n e.update(), ie(e.before_update);\n const t = e.dirty;\n e.dirty = [-1], e.fragment && e.fragment.p(e.ctx, t), e.after_update.forEach(nt);\n }\n}\nfunction fn(e) {\n const t = [], n = [];\n Te.forEach((o) => e.indexOf(o) === -1 ? t.push(o) : n.push(o)), n.forEach((o) => o()), Te = t;\n}\nconst Ve = /* @__PURE__ */ new Set();\nlet fe;\nfunction ne() {\n fe = {\n r: 0,\n c: [],\n p: fe\n // parent group\n };\n}\nfunction oe() {\n fe.r || ie(fe.c), fe = fe.p;\n}\nfunction C(e, t) {\n e && e.i && (Ve.delete(e), e.i(t));\n}\nfunction N(e, t, n, o) {\n if (e && e.o) {\n if (Ve.has(e))\n return;\n Ve.add(e), fe.c.push(() => {\n Ve.delete(e), o && (n && e.d(1), o());\n }), e.o(t);\n } else\n o && o();\n}\nfunction he(e) {\n e && e.c();\n}\nfunction le(e, t, n, o) {\n const { fragment: i, after_update: s } = e.$$;\n i && i.m(t, n), o || nt(() => {\n const r = e.$$.on_mount.map(Nt).filter(j);\n e.$$.on_destroy ? e.$$.on_destroy.push(...r) : ie(r), e.$$.on_mount = [];\n }), s.forEach(nt);\n}\nfunction ae(e, t) {\n const n = e.$$;\n n.fragment !== null && (fn(n.after_update), ie(n.on_destroy), n.fragment && n.fragment.d(t), n.on_destroy = n.fragment = null, n.ctx = []);\n}\nfunction dn(e, t) {\n e.$$.dirty[0] === -1 && (be.push(e), cn(), e.$$.dirty.fill(0)), e.$$.dirty[t / 31 | 0] |= 1 << t % 31;\n}\nfunction ee(e, t, n, o, i, s, r, a = [-1]) {\n const l = Ie;\n ke(e);\n const c = e.$$ = {\n fragment: null,\n ctx: [],\n // state\n props: s,\n update: F,\n not_equal: i,\n bound: ft(),\n // lifecycle\n on_mount: [],\n on_destroy: [],\n on_disconnect: [],\n before_update: [],\n after_update: [],\n context: new Map(t.context || (l ? l.$$.context : [])),\n // everything else\n callbacks: ft(),\n dirty: a,\n skip_bound: !1,\n root: t.target || l.$$.root\n };\n r && r(c.root);\n let h = !1;\n if (c.ctx = n ? n(e, t.props || {}, (u, m, ...d) => {\n const g = d.length ? d[0] : m;\n return c.ctx && i(c.ctx[u], c.ctx[u] = g) && (!c.skip_bound && c.bound[u] && c.bound[u](g), h && dn(e, u)), m;\n }) : [], c.update(), h = !0, ie(c.before_update), c.fragment = o ? o(c.ctx) : !1, t.target) {\n if (t.hydrate) {\n const u = rn(t.target);\n c.fragment && c.fragment.l(u), u.forEach(k);\n } else\n c.fragment && c.fragment.c();\n t.intro && C(e.$$.fragment), le(e, t.target, t.anchor, t.customElement), zt();\n }\n ke(l);\n}\nclass te {\n $destroy() {\n ae(this, 1), this.$destroy = F;\n }\n $on(t, n) {\n if (!j(n))\n return F;\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 $set(t) {\n this.$$set && !en(t) && (this.$$.skip_bound = !0, this.$$set(t), this.$$.skip_bound = !1);\n }\n}\nvar z = /* @__PURE__ */ ((e) => (e.ELLIPSE = \"ELLIPSE\", e.POLYGON = \"POLYGON\", e.RECTANGLE = \"RECTANGLE\", e))(z || {});\nconst rt = {}, lt = (e, t) => rt[e] = t, ot = (e) => rt[e.type].area(e), hn = (e, t, n) => rt[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}, mn = {\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, a = 0, l = Math.cos(a), c = Math.sin(a), h = t - o, u = n - i, m = l * h + c * u, d = c * h - l * u;\n return m * m / (s * s) + d * d / (r * r) <= 1;\n }\n};\nlt(z.ELLIPSE, mn);\nconst gn = {\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 a = o[s][0], l = o[s][1], c = o[r][0], h = o[r][1];\n l > n != h > n && t < (c - a) * (n - l) / (h - l) + a && (i = !i);\n }\n return i;\n }\n};\nlt(z.POLYGON, gn);\nconst pn = {\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};\nlt(z.RECTANGLE, pn);\nconst yn = (e, t = !1) => {\n const n = typeof e == \"string\" ? e : e.value, o = /^(xywh)=(pixel|percent)?:?(.+?),(.+?),(.+?),(.+)*/g, i = [...n.matchAll(o)][0], [s, r, a, l, c, h, u] = i;\n if (r !== \"xywh\")\n throw new Error(\"Unsupported MediaFragment: \" + n);\n if (a && a !== \"pixel\")\n throw new Error(`Unsupported MediaFragment unit: ${a}`);\n const [m, d, g, _] = [l, c, h, u].map(parseFloat);\n return {\n type: z.RECTANGLE,\n geometry: {\n x: m,\n y: d,\n w: g,\n h: _,\n bounds: {\n minX: m,\n minY: t ? d - _ : d,\n maxX: m + g,\n maxY: t ? d : d + _\n }\n }\n };\n}, _n = (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\", gt = (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}, wn = (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}, bn = (e) => {\n const n = new DOMParser().parseFromString(e, \"image/svg+xml\"), o = n.lookupPrefix(jt), i = n.lookupNamespaceURI(null);\n return o || i ? gt(n).firstChild : gt(wn(n)).firstChild;\n}, En = (e) => {\n const [t, n, o] = e.match(/(<polygon points=[\"|'])([^(\"|')]*)/) || [];\n if (!o)\n return;\n const i = o.split(\" \").map((s) => s.split(\",\").map(parseFloat));\n return {\n type: z.POLYGON,\n geometry: {\n points: i,\n bounds: Fe(i)\n }\n };\n}, An = (e) => {\n const t = bn(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: z.ELLIPSE,\n geometry: {\n cx: n,\n cy: o,\n rx: i,\n ry: s,\n bounds: r\n }\n };\n}, Tn = (e) => {\n const t = typeof e == \"string\" ? e : e.value;\n if (t.includes(\"<polygon points=\"))\n return En(t);\n if (t.includes(\"<ellipse \"))\n return An(t);\n}, Sn = (e) => {\n let t;\n if (e.type === z.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 === z.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 Ce;\nconst Mn = new Uint8Array(16);\nfunction vn() {\n if (!Ce && (Ce = typeof crypto < \"u\" && crypto.getRandomValues && crypto.getRandomValues.bind(crypto), !Ce))\n throw new Error(\"crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported\");\n return Ce(Mn);\n}\nconst q = [];\nfor (let e = 0; e < 256; ++e)\n q.push((e + 256).toString(16).slice(1));\nfunction Ln(e, t = 0) {\n return q[e[t + 0]] + q[e[t + 1]] + q[e[t + 2]] + q[e[t + 3]] + \"-\" + q[e[t + 4]] + q[e[t + 5]] + \"-\" + q[e[t + 6]] + q[e[t + 7]] + \"-\" + q[e[t + 8]] + q[e[t + 9]] + \"-\" + q[e[t + 10]] + q[e[t + 11]] + q[e[t + 12]] + q[e[t + 13]] + q[e[t + 14]] + q[e[t + 15]];\n}\nconst On = typeof crypto < \"u\" && crypto.randomUUID && crypto.randomUUID.bind(crypto), pt = {\n randomUUID: On\n};\nfunction qt(e, t, n) {\n if (pt.randomUUID && !t && !e)\n return pt.randomUUID();\n e = e || {};\n const o = e.random || (e.rng || vn)();\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 Ln(o);\n}\nvar yt = Object.prototype.hasOwnProperty;\nfunction de(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-- && de(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 (yt.call(e, n) && ++o && !yt.call(t, n) || !(n in t) || !de(e[n], t[n]))\n return !1;\n return Object.keys(t).length === o;\n }\n }\n return e !== e && t !== t;\n}\nfunction We() {\n}\nfunction kn(e, t) {\n return e != e ? t == t : e !== t || e && typeof e == \"object\" || typeof e == \"function\";\n}\nconst ye = [];\nfunction at(e, t = We) {\n let n;\n const o = /* @__PURE__ */ new Set();\n function i(a) {\n if (kn(e, a) && (e = a, n)) {\n const l = !ye.length;\n for (const c of o)\n c[1](), ye.push(c, e);\n if (l) {\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(a) {\n i(a(e));\n }\n function r(a, l = We) {\n const c = [a, l];\n return o.add(c), o.size === 1 && (n = t(i) || We), a(e), () => {\n o.delete(c), o.size === 0 && n && (n(), n = null);\n };\n }\n return { set: i, update: s, subscribe: r };\n}\nconst In = (e) => {\n const { subscribe: t, set: n } = at(null);\n let o = null;\n return t((i) => o = i), e.observe(({ changes: i }) => {\n if (o) {\n i.deleted.some((r) => r.id === o) && n(null);\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 Je = { selected: [] }, Bn = (e, t = \"EDIT\") => {\n const { subscribe: n, set: o } = at(Je);\n let i = Je;\n n((u) => i = u);\n const s = () => o(Je), r = () => {\n var u;\n return ((u = i.selected) == null ? void 0 : u.length) === 0;\n }, a = (u) => {\n if (i.selected.length === 0)\n return !1;\n const m = typeof u == \"string\" ? u : u.id;\n return i.selected.some((d) => d.id === m);\n }, l = (u, m) => {\n const d = e.getAnnotation(u);\n if (d) {\n const g = Pn(d, t);\n o(g === \"EDIT\" ? { selected: [{ id: u, editable: !0 }], pointerEvent: m } : g === \"SELECT\" ? { selected: [{ id: u }], pointerEvent: m } : { selected: [], pointerEvent: m });\n } else\n console.warn(\"Invalid selection: \" + u);\n }, c = (u, m = !0) => {\n const d = Array.isArray(u) ? u : [u], g = d.map((_) => e.getAnnotation(_)).filter((_) => _);\n o({ selected: g.map(({ id: _ }) => ({ id: _, editable: m })) }), g.length !== d.length && console.warn(\"Invalid selection\", u);\n }, h = (u) => {\n if (i.selected.length === 0)\n return !1;\n const { selected: m } = i;\n m.filter(({ id: d }) => u.includes(d)).length > 0 && o({ selected: m.filter(({ id: d }) => !u.includes(d)) });\n };\n return e.observe(({ changes: u }) => h(u.deleted.map((m) => m.id))), {\n clear: s,\n clickSelect: l,\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: a,\n setSelected: c,\n subscribe: n\n };\n}, Pn = (e, t) => typeof t == \"function\" ? t(e) || \"EDIT\" : t || \"EDIT\", Yn = [];\nfor (let e = 0; e < 256; ++e)\n Yn.push((e + 256).toString(16).slice(1));\ntypeof crypto < \"u\" && crypto.randomUUID && crypto.randomUUID.bind(crypto);\nconst Xn = (e, t) => {\n const n = new Set(e.bodies.map((o) => o.id));\n return t.bodies.filter((o) => !n.has(o.id));\n}, Dn = (e, t) => {\n const n = new Set(t.bodies.map((o) => o.id));\n return e.bodies.filter((o) => !n.has(o.id));\n}, Rn = (e, t) => t.bodies.map((n) => {\n const o = e.bodies.find((i) => i.id === n.id);\n return { newBody: n, oldBody: o && !de(o, n) ? o : void 0 };\n}).filter(({ oldBody: n }) => n), Cn = (e, t) => !de(e.target, t.target), Wt = (e, t) => {\n const n = Xn(e, t), o = Dn(e, t), i = Rn(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: Cn(e, t) ? { oldTarget: e.target, newTarget: t.target } : void 0\n };\n};\nvar V = /* @__PURE__ */ ((e) => (e.LOCAL = \"LOCAL\", e.REMOTE = \"REMOTE\", e))(V || {});\nconst Un = (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, a = (l) => (l == null ? void 0 : l.length) > 0;\n if (!(a(i.created) || a(i.deleted))) {\n const l = (n = i.updated) == null ? void 0 : n.some((h) => a(h.bodiesCreated) || a(h.bodiesDeleted) || a(h.bodiesUpdated)), c = (o = i.updated) == null ? void 0 : o.some((h) => h.targetUpdated);\n if (r === \"BODY_ONLY\" && l && !c || r === \"TARGET_ONLY\" && c && !l)\n return !1;\n }\n }\n if (e.options.annotations) {\n const r = /* @__PURE__ */ new Set([\n ...i.created.map((a) => a.id),\n ...i.deleted.map((a) => a.id),\n ...i.updated.map(({ oldValue: a }) => a.id)\n ]);\n return !!(Array.isArray(e.options.annotations) ? e.options.annotations : [e.options.annotations]).find((a) => r.has(a));\n } else\n return !0;\n}, Nn = (e, t) => {\n const n = new Set((e.created || []).map((u) => u.id)), o = new Set((e.updated || []).map(({ newValue: u }) => u.id)), i = new Set((t.created || []).map((u) => u.id)), s = new Set((t.deleted || []).map((u) => u.id)), r = new Set((t.updated || []).map(({ oldValue: u }) => u.id)), a = new Set((t.updated || []).filter(({ oldValue: u }) => n.has(u.id) || o.has(u.id)).map(({ oldValue: u }) => u.id)), l = [\n ...(e.created || []).filter((u) => !s.has(u.id)).map((u) => r.has(u.id) ? t.updated.find(({ oldValue: m }) => m.id === u.id).newValue : u),\n ...t.created || []\n ], c = [\n ...(e.deleted || []).filter((u) => !i.has(u.id)),\n ...(t.deleted || []).filter((u) => !n.has(u.id))\n ], h = [\n ...(e.updated || []).filter(({ newValue: u }) => !s.has(u.id)).map((u) => {\n const { oldValue: m, newValue: d } = u;\n if (r.has(d.id)) {\n const g = t.updated.find((_) => _.oldValue.id === d.id).newValue;\n return Wt(m, g);\n } else\n return u;\n }),\n ...(t.updated || []).filter(({ oldValue: u }) => !a.has(u.id))\n ];\n return { created: l, deleted: c, updated: h };\n}, Vn = (e) => e.id !== void 0, Gn = () => {\n const e = /* @__PURE__ */ new Map(), t = /* @__PURE__ */ new Map(), n = [], o = (p, E = {}) => n.push({ onChange: p, options: E }), i = (p) => {\n const E = n.findIndex((b) => b.onChange == p);\n E > -1 && n.splice(E, 1);\n }, s = (p, E) => {\n const b = {\n origin: p,\n changes: {\n created: E.created || [],\n updated: E.updated || [],\n deleted: E.deleted || []\n },\n state: [...e.values()]\n };\n n.forEach((v) => {\n Un(v, b) && v.onChange(b);\n });\n }, r = (p, E = V.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((b) => t.set(b.id, p.id)), s(E, { created: [p] });\n }, a = (p, E) => {\n const b = typeof p == \"string\" ? E : p, v = typeof p == \"string\" ? p : p.id, B = e.get(v);\n if (B) {\n const D = Wt(B, b);\n return v === b.id ? e.set(v, b) : (e.delete(v), e.set(b.id, b)), B.bodies.forEach((Z) => t.delete(Z.id)), b.bodies.forEach((Z) => t.set(Z.id, b.id)), D;\n } else\n console.warn(`Cannot update annotation ${v} - does not exist`);\n }, l = (p, E = V.LOCAL, b = V.LOCAL) => {\n const v = Vn(E) ? b : E, B = a(p, E);\n B && s(v, { updated: [B] });\n }, c = (p, E = V.LOCAL) => {\n const b = p.reduce((v, B) => {\n const D = a(B);\n return D ? [...v, D] : v;\n }, []);\n b.length > 0 && s(E, { updated: b });\n }, h = (p, E = V.LOCAL) => {\n const b = e.get(p.annotation);\n if (b) {\n const v = {\n ...b,\n bodies: [...b.bodies, p]\n };\n e.set(b.id, v), t.set(p.id, v.id), s(E, { updated: [{\n oldValue: b,\n newValue: v,\n bodiesCreated: [p]\n }] });\n } else\n console.warn(`Attempt to add body to missing annotation: ${p.annotation}`);\n }, u = () => [...e.values()], m = (p = V.LOCAL) => {\n const E = [...e.values()];\n e.clear(), t.clear(), s(p, { deleted: E });\n }, d = (p, E = !0, b = V.LOCAL) => {\n if (E) {\n const v = [...e.values()];\n e.clear(), t.clear(), p.forEach((B) => {\n e.set(B.id, B), B.bodies.forEach((D) => t.set(D.id, B.id));\n }), s(b, { created: p, deleted: v });\n } else {\n const v = p.reduce((B, D) => {\n const Z = e.get(D.id);\n return Z ? [...B, Z] : B;\n }, []);\n if (v.length > 0)\n throw Error(`Bulk insert would overwrite the following annotations: ${v.map((B) => B.id).join(\", \")}`);\n p.forEach((B) => {\n e.set(B.id, B), B.bodies.forEach((D) => t.set(D.id, B.id));\n }), s(b, { created: p });\n }\n }, g = (p) => {\n const E = typeof p == \"string\" ? p : p.id, b = e.get(E);\n if (b)\n return e.delete(E), b.bodies.forEach((v) => t.delete(v.id)), b;\n console.warn(`Attempt to delete missing annotation: ${E}`);\n }, _ = (p, E = V.LOCAL) => {\n const b = g(p);\n b && s(E, { deleted: [b] });\n }, A = (p, E = V.LOCAL) => {\n const b = p.reduce((v, B) => {\n const D = g(B);\n return D ? [...v, D] : v;\n }, []);\n b.length > 0 && s(E, { deleted: b });\n }, w = (p, E = V.LOCAL) => {\n const b = e.get(p.annotation);\n if (b) {\n const v = b.bodies.find((B) => B.id === p.id);\n if (v) {\n t.delete(v.id);\n const B = {\n ...b,\n bodies: b.bodies.filter((D) => D.id !== p.id)\n };\n e.set(b.id, B), s(E, { updated: [{\n oldValue: b,\n newValue: B,\n bodiesDeleted: [v]\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 }, y = (p) => {\n const E = e.get(p);\n return E ? { ...E } : void 0;\n }, T = (p) => {\n const E = t.get(p);\n if (E) {\n const b = y(E).bodies.find((v) => v.id === p);\n if (b)\n return b;\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 }, S = (p, E) => {\n if (p.annotation !== E.annotation)\n throw \"Annotation integrity violation: annotation ID must be the same when updating bodies\";\n const b = e.get(p.annotation);\n if (b) {\n const v = b.bodies.find((D) => D.id === p.id), B = {\n ...b,\n bodies: b.bodies.map((D) => D.id === v.id ? E : D)\n };\n return e.set(b.id, B), v.id !== E.id && (t.delete(v.id), t.set(E.id, B.id)), {\n oldValue: b,\n newValue: B,\n bodiesUpdated: [{ oldBody: v, newBody: E }]\n };\n } else\n console.warn(`Attempt to add body to missing annotation ${p.annotation}`);\n }, P = (p, E, b = V.LOCAL) => {\n const v = S(p, E);\n s(b, { updated: [v] });\n }, X = (p, E = V.LOCAL) => {\n const b = p.map((v) => S({ id: v.id, annotation: v.annotation }, v));\n s(E, { updated: b });\n }, U = (p) => {\n const E = e.get(p.annotation);\n if (E) {\n const b = {\n ...E,\n target: {\n ...E.target,\n ...p\n }\n };\n return e.set(E.id, b), {\n oldValue: E,\n newValue: b,\n targetUpdated: {\n oldTarget: E.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: h,\n all: u,\n bulkAddAnnotation: d,\n bulkDeleteAnnotation: A,\n bulkUpdateAnnotation: c,\n bulkUpdateBodies: X,\n bulkUpdateTargets: (p, E = V.LOCAL) => {\n const b = p.map(U).filter((v) => v);\n b.length > 0 && s(E, { updated: b });\n },\n clear: m,\n deleteAnnotation: _,\n deleteBody: w,\n getAnnotation: y,\n getBody: T,\n observe: o,\n unobserve: i,\n updateAnnotation: l,\n updateBody: P,\n updateTarget: (p, E = V.LOCAL) => {\n const b = U(p);\n b && s(E, { updated: [b] });\n }\n };\n}, Fn = (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 Hn = () => ({\n emit(e, ...t) {\n let n = this.events[e] || [];\n for (let o = 0, i = n.length; o < i; o++)\n n[o](...t);\n },\n events: {},\n on(e, t) {\n var n;\n return (n = this.events[e]) != null && n.push(t) || (this.events[e] = [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, jn = (e) => {\n const t = Hn(), n = [];\n let o = -1, i = !1, s = 0;\n const r = (d) => {\n if (!i) {\n const { changes: g } = d, _ = performance.now();\n if (_ - s > zn)\n n.splice(o + 1), n.push(g), o = n.length - 1;\n else {\n const A = n.length - 1;\n n[A] = Nn(n[A], g);\n }\n s = _;\n }\n i = !1;\n };\n e.observe(r, { origin: V.LOCAL });\n const a = (d) => (d == null ? void 0 : d.length) > 0 && e.bulkDeleteAnnotation(d), l = (d) => (d == null ? void 0 : d.length) > 0 && e.bulkAddAnnotation(d, !1), c = (d) => (d == null ? void 0 : d.length) > 0 && e.bulkUpdateAnnotation(d.map(({ oldValue: g }) => g)), h = (d) => (d == null ? void 0 : d.length) > 0 && e.bulkUpdateAnnotation(d.map(({ newValue: g }) => g)), u = (d) => (d == null ? void 0 : d.length) > 0 && e.bulkAddAnnotation(d, !1), m = (d) => (d == null ? void 0 : d.length) > 0 && e.bulkDeleteAnnotation(d);\n return {\n canRedo: () => n.length - 1 > o,\n canUndo: () => o > -1,\n destroy: () => e.unobserve(r),\n on: (d, g) => t.on(d, g),\n redo: () => {\n if (n.length - 1 > o) {\n i = !0;\n const { created: d, updated: g, deleted: _ } = n[o + 1];\n l(d), h(g), m(_), t.emit(\"redo\", n[o + 1]), o += 1;\n }\n },\n undo: () => {\n if (o > -1) {\n i = !0;\n const { created: d, updated: g, deleted: _ } = n[o];\n a(d), c(g), u(_), t.emit(\"undo\", n[o]), o -= 1;\n }\n }\n };\n}, qn = () => {\n const { subscribe: e, set: t } = at([]);\n return {\n subscribe: e,\n set: t\n };\n}, Kn = (e, t, n, o) => {\n const { store: i, selection: s, hover: r, viewport: a } = e, l = /* @__PURE__ */ new Map();\n let c = [], h, u;\n const m = (w, y) => {\n l.has(w) ? l.get(w).push(y) : l.set(w, [y]);\n }, d = (w, y) => {\n const T = l.get(w);\n T && T.indexOf(y) > 0 && T.splice(T.indexOf(y), 1);\n }, g = (w, y, T) => {\n l.has(w) && setTimeout(() => {\n l.get(w).forEach((S) => {\n if (n) {\n const P = Array.isArray(y) ? y.map((U) => n.serialize(U)) : n.serialize(y), X = T ? T instanceof PointerEvent ? T : n.serialize(T) : void 0;\n S(P, X);\n } else\n S(y, T);\n });\n }, 1);\n }, _ = () => {\n const { selected: w } = s, y = w.map(({ id: T }) => i.getAnnotation(T));\n y.forEach((T) => {\n const S = c.find((P) => P.id === T.id);\n (!S || !de(S, T)) && g(\"updateAnnotation\", T, S);\n }), c = c.map((T) => y.find(({ id: P }) => P === T.id) || T);\n };\n s.subscribe(({ selected: w }) => {\n if (!(c.length === 0 && w.length === 0)) {\n if (c.length === 0 && w.length > 0)\n c = w.map(({ id: y }) => i.getAnnotation(y));\n else if (c.length > 0 && w.length === 0)\n c.forEach((y) => {\n const T = i.getAnnotation(y.id);\n T && !de(T, y) && g(\"updateAnnotation\", T, y);\n }), c = [];\n else {\n const y = new Set(c.map((S) => S.id)), T = new Set(w.map(({ id: S }) => S));\n c.filter((S) => !T.has(S.id)).forEach((S) => {\n const P = i.getAnnotation(S.id);\n P && !de(P, S) && g(\"updateAnnotation\", P, S);\n }), c = [\n // Remove annotations that were deselected\n ...c.filter((S) => T.has(S.id)),\n // Add editable annotations that were selected\n ...w.filter(({ id: S }) => !y.has(S)).map(({ id: S }) => i.getAnnotation(S))\n ];\n }\n g(\"selectionChanged\", c);\n }\n }), r.subscribe((w) => {\n !h && w ? g(\"mouseEnterAnnotation\", i.getAnnotation(w)) : h && !w ? g(\"mouseLeaveAnnotation\", i.getAnnotation(h)) : h && w && (g(\"mouseLeaveAnnotation\", i.getAnnotation(h)), g(\"mouseEnterAnnotation\", i.getAnnotation(w))), h = w;\n }), a == null || a.subscribe((w) => g(\"viewportIntersect\", w.map(i.getAnnotation))), i.observe((w) => {\n o && (u && clearTimeout(u), u = setTimeout(_, 1e3));\n const { created: y, deleted: T } = w.changes;\n y.forEach((S) => g(\"createAnnotation\", S)), T.forEach((S) => g(\"deleteAnnotation\", S)), w.changes.updated.filter((S) => [\n ...S.bodiesCreated || [],\n ...S.bodiesDeleted || [],\n ...S.bodiesUpdated || []\n ].length > 0).forEach(({ oldValue: S, newValue: P }) => {\n const X = c.find((U) => U.id === S.id) || S;\n c = c.map((U) => U.id === S.id ? P : U), g(\"updateAnnotation\", P, X);\n });\n }, { origin: V.LOCAL }), i.observe((w) => {\n if (c) {\n const y = new Set(c.map((S) => S.id)), T = w.changes.updated.filter(({ newValue: S }) => y.has(S.id)).map(({ newValue: S }) => S);\n T.length > 0 && (c = c.map((S) => T.find((X) => X.id === S.id) || S));\n }\n }, { origin: V.REMOTE });\n const A = (w) => (y) => {\n const { created: T, deleted: S, updated: P } = y;\n T.forEach((X) => g(\"createAnnotation\", X)), S.forEach((X) => g(\"deleteAnnotation\", X)), w ? P.forEach((X) => g(\"updateAnnotation\", X.oldValue, X.newValue)) : P.forEach((X) => g(\"updateAnnotation\", X.newValue, X.oldValue));\n };\n return t.on(\"undo\", A(!0)), t.on(\"redo\", A(!1)), { on: m, off: d, emit: g };\n}, Wn = (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 } : {\n parsed: [...n.parsed, i],\n failed: n.failed\n };\n}, { parsed: [], failed: [] }), Jn = (e, t, n) => {\n const { store: o, selection: i } = e, s = (A) => {\n if (n) {\n const { parsed: w, error: y } = n.parse(A);\n w ? o.addAnnotation(w, V.REMOTE) : console.error(y);\n } else\n o.addAnnotation(A, V.REMOTE);\n }, r = () => i.clear(), a = () => o.clear(), l = (A) => {\n const w = o.getAnnotation(A);\n return n && w ? n.serialize(w) : w;\n }, c = () => n ? o.all().map(n.serialize) : o.all(), h = () => {\n var A;\n const w = (((A = i.selected) == null ? void 0 : A.map((y) => y.id)) || []).map((y) => o.getAnnotation(y));\n return n ? w.map(n.serialize) : w;\n }, u = (A) => fetch(A).then((w) => w.json()).then((w) => (d(w), w)), m = (A) => {\n if (typeof A == \"string\") {\n const w = o.getAnnotation(A);\n return o.deleteAnnotation(A), n ? n.serialize(w) : w;\n } else {\n const w = n ? n.parse(A).parsed : A;\n return o.deleteAnnotation(w), A;\n }\n }, d = (A) => {\n if (n) {\n const { parsed: w, failed: y } = Wn(n)(A);\n y.length > 0 && console.warn(`Discarded ${y.length} invalid annotations`, y), o.bulkAddAnnotation(w, !0, V.REMOTE);\n } else\n o.bulkAddAnnotation(A, !0, V.REMOTE);\n }, g = (A) => {\n A ? i.setSelected(A) : i.clear();\n }, _ = (A) => {\n if (n) {\n const w = n.parse(A).parsed, y = n.serialize(o.getAnnotation(w.id));\n return o.updateAnnotation(w), y;\n } else {\n const w = o.getAnnotation(A.id);\n return o.updateAnnotation(A), w;\n }\n };\n return {\n addAnnotation: s,\n cancelSelected: r,\n canRedo: t.canRedo,\n canUndo: t.canUndo,\n clearAnnotations: a,\n getAnnotationById: l,\n getAnnotations: c,\n getSelected: h,\n loadAnnotations: u,\n redo: t.redo,\n removeAnnotation: m,\n setAnnotations: d,\n setSelected: g,\n undo: t.undo,\n updateAnnotation: _\n };\n};\nlet Zn = (e) => crypto.getRandomValues(new Uint8Array(e)), Qn = (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 a = n(i), l = i;\n for (; l--; )\n if (r += e[a[l] & o] || \"\", r.length === s)\n return r;\n }\n };\n}, xn = (e, t = 21) => Qn(e, t, Zn), $n = (e = 21) => crypto.getRandomValues(new Uint8Array(e)).reduce((t, n) => (n &= 63, n < 36 ? t += n.toString(36) : n < 62 ? t += (n - 26).toString(36).toUpperCase() : n > 62 ? t += \"-\" : t += \"_\", t), \"\");\nconst eo = () => ({ isGuest: !0, id: xn(\"1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_\", 20)() }), to = (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}, no = (e, t) => (Array.isArray(e) ? e : [e]).map((n) => {\n const { id: o, type: i, purpose: s, value: r, created: a, creator: l, ...c } = n;\n return {\n id: o || `temp-${to(n)}`,\n annotation: t,\n type: i,\n purpose: s,\n value: r,\n created: a,\n creator: l ? typeof l == \"object\" ? { ...l } : l : void 0,\n ...c\n };\n}), oo = (e) => e.map((t) => {\n var n;\n const o = { ...t };\n return delete o.annotation, (n = o.id) != null && n.startsWith(\"temp-\") && delete o.id, o;\n});\n$n();\nconst _i = (e, t = !1) => ({ parse: (i) => io(i, t), serialize: (i) => so(i, e) }), io = (e, t = !1) => {\n const n = e.id || qt(), { body: o, ...i } = e, s = no(o, n), r = Array.isArray(e.target) ? e.target[0] : e.target, a = Array.isArray(r.selector) ? r.selector[0] : r.selector, l = a.type === \"FragmentSelector\" ? yn(a, t) : a.type === \"SvgSelector\" ? Tn(a) : void 0;\n return l ? {\n parsed: {\n ...i,\n id: n,\n bodies: s,\n target: {\n ...i.target,\n annotation: n,\n selector: l\n }\n }\n } : {\n error: Error(`Unknown selector type: ${a.type}`)\n };\n}, so = (e, t) => {\n const n = e.target.selector, o = n.type == z.RECTANGLE ? _n(n.geometry) : Sn(n);\n return {\n ...e,\n \"@context\": \"http://www.w3.org/ns/anno.jsonld\",\n id: e.id,\n type: \"Annotation\",\n body: oo(e.bodies),\n target: {\n source: t,\n selector: o\n }\n };\n};\nfunction _t(e, t, n) {\n const o = e.slice();\n return o[11] = t[n], o[13] = n, o;\n}\nfunction wt(e) {\n let t, n, o, i, s;\n return {\n c() {\n t = R(\"rect\"), f(t, \"class\", \"a9s-corner-handle\"), f(t, \"x\", n = /*point*/\n e[11][0] - /*handleSize*/\n e[3] / 2), f(t, \"y\", o = /*point*/\n e[11][1] - /*handleSize*/\n e[3] / 2), f(\n t,\n \"height\",\n /*handleSize*/\n e[3]\n ), f(\n t,\n \"width\",\n /*handleSize*/\n e[3]\n );\n },\n m(r, a) {\n I(r, t, a), i || (s = K(t, \"pointerdown\", function() {\n j(\n /*grab*/\n e[10](L(\n /*idx*/\n e[13]\n ))\n ) && e[10](L(\n /*idx*/\n e[13]\n )).apply(this, arguments);\n }), i = !0);\n },\n p(r, a) {\n e = r, a & /*geom, handleSize*/\n 24 && n !== (n = /*point*/\n e[11][0] - /*handleSize*/\n e[3] / 2) && f(t, \"x\", n), a & /*geom, handleSize*/\n 24 && o !== (o = /*point*/\n e[11][1] - /*handleSize*/\n e[3] / 2) && f(t, \"y\", o), a & /*handleSize*/\n 8 && f(\n t,\n \"height\",\n /*handleSize*/\n e[3]\n ), a & /*handleSize*/\n 8 && f(\n t,\n \"width\",\n /*handleSize*/\n e[3]\n );\n },\n d(r) {\n r && k(t), i = !1, s();\n }\n };\n}\nfunction ro(e) {\n let t, n, o, i, s, r, a, l, c, h, u = (\n /*geom*/\n e[4].points\n ), m = [];\n for (let d = 0; d < u.length; d += 1)\n m[d] = wt(_t(e, u, d));\n return {\n c() {\n t = R(\"polygon\"), i = $(), s = R(\"polygon\"), a = $();\n for (let d = 0; d < m.length; d += 1)\n m[d].c();\n l = se(), f(t, \"class\", \"a9s-outer\"), f(t, \"style\", n = /*computedStyle*/\n e[1] ? \"display:none;\" : void 0), f(t, \"points\", o = /*geom*/\n e[4].points.map(bt).join(\" \")), f(s, \"class\", \"a9s-inner a9s-shape-handle\"), f(\n s,\n \"style\",\n /*computedStyle*/\n e[1]\n ), f(s, \"points\", r = /*geom*/\n e[4].points.map(Et).join(\" \"));\n },\n m(d, g) {\n I(d, t, g), I(d, i, g), I(d, s, g), I(d, a, g);\n for (let _ = 0; _ < m.length; _ += 1)\n m[_] && m[_].m(d, g);\n I(d, l, g), c || (h = [\n K(t, \"pointerdown\", function() {\n j(\n /*grab*/\n e[10](L.SHAPE)\n ) && e[10](L.SHAPE).apply(this, arguments);\n }),\n K(s, \"pointerdown\", function() {\n j(\n /*grab*/\n e[10](L.SHAPE)\n ) && e[10](L.SHAPE).apply(this, arguments);\n })\n ], c = !0);\n },\n p(d, g) {\n if (e = d, g & /*computedStyle*/\n 2 && n !== (n = /*computedStyle*/\n e[1] ? \"display:none;\" : void 0) && f(t, \"style\", n), g & /*geom*/\n 16 && o !== (o = /*geom*/\n e[4].points.map(bt).join(\" \")) && f(t, \"points\", o), g & /*computedStyle*/\n 2 && f(\n s,\n \"style\",\n /*computedStyle*/\n e[1]\n ), g & /*geom*/\n 16 && r !== (r = /*geom*/\n e[4].points.map(Et).join(\" \")) && f(s, \"points\", r), g & /*geom, handleSize, grab, Handle*/\n 1048) {\n u = /*geom*/\n e[4].points;\n let _;\n for (_ = 0; _ < u.length; _ += 1) {\n const A = _t(e, u, _);\n m[_] ? m[_].p(A, g) : (m[_] = wt(A), m[_].c(), m[_].m(l.parentNode, l));\n }\n for (; _ < m.length; _ += 1)\n m[_].d(1);\n m.length = u.length;\n }\n },\n d(d) {\n d && k(t), d && k(i), d && k(s), d && k(a), st(m, d), d && k(l), c = !1, ie(h);\n }\n };\n}\nfunction lo(e) {\n let t, n;\n return t = new Zt({\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 ro,\n ({ grab: o }) => ({ 10: o }),\n ({ grab: o }) => o ? 1024 : 0\n ]\n },\n $$scope: { ctx: e }\n }\n }), t.$on(\n \"change\",\n /*change_handler*/\n e[7]\n ), t.$on(\n \"grab\",\n /*grab_handler*/\n e[8]\n ), t.$on(\n \"release\",\n /*release_handler*/\n e[9]\n ), {\n c() {\n he(t.$$.fragment);\n },\n m(o, i) {\n le(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, handleSize, grab, computedStyle*/\n 17434 && (s.$$scope = { dirty: i, ctx: o }), t.$set(s);\n },\n i(o) {\n n || (C(t.$$.fragment, o), n = !0);\n },\n o(o) {\n N(t.$$.fragment, o), n = !1;\n },\n d(o) {\n ae(t, o);\n }\n };\n}\nconst bt = (e) => e.join(\",\"), Et = (e) => e.join(\",\");\nfunction ao(e, t, n) {\n let o, i, { shape: s } = t, { computedStyle: r = void 0 } = t, { transform: a } = t, { viewportScale: l = 1 } = t;\n const c = (d, g, _) => {\n let A;\n g === L.SHAPE ? A = d.geometry.points.map(([y, T]) => [y + _[0], T + _[1]]) : A = d.geometry.points.map(([y, T], S) => g === L(S) ? [y + _[0], T + _[1]] : [y, T]);\n const w = Fe(A);\n return { ...d, geometry: { points: A, bounds: w } };\n };\n function h(d) {\n Ae.call(this, e, d);\n }\n function u(d) {\n Ae.call(this, e, d);\n }\n function m(d) {\n Ae.call(this, e, d);\n }\n return e.$$set = (d) => {\n \"shape\" in d && n(0, s = d.shape), \"computedStyle\" in d && n(1, r = d.computedStyle), \"transform\" in d && n(2, a = d.transform), \"viewportScale\" in d && n(6, l = d.viewportScale);\n }, e.$$.update = () => {\n e.$$.dirty & /*shape*/\n 1 && n(4, o = s.geometry), e.$$.dirty & /*viewportScale*/\n 64 && n(3, i = 10 / l);\n }, [\n s,\n r,\n a,\n i,\n o,\n c,\n l,\n h,\n u,\n m\n ];\n}\nclass co extends te {\n constructor(t) {\n super(), ee(this, t, ao, lo, J, {\n shape: 0,\n computedStyle: 1,\n transform: 2,\n viewportScale: 6\n });\n }\n}\nfunction uo(e) {\n let t, n, o, i, s, r, a, l, c, h, u, m, d, g, _, A, w, y, T, S, P, X, U, p, E, b, v, B, D, Z, me, ge, Me, O, W, G, ce, H, ue, Pe, ze, Q, Ye, Xe, je, x, De, Re, qe, ut;\n return {\n c() {\n t = R(\"rect\"), a = $(), l = R(\"rect\"), d = $(), g = R(\"rect\"), y = $(), T = R(\"rect\"), U = $(), p = R(\"rect\"), B = $(), D = R(\"rect\"), Me = $(), O = R(\"rect\"), ce = $(), H = R(\"rect\"), ze = $(), Q = R(\"rect\"), je = $(), x = R(\"rect\"), f(t, \"class\", \"a9s-outer\"), f(t, \"style\", n = /*computedStyle*/\n e[1] ? \"display:none;\" : void 0), f(t, \"x\", o = /*geom*/\n e[4].x), f(t, \"y\", i = /*geom*/\n e[4].y), f(t, \"width\", s = /*geom*/\n e[4].w), f(t, \"height\", r = /*geom*/\n e[4].h), f(l, \"class\", \"a9s-inner a9s-shape-handle\"), f(\n l,\n \"style\",\n /*computedStyle*/\n e[1]\n ), f(l, \"x\", c = /*geom*/\n e[4].x), f(l, \"y\", h = /*geom*/\n e[4].y), f(l, \"width\", u = /*geom*/\n e[4].w), f(l, \"height\", m = /*geom*/\n e[4].h), f(g, \"class\", \"a9s-edge-handle a9s-edge-handle-top\"), f(g, \"x\", _ = /*geom*/\n e[4].x), f(g, \"y\", A = /*geom*/\n e[4].y), f(g, \"height\", 1), f(g, \"width\", w = /*geom*/\n e[4].w), f(T, \"class\", \"a9s-edge-handle a9s-edge-handle-right\"), f(T, \"x\", S = /*geom*/\n e[4].x + /*geom*/\n e[4].w), f(T, \"y\", P = /*geom*/\n e[4].y), f(T, \"height\", X = /*geom*/\n e[4].h), f(T, \"width\", 1), f(p, \"class\", \"a9s-edge-handle a9s-edge-handle-bottom\"), f(p, \"x\", E = /*geom*/\n e[4].x), f(p, \"y\", b = /*geom*/\n e[4].y + /*geom*/\n e[4].h), f(p, \"height\", 1), f(p, \"width\", v = /*geom*/\n e[4].w), f(D, \"class\", \"a9s-edge-handle a9s-edge-handle-left\"), f(D, \"x\", Z = /*geom*/\n e[4].x), f(D, \"y\", me = /*geom*/\n e[4].y), f(D, \"height\", ge = /*geom*/\n e[4].h), f(D, \"width\", 1), f(O, \"class\", \"a9s-corner-handle a9s-corner-handle-topleft\"), f(O, \"x\", W = /*geom*/\n e[4].x - /*handleSize*/\n e[3] / 2), f(O, \"y\", G = /*geom*/\n e[4].y - /*handleSize*/\n e[3] / 2), f(\n O,\n \"height\",\n /*handleSize*/\n e[3]\n ), f(\n O,\n \"width\",\n /*handleSize*/\n e[3]\n ), f(H, \"class\", \"a9s-corner-handle a9s-corner-handle-topright\"), f(H, \"x\", ue = /*geom*/\n e[4].x + /*geom*/\n e[4].w - /*handleSize*/\n e[3] / 2), f(H, \"y\", Pe = /*geom*/\n e[4].y - /*handleSize*/\n e[3] / 2), f(\n H,\n \"height\",\n /*handleSize*/\n e[3]\n ), f(\n H,\n \"width\",\n /*handleSize*/\n e[3]\n ), f(Q, \"class\", \"a9s-corner-handle a9s-corner-handle-bottomright\"), f(Q, \"x\", Ye = /*geom*/\n e[4].x + /*geom*/\n e[4].w - /*handleSize*/\n e[3] / 2), f(Q, \"y\", Xe = /*geom*/\n e[4].y + /*geom*/\n e[4].h - /*handleSize*/\n e[3] / 2), f(\n Q,\n \"height\",\n /*handleSize*/\n e[3]\n ), f(\n Q,\n \"width\",\n /*handleSize*/\n e[3]\n ), f(x, \"class\", \"a9s-corner-handle a9s-corner-handle-bottomleft\"), f(x, \"x\", De = /*geom*/\n e[4].x - /*handleSize*/\n e[3] / 2), f(x, \"y\", Re = /*geom*/\n e[4].y + /*geom*/\n e[4].h - /*handleSize*/\n e[3] / 2), f(\n x,\n \"height\",\n /*handleSize*/\n e[3]\n ), f(\n x,\n \"width\",\n /*handleSize*/\n e[3]\n );\n },\n m(Y, M) {\n I(Y, t, M), I(Y, a, M), I(Y, l, M), I(Y, d, M), I(Y, g, M), I(Y, y, M), I(Y, T, M), I(Y, U, M), I(Y, p, M), I(Y, B, M), I(Y, D, M), I(Y, Me, M), I(Y, O, M), I(Y, ce, M), I(Y, H, M), I(Y, ze, M), I(Y, Q, M), I(Y, je, M), I(Y, x, M), qe || (ut = [\n K(t, \"pointerdown\", function() {\n j(\n /*grab*/\n e[10](L.SHAPE)\n ) && e[10](L.SHAPE).apply(this, arguments);\n }),\n K(l, \"pointerdown\", function() {\n j(\n /*grab*/\n e[10](L.SHAPE)\n ) && e[10](L.SHAPE).apply(this, arguments);\n }),\n K(g, \"pointerdown\", function() {\n j(\n /*grab*/\n e[10](L.TOP)\n ) && e[10](L.TOP).apply(this, arguments);\n }),\n K(T, \"pointerdown\", function() {\n j(\n /*grab*/\n e[10](L.RIGHT)\n ) && e[10](L.RIGHT).apply(this, arguments);\n }),\n K(p, \"pointerdown\", function() {\n j(\n /*grab*/\n e[10](L.BOTTOM)\n ) && e[10](L.BOTTOM).apply(this, arguments);\n }),\n K(D, \"pointerdown\", function() {\n j(\n /*grab*/\n e[10](L.LEFT)\n ) && e[10](L.LEFT).apply(this, arguments);\n }),\n K(O, \"pointerdown\", function() {\n j(\n /*grab*/\n e[10](L.TOP_LEFT)\n ) && e[10](L.TOP_LEFT).apply(this, arguments);\n }),\n K(H, \"pointerdown\", function() {\n j(\n /*grab*/\n e[10](L.TOP_RIGHT)\n ) && e[10](L.TOP_RIGHT).apply(this, arguments);\n }),\n K(Q, \"pointerdown\", function() {\n j(\n /*grab*/\n e[10](L.BOTTOM_RIGHT)\n ) && e[10](L.BOTTOM_RIGHT).apply(this, arguments);\n }),\n K(x, \"pointerdown\", function() {\n j(\n /*grab*/\n e[10](L.BOTTOM_LEFT)\n ) && e[10](L.BOTTOM_LEFT).apply(this, arguments);\n })\n ], qe = !0);\n },\n p(Y, M) {\n e = Y, M & /*computedStyle*/\n 2 && n !== (n = /*computedStyle*/\n e[1] ? \"display:none;\" : void 0) && f(t, \"style\", n), M & /*geom*/\n 16 && o !== (o = /*geom*/\n e[4].x) && f(t, \"x\", o), M & /*geom*/\n 16 && i !== (i = /*geom*/\n e[4].y) && f(t, \"y\", i), M & /*geom*/\n 16 && s !== (s = /*geom*/\n e[4].w) && f(t, \"width\", s), M & /*geom*/\n 16 && r !== (r = /*geom*/\n e[4].h) && f(t, \"height\", r), M & /*computedStyle*/\n 2 && f(\n l,\n \"style\",\n /*computedStyle*/\n e[1]\n ), M & /*geom*/\n 16 && c !== (c = /*geom*/\n e[4].x) && f(l, \"x\", c), M & /*geom*/\n 16 && h !== (h = /*geom*/\n e[4].y) && f(l, \"y\", h), M & /*geom*/\n 16 && u !== (u = /*geom*/\n e[4].w) && f(l, \"width\", u), M & /*geom*/\n 16 && m !== (m = /*geom*/\n e[4].h) && f(l, \"height\", m), M & /*geom*/\n 16 && _ !== (_ = /*geom*/\n e[4].x) && f(g, \"x\", _), M & /*geom*/\n 16 && A !== (A = /*geom*/\n e[4].y) && f(g, \"y\", A), M & /*geom*/\n 16 && w !== (w = /*geom*/\n e[4].w) && f(g, \"width\", w), M & /*geom*/\n 16 && S !== (S = /*geom*/\n e[4].x + /*geom*/\n e[4].w) && f(T, \"x\", S), M & /*geom*/\n 16 && P !== (P = /*geom*/\n e[4].y) && f(T, \"y\", P), M & /*geom*/\n 16 && X !== (X = /*geom*/\n e[4].h) && f(T, \"height\", X), M & /*geom*/\n 16 && E !== (E = /*geom*/\n e[4].x) && f(p, \"x\", E), M & /*geom*/\n 16 && b !== (b = /*geom*/\n e[4].y + /*geom*/\n e[4].h) && f(p, \"y\", b), M & /*geom*/\n 16 && v !== (v = /*geom*/\n e[4].w) && f(p, \"width\", v), M & /*geom*/\n 16 && Z !== (Z = /*geom*/\n e[4].x) && f(D, \"x\", Z), M & /*geom*/\n 16 && me !== (me = /*geom*/\n e[4].y) && f(D, \"y\", me), M & /*geom*/\n 16 && ge !== (ge = /*geom*/\n e[4].h) && f(D, \"height\", ge), M & /*geom, handleSize*/\n 24 && W !== (W = /*geom*/\n e[4].x - /*handleSize*/\n e[3] / 2) && f(O, \"x\", W), M & /*geom, handleSize*/\n 24 && G !== (G = /*geom*/\n e[4].y - /*handleSize*/\n e[3] / 2) && f(O, \"y\", G), M & /*handleSize*/\n 8 && f(\n O,\n \"height\",\n /*handleSize*/\n e[3]\n ), M & /*handleSize*/\n 8 && f(\n O,\n \"width\",\n /*handleSize*/\n e[3]\n ), M & /*geom, handleSize*/\n 24 && ue !== (ue = /*geom*/\n e[4].x + /*geom*/\n e[4].w - /*handleSize*/\n e[3] / 2) && f(H, \"x\", ue), M & /*geom, handleSize*/\n 24 && Pe !== (Pe = /*geom*/\n e[4].y - /*handleSize*/\n e[3] / 2) && f(H, \"y\", Pe), M & /*handleSize*/\n 8 && f(\n H,\n \"height\",\n /*handleSize*/\n e[3]\n ), M & /*handleSize*/\n 8 && f(\n H,\n \"width\",\n /*handleSize*/\n e[3]\n ), M & /*geom, handleSize*/\n 24 && Ye !== (Ye = /*geom*/\n e[4].x + /*geom*/\n e[4].w - /*handleSize*/\n e[3] / 2) && f(Q, \"x\", Ye), M & /*geom, handleSize*/\n 24 && Xe !== (Xe = /*geom*/\n e[4].y + /*geom*/\n e[4].h - /*handleSize*/\n e[3] / 2) && f(Q, \"y\", Xe), M & /*handleSize*/\n 8 && f(\n Q,\n \"height\",\n /*handleSize*/\n e[3]\n ), M & /*handleSize*/\n 8 && f(\n Q,\n \"width\",\n /*handleSize*/\n e[3]\n ), M & /*geom, handleSize*/\n 24 && De !== (De = /*geom*/\n e[4].x - /*handleSize*/\n e[3] / 2) && f(x, \"x\", De), M & /*geom, handleSize*/\n 24 && Re !== (Re = /*geom*/\n e[4].y + /*geom*/\n e[4].h - /*handleSize*/\n e[3] / 2) && f(x, \"y\", Re), M & /*handleSize*/\n 8 && f(\n x,\n \"height\",\n /*handleSize*/\n e[3]\n ), M & /*handleSize*/\n 8 && f(\n x,\n \"width\",\n /*handleSize*/\n e[3]\n );\n },\n d(Y) {\n Y && k(t), Y && k(a), Y && k(l), Y && k(d), Y && k(g), Y && k(y), Y && k(T), Y && k(U), Y && k(p), Y && k(B), Y && k(D), Y && k(Me), Y && k(O), Y && k(ce), Y && k(H), Y && k(ze), Y && k(Q), Y && k(je), Y && k(x), qe = !1, ie(ut);\n }\n };\n}\nfunction fo(e) {\n let t, n;\n return t = new Zt({\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 uo,\n ({ grab: o }) => ({ 10: o }),\n ({ grab: o }) => o ? 1024 : 0\n ]\n },\n $$scope: { ctx: e }\n }\n }), t.$on(\n \"grab\",\n /*grab_handler*/\n e[7]\n ), t.$on(\n \"change\",\n /*change_handler*/\n e[8]\n ), t.$on(\n \"release\",\n /*release_handler*/\n e[9]\n ), {\n c() {\n he(t.$$.fragment);\n },\n m(o, i) {\n le(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, handleSize, grab, computedStyle*/\n 3098 && (s.$$scope = { dirty: i, ctx: o }), t.$set(s);\n },\n i(o) {\n n || (C(t.$$.fragment, o), n = !0);\n },\n o(o) {\n N(t.$$.fragment, o), n = !1;\n },\n d(o) {\n ae(t, o);\n }\n };\n}\nfunction ho(e, t, n) {\n let o, i, { shape: s } = t, { computedStyle: r = void 0 } = t, { transform: a } = t, { viewportScale: l = 1 } = t;\n const c = (d, g, _) => {\n const A = d.geometry.bounds;\n let [w, y] = [A.minX, A.minY], [T, S] = [A.maxX, A.maxY];\n const [P, X] = _;\n if (g === L.SHAPE)\n w += P, T += P, y += X, S += X;\n else {\n switch (g) {\n case L.TOP:\n case L.TOP_LEFT:\n case L.TOP_RIGHT: {\n y += X;\n break;\n }\n case L.BOTTOM:\n case L.BOTTOM_LEFT:\n case L.BOTTOM_RIGHT: {\n S += X;\n break;\n }\n }\n switch (g) {\n case L.LEFT:\n case L.TOP_LEFT:\n case L.BOTTOM_LEFT: {\n w += P;\n break;\n }\n case L.RIGHT:\n case L.TOP_RIGHT:\n case L.BOTTOM_RIGHT: {\n T += P;\n break;\n }\n }\n }\n const U = Math.min(w, T), p = Math.min(y, S), E = Math.abs(T - w), b = Math.abs(S - y);\n return {\n ...d,\n geometry: {\n x: U,\n y: p,\n w: E,\n h: b,\n bounds: {\n minX: U,\n minY: p,\n maxX: U + E,\n maxY: p + b\n }\n }\n };\n };\n function h(d) {\n Ae.call(this, e, d);\n }\n function u(d) {\n Ae.call(this, e, d);\n }\n function m(d) {\n Ae.call(this, e, d);\n }\n return e.$$set = (d) => {\n \"shape\" in d && n(0, s = d.shape), \"computedStyle\" in d && n(1, r = d.computedStyle), \"transform\" in d && n(2, a = d.transform), \"viewportScale\" in d && n(6, l = d.viewportScale);\n }, e.$$.update = () => {\n e.$$.dirty & /*shape*/\n 1 && n(4, o = s.geometry), e.$$.dirty & /*viewportScale*/\n 64 && n(3, i = 10 / l);\n }, [\n s,\n r,\n a,\n i,\n o,\n c,\n l,\n h,\n u,\n m\n ];\n}\nclass mo extends te {\n constructor(t) {\n super(), ee(this, t, ho, fo, J, {\n shape: 0,\n computedStyle: 1,\n transform: 2,\n viewportScale: 6\n });\n }\n}\nconst Jt = /* @__PURE__ */ new Map([\n [z.RECTANGLE, mo],\n [z.POLYGON, co]\n]), At = (e) => Jt.get(e.type), go = (e, t) => Jt.set(e, t), L = (e) => `HANDLE-${e}`;\nL.SHAPE = \"SHAPE\";\nL.TOP = \"TOP\";\nL.RIGHT = \"RIGHT\";\nL.BOTTOM = \"BOTTOM\";\nL.LEFT = \"LEFT\";\nL.TOP_LEFT = \"TOP_LEFT\";\nL.TOP_RIGHT = \"TOP_RIGHT\";\nL.BOTTOM_RIGHT = \"BOTTOM_RIGHT\";\nL.BOTTOM_LEFT = \"BOTTOM_LEFT\";\nconst po = (e) => ({}), Tt = (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 = tn(\n s,\n e,\n /*$$scope*/\n e[6],\n Tt\n );\n return {\n c() {\n t = R(\"g\"), r && r.c(), f(t, \"class\", \"a9s-annotation selected\");\n },\n m(a, l) {\n I(a, t, l), r && r.m(t, null), n = !0, o || (i = [\n K(\n t,\n \"pointerup\",\n /*onRelease*/\n e[2]\n ),\n K(\n t,\n \"pointermove\",\n /*onPointerMove*/\n e[1]\n )\n ], o = !0);\n },\n p(a, [l]) {\n r && r.p && (!n || l & /*$$scope*/\n 64) && on(\n r,\n s,\n a,\n /*$$scope*/\n a[6],\n n ? nn(\n s,\n /*$$scope*/\n a[6],\n l,\n po\n ) : sn(\n /*$$scope*/\n a[6]\n ),\n Tt\n );\n },\n i(a) {\n n || (C(r, a), n = !0);\n },\n o(a) {\n N(r, a), n = !1;\n },\n d(a) {\n a && k(t), r && r.d(a), o = !1, ie(i);\n }\n };\n}\nfunction _o(e, t, n) {\n let { $$slots: o = {}, $$scope: i } = t;\n const s = Se();\n let { shape: r } = t, { editor: a } = t, { transform: l } = t, c = null, h, u = null;\n const m = (_) => (A) => {\n c = _, h = l.elementToImage(A.offsetX, A.offsetY), u = r, A.target.setPointerCapture(A.pointerId), s(\"grab\");\n }, d = (_) => {\n if (c) {\n const [A, w] = l.elementToImage(_.offsetX, _.offsetY), y = [A - h[0], w - h[1]];\n n(3, r = a(u, c, y)), s(\"change\", r);\n }\n }, g = (_) => {\n _.target.releasePointerCapture(_.pointerId), c = null, u = r, s(\"release\");\n };\n return e.$$set = (_) => {\n \"shape\" in _ && n(3, r = _.shape), \"editor\" in _ && n(4, a = _.editor), \"transform\" in _ && n(5, l = _.transform), \"$$scope\" in _ && n(6, i = _.$$scope);\n }, [m, d, g, r, a, l, i, o];\n}\nclass Zt extends te {\n constructor(t) {\n super(), ee(this, t, _o, yo, J, { shape: 3, editor: 4, transform: 5 });\n }\n}\nconst He = (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 wo(e, t, n) {\n let o;\n const i = Se();\n let { annotation: s } = t, { editor: r } = t, { style: a = void 0 } = t, { target: l } = t, { transform: c } = t, { viewportScale: h } = t, u;\n return Be(() => (n(6, u = new r({\n target: l,\n props: {\n shape: s.target.selector,\n computedStyle: o,\n transform: c,\n viewportScale: h\n }\n })), u.$on(\"change\", (m) => {\n u.$$set({ shape: m.detail }), i(\"change\", m.detail);\n }), u.$on(\"grab\", (m) => i(\"grab\", m.detail)), u.$on(\"release\", (m) => i(\"release\", m.detail)), () => {\n u.$destroy();\n })), e.$$set = (m) => {\n \"annotation\" in m && n(0, s = m.annotation), \"editor\" in m && n(1, r = m.editor), \"style\" in m && n(2, a = m.style), \"target\" in m && n(3, l = m.target), \"transform\" in m && n(4, c = m.transform), \"viewportScale\" in m && n(5, h = m.viewportScale);\n }, e.$$.update = () => {\n e.$$.dirty & /*annotation, style*/\n 5 && (o = He(s, a)), e.$$.dirty & /*annotation, editorComponent*/\n 65 && s && (u == null || u.$set({ shape: s.target.selector })), e.$$.dirty & /*editorComponent, transform*/\n 80 && u && u.$set({ transform: c }), e.$$.dirty & /*editorComponent, viewportScale*/\n 96 && u && u.$set({ viewportScale: h });\n }, [s, r, a, l, c, h, u];\n}\nclass bo extends te {\n constructor(t) {\n super(), ee(this, t, wo, null, J, {\n annotation: 0,\n editor: 1,\n style: 2,\n target: 3,\n transform: 4,\n viewportScale: 5\n });\n }\n}\nfunction Eo(e, t, n) {\n const o = Se();\n let { drawingMode: i } = t, { target: s } = t, { tool: r } = t, { transform: a } = t, { viewportScale: l } = t, c;\n return Be(() => {\n const h = s.closest(\"svg\"), u = [], m = (d, g, _) => {\n h.addEventListener(d, g, _), u.push(() => h.removeEventListener(d, g, _));\n };\n return n(5, c = new r({\n target: s,\n props: {\n addEventListener: m,\n drawingMode: i,\n transform: a,\n viewportScale: l\n }\n })), c.$on(\"create\", (d) => o(\"create\", d.detail)), () => {\n u.forEach((d) => d()), c.$destroy();\n };\n }), e.$$set = (h) => {\n \"drawingMode\" in h && n(0, i = h.drawingMode), \"target\" in h && n(1, s = h.target), \"tool\" in h && n(2, r = h.tool), \"transform\" in h && n(3, a = h.transform), \"viewportScale\" in h && n(4, l = h.viewportScale);\n }, e.$$.update = () => {\n e.$$.dirty & /*toolComponent, transform*/\n 40 && c && c.$set({ transform: a }), e.$$.dirty & /*toolComponent, viewportScale*/\n 48 && c && c.$set({ viewportScale: l });\n }, [i, s, r, a, l, c];\n}\nclass Ao extends te {\n constructor(t) {\n super(), ee(this, t, Eo, null, J, {\n drawingMode: 0,\n target: 1,\n tool: 2,\n transform: 3,\n viewportScale: 4\n });\n }\n}\nfunction St(e) {\n let t, n;\n return {\n c() {\n t = R(\"rect\"), n = R(\"rect\"), f(t, \"class\", \"a9s-outer\"), f(\n t,\n \"x\",\n /*x*/\n e[1]\n ), f(\n t,\n \"y\",\n /*y*/\n e[2]\n ), f(\n t,\n \"width\",\n /*w*/\n e[3]\n ), f(\n t,\n \"height\",\n /*h*/\n e[4]\n ), f(n, \"class\", \"a9s-inner\"), f(\n n,\n \"x\",\n /*x*/\n e[1]\n ), f(\n n,\n \"y\",\n /*y*/\n e[2]\n ), f(\n n,\n \"width\",\n /*w*/\n e[3]\n ), f(\n n,\n \"height\",\n /*h*/\n e[4]\n );\n },\n m(o, i) {\n I(o, t, i), I(o, n, i);\n },\n p(o, i) {\n i & /*x*/\n 2 && f(\n t,\n \"x\",\n /*x*/\n o[1]\n ), i & /*y*/\n 4 && f(\n t,\n \"y\",\n /*y*/\n o[2]\n ), i & /*w*/\n 8 && f(\n t,\n \"width\",\n /*w*/\n o[3]\n ), i & /*h*/\n 16 && f(\n t,\n \"height\",\n /*h*/\n o[4]\n ), i & /*x*/\n 2 && f(\n n,\n \"x\",\n /*x*/\n o[1]\n ), i & /*y*/\n 4 && f(\n n,\n \"y\",\n /*y*/\n o[2]\n ), i & /*w*/\n 8 && f(\n n,\n \"width\",\n /*w*/\n o[3]\n ), i & /*h*/\n 16 && f(\n n,\n \"height\",\n /*h*/\n o[4]\n );\n },\n d(o) {\n o && k(t), o && k(n);\n }\n };\n}\nfunction To(e) {\n let t, n = (\n /*origin*/\n e[0] && St(e)\n );\n return {\n c() {\n t = R(\"g\"), n && n.c(), f(t, \"class\", \"a9s-annotation a9s-rubberband\");\n },\n m(o, i) {\n I(o, t, i), n && n.m(t, null);\n },\n p(o, [i]) {\n /*origin*/\n o[0] ? n ? n.p(o, i) : (n = St(o), n.c(), n.m(t, null)) : n && (n.d(1), n = null);\n },\n i: F,\n o: F,\n d(o) {\n o && k(t), n && n.d();\n }\n };\n}\nfunction So(e, t, n) {\n const o = Se();\n let { addEventListener: i } = t, { drawingMode: s } = t, { transform: r } = t, a, l, c, h, u, m, d;\n const g = (y) => {\n a = performance.now(), s === \"drag\" && (n(0, l = r.elementToImage(y.offsetX, y.offsetY)), c = l, n(1, h = l[0]), n(2, u = l[1]), n(3, m = 1), n(4, d = 1));\n }, _ = (y) => {\n l && (c = r.elementToImage(y.offsetX, y.offsetY), n(1, h = Math.min(c[0], l[0])), n(2, u = Math.min(c[1], l[1])), n(3, m = Math.abs(c[0] - l[0])), n(4, d = Math.abs(c[1] - l[1])));\n }, A = (y) => {\n const T = performance.now() - a;\n if (s === \"click\") {\n if (T > 300)\n return;\n y.stopPropagation(), l ? w() : (n(0, l = r.elementToImage(y.offsetX, y.offsetY)), c = l, n(1, h = l[0]), n(2, u = l[1]), n(3, m = 1), n(4, d = 1));\n } else\n l && (T > 300 || m * d > 100 ? (y.stopPropagation(), w()) : (n(0, l = null), c = null));\n }, w = () => {\n if (m * d > 15) {\n const y = {\n type: z.RECTANGLE,\n geometry: {\n bounds: {\n minX: h,\n minY: u,\n maxX: h + m,\n maxY: u + d\n },\n x: h,\n y: u,\n w: m,\n h: d\n }\n };\n o(\"create\", y);\n }\n n(0, l = null), c = null;\n };\n return Be(() => {\n i(\"pointerdown\", g), i(\"pointermove\", _), i(\"pointerup\", A, !0);\n }), e.$$set = (y) => {\n \"addEventListener\" in y && n(5, i = y.addEventListener), \"drawingMode\" in y && n(6, s = y.drawingMode), \"transform\" in y && n(7, r = y.transform);\n }, [l, h, u, m, d, i, s, r];\n}\nclass Mo extends te {\n constructor(t) {\n super(), ee(this, t, So, To, J, {\n addEventListener: 5,\n drawingMode: 6,\n transform: 7\n });\n }\n}\nconst Ze = (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 vo(e, t = F) {\n let n;\n const o = /* @__PURE__ */ new Set();\n function i(a) {\n if (J(e, a) && (e = a, n)) {\n const l = !_e.length;\n for (const c of o)\n c[1](), _e.push(c, e);\n if (l) {\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(a) {\n i(a(e));\n }\n function r(a, l = F) {\n const c = [a, l];\n return o.add(c), o.size === 1 && (n = t(i) || F), a(e), () => {\n o.delete(c), o.size === 0 && n && (n(), n = null);\n };\n }\n return { set: i, update: s, subscribe: r };\n}\nconst Lo = (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 a = r.target;\n t.setAttribute(\"viewBox\", `0 0 ${a.naturalWidth} ${a.naturalHeight}`);\n });\n } else\n t.setAttribute(\"viewBox\", `0 0 ${n} ${o}`);\n}, Oo = (e, t) => {\n Lo(e, t);\n const { subscribe: n, set: o } = vo(1);\n let i;\n return window.ResizeObserver && (i = new ResizeObserver(() => {\n const r = t.getBoundingClientRect(), { width: a, height: l } = t.viewBox.baseVal, c = Math.max(\n r.width / a,\n r.height / l\n );\n o(c);\n }), i.observe(t.parentElement)), { destroy: () => {\n i && i.disconnect();\n }, subscribe: n };\n}, wi = \"ontouchstart\" in window || navigator.maxTouchPoints > 0;\nfunction Qe(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[15] = 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 = se(), f(t, \"class\", \"a9s-outer\"), f(t, \"points\", n = /*coords*/\n e[15]), f(o, \"class\", \"a9s-inner\"), f(o, \"points\", i = /*coords*/\n e[15]);\n },\n m(a, l) {\n I(a, t, l), I(a, o, l), r && r.m(a, l), I(a, s, l);\n },\n p(a, l) {\n l & /*isClosable, points, cursor*/\n 7 && n !== (n = /*coords*/\n a[15]) && f(t, \"points\", n), l & /*isClosable, points, cursor*/\n 7 && i !== (i = /*coords*/\n a[15]) && f(o, \"points\", i), /*isClosable*/\n a[2] ? r ? r.p(a, l) : (r = vt(a), r.c(), r.m(s.parentNode, s)) : r && (r.d(1), r = null);\n },\n d(a) {\n a && k(t), a && k(o), r && r.d(a), a && k(s);\n }\n };\n}\nfunction vt(e) {\n let t, n, o;\n return {\n c() {\n t = R(\"rect\"), f(t, \"class\", \"a9s-corner-handle\"), f(t, \"x\", n = /*points*/\n e[0][0][0] - /*handleSize*/\n e[3] / 2), f(t, \"y\", o = /*points*/\n e[0][0][1] - /*handleSize*/\n e[3] / 2), f(\n t,\n \"height\",\n /*handleSize*/\n e[3]\n ), f(\n t,\n \"width\",\n /*handleSize*/\n e[3]\n );\n },\n m(i, s) {\n I(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) && f(t, \"x\", n), s & /*points, handleSize*/\n 9 && o !== (o = /*points*/\n i[0][0][1] - /*handleSize*/\n i[3] / 2) && f(t, \"y\", o), s & /*handleSize*/\n 8 && f(\n t,\n \"height\",\n /*handleSize*/\n i[3]\n ), s & /*handleSize*/\n 8 && f(\n t,\n \"width\",\n /*handleSize*/\n i[3]\n );\n },\n d(i) {\n i && k(t);\n }\n };\n}\nfunction ko(e) {\n let t, n = (\n /*cursor*/\n e[1] && Mt(Qe(e))\n );\n return {\n c() {\n t = R(\"g\"), n && n.c(), f(t, \"class\", \"a9s-annotation a9s-rubberband\");\n },\n m(o, i) {\n I(o, t, i), n && n.m(t, null);\n },\n p(o, [i]) {\n /*cursor*/\n o[1] ? n ? n.p(Qe(o), i) : (n = Mt(Qe(o)), n.c(), n.m(t, null)) : n && (n.d(1), n = null);\n },\n i: F,\n o: F,\n d(o) {\n o && k(t), n && n.d();\n }\n };\n}\nconst Io = 20;\nfunction Bo(e, t, n) {\n let o;\n const i = Se();\n let { addEventListener: s } = t, { drawingMode: r } = t, { transform: a } = t, { viewportScale: l = 1 } = t, c, h = [], u = null, m = !1;\n const d = (y) => {\n const { timeStamp: T, offsetX: S, offsetY: P } = y;\n if (c = { timeStamp: T, offsetX: S, offsetY: P }, r === \"drag\" && h.length === 0) {\n const X = a.elementToImage(y.offsetX, y.offsetY);\n h.push(X), n(1, u = X);\n }\n }, g = (y) => {\n if (h.length > 0 && (n(1, u = a.elementToImage(y.offsetX, y.offsetY)), h.length > 2)) {\n const T = Ze(u, h[0]) * l;\n n(2, m = T < Io);\n }\n }, _ = (y) => {\n if (r === \"click\") {\n const T = y.timeStamp - c.timeStamp, S = Ze([c.offsetX, c.offsetY], [y.offsetX, y.offsetY]);\n if (T > 300 || S > 15)\n return;\n if (m)\n w();\n else if (h.length === 0) {\n const P = a.elementToImage(y.offsetX, y.offsetY);\n h.push(P), n(1, u = P);\n } else\n h.push(u);\n } else {\n if (h.length === 1 && Ze(h[0], u) <= 4) {\n n(0, h = []), n(1, u = null);\n return;\n }\n y.stopImmediatePropagation(), m ? w() : h.push(u);\n }\n }, A = () => {\n const y = [...h, u], T = {\n type: z.POLYGON,\n geometry: { bounds: Fe(y), points: y }\n };\n ot(T) > 4 && (n(0, h = []), n(1, u = null), i(\"create\", T));\n }, w = () => {\n const y = {\n type: z.POLYGON,\n geometry: {\n bounds: Fe(h),\n points: [...h]\n }\n };\n n(0, h = []), n(1, u = null), i(\"create\", y);\n };\n return Be(() => {\n s(\"pointerdown\", d, !0), s(\"pointermove\", g), s(\"pointerup\", _, !0), s(\"dblclick\", A, !0);\n }), e.$$set = (y) => {\n \"addEventListener\" in y && n(4, s = y.addEventListener), \"drawingMode\" in y && n(5, r = y.drawingMode), \"transform\" in y && n(6, a = y.transform), \"viewportScale\" in y && n(7, l = y.viewportScale);\n }, e.$$.update = () => {\n e.$$.dirty & /*viewportScale*/\n 128 && n(3, o = 10 / l);\n }, [\n h,\n u,\n m,\n o,\n s,\n r,\n a,\n l\n ];\n}\nclass Po extends te {\n constructor(t) {\n super(), ee(this, t, Bo, ko, J, {\n addEventListener: 4,\n drawingMode: 5,\n transform: 6,\n viewportScale: 7\n });\n }\n}\nconst ct = /* @__PURE__ */ new Map([\n [\"rectangle\", { tool: Mo }],\n [\"polygon\", { tool: Po }]\n]), it = () => [...ct.keys()], Qt = (e) => ct.get(e), Yo = (e, t, n) => ct.set(e, { tool: t, opts: n });\nfunction Xo(e) {\n let t, n, o, i, s;\n return {\n c() {\n t = R(\"g\"), n = R(\"ellipse\"), i = R(\"ellipse\"), f(n, \"class\", \"a9s-outer\"), f(n, \"style\", o = /*computedStyle*/\n e[1] ? \"display:none;\" : void 0), f(\n n,\n \"cx\",\n /*cx*/\n e[2]\n ), f(\n n,\n \"cy\",\n /*cy*/\n e[3]\n ), f(\n n,\n \"rx\",\n /*rx*/\n e[4]\n ), f(\n n,\n \"ry\",\n /*ry*/\n e[5]\n ), f(i, \"class\", \"a9s-inner\"), f(\n i,\n \"style\",\n /*computedStyle*/\n e[1]\n ), f(\n i,\n \"cx\",\n /*cx*/\n e[2]\n ), f(\n i,\n \"cy\",\n /*cy*/\n e[3]\n ), f(\n i,\n \"rx\",\n /*rx*/\n e[4]\n ), f(\n i,\n \"ry\",\n /*ry*/\n e[5]\n ), f(t, \"data-id\", s = /*annotation*/\n e[0].id);\n },\n m(r, a) {\n I(r, t, a), re(t, n), re(t, i);\n },\n p(r, [a]) {\n a & /*computedStyle*/\n 2 && o !== (o = /*computedStyle*/\n r[1] ? \"display:none;\" : void 0) && f(n, \"style\", o), a & /*computedStyle*/\n 2 && f(\n i,\n \"style\",\n /*computedStyle*/\n r[1]\n ), a & /*annotation*/\n 1 && s !== (s = /*annotation*/\n r[0].id) && f(t, \"data-id\", s);\n },\n i: F,\n o: F,\n d(r) {\n r && k(t);\n }\n };\n}\nfunction Do(e, t, n) {\n let o, { annotation: i } = t, { geom: s } = t, { style: r = void 0 } = t;\n const { cx: a, cy: l, rx: c, ry: h } = s;\n return e.$$set = (u) => {\n \"annotation\" in u && n(0, i = u.annotation), \"geom\" in u && n(6, s = u.geom), \"style\" in u && n(7, r = u.style);\n }, e.$$.update = () => {\n e.$$.dirty & /*annotation, style*/\n 129 && n(1, o = He(i, r));\n }, [i, o, a, l, c, h, s, r];\n}\nclass Ro extends te {\n constructor(t) {\n super(), ee(this, t, Do, Xo, J, { annotation: 0, geom: 6, style: 7 });\n }\n}\nfunction Co(e) {\n let t, n, o, i, s;\n return {\n c() {\n t = R(\"g\"), n = R(\"polygon\"), i = R(\"polygon\"), f(n, \"class\", \"a9s-outer\"), f(n, \"style\", o = /*computedStyle*/\n e[1] ? \"display:none;\" : void 0), f(\n n,\n \"points\",\n /*points*/\n e[2].map(Uo).join(\" \")\n ), f(i, \"class\", \"a9s-inner\"), f(\n i,\n \"style\",\n /*computedStyle*/\n e[1]\n ), f(\n i,\n \"points\",\n /*points*/\n e[2].map(No).join(\" \")\n ), f(t, \"data-id\", s = /*annotation*/\n e[0].id);\n },\n m(r, a) {\n I(r, t, a), re(t, n), re(t, i);\n },\n p(r, [a]) {\n a & /*computedStyle*/\n 2 && o !== (o = /*computedStyle*/\n r[1] ? \"display:none;\" : void 0) && f(n, \"style\", o), a & /*computedStyle*/\n 2 && f(\n i,\n \"style\",\n /*computedStyle*/\n r[1]\n ), a & /*annotation*/\n 1 && s !== (s = /*annotation*/\n r[0].id) && f(t, \"data-id\", s);\n },\n i: F,\n o: F,\n d(r) {\n r && k(t);\n }\n };\n}\nconst Uo = (e) => e.join(\",\"), No = (e) => e.join(\",\");\nfunction Vo(e, t, n) {\n let o, { annotation: i } = t, { geom: s } = t, { style: r = void 0 } = t;\n const { points: a } = s;\n return e.$$set = (l) => {\n \"annotation\" in l && n(0, i = l.annotation), \"geom\" in l && n(3, s = l.geom), \"style\" in l && n(4, r = l.style);\n }, e.$$.update = () => {\n e.$$.dirty & /*annotation, style*/\n 17 && n(1, o = He(i, r));\n }, [i, o, a, s, r];\n}\nclass Go extends te {\n constructor(t) {\n super(), ee(this, t, Vo, Co, J, { annotation: 0, geom: 3, style: 4 });\n }\n}\nfunction Fo(e) {\n let t, n, o, i, s;\n return {\n c() {\n t = R(\"g\"), n = R(\"rect\"), i = R(\"rect\"), f(n, \"class\", \"a9s-outer\"), f(n, \"style\", o = /*computedStyle*/\n e[5] ? \"display:none;\" : void 0), f(\n n,\n \"x\",\n /*x*/\n e[4]\n ), f(\n n,\n \"y\",\n /*y*/\n e[3]\n ), f(\n n,\n \"width\",\n /*w*/\n e[2]\n ), f(\n n,\n \"height\",\n /*h*/\n e[1]\n ), f(i, \"class\", \"a9s-inner\"), f(\n i,\n \"style\",\n /*computedStyle*/\n e[5]\n ), f(\n i,\n \"x\",\n /*x*/\n e[4]\n ), f(\n i,\n \"y\",\n /*y*/\n e[3]\n ), f(\n i,\n \"width\",\n /*w*/\n e[2]\n ), f(\n i,\n \"height\",\n /*h*/\n e[1]\n ), f(t, \"data-id\", s = /*annotation*/\n e[0].id);\n },\n m(r, a) {\n I(r, t, a), re(t, n), re(t, i);\n },\n p(r, [a]) {\n a & /*computedStyle*/\n 32 && o !== (o = /*computedStyle*/\n r[5] ? \"display:none;\" : void 0) && f(n, \"style\", o), a & /*x*/\n 16 && f(\n n,\n \"x\",\n /*x*/\n r[4]\n ), a & /*y*/\n 8 && f(\n n,\n \"y\",\n /*y*/\n r[3]\n ), a & /*w*/\n 4 && f(\n n,\n \"width\",\n /*w*/\n r[2]\n ), a & /*h*/\n 2 && f(\n n,\n \"height\",\n /*h*/\n r[1]\n ), a & /*computedStyle*/\n 32 && f(\n i,\n \"style\",\n /*computedStyle*/\n r[5]\n ), a & /*x*/\n 16 && f(\n i,\n \"x\",\n /*x*/\n r[4]\n ), a & /*y*/\n 8 && f(\n i,\n \"y\",\n /*y*/\n r[3]\n ), a & /*w*/\n 4 && f(\n i,\n \"width\",\n /*w*/\n r[2]\n ), a & /*h*/\n 2 && f(\n i,\n \"height\",\n /*h*/\n r[1]\n ), a & /*annotation*/\n 1 && s !== (s = /*annotation*/\n r[0].id) && f(t, \"data-id\", s);\n },\n i: F,\n o: F,\n d(r) {\n r && k(t);\n }\n };\n}\nfunction Ho(e, t, n) {\n let o, i, s, r, a, { annotation: l } = t, { geom: c } = t, { style: h = void 0 } = t;\n return e.$$set = (u) => {\n \"annotation\" in u && n(0, l = u.annotation), \"geom\" in u && n(6, c = u.geom), \"style\" in u && n(7, h = u.style);\n }, e.$$.update = () => {\n e.$$.dirty & /*annotation, style*/\n 129 && n(5, o = He(l, h)), e.$$.dirty & /*geom*/\n 64 && n(4, { x: i, y: s, w: r, h: a } = c, i, (n(3, s), n(6, c)), (n(2, r), n(6, c)), (n(1, a), n(6, c)));\n }, [l, a, r, s, i, o, c, h];\n}\nclass zo extends te {\n constructor(t) {\n super(), ee(this, t, Ho, Fo, J, { annotation: 0, geom: 6, style: 7 });\n }\n}\nconst bi = {\n elementToImage: (e, t) => [e, t]\n}, jo = (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}), qo = 250, Ko = (e, t) => {\n const n = Se();\n let o;\n return { onPointerDown: () => o = performance.now(), onPointerUp: (r) => {\n if (performance.now() - o < qo) {\n const { x: l, y: c } = Wo(r, e), h = t.getAt(l, c);\n h ? n(\"click\", { originalEvent: r, annotation: h }) : n(\"click\", { originalEvent: r });\n }\n } };\n}, Wo = (e, t) => {\n const n = t.createSVGPoint(), o = t.getBoundingClientRect(), i = e.clientX - o.x, s = e.clientY - o.y, { left: r, top: a } = t.getBoundingClientRect();\n return n.x = i + r, n.y = s + a, n.matrixTransform(t.getScreenCTM().inverse());\n};\nfunction Lt(e, t, n) {\n const o = e.slice();\n return o[29] = t[n], o;\n}\nfunction Ot(e, t, n) {\n const o = e.slice();\n return o[32] = t[n], o;\n}\nfunction xe(e) {\n const t = e.slice(), n = (\n /*annotation*/\n t[32].target.selector\n );\n return t[35] = n, t;\n}\nfunction kt(e) {\n let t = (\n /*annotation*/\n e[32].id\n ), n, o, i = It(e);\n return {\n c() {\n i.c(), n = se();\n },\n m(s, r) {\n i.m(s, r), I(s, n, r), o = !0;\n },\n p(s, r) {\n r[0] & /*$store*/\n 8192 && J(t, t = /*annotation*/\n s[32].id) ? (ne(), N(i, 1, 1, F), oe(), i = It(s), i.c(), C(i, 1), i.m(n.parentNode, n)) : i.p(s, r);\n },\n i(s) {\n o || (C(i), o = !0);\n },\n o(s) {\n N(i), o = !1;\n },\n d(s) {\n s && k(n), i.d(s);\n }\n };\n}\nfunction Jo(e) {\n let t, n;\n return t = new Go({\n props: {\n annotation: (\n /*annotation*/\n e[32]\n ),\n geom: (\n /*selector*/\n e[35].geometry\n ),\n style: (\n /*style*/\n e[1]\n )\n }\n }), {\n c() {\n he(t.$$.fragment);\n },\n m(o, i) {\n le(t, o, i), n = !0;\n },\n p(o, i) {\n const s = {};\n i[0] & /*$store*/\n 8192 && (s.annotation = /*annotation*/\n o[32]), i[0] & /*$store*/\n 8192 && (s.geom = /*selector*/\n o[35].geometry), i[0] & /*style*/\n 2 && (s.style = /*style*/\n o[1]), t.$set(s);\n },\n i(o) {\n n || (C(t.$$.fragment, o), n = !0);\n },\n o(o) {\n N(t.$$.fragment, o), n = !1;\n },\n d(o) {\n ae(t, o);\n }\n };\n}\nfunction Zo(e) {\n let t, n;\n return t = new zo({\n props: {\n annotation: (\n /*annotation*/\n e[32]\n ),\n geom: (\n /*selector*/\n e[35].geometry\n ),\n style: (\n /*style*/\n e[1]\n )\n }\n }), {\n c() {\n he(t.$$.fragment);\n },\n m(o, i) {\n le(t, o, i), n = !0;\n },\n p(o, i) {\n const s = {};\n i[0] & /*$store*/\n 8192 && (s.annotation = /*annotation*/\n o[32]), i[0] & /*$store*/\n 8192 && (s.geom = /*selector*/\n o[35].geometry), i[0] & /*style*/\n 2 && (s.style = /*style*/\n o[1]), t.$set(s);\n },\n i(o) {\n n || (C(t.$$.fragment, o), n = !0);\n },\n o(o) {\n N(t.$$.fragment, o), n = !1;\n },\n d(o) {\n ae(t, o);\n }\n };\n}\nfunction Qo(e) {\n let t, n;\n return t = new Ro({\n props: {\n annotation: (\n /*annotation*/\n e[32]\n ),\n geom: (\n /*selector*/\n e[35].geometry\n ),\n style: (\n /*style*/\n e[1]\n )\n }\n }), {\n c() {\n he(t.$$.fragment);\n },\n m(o, i) {\n le(t, o, i), n = !0;\n },\n p(o, i) {\n const s = {};\n i[0] & /*$store*/\n 8192 && (s.annotation = /*annotation*/\n o[32]), i[0] & /*$store*/\n 8192 && (s.geom = /*selector*/\n o[35].geometry), i[0] & /*style*/\n 2 && (s.style = /*style*/\n o[1]), t.$set(s);\n },\n i(o) {\n n || (C(t.$$.fragment, o), n = !0);\n },\n o(o) {\n N(t.$$.fragment, o), n = !1;\n },\n d(o) {\n ae(t, o);\n }\n };\n}\nfunction It(e) {\n let t, n, o, i;\n const s = [Qo, Zo, Jo], r = [];\n function a(l, c) {\n return (\n /*selector*/\n l[35].type === z.ELLIPSE ? 0 : (\n /*selector*/\n l[35].type === z.RECTANGLE ? 1 : (\n /*selector*/\n l[35].type === z.POLYGON ? 2 : -1\n )\n )\n );\n }\n return ~(t = a(e)) && (n = r[t] = s[t](e)), {\n c() {\n n && n.c(), o = se();\n },\n m(l, c) {\n ~t && r[t].m(l, c), I(l, o, c), i = !0;\n },\n p(l, c) {\n let h = t;\n t = a(l), t === h ? ~t && r[t].p(l, c) : (n && (ne(), N(r[h], 1, 1, () => {\n r[h] = null;\n }), oe()), ~t ? (n = r[t], n ? n.p(l, c) : (n = r[t] = s[t](l), n.c()), C(n, 1), n.m(o.parentNode, o)) : n = null);\n },\n i(l) {\n i || (C(n), i = !0);\n },\n o(l) {\n N(n), i = !1;\n },\n d(l) {\n ~t && r[t].d(l), l && k(o);\n }\n };\n}\nfunction Bt(e) {\n let t = !/*isEditable*/\n e[7](\n /*annotation*/\n e[32]\n ), n, o, i = t && kt(xe(e));\n return {\n c() {\n i && i.c(), n = se();\n },\n m(s, r) {\n i && i.m(s, r), I(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[32]\n )), t ? i ? (i.p(xe(s), r), r[0] & /*isEditable, $store*/\n 8320 && C(i, 1)) : (i = kt(xe(s)), i.c(), C(i, 1), i.m(n.parentNode, n)) : i && (ne(), N(i, 1, 1, () => {\n i = null;\n }), oe());\n },\n i(s) {\n o || (C(i), o = !0);\n },\n o(s) {\n N(i), o = !1;\n },\n d(s) {\n i && i.d(s), s && k(n);\n }\n };\n}\nfunction Pt(e) {\n let t, n, o, i;\n const s = [$o, xo], r = [];\n function a(l, c) {\n return (\n /*editableAnnotations*/\n l[6] ? 0 : (\n /*tool*/\n l[12] && /*drawingEnabled*/\n l[0] ? 1 : -1\n )\n );\n }\n return ~(t = a(e)) && (n = r[t] = s[t](e)), {\n c() {\n n && n.c(), o = se();\n },\n m(l, c) {\n ~t && r[t].m(l, c), I(l, o, c), i = !0;\n },\n p(l, c) {\n let h = t;\n t = a(l), t === h ? ~t && r[t].p(l, c) : (n && (ne(), N(r[h], 1, 1, () => {\n r[h] = null;\n }), oe()), ~t ? (n = r[t], n ? n.p(l, c) : (n = r[t] = s[t](l), n.c()), C(n, 1), n.m(o.parentNode, o)) : n = null);\n },\n i(l) {\n i || (C(n), i = !0);\n },\n o(l) {\n N(n), i = !1;\n },\n d(l) {\n ~t && r[t].d(l), l && k(o);\n }\n };\n}\nfunction xo(e) {\n let t = (\n /*toolName*/\n e[2]\n ), n, o, i = Yt(e);\n return {\n c() {\n i.c(), n = se();\n },\n m(s, r) {\n i.m(s, r), I(s, n, r), o = !0;\n },\n p(s, r) {\n r[0] & /*toolName*/\n 4 && J(t, t = /*toolName*/\n s[2]) ? (ne(), N(i, 1, 1, F), oe(), i = Yt(s), i.c(), C(i, 1), i.m(n.parentNode, n)) : i.p(s, r);\n },\n i(s) {\n o || (C(i), o = !0);\n },\n o(s) {\n N(i), o = !1;\n },\n d(s) {\n s && k(n), i.d(s);\n }\n };\n}\nfunction $o(e) {\n let t, n, o = (\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) => N(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 = se();\n },\n m(r, a) {\n for (let l = 0; l < i.length; l += 1)\n i[l] && i[l].m(r, a);\n I(r, t, a), n = !0;\n },\n p(r, a) {\n if (a[0] & /*editableAnnotations, drawingEl, style, transform, $scale, onChangeSelected*/\n 279634) {\n o = /*editableAnnotations*/\n r[6];\n let l;\n for (l = 0; l < o.length; l += 1) {\n const c = Lt(r, o, l);\n i[l] ? (i[l].p(c, a), C(i[l], 1)) : (i[l] = Dt(c), i[l].c(), C(i[l], 1), i[l].m(t.parentNode, t));\n }\n for (ne(), l = o.length; l < i.length; l += 1)\n s(l);\n oe();\n }\n },\n i(r) {\n if (!n) {\n for (let a = 0; a < o.length; a += 1)\n C(i[a]);\n n = !0;\n }\n },\n o(r) {\n i = i.filter(Boolean);\n for (let a = 0; a < i.length; a += 1)\n N(i[a]);\n n = !1;\n },\n d(r) {\n st(i, r), r && k(t);\n }\n };\n}\nfunction Yt(e) {\n let t, n;\n return t = new Ao({\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 he(t.$$.fragment);\n },\n m(o, i) {\n le(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 || (C(t.$$.fragment, o), n = !0);\n },\n o(o) {\n N(t.$$.fragment, o), n = !1;\n },\n d(o) {\n ae(t, o);\n }\n };\n}\nfunction Xt(e) {\n let t, n;\n return t = new bo({\n props: {\n target: (\n /*drawingEl*/\n e[4]\n ),\n editor: At(\n /*editable*/\n e[29].target.selector\n ),\n annotation: (\n /*editable*/\n e[29]\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 j(\n /*onChangeSelected*/\n e[18](\n /*editable*/\n e[29]\n )\n ) && e[18](\n /*editable*/\n e[29]\n ).apply(this, arguments);\n }), {\n c() {\n he(t.$$.fragment);\n },\n m(o, i) {\n le(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 = At(\n /*editable*/\n e[29].target.selector\n )), i[0] & /*editableAnnotations*/\n 64 && (s.annotation = /*editable*/\n e[29]), 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 || (C(t.$$.fragment, o), n = !0);\n },\n o(o) {\n N(t.$$.fragment, o), n = !1;\n },\n d(o) {\n ae(t, o);\n }\n };\n}\nfunction Dt(e) {\n let t = (\n /*editable*/\n e[29].id\n ), n, o, i = Xt(e);\n return {\n c() {\n i.c(), n = se();\n },\n m(s, r) {\n i.m(s, r), I(s, n, r), o = !0;\n },\n p(s, r) {\n r[0] & /*editableAnnotations*/\n 64 && J(t, t = /*editable*/\n s[29].id) ? (ne(), N(i, 1, 1, F), oe(), i = Xt(s), i.c(), C(i, 1), i.m(n.parentNode, n)) : i.p(s, r);\n },\n i(s) {\n o || (C(i), o = !0);\n },\n o(s) {\n N(i), o = !1;\n },\n d(s) {\n s && k(n), i.d(s);\n }\n };\n}\nfunction ei(e) {\n let t, n, o, i, s, r, a = (\n /*$store*/\n e[13]\n ), l = [];\n for (let u = 0; u < a.length; u += 1)\n l[u] = Bt(Ot(e, a, u));\n const c = (u) => N(l[u], 1, 1, () => {\n l[u] = null;\n });\n let h = (\n /*drawingEl*/\n e[4] && Pt(e)\n );\n return {\n c() {\n t = R(\"svg\"), n = R(\"g\");\n for (let u = 0; u < l.length; u += 1)\n l[u].c();\n o = R(\"g\"), h && h.c(), f(o, \"class\", \"drawing\"), f(t, \"class\", \"a9s-annotationlayer\"), ht(\n t,\n \"drawing\",\n /*tool*/\n e[12]\n );\n },\n m(u, m) {\n I(u, t, m), re(t, n);\n for (let d = 0; d < l.length; d += 1)\n l[d] && l[d].m(n, null);\n re(t, o), h && h.m(o, null), e[25](o), e[26](t), i = !0, s || (r = [\n K(t, \"pointerup\", function() {\n j(\n /*onPointerUp*/\n e[8]\n ) && e[8].apply(this, arguments);\n }),\n K(t, \"pointerdown\", function() {\n j(\n /*onPointerDown*/\n e[9]\n ) && e[9].apply(this, arguments);\n })\n ], s = !0);\n },\n p(u, m) {\n if (e = u, m[0] & /*$store, style, isEditable*/\n 8322) {\n a = /*$store*/\n e[13];\n let d;\n for (d = 0; d < a.length; d += 1) {\n const g = Ot(e, a, d);\n l[d] ? (l[d].p(g, m), C(l[d], 1)) : (l[d] = Bt(g), l[d].c(), C(l[d], 1), l[d].m(n, null));\n }\n for (ne(), d = a.length; d < l.length; d += 1)\n c(d);\n oe();\n }\n /*drawingEl*/\n e[4] ? h ? (h.p(e, m), m[0] & /*drawingEl*/\n 16 && C(h, 1)) : (h = Pt(e), h.c(), C(h, 1), h.m(o, null)) : h && (ne(), N(h, 1, 1, () => {\n h = null;\n }), oe()), (!i || m[0] & /*tool*/\n 4096) && ht(\n t,\n \"drawing\",\n /*tool*/\n e[12]\n );\n },\n i(u) {\n if (!i) {\n for (let m = 0; m < a.length; m += 1)\n C(l[m]);\n C(h), i = !0;\n }\n },\n o(u) {\n l = l.filter(Boolean);\n for (let m = 0; m < l.length; m += 1)\n N(l[m]);\n N(h), i = !1;\n },\n d(u) {\n u && k(t), st(l, u), h && h.d(), e[25](null), e[26](null), s = !1, ie(r);\n }\n };\n}\nfunction ti(e, t, n) {\n let o, i, s, r, a, l, c, h, u, m, d = F, g = () => (d(), d = Vt(p, (O) => n(14, m = O)), p);\n e.$$.on_destroy.push(() => d());\n let { drawingEnabled: _ } = t, { image: A } = t, { preferredDrawingMode: w } = t, { state: y } = t, { style: T = void 0 } = t, { toolName: S = it().length > 0 ? it()[0] : void 0 } = t, { user: P } = t, X, U, p;\n Be(() => g(n(5, p = Oo(A, U))));\n const { selection: E, store: b } = y;\n dt(e, E, (O) => n(24, h = O)), dt(e, b, (O) => n(13, u = O));\n let v = null, B = null;\n const D = (O) => {\n b.unobserve(v);\n const W = O.filter(({ editable: G }) => G).map(({ id: G }) => G);\n W.length > 0 ? (n(6, B = W.map((G) => b.getAnnotation(G))), v = (G) => {\n const { updated: ce } = G.changes;\n n(6, B = ce.map((H) => H.newValue));\n }, b.observe(v, { annotations: W })) : n(6, B = null);\n }, Z = (O) => {\n const W = qt(), G = {\n id: W,\n bodies: [],\n target: {\n annotation: W,\n selector: O.detail,\n creator: P,\n created: /* @__PURE__ */ new Date()\n }\n };\n b.addAnnotation(G), E.setSelected(G.id);\n }, me = (O) => (W) => {\n var ue;\n const { target: G } = O, ce = 10 * 60 * 1e3, H = ((ue = G.creator) == null ? void 0 : ue.id) !== P.id || !G.created || (/* @__PURE__ */ new Date()).getTime() - G.created.getTime() > ce;\n b.updateTarget({\n ...G,\n selector: W.detail,\n created: H ? G.created : /* @__PURE__ */ new Date(),\n updated: H ? /* @__PURE__ */ new Date() : null,\n updatedBy: H ? P : null\n });\n };\n function ge(O) {\n Ge[O ? \"unshift\" : \"push\"](() => {\n X = O, n(4, X);\n });\n }\n function Me(O) {\n Ge[O ? \"unshift\" : \"push\"](() => {\n U = O, n(3, U);\n });\n }\n return e.$$set = (O) => {\n \"drawingEnabled\" in O && n(0, _ = O.drawingEnabled), \"image\" in O && n(19, A = O.image), \"preferredDrawingMode\" in O && n(20, w = O.preferredDrawingMode), \"state\" in O && n(21, y = O.state), \"style\" in O && n(1, T = O.style), \"toolName\" in O && n(2, S = O.toolName), \"user\" in O && n(22, P = O.user);\n }, e.$$.update = () => {\n e.$$.dirty[0] & /*toolName*/\n 4 && n(12, { tool: o, opts: i } = Qt(S), o, (n(23, i), n(2, S))), e.$$.dirty[0] & /*opts, preferredDrawingMode*/\n 9437184 && n(11, s = (i == null ? void 0 : i.drawingMode) || w), e.$$.dirty[0] & /*svgEl*/\n 8 && n(10, r = jo(U)), e.$$.dirty[0] & /*svgEl*/\n 8 && n(9, { onPointerDown: a, onPointerUp: l } = Ko(U, b), a, (n(8, l), n(3, U))), e.$$.dirty[0] & /*$selection*/\n 16777216 && n(7, c = (O) => h.selected.find((W) => W.id === O.id && W.editable)), e.$$.dirty[0] & /*$selection*/\n 16777216 && D(h.selected);\n }, [\n _,\n T,\n S,\n U,\n X,\n p,\n B,\n c,\n l,\n a,\n r,\n s,\n o,\n u,\n m,\n E,\n b,\n Z,\n me,\n A,\n w,\n y,\n P,\n i,\n h,\n ge,\n Me\n ];\n}\nclass ni extends te {\n constructor(t) {\n super(), ee(\n this,\n t,\n ti,\n ei,\n J,\n {\n drawingEnabled: 0,\n image: 19,\n preferredDrawingMode: 20,\n state: 21,\n style: 1,\n toolName: 2,\n user: 22\n },\n null,\n [-1, -1]\n );\n }\n}\nfunction oi(e, t, n, o, i) {\n xt(e, t, n || 0, o || e.length - 1, i || ii);\n}\nfunction xt(e, t, n, o, i) {\n for (; o > n; ) {\n if (o - n > 600) {\n var s = o - n + 1, r = t - n + 1, a = Math.log(s), l = 0.5 * Math.exp(2 * a / 3), c = 0.5 * Math.sqrt(a * l * (s - l) / s) * (r - s / 2 < 0 ? -1 : 1), h = Math.max(n, Math.floor(t - r * l / s + c)), u = Math.min(o, Math.floor(t + (s - r) * l / s + c));\n xt(e, t, h, u, i);\n }\n var m = e[t], d = n, g = o;\n for (ve(e, n, t), i(e[o], m) > 0 && ve(e, n, o); d < g; ) {\n for (ve(e, d, g), d++, g--; i(e[d], m) < 0; )\n d++;\n for (; i(e[g], m) > 0; )\n g--;\n }\n i(e[n], m) === 0 ? ve(e, n, g) : (g++, ve(e, g, o)), g <= t && (n = g + 1), t <= g && (o = g - 1);\n }\n}\nfunction ve(e, t, n) {\n var o = e[t];\n e[t] = e[n], e[n] = o;\n}\nfunction ii(e, t) {\n return e < t ? -1 : e > t ? 1 : 0;\n}\nclass si {\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 a = n.children[r], l = n.leaf ? i(a) : a;\n Ne(t, l) && (n.leaf ? o.push(a) : et(t, l) ? this._all(a, o) : s.push(a));\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 || et(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 a, l, c;\n for (; o || s.length; ) {\n if (o || (o = s.pop(), l = s[s.length - 1], a = r.pop(), c = !0), o.leaf) {\n const h = ri(t, o.children, n);\n if (h !== -1)\n return o.children.splice(h, 1), s.push(o), this._condense(s), this;\n }\n !c && !o.leaf && et(o, i) ? (s.push(o), r.push(a), a = 0, l = o, o = o.children[0]) : l ? (a++, o = l.children[a], 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, a;\n if (s <= r)\n return a = Ee(t.slice(n, o + 1)), we(a, this.toBBox), a;\n i || (i = Math.ceil(Math.log(s) / Math.log(r)), r = Math.ceil(s / Math.pow(r, i - 1))), a = Ee([]), a.leaf = !1, a.height = i;\n const l = Math.ceil(s / r), c = l * Math.ceil(Math.sqrt(r));\n Rt(t, n, o, c, this.compareMinX);\n for (let h = n; h <= o; h += c) {\n const u = Math.min(h + c - 1, o);\n Rt(t, h, u, l, this.compareMinY);\n for (let m = h; m <= u; m += l) {\n const d = Math.min(m + l - 1, u);\n a.children.push(this._build(t, m, d, i - 1));\n }\n }\n return we(a, this.toBBox), a;\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, a;\n for (let l = 0; l < n.children.length; l++) {\n const c = n.children[l], h = $e(c), u = ci(t, c) - h;\n u < r ? (r = u, s = h < s ? h : s, a = c) : u === r && h < s && (s = h, a = c);\n }\n n = a || 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), a = Ee(o.children.splice(r, o.children.length - r));\n a.height = o.height, a.leaf = o.leaf, we(o, this.toBBox), we(a, this.toBBox), n ? t[n - 1].children.push(a) : this._splitRoot(o, a);\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 a = n; a <= o - n; a++) {\n const l = Le(t, 0, a, this.toBBox), c = Le(t, a, o, this.toBBox), h = ui(l, c), u = $e(l) + $e(c);\n h < s ? (s = h, i = a, r = u < r ? u : r) : h === s && u < r && (r = u, i = a);\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 : li, s = t.leaf ? this.compareMinY : ai, r = this._allDistMargin(t, n, o, i), a = this._allDistMargin(t, n, o, s);\n r < a && 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 = Le(t, 0, n, s), a = Le(t, o - n, o, s);\n let l = Ue(r) + Ue(a);\n for (let c = n; c < o - n; c++) {\n const h = t.children[c];\n Oe(r, t.leaf ? s(h) : h), l += Ue(r);\n }\n for (let c = o - n - 1; c >= n; c--) {\n const h = t.children[c];\n Oe(a, t.leaf ? s(h) : h), l += Ue(a);\n }\n return l;\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 ri(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 Le(e, 0, e.children.length, t, e);\n}\nfunction Le(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 li(e, t) {\n return e.minX - t.minX;\n}\nfunction ai(e, t) {\n return e.minY - t.minY;\n}\nfunction $e(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 ci(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 ui(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 et(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 Rt(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 oi(e, r, t, n, i), s.push(t, r, r, n);\n }\n}\nconst fi = () => {\n const e = new si(), t = /* @__PURE__ */ new Map(), n = () => [...t.values()], o = () => {\n e.clear(), t.clear();\n }, i = (u) => {\n const { minX: m, minY: d, maxX: g, maxY: _ } = u.selector.geometry.bounds, A = { minX: m, minY: d, maxX: g, maxY: _, target: u };\n e.insert(A), t.set(u.annotation, A);\n }, s = (u) => {\n const m = t.get(u.annotation);\n e.remove(m), t.delete(u.annotation);\n };\n return {\n all: n,\n clear: o,\n getAt: (u, m) => {\n const g = e.search({\n minX: u,\n minY: m,\n maxX: u,\n maxY: m\n }).map((_) => _.target).filter((_) => _.selector.type === z.RECTANGLE || hn(_.selector, u, m));\n if (g.length > 0)\n return g.sort((_, A) => ot(_.selector) - ot(A.selector)), g[0];\n },\n getIntersecting: (u, m, d, g) => e.search({\n minX: u,\n minY: m,\n maxX: u + d,\n maxY: m + g\n }).map((_) => _.target),\n insert: i,\n remove: s,\n set: (u, m = !0) => {\n m && o();\n const d = u.map((g) => {\n const { minX: _, minY: A, maxX: w, maxY: y } = g.selector.geometry.bounds;\n return { minX: _, minY: A, maxX: w, maxY: y, target: g };\n });\n d.forEach((g) => t.set(g.target.annotation, g)), e.load(d);\n },\n size: () => e.all().length,\n update: (u, m) => {\n s(u), i(m);\n }\n };\n}, di = (e) => {\n const t = Gn(), n = fi(), o = Bn(t, e.pointerSelectAction), i = In(t), s = qn();\n return t.observe(({ changes: l }) => {\n n.set(l.created.map((c) => c.target), !1), l.deleted.forEach((c) => n.remove(c.target)), l.updated.forEach(({ oldValue: c, newValue: h }) => n.update(c.target, h.target));\n }), {\n store: {\n ...t,\n getAt: (l, c) => {\n const h = n.getAt(l, c);\n return h ? t.getAnnotation(h.annotation) : void 0;\n },\n getIntersecting: (l, c, h, u) => n.getIntersecting(l, c, h, u).map((m) => t.getAnnotation(m.annotation))\n },\n selection: o,\n hover: i,\n viewport: s\n };\n}, hi = (e) => {\n const t = di(e);\n return {\n ...t,\n store: Fn(t.store)\n };\n}, mi = (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), a = Math.round(i * t.height / 10), l = n.getImageData(r, a, 1, 1).data, c = (0.299 * l[0] + 0.587 * l[1] + 0.114 * l[2]) / 255;\n o += c;\n }\n return o / 81;\n}, gi = (e) => {\n const t = mi(e), n = t > 0.6 ? \"dark\" : \"light\";\n return console.log(`[Annotorious] Image brightness: ${t.toFixed(1)}. Setting ${n} theme.`), n;\n}, Ct = (e, t, n) => t.setAttribute(\"data-theme\", n === \"auto\" ? gi(e) : n), pi = (e) => ({\n ...e,\n drawingEnabled: e.drawingEnabled === void 0 ? !0 : e.drawingEnabled,\n drawingMode: e.drawingMode || \"drag\",\n pointerSelectAction: e.pointerSelectAction || Kt.EDIT,\n theme: e.theme || \"light\"\n}), Ut = navigator.userAgent.indexOf(\"Mac OS X\") !== -1, yi = (e, t) => {\n const n = t || document, o = (r) => {\n r.key === \"Z\" && r.ctrlKey ? e.undo() : r.key === \"Y\" && r.ctrlKey && e.redo();\n }, i = (r) => {\n r.key === \"z\" && r.metaKey && (r.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};\nconst Ei = (e, t = {}) => {\n if (!e)\n throw \"Missing argument: image\";\n const n = typeof e == \"string\" ? document.getElementById(e) : e, o = pi(t), i = hi(o), { selection: s, store: r } = i, a = jn(r), l = Kn(\n i,\n a,\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 h = yi(a);\n let u = eo();\n Ct(n, c, o.theme);\n const m = new ni({\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: u\n }\n });\n m.$on(\"click\", (p) => {\n const { originalEvent: E, annotation: b } = p.detail;\n b ? s.clickSelect(b.id, E) : s.isEmpty() || s.clear();\n });\n const d = Jn(i, a, o.adapter), g = () => {\n m.$destroy(), c.parentNode.insertBefore(n, c), c.parentNode.removeChild(c), h.destroy(), a.destroy();\n }, _ = () => u, A = (p, E, b) => Yo(p, E, b), w = (p, E) => go(p, E), y = (p) => {\n if (!Qt(p))\n throw `No drawing tool named ${p}`;\n m.$set({ toolName: p });\n }, T = (p) => m.$set({ drawingEnabled: p }), S = (p) => {\n console.warn(\"Filter not implemented yet\");\n }, P = (p) => m.$set({ style: p }), X = (p) => Ct(n, c, p), U = (p) => {\n u = p, m.$set({ user: p });\n };\n return {\n ...d,\n destroy: g,\n getUser: _,\n listDrawingTools: it,\n on: l.on,\n off: l.off,\n registerDrawingTool: A,\n registerShapeEditor: w,\n setDrawingEnabled: T,\n setDrawingTool: y,\n setFilter: S,\n setStyle: P,\n setTheme: X,\n setUser: U,\n state: i\n };\n};\nexport {\n Zt as Editor,\n bo as EditorMount,\n L as Handle,\n bi as IdentityTransform,\n co as PolygonEditor,\n mo as RectangleEditor,\n pn as RectangleUtil,\n Mo as RubberbandRectangle,\n ni as SVGAnnotationLayer,\n z as ShapeType,\n Ao as ToolMount,\n _i as W3CImageFormat,\n Ko as addEventListeners,\n Fe as boundsFromPoints,\n ot as computeArea,\n Ei as createImageAnnotator,\n di as createImageAnnotatorState,\n jo as createSVGTransform,\n hi as createSvelteImageAnnotatorState,\n gi as detectTheme,\n Ze as distance,\n Oo as enableResponsive,\n pi as fillDefaults,\n At as getEditor,\n Qt as getTool,\n yi as initKeyboardCommands,\n hn as intersects,\n wi as isTouch,\n it as listDrawingTools,\n yn as parseFragmentSelector,\n Tn as parseSVGSelector,\n io as parseW3CImageAnnotation,\n go as registerEditor,\n lt as registerShapeUtil,\n Yo as registerTool,\n mi as sampleBrightness,\n _n as serializeFragmentSelector,\n Sn as serializeSVGSelector,\n so as serializeW3CImageAnnotation,\n Ct as setTheme\n};\n//# sourceMappingURL=annotorious.es.js.map\n"],"names":["F","$t","e","t","Nt","ft","ie","j","J","en","Vt","dt","tn","i","Gt","s","r","a","sn","re","I","k","st","Ft","$","se","K","f","rn","ht","ln","Ie","ke","Ht","Be","Se","Ae","be","Ge","Te","mt","an","tt","zt","nt","Ke","pe","un","fn","Ve","fe","ne","oe","C","N","he","le","ae","dn","ee","h","u","m","d","g","te","z","rt","lt","ot","hn","Fe","mn","pn","_","_n","jt","gt","wn","o","n","En","An","Tn","Sn","Ce","Mn","vn","q","pt","qt","yt","de","We","kn","ye","at","In","Kt","Je","Bn","Pn","Yn","Xn","Dn","Cn","Wt","Un","Nn","Gn","p","E","b","v","B","D","Z","w","T","S","X","U","Fn","Hn","zn","jn","qn","Kn","P","Jn","Zn","Qn","xn","$n","eo","to","_i","io","so","_t","wt","ro","bt","Et","lo","Zt","ao","me","ge","Me","ce","ue","Pe","ze","Q","Ye","Xe","je","x","De","Re","qe","ut","Y","M","fo","ho","mo","Jt","At","po","Tt","_o","He","wo","Eo","Ao","St","To","So","Mo","Ze","_e","vo","l","c","Qe","Mt","vt","ko","Io","Bo","Po","ct","it","Qt","Yo","Xo","Do","Co","Uo","No","Go","Fo","Ho","zo","jo","qo","Ko","Lt","Ot","xe","kt","It","Jo","Zo","Qo","Bt","Pt","$o","xo","Yt","Dt","Xt","ei","ti","G","H","ni","oi","xt","ii","ve","si","Ne","et","Ee","ri","we","Rt","$e","ci","Oe","Le","ui","li","ai","Ue","fi","A","y","di","hi","mi","gi","Ct","pi","Ut","yi","Ei"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"annotorious-react.es9.js","sources":["../src/openseadragon/OpenSeadragonAnnotator.tsx"],"sourcesContent":["import { createContext, ReactNode, useContext, useEffect, useState } from 'react';\nimport OpenSeadragon from 'openseadragon';\nimport { createOSDAnnotator } from '@annotorious/openseadragon';\nimport { AnnotoriousOpts, DrawingStyle, Filter, ImageAnnotation } from '..';\nimport { AnnotoriousContext } from '../Annotorious';\n\nexport const OpenSeadragonAnnotatorContext = createContext<{ \n viewer: OpenSeadragon.Viewer,\n setViewer(viewer: OpenSeadragon.Viewer): void\n}>({ viewer: null, setViewer: null });\n\nexport type OpenSeadragonAnnotatorProps<E extends unknown> = AnnotoriousOpts<ImageAnnotation, E> & {\n\n children?: ReactNode;\n\n drawingEnabled?: boolean;\n\n filter?: Filter<ImageAnnotation>;\n\n style?: DrawingStyle | ((annotation: ImageAnnotation) => DrawingStyle);\n\n tool?: string | null;\n\n}\n\nexport const OpenSeadragonAnnotator = <E extends unknown>(props: OpenSeadragonAnnotatorProps<E>) => {\n\n const { children, tool, ...opts } = props;\n\n const [viewer, setViewer] = useState<OpenSeadragon.Viewer>();\n\n const { anno, setAnno } = useContext(AnnotoriousContext);\n\n useEffect(() => {\n if (viewer) {\n const anno = createOSDAnnotator<E>(viewer, opts);\n\n if (props.tool)\n anno.setDrawingTool(props.tool);\n\n setAnno(anno);\n\n return () => {\n anno.destroy();\n setAnno(undefined);\n }\n }\n }, [viewer]);\n\n useEffect(() => {\n if (anno) anno.setDrawingTool(tool);\n }, [tool]);\n\n useEffect(() => {\n if (anno) anno.setDrawingEnabled(props.drawingEnabled);\n }, [props.drawingEnabled]);\n\n useEffect(() => {\n if (anno) anno.setFilter(props.filter);\n }, [props.filter]);\n\n useEffect(() => {\n if (anno) anno.setStyle(props.style);\n }, [props.style]);\n\n return (\n <OpenSeadragonAnnotatorContext.Provider value={{ viewer, setViewer }}>\n {props.children}\n </OpenSeadragonAnnotatorContext.Provider>\n )\n\n}\n\nexport const useViewer = () => {\n const { viewer } = useContext(OpenSeadragonAnnotatorContext);\n return viewer;\n}"],"names":["OpenSeadragonAnnotatorContext","createContext","OpenSeadragonAnnotator","props","children","tool","opts","viewer","setViewer","useState","anno","setAnno","useContext","AnnotoriousContext","useEffect","createOSDAnnotator","jsx","useViewer"],"mappings":";;;;AAMO,MAAMA,IAAgCC,EAG1C,EAAE,QAAQ,MAAM,WAAW,MAAM,GAgBvBC,IAAyB,CAAoBC,MAA0C;AAElG,QAAM,EAAE,UAAAC,GAAU,MAAAC,GAAM,GAAGC,MAASH,GAE9B,CAACI,GAAQC,CAAS,IAAIC,EAA+B,GAErD,EAAE,MAAAC,GAAM,SAAAC,EAAQ,IAAIC,EAAWC,CAAkB;AAEvD,SAAAC,EAAU,MAAM;AACd,QAAIP,GAAQ;AACJG,YAAAA,IAAOK,EAAsBR,GAAQD,CAAI;AAE/C,aAAIH,EAAM,QACRO,EAAK,eAAeP,EAAM,IAAI,GAEhCQ,EAAQD,CAAI,GAEL,MAAM;AACXA,QAAAA,EAAK,QAAQ,GACbC,EAAQ,MAAS;AAAA,MAAA;AAAA,IAErB;AAAA,EAAA,GACC,CAACJ,CAAM,CAAC,GAEXO,EAAU,MAAM;AACV,IAAAJ,KAAMA,EAAK,eAAeL,CAAI;AAAA,EAAA,GACjC,CAACA,CAAI,CAAC,GAETS,EAAU,MAAM;AACV,IAAAJ,KAAWA,EAAA,kBAAkBP,EAAM,cAAc;AAAA,EAAA,GACpD,CAACA,EAAM,cAAc,CAAC,GAEzBW,EAAU,MAAM;AACV,IAAAJ,KAAWA,EAAA,UAAUP,EAAM,MAAM;AAAA,EAAA,GACpC,CAACA,EAAM,MAAM,CAAC,GAEjBW,EAAU,MAAM;AACV,IAAAJ,KAAWA,EAAA,SAASP,EAAM,KAAK;AAAA,EAAA,GAClC,CAACA,EAAM,KAAK,CAAC,GAGd,gBAAAa,EAAChB,EAA8B,UAA9B,EAAuC,OAAO,EAAE,QAAAO,GAAQ,WAAAC,EACtD,GAAA,UAAAL,EAAM,SACT,CAAA;AAGJ,GAEac,IAAY,MAAM;AAC7B,QAAM,EAAE,QAAAV,EAAA,IAAWK,EAAWZ,CAA6B;AACpD,SAAAO;AACT;"}
|