promptfoo 0.87.1 → 0.89.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -3
- package/dist/package.json +29 -29
- package/dist/src/__mocks__/esm.d.ts.map +1 -1
- package/dist/src/__mocks__/esm.js +1 -0
- package/dist/src/__mocks__/esm.js.map +1 -1
- package/dist/src/app/assets/index-DQ5S2Ye6.js +782 -0
- package/dist/src/app/assets/index-Dl-FhnW1.css +1 -0
- package/dist/src/app/assets/index.es-DR-0y8vm.js +18 -0
- package/dist/src/app/assets/purify.es-DGIRlouP.js +3 -0
- package/dist/src/app/assets/sync-D_jwcTYY.js +4 -0
- package/dist/src/app/favicon.png +0 -0
- package/dist/src/app/index.html +16 -0
- package/dist/src/assertions/AssertionsResult.d.ts.map +1 -1
- package/dist/src/assertions/AssertionsResult.js +7 -0
- package/dist/src/assertions/AssertionsResult.js.map +1 -1
- package/dist/src/assertions.d.ts.map +1 -1
- package/dist/src/assertions.js +19 -4
- package/dist/src/assertions.js.map +1 -1
- package/dist/src/cache.js +1 -1
- package/dist/src/cache.js.map +1 -1
- package/dist/src/commands/cache.js +2 -2
- package/dist/src/commands/cache.js.map +1 -1
- package/dist/src/commands/delete.js +2 -2
- package/dist/src/commands/delete.js.map +1 -1
- package/dist/src/commands/eval.d.ts +1 -1
- package/dist/src/commands/eval.d.ts.map +1 -1
- package/dist/src/commands/eval.js +17 -3
- package/dist/src/commands/eval.js.map +1 -1
- package/dist/src/commands/generate/dataset.js +1 -1
- package/dist/src/commands/generate/dataset.js.map +1 -1
- package/dist/src/commands/list.js +3 -3
- package/dist/src/commands/list.js.map +1 -1
- package/dist/src/commands/share.js +2 -2
- package/dist/src/commands/share.js.map +1 -1
- package/dist/src/commands/show.js +1 -1
- package/dist/src/commands/show.js.map +1 -1
- package/dist/src/commands/view.js +2 -2
- package/dist/src/commands/view.js.map +1 -1
- package/dist/src/config.d.ts.map +1 -1
- package/dist/src/config.js +47 -57
- package/dist/src/config.js.map +1 -1
- package/dist/src/csv.d.ts.map +1 -1
- package/dist/src/csv.js +40 -15
- package/dist/src/csv.js.map +1 -1
- package/dist/src/database/tables.d.ts +18 -18
- package/dist/src/envars.d.ts +1 -0
- package/dist/src/envars.d.ts.map +1 -1
- package/dist/src/envars.js.map +1 -1
- package/dist/src/evaluator.d.ts.map +1 -1
- package/dist/src/evaluator.js +32 -0
- package/dist/src/evaluator.js.map +1 -1
- package/dist/src/evaluatorHelpers.js +1 -1
- package/dist/src/evaluatorHelpers.js.map +1 -1
- package/dist/src/globalConfig.js +1 -1
- package/dist/src/globalConfig.js.map +1 -1
- package/dist/src/golang/wrapper.go +53 -0
- package/dist/src/main.d.ts.map +1 -1
- package/dist/src/main.js +5 -11
- package/dist/src/main.js.map +1 -1
- package/dist/src/onboarding.d.ts +1 -1
- package/dist/src/onboarding.d.ts.map +1 -1
- package/dist/src/onboarding.js +4 -2
- package/dist/src/onboarding.js.map +1 -1
- package/dist/src/providers/ai21.d.ts.map +1 -1
- package/dist/src/providers/ai21.js +3 -12
- package/dist/src/providers/ai21.js.map +1 -1
- package/dist/src/providers/anthropic.d.ts +3 -3
- package/dist/src/providers/anthropic.d.ts.map +1 -1
- package/dist/src/providers/anthropic.js +44 -34
- package/dist/src/providers/anthropic.js.map +1 -1
- package/dist/src/providers/azureopenai.d.ts +3 -2
- package/dist/src/providers/azureopenai.d.ts.map +1 -1
- package/dist/src/providers/azureopenai.js +129 -3
- package/dist/src/providers/azureopenai.js.map +1 -1
- package/dist/src/providers/bedrock.js +2 -2
- package/dist/src/providers/bedrock.js.map +1 -1
- package/dist/src/providers/cloudflare-ai.d.ts +2 -2
- package/dist/src/providers/cloudflare-ai.d.ts.map +1 -1
- package/dist/src/providers/cloudflare-ai.js.map +1 -1
- package/dist/src/providers/cohere.js +1 -1
- package/dist/src/providers/cohere.js.map +1 -1
- package/dist/src/providers/golangCompletion.d.ts +19 -0
- package/dist/src/providers/golangCompletion.d.ts.map +1 -0
- package/dist/src/providers/golangCompletion.js +105 -0
- package/dist/src/providers/golangCompletion.js.map +1 -0
- package/dist/src/providers/http.js +1 -1
- package/dist/src/providers/http.js.map +1 -1
- package/dist/src/providers/mistral.d.ts.map +1 -1
- package/dist/src/providers/mistral.js +8 -18
- package/dist/src/providers/mistral.js.map +1 -1
- package/dist/src/providers/openai.d.ts +13 -0
- package/dist/src/providers/openai.d.ts.map +1 -1
- package/dist/src/providers/openai.js +28 -24
- package/dist/src/providers/openai.js.map +1 -1
- package/dist/src/providers/openaiUtil.d.ts.map +1 -1
- package/dist/src/providers/openaiUtil.js +1 -1
- package/dist/src/providers/openaiUtil.js.map +1 -1
- package/dist/src/providers/shared.d.ts +41 -0
- package/dist/src/providers/shared.d.ts.map +1 -1
- package/dist/src/providers/shared.js +44 -0
- package/dist/src/providers/shared.js.map +1 -1
- package/dist/src/providers/vertexUtil.js +2 -2
- package/dist/src/providers/vertexUtil.js.map +1 -1
- package/dist/src/providers.d.ts.map +1 -1
- package/dist/src/providers.js +5 -0
- package/dist/src/providers.js.map +1 -1
- package/dist/src/python/execAsync.d.ts +10 -0
- package/dist/src/python/execAsync.d.ts.map +1 -0
- package/dist/src/python/execAsync.js +17 -0
- package/dist/src/python/execAsync.js.map +1 -0
- package/dist/src/python/pythonUtils.d.ts +29 -0
- package/dist/src/python/pythonUtils.d.ts.map +1 -1
- package/dist/src/python/pythonUtils.js +85 -6
- package/dist/src/python/pythonUtils.js.map +1 -1
- package/dist/src/python/wrapper.d.ts.map +1 -1
- package/dist/src/python/wrapper.js +8 -5
- package/dist/src/python/wrapper.js.map +1 -1
- package/dist/src/{commands/redteam → redteam/commands}/generate.d.ts +1 -1
- package/dist/src/redteam/commands/generate.d.ts.map +1 -0
- package/dist/src/{commands/redteam → redteam/commands}/generate.js +14 -14
- package/dist/src/redteam/commands/generate.js.map +1 -0
- package/dist/src/redteam/commands/init.d.ts.map +1 -0
- package/dist/src/{commands/redteam → redteam/commands}/init.js +23 -15
- package/dist/src/redteam/commands/init.js.map +1 -0
- package/dist/src/{commands/redteam → redteam/commands}/plugins.d.ts.map +1 -1
- package/dist/src/{commands/redteam → redteam/commands}/plugins.js +1 -1
- package/dist/src/{commands/redteam → redteam/commands}/plugins.js.map +1 -1
- package/dist/src/redteam/constants.d.ts.map +1 -1
- package/dist/src/redteam/constants.js +16 -22
- package/dist/src/redteam/constants.js.map +1 -1
- package/dist/src/redteam/index.d.ts +1 -1
- package/dist/src/redteam/index.d.ts.map +1 -1
- package/dist/src/redteam/index.js.map +1 -1
- package/dist/src/redteam/providers/crescendo/index.js +2 -2
- package/dist/src/redteam/providers/crescendo/index.js.map +1 -1
- package/dist/src/redteam/providers/prompts.d.ts.map +1 -1
- package/dist/src/redteam/providers/prompts.js +23 -0
- package/dist/src/redteam/providers/prompts.js.map +1 -1
- package/dist/src/{types/redteam.d.ts → redteam/types.d.ts} +1 -1
- package/dist/src/redteam/types.d.ts.map +1 -0
- package/dist/src/{types/redteam.js → redteam/types.js} +1 -1
- package/dist/src/redteam/types.js.map +1 -0
- package/dist/src/server/server.d.ts.map +1 -1
- package/dist/src/server/server.js +10 -3
- package/dist/src/server/server.js.map +1 -1
- package/dist/src/share.js +1 -1
- package/dist/src/share.js.map +1 -1
- package/dist/src/suggestions.js +1 -1
- package/dist/src/suggestions.js.map +1 -1
- package/dist/src/telemetry.d.ts.map +1 -1
- package/dist/src/telemetry.js +3 -1
- package/dist/src/telemetry.js.map +1 -1
- package/dist/src/testCases.d.ts.map +1 -1
- package/dist/src/testCases.js +4 -3
- package/dist/src/testCases.js.map +1 -1
- package/dist/src/types/index.d.ts +413 -231
- package/dist/src/types/index.d.ts.map +1 -1
- package/dist/src/types/index.js +12 -2
- package/dist/src/types/index.js.map +1 -1
- package/dist/src/util/index.d.ts +19 -5
- package/dist/src/util/index.d.ts.map +1 -1
- package/dist/src/util/index.js +5 -3
- package/dist/src/util/index.js.map +1 -1
- package/dist/src/util/json.js +2 -2
- package/dist/src/util/json.js.map +1 -1
- package/dist/src/validators/prompts.d.ts +2 -2
- package/dist/src/validators/providers.d.ts +166 -20
- package/dist/src/validators/providers.d.ts.map +1 -1
- package/dist/src/validators/providers.js +5 -5
- package/dist/src/validators/providers.js.map +1 -1
- package/dist/src/validators/redteam.d.ts +15 -15
- package/dist/test/assertions.test.js +49 -0
- package/dist/test/assertions.test.js.map +1 -1
- package/dist/test/config.test.js +192 -48
- package/dist/test/config.test.js.map +1 -1
- package/dist/test/csv.test.js +84 -0
- package/dist/test/csv.test.js.map +1 -1
- package/dist/test/envars.test.js +103 -0
- package/dist/test/envars.test.js.map +1 -1
- package/dist/test/matchers.test.js +5 -5
- package/dist/test/matchers.test.js.map +1 -1
- package/dist/test/providers.anthropic.test.js +93 -23
- package/dist/test/providers.anthropic.test.js.map +1 -1
- package/dist/test/providers.azure.test.js +42 -0
- package/dist/test/providers.azure.test.js.map +1 -1
- package/dist/test/providers.bedrock.test.js +2 -1
- package/dist/test/providers.bedrock.test.js.map +1 -1
- package/dist/test/providers.shared.test.d.ts +2 -0
- package/dist/test/providers.shared.test.d.ts.map +1 -0
- package/dist/test/providers.shared.test.js +92 -0
- package/dist/test/providers.shared.test.js.map +1 -0
- package/dist/test/providers.test.js +112 -7
- package/dist/test/providers.test.js.map +1 -1
- package/dist/test/python/pythonUtils.test.d.ts +2 -0
- package/dist/test/python/pythonUtils.test.d.ts.map +1 -0
- package/dist/test/python/pythonUtils.test.js +224 -0
- package/dist/test/python/pythonUtils.test.js.map +1 -0
- package/dist/test/python/wrapper.test.d.ts +2 -0
- package/dist/test/python/wrapper.test.d.ts.map +1 -0
- package/dist/test/python/wrapper.test.js +71 -0
- package/dist/test/python/wrapper.test.js.map +1 -0
- package/dist/test/rateLimit.test.js.map +1 -1
- package/dist/test/redteam/commands/generate.test.d.ts.map +1 -0
- package/dist/test/{commands/redteam → redteam/commands}/generate.test.js +1 -1
- package/dist/test/{commands/redteam → redteam/commands}/generate.test.js.map +1 -1
- package/dist/test/redteam/validators.test.js +2 -2
- package/dist/test/redteam/validators.test.js.map +1 -1
- package/dist/test/testCases.test.js +75 -27
- package/dist/test/testCases.test.js.map +1 -1
- package/dist/test/types.test.js +17 -10
- package/dist/test/types.test.js.map +1 -1
- package/dist/test/util.test.js +10 -0
- package/dist/test/util.test.js.map +1 -1
- package/package.json +29 -29
- package/dist/src/commands/redteam/generate.d.ts.map +0 -1
- package/dist/src/commands/redteam/generate.js.map +0 -1
- package/dist/src/commands/redteam/init.d.ts.map +0 -1
- package/dist/src/commands/redteam/init.js.map +0 -1
- package/dist/src/types/redteam.d.ts.map +0 -1
- package/dist/src/types/redteam.js.map +0 -1
- package/dist/src/web/nextui/404/index.html +0 -1
- package/dist/src/web/nextui/404.html +0 -1
- package/dist/src/web/nextui/_next/static/chunks/113-c691bf7d3a37d865.js +0 -1
- package/dist/src/web/nextui/_next/static/chunks/132-d6bea93785831786.js +0 -6
- package/dist/src/web/nextui/_next/static/chunks/15.306496fdcef5f880.js +0 -52
- package/dist/src/web/nextui/_next/static/chunks/167-744b9f585d2d97f7.js +0 -54
- package/dist/src/web/nextui/_next/static/chunks/189-f9d565af9a2b91cb.js +0 -1
- package/dist/src/web/nextui/_next/static/chunks/1a53ab81-5e1a018996226f61.js +0 -6
- package/dist/src/web/nextui/_next/static/chunks/235-2bbcbc3cd37eef0f.js +0 -1
- package/dist/src/web/nextui/_next/static/chunks/285-1e2a6158b5f0e918.js +0 -32
- package/dist/src/web/nextui/_next/static/chunks/407.42b5daf65ab5dde9.js +0 -1
- package/dist/src/web/nextui/_next/static/chunks/417-cbf95fe2bc362650.js +0 -2
- package/dist/src/web/nextui/_next/static/chunks/461-77257ab6b1bb209d.js +0 -1
- package/dist/src/web/nextui/_next/static/chunks/565431e5-7b9122ac20f7a0ae.js +0 -140
- package/dist/src/web/nextui/_next/static/chunks/631-d005608c3710a99c.js +0 -6
- package/dist/src/web/nextui/_next/static/chunks/640-0f757e2fe135173d.js +0 -1
- package/dist/src/web/nextui/_next/static/chunks/646-62a1d1d5b397d18f.js +0 -28
- package/dist/src/web/nextui/_next/static/chunks/730-3eb7255cd813a727.js +0 -25
- package/dist/src/web/nextui/_next/static/chunks/782-910eb0e09b818816.js +0 -35
- package/dist/src/web/nextui/_next/static/chunks/840.58dde6630f088da4.js +0 -1
- package/dist/src/web/nextui/_next/static/chunks/854-c18aaae33bccdc36.js +0 -1
- package/dist/src/web/nextui/_next/static/chunks/86-fcb0efd0a19bac7d.js +0 -1
- package/dist/src/web/nextui/_next/static/chunks/874-66f90697795eddbc.js +0 -1
- package/dist/src/web/nextui/_next/static/chunks/88-f3a7a858d5f4e9a0.js +0 -17
- package/dist/src/web/nextui/_next/static/chunks/887.028187fb318c3e59.js +0 -1
- package/dist/src/web/nextui/_next/static/chunks/906-70c43cd62b2efac1.js +0 -97
- package/dist/src/web/nextui/_next/static/chunks/972-15d1ab608a24eebf.js +0 -1
- package/dist/src/web/nextui/_next/static/chunks/975-db84f98b8dd028ab.js +0 -1
- package/dist/src/web/nextui/_next/static/chunks/a5c829b0-07a2c92898a6780c.js +0 -14
- package/dist/src/web/nextui/_next/static/chunks/app/auth/login/page-c1dbf0abc580796f.js +0 -1
- package/dist/src/web/nextui/_next/static/chunks/app/auth/signup/page-93b80ab19bdaf2cc.js +0 -1
- package/dist/src/web/nextui/_next/static/chunks/app/datasets/page-17e6d3f57945f88a.js +0 -1
- package/dist/src/web/nextui/_next/static/chunks/app/eval/[id]/not-found-dc8b4f57fd363c1b.js +0 -1
- package/dist/src/web/nextui/_next/static/chunks/app/eval/[id]/page-1e54704d75f36e25.js +0 -1
- package/dist/src/web/nextui/_next/static/chunks/app/eval/page-5295461188ef9b43.js +0 -1
- package/dist/src/web/nextui/_next/static/chunks/app/layout-e465aaafbfe88e82.js +0 -1
- package/dist/src/web/nextui/_next/static/chunks/app/page-81e3b8fee37eaf67.js +0 -1
- package/dist/src/web/nextui/_next/static/chunks/app/progress/page-ac2f99c11e76f5a5.js +0 -1
- package/dist/src/web/nextui/_next/static/chunks/app/prompts/page-296c32f480e84a57.js +0 -1
- package/dist/src/web/nextui/_next/static/chunks/app/report/page-f7c9e46492061e19.js +0 -1
- package/dist/src/web/nextui/_next/static/chunks/app/setup/page-35c95dd67114a045.js +0 -1
- package/dist/src/web/nextui/_next/static/chunks/b6261da7-e9d81a4364ddd0c0.js +0 -9
- package/dist/src/web/nextui/_next/static/chunks/fd57813c.8f0e3582250c76c5.js +0 -1
- package/dist/src/web/nextui/_next/static/chunks/framework-c3d480eb9ad30ba5.js +0 -25
- package/dist/src/web/nextui/_next/static/chunks/main-6b1ff2291a752212.js +0 -1
- package/dist/src/web/nextui/_next/static/chunks/main-app-0dc90092cd7acaaf.js +0 -1
- package/dist/src/web/nextui/_next/static/chunks/pages/_app-998b254a061422d4.js +0 -1
- package/dist/src/web/nextui/_next/static/chunks/pages/_error-94f0db477e27e000.js +0 -1
- package/dist/src/web/nextui/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js +0 -1
- package/dist/src/web/nextui/_next/static/chunks/webpack-452ae8c28379ed4c.js +0 -1
- package/dist/src/web/nextui/_next/static/css/48d388184a2f4ce3.css +0 -1
- package/dist/src/web/nextui/_next/static/css/4d76d7cdd9492e1d.css +0 -1
- package/dist/src/web/nextui/_next/static/css/8119d8bd13a8adab.css +0 -1
- package/dist/src/web/nextui/_next/static/css/87b5e6e04efd27e5.css +0 -1
- package/dist/src/web/nextui/_next/static/css/de0307797e31a3e6.css +0 -1
- package/dist/src/web/nextui/_next/static/css/eb523daddb89dfc1.css +0 -1
- package/dist/src/web/nextui/_next/static/css/edcd6f0b6c902fde.css +0 -1
- package/dist/src/web/nextui/_next/static/gtTJhFvE95U20UjbnSnMr/_buildManifest.js +0 -1
- package/dist/src/web/nextui/_next/static/gtTJhFvE95U20UjbnSnMr/_ssgManifest.js +0 -1
- package/dist/src/web/nextui/_next/static/media/26a46d62cd723877-s.woff2 +0 -0
- package/dist/src/web/nextui/_next/static/media/55c55f0601d81cf3-s.woff2 +0 -0
- package/dist/src/web/nextui/_next/static/media/581909926a08bbc8-s.woff2 +0 -0
- package/dist/src/web/nextui/_next/static/media/6d93bde91c0c2823-s.woff2 +0 -0
- package/dist/src/web/nextui/_next/static/media/97e0cb1ae144a2a9-s.woff2 +0 -0
- package/dist/src/web/nextui/_next/static/media/a34f9d1faa5f3315-s.p.woff2 +0 -0
- package/dist/src/web/nextui/_next/static/media/df0a9ae256c0569c-s.woff2 +0 -0
- package/dist/src/web/nextui/android-chrome-192x192.png +0 -0
- package/dist/src/web/nextui/android-chrome-512x512.png +0 -0
- package/dist/src/web/nextui/apple-touch-icon.png +0 -0
- package/dist/src/web/nextui/auth/callback +0 -1
- package/dist/src/web/nextui/auth/login/index.html +0 -1
- package/dist/src/web/nextui/auth/login/index.txt +0 -10
- package/dist/src/web/nextui/auth/signup/index.html +0 -1
- package/dist/src/web/nextui/auth/signup/index.txt +0 -10
- package/dist/src/web/nextui/browserconfig.xml +0 -9
- package/dist/src/web/nextui/datasets/index.html +0 -1
- package/dist/src/web/nextui/datasets/index.txt +0 -10
- package/dist/src/web/nextui/eval/index.html +0 -1
- package/dist/src/web/nextui/eval/index.txt +0 -12
- package/dist/src/web/nextui/index.html +0 -1
- package/dist/src/web/nextui/index.txt +0 -11
- package/dist/src/web/nextui/logo.svg +0 -30
- package/dist/src/web/nextui/mstile-144x144.png +0 -0
- package/dist/src/web/nextui/mstile-150x150.png +0 -0
- package/dist/src/web/nextui/mstile-310x150.png +0 -0
- package/dist/src/web/nextui/mstile-310x310.png +0 -0
- package/dist/src/web/nextui/mstile-70x70.png +0 -0
- package/dist/src/web/nextui/progress/index.html +0 -1
- package/dist/src/web/nextui/progress/index.txt +0 -10
- package/dist/src/web/nextui/prompts/index.html +0 -1
- package/dist/src/web/nextui/prompts/index.txt +0 -10
- package/dist/src/web/nextui/report/index.html +0 -1
- package/dist/src/web/nextui/report/index.txt +0 -12
- package/dist/src/web/nextui/safari-pinned-tab.svg +0 -68
- package/dist/src/web/nextui/setup/index.html +0 -1
- package/dist/src/web/nextui/setup/index.txt +0 -12
- package/dist/src/web/nextui/site.webmanifest +0 -19
- package/dist/test/commands/redteam/generate.test.d.ts.map +0 -1
- package/dist/test/pythonWrapper.test.d.ts +0 -2
- package/dist/test/pythonWrapper.test.d.ts.map +0 -1
- package/dist/test/pythonWrapper.test.js +0 -99
- package/dist/test/pythonWrapper.test.js.map +0 -1
- /package/dist/src/{web/nextui/logo-panda.svg → app/assets/logo-panda-BuYvzEyb.svg} +0 -0
- /package/dist/src/{web/nextui → app}/favicon-16x16.png +0 -0
- /package/dist/src/{web/nextui → app}/favicon-32x32.png +0 -0
- /package/dist/src/{web/nextui → app}/favicon.ico +0 -0
- /package/dist/src/{commands/redteam → redteam/commands}/init.d.ts +0 -0
- /package/dist/src/{commands/redteam → redteam/commands}/plugins.d.ts +0 -0
- /package/dist/test/{commands/redteam → redteam/commands}/generate.test.d.ts +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[17],{80795:function(t,e,i){i.r(e),i.d(e,{AElement:function(){return tI},AnimateColorElement:function(){return tO},AnimateElement:function(){return tk},AnimateTransformElement:function(){return tN},BoundingBox:function(){return th},CB1:function(){return N},CB2:function(){return B},CB3:function(){return D},CB4:function(){return z},Canvg:function(){return et},CircleElement:function(){return tv},ClipPathElement:function(){return tZ},DefsElement:function(){return tA},DescElement:function(){return t5},Document:function(){return t8},Element:function(){return tr},EllipseElement:function(){return tm},FeColorMatrixElement:function(){return tY},FeCompositeElement:function(){return t1},FeDropShadowElement:function(){return tK},FeGaussianBlurElement:function(){return t2},FeMorphologyElement:function(){return t0},FilterElement:function(){return tJ},Font:function(){return ta},FontElement:function(){return tB},FontFaceElement:function(){return tD},GElement:function(){return tC},GlyphElement:function(){return tg},GradientElement:function(){return tT},ImageElement:function(){return tU},LineElement:function(){return tx},LinearGradientElement:function(){return tV},MarkerElement:function(){return tP},MaskElement:function(){return t$},Matrix:function(){return J},MissingGlyphElement:function(){return tz},Mouse:function(){return U},PSEUDO_ZERO:function(){return E},Parser:function(){return Y},PathElement:function(){return tu},PathParser:function(){return to},PatternElement:function(){return tw},Point:function(){return j},PolygonElement:function(){return tS},PolylineElement:function(){return tb},Property:function(){return F},QB1:function(){return L},QB2:function(){return I},QB3:function(){return R},RadialGradientElement:function(){return tE},RectElement:function(){return ty},RenderedElement:function(){return tl},Rotate:function(){return Q},SVGElement:function(){return tf},SVGFontLoader:function(){return tW},Scale:function(){return Z},Screen:function(){return H},Skew:function(){return K},SkewX:function(){return tt},SkewY:function(){return te},StopElement:function(){return tM},StyleElement:function(){return tH},SymbolElement:function(){return tX},TRefElement:function(){return tL},TSpanElement:function(){return td},TextElement:function(){return tc},TextPathElement:function(){return t_},TitleElement:function(){return t3},Transform:function(){return ti},Translate:function(){return $},UnknownElement:function(){return ts},UseElement:function(){return tq},ViewPort:function(){return _},compressSpaces:function(){return g},default:function(){return et},getSelectorSpecificity:function(){return V},normalizeAttributeName:function(){return y},normalizeColor:function(){return m},parseExternalUrl:function(){return v},presets:function(){return u},toNumbers:function(){return p},trimLeft:function(){return c},trimRight:function(){return d},vectorMagnitude:function(){return M},vectorsAngle:function(){return O},vectorsRatio:function(){return k}}),i(80974);var r=i(7652);i(93936),i(92361),i(129),i(3615),i(50591);var s=i(53066);i(28454),i(75345),i(40898);var n=i(17615);i(87547);var a=i(74312);i(36314),i(90019),i(33940);var h=i(82561);i(49415);var o=i(61730),l=i(77580),u=Object.freeze({__proto__:null,offscreen:function(){var{DOMParser:t}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e={window:null,ignoreAnimation:!0,ignoreMouse:!0,DOMParser:t,createCanvas:(t,e)=>new OffscreenCanvas(t,e),createImage:t=>(0,r.Z)(function*(){var e=yield fetch(t),i=yield e.blob();return yield createImageBitmap(i)})()};return("undefined"!=typeof DOMParser||void 0===t)&&Reflect.deleteProperty(e,"DOMParser"),e},node:function(t){var{DOMParser:e,canvas:i,fetch:r}=t;return{window:null,ignoreAnimation:!0,ignoreMouse:!0,DOMParser:e,fetch:r,createCanvas:i.createCanvas,createImage:i.loadImage}}});function g(t){return t.replace(/(?!\u3000)\s+/gm," ")}function c(t){return t.replace(/^[\n \t]+/,"")}function d(t){return t.replace(/[\n \t]+$/,"")}function p(t){return((t||"").match(/-?(\d+(?:\.\d*(?:[eE][+-]?\d+)?)?|\.\d+)(?=\D|$)/gm)||[]).map(parseFloat)}var f=/^[A-Z-]+$/;function y(t){return f.test(t)?t.toLowerCase():t}function v(t){var e=/url\(('([^']+)'|"([^"]+)"|([^'")]+))\)/.exec(t)||[];return e[2]||e[3]||e[4]}function m(t){if(!t.startsWith("rgb"))return t;var e=3;return t.replace(/\d+(\.\d+)?/g,(t,i)=>e--&&i?String(Math.round(parseFloat(t))):t)}var x=/(\[[^\]]+\])/g,b=/(#[^\s+>~.[:]+)/g,S=/(\.[^\s+>~.[:]+)/g,w=/(::[^\s+>~.[:]+|:first-line|:first-letter|:before|:after)/gi,P=/(:[\w-]+\([^)]*\))/gi,A=/(:[^\s+>~.[:]+)/g,C=/([^\s+>~.[:]+)/g;function T(t,e){var i=e.exec(t);return i?[t.replace(e," "),i.length]:[t,0]}function V(t){var e=[0,0,0],i=t.replace(/:not\(([^)]*)\)/g," $1 ").replace(/{[\s\S]*/gm," "),r=0;return[i,r]=T(i,x),e[1]+=r,[i,r]=T(i,b),e[0]+=r,[i,r]=T(i,S),e[1]+=r,[i,r]=T(i,w),e[2]+=r,[i,r]=T(i,P),e[1]+=r,[i,r]=T(i,A),e[1]+=r,i=i.replace(/[*\s+>~]/g," ").replace(/[#.]/g," "),[i,r]=T(i,C),e[2]+=r,e.join("")}var E=1e-8;function M(t){return Math.sqrt(Math.pow(t[0],2)+Math.pow(t[1],2))}function k(t,e){return(t[0]*e[0]+t[1]*e[1])/(M(t)*M(e))}function O(t,e){return(t[0]*e[1]<t[1]*e[0]?-1:1)*Math.acos(k(t,e))}function N(t){return t*t*t}function B(t){return 3*t*t*(1-t)}function D(t){return 3*t*(1-t)*(1-t)}function z(t){return(1-t)*(1-t)*(1-t)}function L(t){return t*t}function I(t){return 2*t*(1-t)}function R(t){return(1-t)*(1-t)}class F{constructor(t,e,i){this.document=t,this.name=e,this.value=i,this.isNormalizedColor=!1}static empty(t){return new F(t,"EMPTY","")}split(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:" ",{document:e,name:i}=this;return g(this.getString()).trim().split(t).map(t=>new F(e,i,t))}hasValue(t){var{value:e}=this;return null!==e&&""!==e&&(t||0!==e)&&void 0!==e}isString(t){var{value:e}=this,i="string"==typeof e;return i&&t?t.test(e):i}isUrlDefinition(){return this.isString(/^url\(/)}isPixels(){if(!this.hasValue())return!1;var t=this.getString();switch(!0){case t.endsWith("px"):case/^[0-9]+$/.test(t):return!0;default:return!1}}setValue(t){return this.value=t,this}getValue(t){return void 0===t||this.hasValue()?this.value:t}getNumber(t){if(!this.hasValue())return void 0===t?0:parseFloat(t);var{value:e}=this,i=parseFloat(e);return this.isString(/%$/)&&(i/=100),i}getString(t){return void 0===t||this.hasValue()?void 0===this.value?"":String(this.value):String(t)}getColor(t){var e=this.getString(t);return this.isNormalizedColor||(this.isNormalizedColor=!0,e=m(e),this.value=e),e}getDpi(){return 96}getRem(){return this.document.rootEmSize}getEm(){return this.document.emSize}getUnits(){return this.getString().replace(/[0-9.-]/g,"")}getPixels(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(!this.hasValue())return 0;var[i,r]="boolean"==typeof t?[void 0,t]:[t],{viewPort:s}=this.document.screen;switch(!0){case this.isString(/vmin$/):return this.getNumber()/100*Math.min(s.computeSize("x"),s.computeSize("y"));case this.isString(/vmax$/):return this.getNumber()/100*Math.max(s.computeSize("x"),s.computeSize("y"));case this.isString(/vw$/):return this.getNumber()/100*s.computeSize("x");case this.isString(/vh$/):return this.getNumber()/100*s.computeSize("y");case this.isString(/rem$/):return this.getNumber()*this.getRem();case this.isString(/em$/):return this.getNumber()*this.getEm();case this.isString(/ex$/):return this.getNumber()*this.getEm()/2;case this.isString(/px$/):return this.getNumber();case this.isString(/pt$/):return this.getNumber()*this.getDpi()*(1/72);case this.isString(/pc$/):return 15*this.getNumber();case this.isString(/cm$/):return this.getNumber()*this.getDpi()/2.54;case this.isString(/mm$/):return this.getNumber()*this.getDpi()/25.4;case this.isString(/in$/):return this.getNumber()*this.getDpi();case this.isString(/%$/)&&r:return this.getNumber()*this.getEm();case this.isString(/%$/):return this.getNumber()*s.computeSize(i);default:var n=this.getNumber();if(e&&n<1)return n*s.computeSize(i);return n}}getMilliseconds(){return this.hasValue()?this.isString(/ms$/)?this.getNumber():1e3*this.getNumber():0}getRadians(){if(!this.hasValue())return 0;switch(!0){case this.isString(/deg$/):return this.getNumber()*(Math.PI/180);case this.isString(/grad$/):return this.getNumber()*(Math.PI/200);case this.isString(/rad$/):return this.getNumber();default:return this.getNumber()*(Math.PI/180)}}getDefinition(){var t=this.getString(),e=/#([^)'"]+)/.exec(t);return e&&(e=e[1]),e||(e=t),this.document.definitions[e]}getFillStyleDefinition(t,e){var i=this.getDefinition();if(!i)return null;if("function"==typeof i.createGradient)return i.createGradient(this.document.ctx,t,e);if("function"==typeof i.createPattern){if(i.getHrefAttribute().hasValue()){var r=i.getAttribute("patternTransform");i=i.getHrefAttribute().getDefinition(),r.hasValue()&&i.getAttribute("patternTransform",!0).setValue(r.value)}return i.createPattern(this.document.ctx,t,e)}return null}getTextBaseline(){return this.hasValue()?F.textBaselineMapping[this.getString()]:null}addOpacity(t){for(var e=this.getColor(),i=e.length,r=0,s=0;s<i&&(","===e[s]&&r++,3!==r);s++);if(t.hasValue()&&this.isString()&&3!==r){var n=new a(e);n.ok&&(n.alpha=t.getNumber(),e=n.toRGBA())}return new F(this.document,this.name,e)}}F.textBaselineMapping={baseline:"alphabetic","before-edge":"top","text-before-edge":"top",middle:"middle",central:"middle","after-edge":"bottom","text-after-edge":"bottom",ideographic:"ideographic",alphabetic:"alphabetic",hanging:"hanging",mathematical:"alphabetic"};class _{constructor(){this.viewPorts=[]}clear(){this.viewPorts=[]}setCurrent(t,e){this.viewPorts.push({width:t,height:e})}removeCurrent(){this.viewPorts.pop()}getCurrent(){var{viewPorts:t}=this;return t[t.length-1]}get width(){return this.getCurrent().width}get height(){return this.getCurrent().height}computeSize(t){return"number"==typeof t?t:"x"===t?this.width:"y"===t?this.height:Math.sqrt(Math.pow(this.width,2)+Math.pow(this.height,2))/Math.sqrt(2)}}class j{constructor(t,e){this.x=t,this.y=e}static parse(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,[i=e,r=e]=p(t);return new j(i,r)}static parseScale(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,[i=e,r=i]=p(t);return new j(i,r)}static parsePath(t){for(var e=p(t),i=e.length,r=[],s=0;s<i;s+=2)r.push(new j(e[s],e[s+1]));return r}angleTo(t){return Math.atan2(t.y-this.y,t.x-this.x)}applyTransform(t){var{x:e,y:i}=this,r=e*t[0]+i*t[2]+t[4],s=e*t[1]+i*t[3]+t[5];this.x=r,this.y=s}}class U{constructor(t){this.screen=t,this.working=!1,this.events=[],this.eventElements=[],this.onClick=this.onClick.bind(this),this.onMouseMove=this.onMouseMove.bind(this)}isWorking(){return this.working}start(){if(!this.working){var{screen:t,onClick:e,onMouseMove:i}=this,r=t.ctx.canvas;r.onclick=e,r.onmousemove=i,this.working=!0}}stop(){if(this.working){var t=this.screen.ctx.canvas;this.working=!1,t.onclick=null,t.onmousemove=null}}hasEvents(){return this.working&&this.events.length>0}runEvents(){if(this.working){var{screen:t,events:e,eventElements:i}=this,{style:r}=t.ctx.canvas;r&&(r.cursor=""),e.forEach((t,e)=>{for(var{run:r}=t,s=i[e];s;)r(s),s=s.parent}),this.events=[],this.eventElements=[]}}checkPath(t,e){if(this.working&&e){var{events:i,eventElements:r}=this;i.forEach((i,s)=>{var{x:n,y:a}=i;!r[s]&&e.isPointInPath&&e.isPointInPath(n,a)&&(r[s]=t)})}}checkBoundingBox(t,e){if(this.working&&e){var{events:i,eventElements:r}=this;i.forEach((i,s)=>{var{x:n,y:a}=i;!r[s]&&e.isPointInBox(n,a)&&(r[s]=t)})}}mapXY(t,e){for(var{window:i,ctx:r}=this.screen,s=new j(t,e),n=r.canvas;n;)s.x-=n.offsetLeft,s.y-=n.offsetTop,n=n.offsetParent;return i.scrollX&&(s.x+=i.scrollX),i.scrollY&&(s.y+=i.scrollY),s}onClick(t){var{x:e,y:i}=this.mapXY(t.clientX,t.clientY);this.events.push({type:"onclick",x:e,y:i,run(t){t.onClick&&t.onClick()}})}onMouseMove(t){var{x:e,y:i}=this.mapXY(t.clientX,t.clientY);this.events.push({type:"onmousemove",x:e,y:i,run(t){t.onMouseMove&&t.onMouseMove()}})}}var X="undefined"!=typeof window?window:null,W="undefined"!=typeof fetch?fetch.bind(void 0):null;class H{constructor(t){var{fetch:e=W,window:i=X}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.ctx=t,this.FRAMERATE=30,this.MAX_VIRTUAL_PIXELS=3e4,this.CLIENT_WIDTH=800,this.CLIENT_HEIGHT=600,this.viewPort=new _,this.mouse=new U(this),this.animations=[],this.waits=[],this.frameDuration=0,this.isReadyLock=!1,this.isFirstRender=!0,this.intervalId=null,this.window=i,this.fetch=e}wait(t){this.waits.push(t)}ready(){return this.readyPromise?this.readyPromise:Promise.resolve()}isReady(){if(this.isReadyLock)return!0;var t=this.waits.every(t=>t());return t&&(this.waits=[],this.resolveReady&&this.resolveReady()),this.isReadyLock=t,t}setDefaults(t){t.strokeStyle="rgba(0,0,0,0)",t.lineCap="butt",t.lineJoin="miter",t.miterLimit=4}setViewBox(t){var{document:e,ctx:i,aspectRatio:r,width:s,desiredWidth:n,height:a,desiredHeight:h,minX:o=0,minY:l=0,refX:u,refY:c,clip:d=!1,clipX:p=0,clipY:f=0}=t,[y,v]=g(r).replace(/^defer\s/,"").split(" "),m=y||"xMidYMid",x=v||"meet",b=s/n,S=a/h,w=Math.min(b,S),P=Math.max(b,S),A=n,C=h;"meet"===x&&(A*=w,C*=w),"slice"===x&&(A*=P,C*=P);var T=new F(e,"refX",u),V=new F(e,"refY",c),E=T.hasValue()&&V.hasValue();if(E&&i.translate(-w*T.getPixels("x"),-w*V.getPixels("y")),d){var M=w*p,k=w*f;i.beginPath(),i.moveTo(M,k),i.lineTo(s,k),i.lineTo(s,a),i.lineTo(M,a),i.closePath(),i.clip()}if(!E){var O="meet"===x&&w===S,N="slice"===x&&P===S,B="meet"===x&&w===b,D="slice"===x&&P===b;m.startsWith("xMid")&&(O||N)&&i.translate(s/2-A/2,0),m.endsWith("YMid")&&(B||D)&&i.translate(0,a/2-C/2),m.startsWith("xMax")&&(O||N)&&i.translate(s-A,0),m.endsWith("YMax")&&(B||D)&&i.translate(0,a-C)}switch(!0){case"none"===m:i.scale(b,S);break;case"meet"===x:i.scale(w,w);break;case"slice"===x:i.scale(P,P)}i.translate(-o,-l)}start(t){var{enableRedraw:e=!1,ignoreMouse:i=!1,ignoreAnimation:r=!1,ignoreDimensions:s=!1,ignoreClear:a=!1,forceRedraw:h,scaleWidth:o,scaleHeight:l,offsetX:u,offsetY:g}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{FRAMERATE:c,mouse:d}=this,p=1e3/c;if(this.frameDuration=p,this.readyPromise=new Promise(t=>{this.resolveReady=t}),this.isReady()&&this.render(t,s,a,o,l,u,g),e){var f=Date.now(),y=f,v=0,m=()=>{(v=(f=Date.now())-y)>=p&&(y=f-v%p,this.shouldUpdate(r,h)&&(this.render(t,s,a,o,l,u,g),d.runEvents())),this.intervalId=n(m)};i||d.start(),this.intervalId=n(m)}}stop(){this.intervalId&&(n.cancel(this.intervalId),this.intervalId=null),this.mouse.stop()}shouldUpdate(t,e){if(!t){var{frameDuration:i}=this;if(this.animations.reduce((t,e)=>e.update(i)||t,!1))return!0}return!!("function"==typeof e&&e()||!this.isReadyLock&&this.isReady()||this.mouse.hasEvents())}render(t,e,i,r,s,n,a){var{CLIENT_WIDTH:h,CLIENT_HEIGHT:o,viewPort:l,ctx:u,isFirstRender:g}=this,c=u.canvas;l.clear(),c.width&&c.height?l.setCurrent(c.width,c.height):l.setCurrent(h,o);var d=t.getStyle("width"),f=t.getStyle("height");!e&&(g||"number"!=typeof r&&"number"!=typeof s)&&(d.hasValue()&&(c.width=d.getPixels("x"),c.style&&(c.style.width="".concat(c.width,"px"))),f.hasValue()&&(c.height=f.getPixels("y"),c.style&&(c.style.height="".concat(c.height,"px"))));var y=c.clientWidth||c.width,v=c.clientHeight||c.height;if(e&&d.hasValue()&&f.hasValue()&&(y=d.getPixels("x"),v=f.getPixels("y")),l.setCurrent(y,v),"number"==typeof n&&t.getAttribute("x",!0).setValue(n),"number"==typeof a&&t.getAttribute("y",!0).setValue(a),"number"==typeof r||"number"==typeof s){var m=p(t.getAttribute("viewBox").getString()),x=0,b=0;if("number"==typeof r){var S=t.getStyle("width");S.hasValue()?x=S.getPixels("x")/r:isNaN(m[2])||(x=m[2]/r)}if("number"==typeof s){var w=t.getStyle("height");w.hasValue()?b=w.getPixels("y")/s:isNaN(m[3])||(b=m[3]/s)}x||(x=b),b||(b=x),t.getAttribute("width",!0).setValue(r),t.getAttribute("height",!0).setValue(s);var P=t.getStyle("transform",!0,!0);P.setValue("".concat(P.getString()," scale(").concat(1/x,", ").concat(1/b,")"))}i||u.clearRect(0,0,y,v),t.render(u),g&&(this.isFirstRender=!1)}}H.defaultWindow=X,H.defaultFetch=W;var{defaultFetch:q}=H,G="undefined"!=typeof DOMParser?DOMParser:null;class Y{constructor(){var{fetch:t=q,DOMParser:e=G}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.fetch=t,this.DOMParser=e}parse(t){var e=this;return(0,r.Z)(function*(){return t.startsWith("<")?e.parseFromString(t):e.load(t)})()}parseFromString(t){var e=new this.DOMParser;try{return this.checkDocument(e.parseFromString(t,"image/svg+xml"))}catch(i){return this.checkDocument(e.parseFromString(t,"text/xml"))}}checkDocument(t){var e=t.getElementsByTagName("parsererror")[0];if(e)throw Error(e.textContent);return t}load(t){var e=this;return(0,r.Z)(function*(){var i=yield e.fetch(t),r=yield i.text();return e.parseFromString(r)})()}}class ${constructor(t,e){this.type="translate",this.point=null,this.point=j.parse(e)}apply(t){var{x:e,y:i}=this.point;t.translate(e||0,i||0)}unapply(t){var{x:e,y:i}=this.point;t.translate(-1*e||0,-1*i||0)}applyToPoint(t){var{x:e,y:i}=this.point;t.applyTransform([1,0,0,1,e||0,i||0])}}class Q{constructor(t,e,i){this.type="rotate",this.angle=null,this.originX=null,this.originY=null,this.cx=0,this.cy=0;var r=p(e);this.angle=new F(t,"angle",r[0]),this.originX=i[0],this.originY=i[1],this.cx=r[1]||0,this.cy=r[2]||0}apply(t){var{cx:e,cy:i,originX:r,originY:s,angle:n}=this,a=e+r.getPixels("x"),h=i+s.getPixels("y");t.translate(a,h),t.rotate(n.getRadians()),t.translate(-a,-h)}unapply(t){var{cx:e,cy:i,originX:r,originY:s,angle:n}=this,a=e+r.getPixels("x"),h=i+s.getPixels("y");t.translate(a,h),t.rotate(-1*n.getRadians()),t.translate(-a,-h)}applyToPoint(t){var{cx:e,cy:i,angle:r}=this,s=r.getRadians();t.applyTransform([1,0,0,1,e||0,i||0]),t.applyTransform([Math.cos(s),Math.sin(s),-Math.sin(s),Math.cos(s),0,0]),t.applyTransform([1,0,0,1,-e||0,-i||0])}}class Z{constructor(t,e,i){this.type="scale",this.scale=null,this.originX=null,this.originY=null;var r=j.parseScale(e);(0===r.x||0===r.y)&&(r.x=E,r.y=E),this.scale=r,this.originX=i[0],this.originY=i[1]}apply(t){var{scale:{x:e,y:i},originX:r,originY:s}=this,n=r.getPixels("x"),a=s.getPixels("y");t.translate(n,a),t.scale(e,i||e),t.translate(-n,-a)}unapply(t){var{scale:{x:e,y:i},originX:r,originY:s}=this,n=r.getPixels("x"),a=s.getPixels("y");t.translate(n,a),t.scale(1/e,1/i||e),t.translate(-n,-a)}applyToPoint(t){var{x:e,y:i}=this.scale;t.applyTransform([e||0,0,0,i||0,0,0])}}class J{constructor(t,e,i){this.type="matrix",this.matrix=[],this.originX=null,this.originY=null,this.matrix=p(e),this.originX=i[0],this.originY=i[1]}apply(t){var{originX:e,originY:i,matrix:r}=this,s=e.getPixels("x"),n=i.getPixels("y");t.translate(s,n),t.transform(r[0],r[1],r[2],r[3],r[4],r[5]),t.translate(-s,-n)}unapply(t){var{originX:e,originY:i,matrix:r}=this,s=r[0],n=r[2],a=r[4],h=r[1],o=r[3],l=r[5],u=1/(s*(1*o-0*l)-n*(1*h-0*l)+a*(0*h-0*o)),g=e.getPixels("x"),c=i.getPixels("y");t.translate(g,c),t.transform(u*(1*o-0*l),u*(0*l-1*h),u*(0*a-1*n),u*(1*s-0*a),u*(n*l-a*o),u*(a*h-s*l)),t.translate(-g,-c)}applyToPoint(t){t.applyTransform(this.matrix)}}class K extends J{constructor(t,e,i){super(t,e,i),this.type="skew",this.angle=null,this.angle=new F(t,"angle",e)}}class tt extends K{constructor(t,e,i){super(t,e,i),this.type="skewX",this.matrix=[1,0,Math.tan(this.angle.getRadians()),1,0,0]}}class te extends K{constructor(t,e,i){super(t,e,i),this.type="skewY",this.matrix=[1,Math.tan(this.angle.getRadians()),0,1,0,0]}}class ti{constructor(t,e,i){this.document=t,this.transforms=[],g(e).trim().replace(/\)([a-zA-Z])/g,") $1").replace(/\)(\s?,\s?)/g,") ").split(/\s(?=[a-z])/).forEach(t=>{if("none"!==t){var[e,r]=function(t){var[e,i]=t.split("(");return[e.trim(),i.trim().replace(")","")]}(t),s=ti.transformTypes[e];void 0!==s&&this.transforms.push(new s(this.document,r,i))}})}static fromElement(t,e){var i=e.getStyle("transform",!1,!0),[r,s=r]=e.getStyle("transform-origin",!1,!0).split();return i.hasValue()?new ti(t,i.getString(),[r,s]):null}apply(t){for(var{transforms:e}=this,i=e.length,r=0;r<i;r++)e[r].apply(t)}unapply(t){for(var{transforms:e}=this,i=e.length,r=i-1;r>=0;r--)e[r].unapply(t)}applyToPoint(t){for(var{transforms:e}=this,i=e.length,r=0;r<i;r++)e[r].applyToPoint(t)}}ti.transformTypes={translate:$,rotate:Q,scale:Z,matrix:J,skewX:tt,skewY:te};class tr{constructor(t,e){var i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(this.document=t,this.node=e,this.captureTextNodes=i,this.attributes={},this.styles={},this.stylesSpecificity={},this.animationFrozen=!1,this.animationFrozenValue="",this.parent=null,this.children=[],!e||1!==e.nodeType)return;Array.from(e.attributes).forEach(e=>{var i=y(e.nodeName);this.attributes[i]=new F(t,i,e.value)}),this.addStylesFromStyleDefinition(),this.getAttribute("style").hasValue()&&this.getAttribute("style").getString().split(";").map(t=>t.trim()).forEach(e=>{if(e){var[i,r]=e.split(":").map(t=>t.trim());this.styles[i]=new F(t,i,r)}});var{definitions:r}=t,s=this.getAttribute("id");s.hasValue()&&!r[s.getString()]&&(r[s.getString()]=this),Array.from(e.childNodes).forEach(e=>{if(1===e.nodeType)this.addChild(e);else if(i&&(3===e.nodeType||4===e.nodeType)){var r=t.createTextNode(e);r.getText().length>0&&this.addChild(r)}})}getAttribute(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=this.attributes[t];if(!i&&e){var r=new F(this.document,t,"");return this.attributes[t]=r,r}return i||F.empty(this.document)}getHrefAttribute(){for(var t in this.attributes)if("href"===t||t.endsWith(":href"))return this.attributes[t];return F.empty(this.document)}getStyle(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=this.styles[t];if(r)return r;var s=this.getAttribute(t);if(null!=s&&s.hasValue())return this.styles[t]=s,s;if(!i){var{parent:n}=this;if(n){var a=n.getStyle(t);if(null!=a&&a.hasValue())return a}}if(e){var h=new F(this.document,t,"");return this.styles[t]=h,h}return r||F.empty(this.document)}render(t){if("none"!==this.getStyle("display").getString()&&"hidden"!==this.getStyle("visibility").getString()){if(t.save(),this.getStyle("mask").hasValue()){var e=this.getStyle("mask").getDefinition();e&&(this.applyEffects(t),e.apply(t,this))}else if("none"!==this.getStyle("filter").getValue("none")){var i=this.getStyle("filter").getDefinition();i&&(this.applyEffects(t),i.apply(t,this))}else this.setContext(t),this.renderChildren(t),this.clearContext(t);t.restore()}}setContext(t){}applyEffects(t){var e=ti.fromElement(this.document,this);e&&e.apply(t);var i=this.getStyle("clip-path",!1,!0);if(i.hasValue()){var r=i.getDefinition();r&&r.apply(t)}}clearContext(t){}renderChildren(t){this.children.forEach(e=>{e.render(t)})}addChild(t){var e=t instanceof tr?t:this.document.createElement(t);e.parent=this,tr.ignoreChildTypes.includes(e.type)||this.children.push(e)}matchesSelector(t){var e,{node:i}=this;if("function"==typeof i.matches)return i.matches(t);var r=null===(e=i.getAttribute)||void 0===e?void 0:e.call(i,"class");return!!r&&""!==r&&r.split(" ").some(e=>".".concat(e)===t)}addStylesFromStyleDefinition(){var{styles:t,stylesSpecificity:e}=this.document;for(var i in t)if(!i.startsWith("@")&&this.matchesSelector(i)){var r=t[i],s=e[i];if(r)for(var n in r){var a=this.stylesSpecificity[n];void 0===a&&(a="000"),s>=a&&(this.styles[n]=r[n],this.stylesSpecificity[n]=s)}}}removeStyles(t,e){return e.reduce((e,i)=>{var r=t.getStyle(i);if(!r.hasValue())return e;var s=r.getString();return r.setValue(""),[...e,[i,s]]},[])}restoreStyles(t,e){e.forEach(e=>{var[i,r]=e;t.getStyle(i,!0).setValue(r)})}isFirstChild(){var t;return(null===(t=this.parent)||void 0===t?void 0:t.children.indexOf(this))===0}}tr.ignoreChildTypes=["title"];class ts extends tr{constructor(t,e,i){super(t,e,i)}}function tn(t){var e=t.trim();return/^('|")/.test(e)?e:'"'.concat(e,'"')}class ta{constructor(t,e,i,r,s,n){var a=n?"string"==typeof n?ta.parse(n):n:{};this.fontFamily=s||a.fontFamily,this.fontSize=r||a.fontSize,this.fontStyle=t||a.fontStyle,this.fontWeight=i||a.fontWeight,this.fontVariant=e||a.fontVariant}static parse(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",e=arguments.length>1?arguments[1]:void 0,i="",r="",s="",n="",a="",h=g(t).trim().split(" "),o={fontSize:!1,fontStyle:!1,fontWeight:!1,fontVariant:!1};return h.forEach(t=>{switch(!0){case!o.fontStyle&&ta.styles.includes(t):"inherit"!==t&&(i=t),o.fontStyle=!0;break;case!o.fontVariant&&ta.variants.includes(t):"inherit"!==t&&(r=t),o.fontStyle=!0,o.fontVariant=!0;break;case!o.fontWeight&&ta.weights.includes(t):"inherit"!==t&&(s=t),o.fontStyle=!0,o.fontVariant=!0,o.fontWeight=!0;break;case!o.fontSize:"inherit"!==t&&([n]=t.split("/")),o.fontStyle=!0,o.fontVariant=!0,o.fontWeight=!0,o.fontSize=!0;break;default:"inherit"!==t&&(a+=t)}}),new ta(i,r,s,n,a,e)}toString(){var t;return[function(t){if(!t)return"";var e=t.trim().toLowerCase();switch(e){case"normal":case"italic":case"oblique":case"inherit":case"initial":case"unset":return e;default:if(/^oblique\s+(-|)\d+deg$/.test(e))return e;return""}}(this.fontStyle),this.fontVariant,function(t){if(!t)return"";var e=t.trim().toLowerCase();switch(e){case"normal":case"bold":case"lighter":case"bolder":case"inherit":case"initial":case"unset":return e;default:if(/^[\d.]+$/.test(e))return e;return""}}(this.fontWeight),this.fontSize,(t=this.fontFamily,void 0===l?t:t.trim().split(",").map(tn).join(","))].join(" ").trim()}}ta.styles="normal|italic|oblique|inherit",ta.variants="normal|small-caps|inherit",ta.weights="normal|bold|bolder|lighter|100|200|300|400|500|600|700|800|900|inherit";class th{constructor(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Number.NaN,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Number.NaN,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:Number.NaN,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:Number.NaN;this.x1=t,this.y1=e,this.x2=i,this.y2=r,this.addPoint(t,e),this.addPoint(i,r)}get x(){return this.x1}get y(){return this.y1}get width(){return this.x2-this.x1}get height(){return this.y2-this.y1}addPoint(t,e){void 0!==t&&((isNaN(this.x1)||isNaN(this.x2))&&(this.x1=t,this.x2=t),t<this.x1&&(this.x1=t),t>this.x2&&(this.x2=t)),void 0!==e&&((isNaN(this.y1)||isNaN(this.y2))&&(this.y1=e,this.y2=e),e<this.y1&&(this.y1=e),e>this.y2&&(this.y2=e))}addX(t){this.addPoint(t,null)}addY(t){this.addPoint(null,t)}addBoundingBox(t){if(t){var{x1:e,y1:i,x2:r,y2:s}=t;this.addPoint(e,i),this.addPoint(r,s)}}sumCubic(t,e,i,r,s){return Math.pow(1-t,3)*e+3*Math.pow(1-t,2)*t*i+3*(1-t)*Math.pow(t,2)*r+Math.pow(t,3)*s}bezierCurveAdd(t,e,i,r,s){var n=6*e-12*i+6*r,a=-3*e+9*i-9*r+3*s,h=3*i-3*e;if(0===a){if(0===n)return;var o=-h/n;0<o&&o<1&&(t?this.addX(this.sumCubic(o,e,i,r,s)):this.addY(this.sumCubic(o,e,i,r,s)));return}var l=Math.pow(n,2)-4*h*a;if(!(l<0)){var u=(-n+Math.sqrt(l))/(2*a);0<u&&u<1&&(t?this.addX(this.sumCubic(u,e,i,r,s)):this.addY(this.sumCubic(u,e,i,r,s)));var g=(-n-Math.sqrt(l))/(2*a);0<g&&g<1&&(t?this.addX(this.sumCubic(g,e,i,r,s)):this.addY(this.sumCubic(g,e,i,r,s)))}}addBezierCurve(t,e,i,r,s,n,a,h){this.addPoint(t,e),this.addPoint(a,h),this.bezierCurveAdd(!0,t,i,s,a),this.bezierCurveAdd(!1,e,r,n,h)}addQuadraticCurve(t,e,i,r,s,n){var a=t+2/3*(i-t),h=e+2/3*(r-e),o=a+1/3*(s-t),l=h+1/3*(n-e);this.addBezierCurve(t,e,a,o,h,l,s,n)}isPointInBox(t,e){var{x1:i,y1:r,x2:s,y2:n}=this;return i<=t&&t<=s&&r<=e&&e<=n}}class to extends h.OU{constructor(t){super(t.replace(/([+\-.])\s+/gm,"$1").replace(/[^MmZzLlHhVvCcSsQqTtAae\d\s.,+-].*/g,"")),this.control=null,this.start=null,this.current=null,this.command=null,this.commands=this.commands,this.i=-1,this.previousCommand=null,this.points=[],this.angles=[]}reset(){this.i=-1,this.command=null,this.previousCommand=null,this.start=new j(0,0),this.control=new j(0,0),this.current=new j(0,0),this.points=[],this.angles=[]}isEnd(){var{i:t,commands:e}=this;return t>=e.length-1}next(){var t=this.commands[++this.i];return this.previousCommand=this.command,this.command=t,t}getPoint(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"x",e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"y",i=new j(this.command[t],this.command[e]);return this.makeAbsolute(i)}getAsControlPoint(t,e){var i=this.getPoint(t,e);return this.control=i,i}getAsCurrentPoint(t,e){var i=this.getPoint(t,e);return this.current=i,i}getReflectedControlPoint(){var t=this.previousCommand.type;if(t!==h.OU.CURVE_TO&&t!==h.OU.SMOOTH_CURVE_TO&&t!==h.OU.QUAD_TO&&t!==h.OU.SMOOTH_QUAD_TO)return this.current;var{current:{x:e,y:i},control:{x:r,y:s}}=this;return new j(2*e-r,2*i-s)}makeAbsolute(t){if(this.command.relative){var{x:e,y:i}=this.current;t.x+=e,t.y+=i}return t}addMarker(t,e,i){var{points:r,angles:s}=this;i&&s.length>0&&!s[s.length-1]&&(s[s.length-1]=r[r.length-1].angleTo(i)),this.addMarkerAngle(t,e?e.angleTo(t):null)}addMarkerAngle(t,e){this.points.push(t),this.angles.push(e)}getMarkerPoints(){return this.points}getMarkerAngles(){for(var{angles:t}=this,e=t.length,i=0;i<e;i++)if(!t[i]){for(var r=i+1;r<e;r++)if(t[r]){t[i]=t[r];break}}return t}}class tl extends tr{constructor(){super(...arguments),this.modifiedEmSizeStack=!1}calculateOpacity(){for(var t=1,e=this;e;){var i=e.getStyle("opacity",!1,!0);i.hasValue(!0)&&(t*=i.getNumber()),e=e.parent}return t}setContext(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(!e){var i=this.getStyle("fill"),r=this.getStyle("fill-opacity"),s=this.getStyle("stroke"),n=this.getStyle("stroke-opacity");if(i.isUrlDefinition()){var a=i.getFillStyleDefinition(this,r);a&&(t.fillStyle=a)}else if(i.hasValue()){"currentColor"===i.getString()&&i.setValue(this.getStyle("color").getColor());var h=i.getColor();"inherit"!==h&&(t.fillStyle="none"===h?"rgba(0,0,0,0)":h)}if(r.hasValue()){var o=new F(this.document,"fill",t.fillStyle).addOpacity(r).getColor();t.fillStyle=o}if(s.isUrlDefinition()){var l=s.getFillStyleDefinition(this,n);l&&(t.strokeStyle=l)}else if(s.hasValue()){"currentColor"===s.getString()&&s.setValue(this.getStyle("color").getColor());var u=s.getString();"inherit"!==u&&(t.strokeStyle="none"===u?"rgba(0,0,0,0)":u)}if(n.hasValue()){var g=new F(this.document,"stroke",t.strokeStyle).addOpacity(n).getString();t.strokeStyle=g}var c=this.getStyle("stroke-width");if(c.hasValue()){var d=c.getPixels();t.lineWidth=d||E}var f=this.getStyle("stroke-linecap"),y=this.getStyle("stroke-linejoin"),v=this.getStyle("stroke-miterlimit"),m=this.getStyle("stroke-dasharray"),x=this.getStyle("stroke-dashoffset");if(f.hasValue()&&(t.lineCap=f.getString()),y.hasValue()&&(t.lineJoin=y.getString()),v.hasValue()&&(t.miterLimit=v.getNumber()),m.hasValue()&&"none"!==m.getString()){var b=p(m.getString());void 0!==t.setLineDash?t.setLineDash(b):void 0!==t.webkitLineDash?t.webkitLineDash=b:void 0===t.mozDash||1===b.length&&0===b[0]||(t.mozDash=b);var S=x.getPixels();void 0!==t.lineDashOffset?t.lineDashOffset=S:void 0!==t.webkitLineDashOffset?t.webkitLineDashOffset=S:void 0!==t.mozDashOffset&&(t.mozDashOffset=S)}}if(this.modifiedEmSizeStack=!1,void 0!==t.font){var w=this.getStyle("font"),P=this.getStyle("font-style"),A=this.getStyle("font-variant"),C=this.getStyle("font-weight"),T=this.getStyle("font-size"),V=this.getStyle("font-family"),M=new ta(P.getString(),A.getString(),C.getString(),T.hasValue()?"".concat(T.getPixels(!0),"px"):"",V.getString(),ta.parse(w.getString(),t.font));P.setValue(M.fontStyle),A.setValue(M.fontVariant),C.setValue(M.fontWeight),T.setValue(M.fontSize),V.setValue(M.fontFamily),t.font=M.toString(),T.isPixels()&&(this.document.emSize=T.getPixels(),this.modifiedEmSizeStack=!0)}e||(this.applyEffects(t),t.globalAlpha=this.calculateOpacity())}clearContext(t){super.clearContext(t),this.modifiedEmSizeStack&&this.document.popEmSize()}}class tu extends tl{constructor(t,e,i){super(t,e,i),this.type="path",this.pathParser=null,this.pathParser=new to(this.getAttribute("d").getString())}path(t){var{pathParser:e}=this,i=new th;for(e.reset(),t&&t.beginPath();!e.isEnd();)switch(e.next().type){case to.MOVE_TO:this.pathM(t,i);break;case to.LINE_TO:this.pathL(t,i);break;case to.HORIZ_LINE_TO:this.pathH(t,i);break;case to.VERT_LINE_TO:this.pathV(t,i);break;case to.CURVE_TO:this.pathC(t,i);break;case to.SMOOTH_CURVE_TO:this.pathS(t,i);break;case to.QUAD_TO:this.pathQ(t,i);break;case to.SMOOTH_QUAD_TO:this.pathT(t,i);break;case to.ARC:this.pathA(t,i);break;case to.CLOSE_PATH:this.pathZ(t,i)}return i}getBoundingBox(t){return this.path()}getMarkers(){var{pathParser:t}=this,e=t.getMarkerPoints(),i=t.getMarkerAngles();return e.map((t,e)=>[t,i[e]])}renderChildren(t){this.path(t),this.document.screen.mouse.checkPath(this,t);var e=this.getStyle("fill-rule");""!==t.fillStyle&&("inherit"!==e.getString("inherit")?t.fill(e.getString()):t.fill()),""!==t.strokeStyle&&("non-scaling-stroke"===this.getAttribute("vector-effect").getString()?(t.save(),t.setTransform(1,0,0,1,0,0),t.stroke(),t.restore()):t.stroke());var i=this.getMarkers();if(i){var r=i.length-1,s=this.getStyle("marker-start"),n=this.getStyle("marker-mid"),a=this.getStyle("marker-end");if(s.isUrlDefinition()){var h=s.getDefinition(),[o,l]=i[0];h.render(t,o,l)}if(n.isUrlDefinition())for(var u=n.getDefinition(),g=1;g<r;g++){var[c,d]=i[g];u.render(t,c,d)}if(a.isUrlDefinition()){var p=a.getDefinition(),[f,y]=i[r];p.render(t,f,y)}}}static pathM(t){var e=t.getAsCurrentPoint();return t.start=t.current,{point:e}}pathM(t,e){var{pathParser:i}=this,{point:r}=tu.pathM(i),{x:s,y:n}=r;i.addMarker(r),e.addPoint(s,n),t&&t.moveTo(s,n)}static pathL(t){var{current:e}=t;return{current:e,point:t.getAsCurrentPoint()}}pathL(t,e){var{pathParser:i}=this,{current:r,point:s}=tu.pathL(i),{x:n,y:a}=s;i.addMarker(s,r),e.addPoint(n,a),t&&t.lineTo(n,a)}static pathH(t){var{current:e,command:i}=t,r=new j((i.relative?e.x:0)+i.x,e.y);return t.current=r,{current:e,point:r}}pathH(t,e){var{pathParser:i}=this,{current:r,point:s}=tu.pathH(i),{x:n,y:a}=s;i.addMarker(s,r),e.addPoint(n,a),t&&t.lineTo(n,a)}static pathV(t){var{current:e,command:i}=t,r=new j(e.x,(i.relative?e.y:0)+i.y);return t.current=r,{current:e,point:r}}pathV(t,e){var{pathParser:i}=this,{current:r,point:s}=tu.pathV(i),{x:n,y:a}=s;i.addMarker(s,r),e.addPoint(n,a),t&&t.lineTo(n,a)}static pathC(t){var{current:e}=t;return{current:e,point:t.getPoint("x1","y1"),controlPoint:t.getAsControlPoint("x2","y2"),currentPoint:t.getAsCurrentPoint()}}pathC(t,e){var{pathParser:i}=this,{current:r,point:s,controlPoint:n,currentPoint:a}=tu.pathC(i);i.addMarker(a,n,s),e.addBezierCurve(r.x,r.y,s.x,s.y,n.x,n.y,a.x,a.y),t&&t.bezierCurveTo(s.x,s.y,n.x,n.y,a.x,a.y)}static pathS(t){var{current:e}=t;return{current:e,point:t.getReflectedControlPoint(),controlPoint:t.getAsControlPoint("x2","y2"),currentPoint:t.getAsCurrentPoint()}}pathS(t,e){var{pathParser:i}=this,{current:r,point:s,controlPoint:n,currentPoint:a}=tu.pathS(i);i.addMarker(a,n,s),e.addBezierCurve(r.x,r.y,s.x,s.y,n.x,n.y,a.x,a.y),t&&t.bezierCurveTo(s.x,s.y,n.x,n.y,a.x,a.y)}static pathQ(t){var{current:e}=t;return{current:e,controlPoint:t.getAsControlPoint("x1","y1"),currentPoint:t.getAsCurrentPoint()}}pathQ(t,e){var{pathParser:i}=this,{current:r,controlPoint:s,currentPoint:n}=tu.pathQ(i);i.addMarker(n,s,s),e.addQuadraticCurve(r.x,r.y,s.x,s.y,n.x,n.y),t&&t.quadraticCurveTo(s.x,s.y,n.x,n.y)}static pathT(t){var{current:e}=t,i=t.getReflectedControlPoint();return t.control=i,{current:e,controlPoint:i,currentPoint:t.getAsCurrentPoint()}}pathT(t,e){var{pathParser:i}=this,{current:r,controlPoint:s,currentPoint:n}=tu.pathT(i);i.addMarker(n,s,s),e.addQuadraticCurve(r.x,r.y,s.x,s.y,n.x,n.y),t&&t.quadraticCurveTo(s.x,s.y,n.x,n.y)}static pathA(t){var{current:e,command:i}=t,{rX:r,rY:s,xRot:n,lArcFlag:a,sweepFlag:h}=i,o=n*(Math.PI/180),l=t.getAsCurrentPoint(),u=new j(Math.cos(o)*(e.x-l.x)/2+Math.sin(o)*(e.y-l.y)/2,-Math.sin(o)*(e.x-l.x)/2+Math.cos(o)*(e.y-l.y)/2),g=Math.pow(u.x,2)/Math.pow(r,2)+Math.pow(u.y,2)/Math.pow(s,2);g>1&&(r*=Math.sqrt(g),s*=Math.sqrt(g));var c=(a===h?-1:1)*Math.sqrt((Math.pow(r,2)*Math.pow(s,2)-Math.pow(r,2)*Math.pow(u.y,2)-Math.pow(s,2)*Math.pow(u.x,2))/(Math.pow(r,2)*Math.pow(u.y,2)+Math.pow(s,2)*Math.pow(u.x,2)));isNaN(c)&&(c=0);var d=new j(c*r*u.y/s,-(c*s)*u.x/r),p=new j((e.x+l.x)/2+Math.cos(o)*d.x-Math.sin(o)*d.y,(e.y+l.y)/2+Math.sin(o)*d.x+Math.cos(o)*d.y),f=O([1,0],[(u.x-d.x)/r,(u.y-d.y)/s]),y=[(u.x-d.x)/r,(u.y-d.y)/s],v=[(-u.x-d.x)/r,(-u.y-d.y)/s],m=O(y,v);return -1>=k(y,v)&&(m=Math.PI),k(y,v)>=1&&(m=0),{currentPoint:l,rX:r,rY:s,sweepFlag:h,xAxisRotation:o,centp:p,a1:f,ad:m}}pathA(t,e){var{pathParser:i}=this,{currentPoint:r,rX:s,rY:n,sweepFlag:a,xAxisRotation:h,centp:o,a1:l,ad:u}=tu.pathA(i),g=1-a?1:-1,c=l+g*(u/2),d=new j(o.x+s*Math.cos(c),o.y+n*Math.sin(c));if(i.addMarkerAngle(d,c-g*Math.PI/2),i.addMarkerAngle(r,c-g*Math.PI),e.addPoint(r.x,r.y),t&&!isNaN(l)&&!isNaN(u)){var p=s>n?s:n,f=s>n?1:s/n,y=s>n?n/s:1;t.translate(o.x,o.y),t.rotate(h),t.scale(f,y),t.arc(0,0,p,l,l+u,!!(1-a)),t.scale(1/f,1/y),t.rotate(-h),t.translate(-o.x,-o.y)}}static pathZ(t){t.current=t.start}pathZ(t,e){tu.pathZ(this.pathParser),t&&e.x1!==e.x2&&e.y1!==e.y2&&t.closePath()}}class tg extends tu{constructor(t,e,i){super(t,e,i),this.type="glyph",this.horizAdvX=this.getAttribute("horiz-adv-x").getNumber(),this.unicode=this.getAttribute("unicode").getString(),this.arabicForm=this.getAttribute("arabic-form").getString()}}class tc extends tl{constructor(t,e,i){super(t,e,new.target===tc||i),this.type="text",this.x=0,this.y=0,this.measureCache=-1}setContext(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];super.setContext(t,e);var i=this.getStyle("dominant-baseline").getTextBaseline()||this.getStyle("alignment-baseline").getTextBaseline();i&&(t.textBaseline=i)}initializeCoordinates(){this.x=0,this.y=0,this.leafTexts=[],this.textChunkStart=0,this.minX=Number.POSITIVE_INFINITY,this.maxX=Number.NEGATIVE_INFINITY}getBoundingBox(t){if("text"!==this.type)return this.getTElementBoundingBox(t);this.initializeCoordinates(),this.adjustChildCoordinatesRecursive(t);var e=null;return this.children.forEach((i,r)=>{var s=this.getChildBoundingBox(t,this,this,r);e?e.addBoundingBox(s):e=s}),e}getFontSize(){var{document:t,parent:e}=this,i=ta.parse(t.ctx.font).fontSize;return e.getStyle("font-size").getNumber(i)}getTElementBoundingBox(t){var e=this.getFontSize();return new th(this.x,this.y-e,this.x+this.measureText(t),this.y)}getGlyph(t,e,i){var r=e[i],s=null;if(t.isArabic){var n=e.length,a=e[i-1],h=e[i+1],o="isolated";if((0===i||" "===a)&&i<n-1&&" "!==h&&(o="terminal"),i>0&&" "!==a&&i<n-1&&" "!==h&&(o="medial"),i>0&&" "!==a&&(i===n-1||" "===h)&&(o="initial"),void 0!==t.glyphs[r]){var l=t.glyphs[r];s=l instanceof tg?l:l[o]}}else s=t.glyphs[r];return s||(s=t.missingGlyph),s}getText(){return""}getTextFromNode(t){var e=t||this.node,i=Array.from(e.parentNode.childNodes),r=i.indexOf(e),s=i.length-1,n=g(e.textContent||"");return 0===r&&(n=c(n)),r===s&&(n=d(n)),n}renderChildren(t){if("text"!==this.type){this.renderTElementChildren(t);return}this.initializeCoordinates(),this.adjustChildCoordinatesRecursive(t),this.children.forEach((e,i)=>{this.renderChild(t,this,this,i)});var{mouse:e}=this.document.screen;e.isWorking()&&e.checkBoundingBox(this,this.getBoundingBox(t))}renderTElementChildren(t){var{document:e,parent:i}=this,r=this.getText(),s=i.getStyle("font-family").getDefinition();if(s){for(var{unitsPerEm:n}=s.fontFace,a=ta.parse(e.ctx.font),h=i.getStyle("font-size").getNumber(a.fontSize),o=i.getStyle("font-style").getString(a.fontStyle),l=h/n,u=s.isRTL?r.split("").reverse().join(""):r,g=p(i.getAttribute("dx").getString()),c=u.length,d=0;d<c;d++){var f=this.getGlyph(s,u,d);t.translate(this.x,this.y),t.scale(l,-l);var y=t.lineWidth;t.lineWidth=t.lineWidth*n/h,"italic"===o&&t.transform(1,0,.4,1,0,0),f.render(t),"italic"===o&&t.transform(1,0,-.4,1,0,0),t.lineWidth=y,t.scale(1/l,-1/l),t.translate(-this.x,-this.y),this.x+=h*(f.horizAdvX||s.horizAdvX)/n,void 0===g[d]||isNaN(g[d])||(this.x+=g[d])}return}var{x:v,y:m}=this;t.fillStyle&&t.fillText(r,v,m),t.strokeStyle&&t.strokeText(r,v,m)}applyAnchoring(){if(!(this.textChunkStart>=this.leafTexts.length)){var t=this.leafTexts[this.textChunkStart],e=t.getStyle("text-anchor").getString("start"),i=0;i="start"===e?t.x-this.minX:"end"===e?t.x-this.maxX:t.x-(this.minX+this.maxX)/2;for(var r=this.textChunkStart;r<this.leafTexts.length;r++)this.leafTexts[r].x+=i;this.minX=Number.POSITIVE_INFINITY,this.maxX=Number.NEGATIVE_INFINITY,this.textChunkStart=this.leafTexts.length}}adjustChildCoordinatesRecursive(t){this.children.forEach((e,i)=>{this.adjustChildCoordinatesRecursiveCore(t,this,this,i)}),this.applyAnchoring()}adjustChildCoordinatesRecursiveCore(t,e,i,r){var s=i.children[r];s.children.length>0?s.children.forEach((i,r)=>{e.adjustChildCoordinatesRecursiveCore(t,e,s,r)}):this.adjustChildCoordinates(t,e,i,r)}adjustChildCoordinates(t,e,i,r){var s=i.children[r];if("function"!=typeof s.measureText)return s;t.save(),s.setContext(t,!0);var n=s.getAttribute("x"),a=s.getAttribute("y"),h=s.getAttribute("dx"),o=s.getAttribute("dy"),l=s.getStyle("font-family").getDefinition(),u=!!l&&l.isRTL;0!==r||(n.hasValue()||n.setValue(s.getInheritedAttribute("x")),a.hasValue()||a.setValue(s.getInheritedAttribute("y")),h.hasValue()||h.setValue(s.getInheritedAttribute("dx")),o.hasValue()||o.setValue(s.getInheritedAttribute("dy")));var g=s.measureText(t);return u&&(e.x-=g),n.hasValue()?(e.applyAnchoring(),s.x=n.getPixels("x"),h.hasValue()&&(s.x+=h.getPixels("x"))):(h.hasValue()&&(e.x+=h.getPixels("x")),s.x=e.x),e.x=s.x,u||(e.x+=g),a.hasValue()?(s.y=a.getPixels("y"),o.hasValue()&&(s.y+=o.getPixels("y"))):(o.hasValue()&&(e.y+=o.getPixels("y")),s.y=e.y),e.y=s.y,e.leafTexts.push(s),e.minX=Math.min(e.minX,s.x,s.x+g),e.maxX=Math.max(e.maxX,s.x,s.x+g),s.clearContext(t),t.restore(),s}getChildBoundingBox(t,e,i,r){var s=i.children[r];if("function"!=typeof s.getBoundingBox)return null;var n=s.getBoundingBox(t);return n?(s.children.forEach((i,r)=>{var a=e.getChildBoundingBox(t,e,s,r);n.addBoundingBox(a)}),n):null}renderChild(t,e,i,r){var s=i.children[r];s.render(t),s.children.forEach((i,r)=>{e.renderChild(t,e,s,r)})}measureText(t){var{measureCache:e}=this;if(~e)return e;var i=this.getText(),r=this.measureTargetText(t,i);return this.measureCache=r,r}measureTargetText(t,e){if(!e.length)return 0;var{parent:i}=this,r=i.getStyle("font-family").getDefinition();if(r){for(var s=this.getFontSize(),n=r.isRTL?e.split("").reverse().join(""):e,a=p(i.getAttribute("dx").getString()),h=n.length,o=0,l=0;l<h;l++)o+=(this.getGlyph(r,n,l).horizAdvX||r.horizAdvX)*s/r.fontFace.unitsPerEm,void 0===a[l]||isNaN(a[l])||(o+=a[l]);return o}if(!t.measureText)return 10*e.length;t.save(),this.setContext(t,!0);var{width:u}=t.measureText(e);return this.clearContext(t),t.restore(),u}getInheritedAttribute(t){for(var e=this;e instanceof tc&&e.isFirstChild();){var i=e.parent.getAttribute(t);if(i.hasValue(!0))return i.getValue("0");e=e.parent}return null}}class td extends tc{constructor(t,e,i){super(t,e,new.target===td||i),this.type="tspan",this.text=this.children.length>0?"":this.getTextFromNode()}getText(){return this.text}}class tp extends td{constructor(){super(...arguments),this.type="textNode"}}class tf extends tl{constructor(){super(...arguments),this.type="svg",this.root=!1}setContext(t){var e,{document:i}=this,{screen:r,window:s}=i,n=t.canvas;if(r.setDefaults(t),n.style&&void 0!==t.font&&s&&void 0!==s.getComputedStyle){t.font=s.getComputedStyle(n).getPropertyValue("font");var a=new F(i,"fontSize",ta.parse(t.font).fontSize);a.hasValue()&&(i.rootEmSize=a.getPixels("y"),i.emSize=i.rootEmSize)}this.getAttribute("x").hasValue()||this.getAttribute("x",!0).setValue(0),this.getAttribute("y").hasValue()||this.getAttribute("y",!0).setValue(0);var{width:h,height:o}=r.viewPort;this.getStyle("width").hasValue()||this.getStyle("width",!0).setValue("100%"),this.getStyle("height").hasValue()||this.getStyle("height",!0).setValue("100%"),this.getStyle("color").hasValue()||this.getStyle("color",!0).setValue("black");var l=this.getAttribute("refX"),u=this.getAttribute("refY"),g=this.getAttribute("viewBox"),c=g.hasValue()?p(g.getString()):null,d=!this.root&&"visible"!==this.getStyle("overflow").getValue("hidden"),f=0,y=0,v=0,m=0;c&&(f=c[0],y=c[1]),this.root||(h=this.getStyle("width").getPixels("x"),o=this.getStyle("height").getPixels("y"),"marker"!==this.type||(v=f,m=y,f=0,y=0)),r.viewPort.setCurrent(h,o),this.node&&(!this.parent||(null===(e=this.node.parentNode)||void 0===e?void 0:e.nodeName)==="foreignObject")&&this.getStyle("transform",!1,!0).hasValue()&&!this.getStyle("transform-origin",!1,!0).hasValue()&&this.getStyle("transform-origin",!0,!0).setValue("50% 50%"),super.setContext(t),t.translate(this.getAttribute("x").getPixels("x"),this.getAttribute("y").getPixels("y")),c&&(h=c[2],o=c[3]),i.setViewBox({ctx:t,aspectRatio:this.getAttribute("preserveAspectRatio").getString(),width:r.viewPort.width,desiredWidth:h,height:r.viewPort.height,desiredHeight:o,minX:f,minY:y,refX:l.getValue(),refY:u.getValue(),clip:d,clipX:v,clipY:m}),c&&(r.viewPort.removeCurrent(),r.viewPort.setCurrent(h,o))}clearContext(t){super.clearContext(t),this.document.screen.viewPort.removeCurrent()}resize(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:t,i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=this.getAttribute("width",!0),s=this.getAttribute("height",!0),n=this.getAttribute("viewBox"),a=this.getAttribute("style"),h=r.getNumber(0),o=s.getNumber(0);if(i){if("string"==typeof i)this.getAttribute("preserveAspectRatio",!0).setValue(i);else{var l=this.getAttribute("preserveAspectRatio");l.hasValue()&&l.setValue(l.getString().replace(/^\s*(\S.*\S)\s*$/,"$1"))}}if(r.setValue(t),s.setValue(e),n.hasValue()||n.setValue("0 0 ".concat(h||t," ").concat(o||e)),a.hasValue()){var u=this.getStyle("width"),g=this.getStyle("height");u.hasValue()&&u.setValue("".concat(t,"px")),g.hasValue()&&g.setValue("".concat(e,"px"))}}}class ty extends tu{constructor(){super(...arguments),this.type="rect"}path(t){var e=this.getAttribute("x").getPixels("x"),i=this.getAttribute("y").getPixels("y"),r=this.getStyle("width",!1,!0).getPixels("x"),s=this.getStyle("height",!1,!0).getPixels("y"),n=this.getAttribute("rx"),a=this.getAttribute("ry"),h=n.getPixels("x"),o=a.getPixels("y");if(n.hasValue()&&!a.hasValue()&&(o=h),a.hasValue()&&!n.hasValue()&&(h=o),h=Math.min(h,r/2),o=Math.min(o,s/2),t){var l=4*((Math.sqrt(2)-1)/3);t.beginPath(),s>0&&r>0&&(t.moveTo(e+h,i),t.lineTo(e+r-h,i),t.bezierCurveTo(e+r-h+l*h,i,e+r,i+o-l*o,e+r,i+o),t.lineTo(e+r,i+s-o),t.bezierCurveTo(e+r,i+s-o+l*o,e+r-h+l*h,i+s,e+r-h,i+s),t.lineTo(e+h,i+s),t.bezierCurveTo(e+h-l*h,i+s,e,i+s-o+l*o,e,i+s-o),t.lineTo(e,i+o),t.bezierCurveTo(e,i+o-l*o,e+h-l*h,i,e+h,i),t.closePath())}return new th(e,i,e+r,i+s)}getMarkers(){return null}}class tv extends tu{constructor(){super(...arguments),this.type="circle"}path(t){var e=this.getAttribute("cx").getPixels("x"),i=this.getAttribute("cy").getPixels("y"),r=this.getAttribute("r").getPixels();return t&&r>0&&(t.beginPath(),t.arc(e,i,r,0,2*Math.PI,!1),t.closePath()),new th(e-r,i-r,e+r,i+r)}getMarkers(){return null}}class tm extends tu{constructor(){super(...arguments),this.type="ellipse"}path(t){var e=4*((Math.sqrt(2)-1)/3),i=this.getAttribute("rx").getPixels("x"),r=this.getAttribute("ry").getPixels("y"),s=this.getAttribute("cx").getPixels("x"),n=this.getAttribute("cy").getPixels("y");return t&&i>0&&r>0&&(t.beginPath(),t.moveTo(s+i,n),t.bezierCurveTo(s+i,n+e*r,s+e*i,n+r,s,n+r),t.bezierCurveTo(s-e*i,n+r,s-i,n+e*r,s-i,n),t.bezierCurveTo(s-i,n-e*r,s-e*i,n-r,s,n-r),t.bezierCurveTo(s+e*i,n-r,s+i,n-e*r,s+i,n),t.closePath()),new th(s-i,n-r,s+i,n+r)}getMarkers(){return null}}class tx extends tu{constructor(){super(...arguments),this.type="line"}getPoints(){return[new j(this.getAttribute("x1").getPixels("x"),this.getAttribute("y1").getPixels("y")),new j(this.getAttribute("x2").getPixels("x"),this.getAttribute("y2").getPixels("y"))]}path(t){var[{x:e,y:i},{x:r,y:s}]=this.getPoints();return t&&(t.beginPath(),t.moveTo(e,i),t.lineTo(r,s)),new th(e,i,r,s)}getMarkers(){var[t,e]=this.getPoints(),i=t.angleTo(e);return[[t,i],[e,i]]}}class tb extends tu{constructor(t,e,i){super(t,e,i),this.type="polyline",this.points=[],this.points=j.parsePath(this.getAttribute("points").getString())}path(t){var{points:e}=this,[{x:i,y:r}]=e,s=new th(i,r);return t&&(t.beginPath(),t.moveTo(i,r)),e.forEach(e=>{var{x:i,y:r}=e;s.addPoint(i,r),t&&t.lineTo(i,r)}),s}getMarkers(){var{points:t}=this,e=t.length-1,i=[];return t.forEach((r,s)=>{s!==e&&i.push([r,r.angleTo(t[s+1])])}),i.length>0&&i.push([t[t.length-1],i[i.length-1][1]]),i}}class tS extends tb{constructor(){super(...arguments),this.type="polygon"}path(t){var e=super.path(t),[{x:i,y:r}]=this.points;return t&&(t.lineTo(i,r),t.closePath()),e}}class tw extends tr{constructor(){super(...arguments),this.type="pattern"}createPattern(t,e,i){var r=this.getStyle("width").getPixels("x",!0),s=this.getStyle("height").getPixels("y",!0),n=new tf(this.document,null);n.attributes.viewBox=new F(this.document,"viewBox",this.getAttribute("viewBox").getValue()),n.attributes.width=new F(this.document,"width","".concat(r,"px")),n.attributes.height=new F(this.document,"height","".concat(s,"px")),n.attributes.transform=new F(this.document,"transform",this.getAttribute("patternTransform").getValue()),n.children=this.children;var a=this.document.createCanvas(r,s),h=a.getContext("2d"),o=this.getAttribute("x"),l=this.getAttribute("y");o.hasValue()&&l.hasValue()&&h.translate(o.getPixels("x",!0),l.getPixels("y",!0)),i.hasValue()?this.styles["fill-opacity"]=i:Reflect.deleteProperty(this.styles,"fill-opacity");for(var u=-1;u<=1;u++)for(var g=-1;g<=1;g++)h.save(),n.attributes.x=new F(this.document,"x",u*a.width),n.attributes.y=new F(this.document,"y",g*a.height),n.render(h),h.restore();return t.createPattern(a,"repeat")}}class tP extends tr{constructor(){super(...arguments),this.type="marker"}render(t,e,i){if(e){var{x:r,y:s}=e,n=this.getAttribute("orient").getString("auto"),a=this.getAttribute("markerUnits").getString("strokeWidth");t.translate(r,s),"auto"===n&&t.rotate(i),"strokeWidth"===a&&t.scale(t.lineWidth,t.lineWidth),t.save();var h=new tf(this.document,null);h.type=this.type,h.attributes.viewBox=new F(this.document,"viewBox",this.getAttribute("viewBox").getValue()),h.attributes.refX=new F(this.document,"refX",this.getAttribute("refX").getValue()),h.attributes.refY=new F(this.document,"refY",this.getAttribute("refY").getValue()),h.attributes.width=new F(this.document,"width",this.getAttribute("markerWidth").getValue()),h.attributes.height=new F(this.document,"height",this.getAttribute("markerHeight").getValue()),h.attributes.overflow=new F(this.document,"overflow",this.getAttribute("overflow").getValue()),h.attributes.fill=new F(this.document,"fill",this.getAttribute("fill").getColor("black")),h.attributes.stroke=new F(this.document,"stroke",this.getAttribute("stroke").getValue("none")),h.children=this.children,h.render(t),t.restore(),"strokeWidth"===a&&t.scale(1/t.lineWidth,1/t.lineWidth),"auto"===n&&t.rotate(-i),t.translate(-r,-s)}}}class tA extends tr{constructor(){super(...arguments),this.type="defs"}render(){}}class tC extends tl{constructor(){super(...arguments),this.type="g"}getBoundingBox(t){var e=new th;return this.children.forEach(i=>{e.addBoundingBox(i.getBoundingBox(t))}),e}}class tT extends tr{constructor(t,e,i){super(t,e,i),this.attributesToInherit=["gradientUnits"],this.stops=[];var{stops:r,children:s}=this;s.forEach(t=>{"stop"===t.type&&r.push(t)})}getGradientUnits(){return this.getAttribute("gradientUnits").getString("objectBoundingBox")}createGradient(t,e,i){var r=this;this.getHrefAttribute().hasValue()&&(r=this.getHrefAttribute().getDefinition(),this.inheritStopContainer(r));var{stops:s}=r,n=this.getGradient(t,e);if(!n)return this.addParentOpacity(i,s[s.length-1].color);if(s.forEach(t=>{n.addColorStop(t.offset,this.addParentOpacity(i,t.color))}),this.getAttribute("gradientTransform").hasValue()){var{document:a}=this,{MAX_VIRTUAL_PIXELS:h,viewPort:o}=a.screen,[l]=o.viewPorts,u=new ty(a,null);u.attributes.x=new F(a,"x",-h/3),u.attributes.y=new F(a,"y",-h/3),u.attributes.width=new F(a,"width",h),u.attributes.height=new F(a,"height",h);var g=new tC(a,null);g.attributes.transform=new F(a,"transform",this.getAttribute("gradientTransform").getValue()),g.children=[u];var c=new tf(a,null);c.attributes.x=new F(a,"x",0),c.attributes.y=new F(a,"y",0),c.attributes.width=new F(a,"width",l.width),c.attributes.height=new F(a,"height",l.height),c.children=[g];var d=a.createCanvas(l.width,l.height),p=d.getContext("2d");return p.fillStyle=n,c.render(p),p.createPattern(d,"no-repeat")}return n}inheritStopContainer(t){this.attributesToInherit.forEach(e=>{!this.getAttribute(e).hasValue()&&t.getAttribute(e).hasValue()&&this.getAttribute(e,!0).setValue(t.getAttribute(e).getValue())})}addParentOpacity(t,e){return t.hasValue()?new F(this.document,"color",e).addOpacity(t).getColor():e}}class tV extends tT{constructor(t,e,i){super(t,e,i),this.type="linearGradient",this.attributesToInherit.push("x1","y1","x2","y2")}getGradient(t,e){var i="objectBoundingBox"===this.getGradientUnits(),r=i?e.getBoundingBox(t):null;if(i&&!r)return null;this.getAttribute("x1").hasValue()||this.getAttribute("y1").hasValue()||this.getAttribute("x2").hasValue()||this.getAttribute("y2").hasValue()||(this.getAttribute("x1",!0).setValue(0),this.getAttribute("y1",!0).setValue(0),this.getAttribute("x2",!0).setValue(1),this.getAttribute("y2",!0).setValue(0));var s=i?r.x+r.width*this.getAttribute("x1").getNumber():this.getAttribute("x1").getPixels("x"),n=i?r.y+r.height*this.getAttribute("y1").getNumber():this.getAttribute("y1").getPixels("y"),a=i?r.x+r.width*this.getAttribute("x2").getNumber():this.getAttribute("x2").getPixels("x"),h=i?r.y+r.height*this.getAttribute("y2").getNumber():this.getAttribute("y2").getPixels("y");return s===a&&n===h?null:t.createLinearGradient(s,n,a,h)}}class tE extends tT{constructor(t,e,i){super(t,e,i),this.type="radialGradient",this.attributesToInherit.push("cx","cy","r","fx","fy","fr")}getGradient(t,e){var i="objectBoundingBox"===this.getGradientUnits(),r=e.getBoundingBox(t);if(i&&!r)return null;this.getAttribute("cx").hasValue()||this.getAttribute("cx",!0).setValue("50%"),this.getAttribute("cy").hasValue()||this.getAttribute("cy",!0).setValue("50%"),this.getAttribute("r").hasValue()||this.getAttribute("r",!0).setValue("50%");var s=i?r.x+r.width*this.getAttribute("cx").getNumber():this.getAttribute("cx").getPixels("x"),n=i?r.y+r.height*this.getAttribute("cy").getNumber():this.getAttribute("cy").getPixels("y"),a=s,h=n;this.getAttribute("fx").hasValue()&&(a=i?r.x+r.width*this.getAttribute("fx").getNumber():this.getAttribute("fx").getPixels("x")),this.getAttribute("fy").hasValue()&&(h=i?r.y+r.height*this.getAttribute("fy").getNumber():this.getAttribute("fy").getPixels("y"));var o=i?(r.width+r.height)/2*this.getAttribute("r").getNumber():this.getAttribute("r").getPixels(),l=this.getAttribute("fr").getPixels();return t.createRadialGradient(a,h,l,s,n,o)}}class tM extends tr{constructor(t,e,i){super(t,e,i),this.type="stop";var r=Math.max(0,Math.min(1,this.getAttribute("offset").getNumber())),s=this.getStyle("stop-opacity"),n=this.getStyle("stop-color",!0);""===n.getString()&&n.setValue("#000"),s.hasValue()&&(n=n.addOpacity(s)),this.offset=r,this.color=n.getColor()}}class tk extends tr{constructor(t,e,i){super(t,e,i),this.type="animate",this.duration=0,this.initialValue=null,this.initialUnits="",this.removed=!1,this.frozen=!1,t.screen.animations.push(this),this.begin=this.getAttribute("begin").getMilliseconds(),this.maxDuration=this.begin+this.getAttribute("dur").getMilliseconds(),this.from=this.getAttribute("from"),this.to=this.getAttribute("to"),this.values=new F(t,"values",null);var r=this.getAttribute("values");r.hasValue()&&this.values.setValue(r.getString().split(";"))}getProperty(){var t=this.getAttribute("attributeType").getString(),e=this.getAttribute("attributeName").getString();return"CSS"===t?this.parent.getStyle(e,!0):this.parent.getAttribute(e,!0)}calcValue(){var{initialUnits:t}=this,{progress:e,from:i,to:r}=this.getProgress(),s=i.getNumber()+(r.getNumber()-i.getNumber())*e;return"%"===t&&(s*=100),"".concat(s).concat(t)}update(t){var{parent:e}=this,i=this.getProperty();if(this.initialValue||(this.initialValue=i.getString(),this.initialUnits=i.getUnits()),this.duration>this.maxDuration){var r=this.getAttribute("fill").getString("remove");if("indefinite"===this.getAttribute("repeatCount").getString()||"indefinite"===this.getAttribute("repeatDur").getString())this.duration=0;else if("freeze"!==r||this.frozen){if("remove"===r&&!this.removed)return this.removed=!0,i.setValue(e.animationFrozen?e.animationFrozenValue:this.initialValue),!0}else this.frozen=!0,e.animationFrozen=!0,e.animationFrozenValue=i.getString();return!1}this.duration+=t;var s=!1;if(this.begin<this.duration){var n=this.calcValue(),a=this.getAttribute("type");if(a.hasValue()){var h=a.getString();n="".concat(h,"(").concat(n,")")}i.setValue(n),s=!0}return s}getProgress(){var{document:t,values:e}=this,i={progress:(this.duration-this.begin)/(this.maxDuration-this.begin)};if(e.hasValue()){var r=i.progress*(e.getValue().length-1),s=Math.floor(r),n=Math.ceil(r);i.from=new F(t,"from",parseFloat(e.getValue()[s])),i.to=new F(t,"to",parseFloat(e.getValue()[n])),i.progress=(r-s)/(n-s)}else i.from=this.from,i.to=this.to;return i}}class tO extends tk{constructor(){super(...arguments),this.type="animateColor"}calcValue(){var{progress:t,from:e,to:i}=this.getProgress(),r=new a(e.getColor()),s=new a(i.getColor());if(r.ok&&s.ok){var n=r.r+(s.r-r.r)*t,h=r.g+(s.g-r.g)*t,o=r.b+(s.b-r.b)*t;return"rgb(".concat(Math.floor(n),", ").concat(Math.floor(h),", ").concat(Math.floor(o),")")}return this.getAttribute("from").getColor()}}class tN extends tk{constructor(){super(...arguments),this.type="animateTransform"}calcValue(){var{progress:t,from:e,to:i}=this.getProgress(),r=p(e.getString()),s=p(i.getString());return r.map((e,i)=>e+(s[i]-e)*t).join(" ")}}class tB extends tr{constructor(t,e,i){super(t,e,i),this.type="font",this.glyphs={},this.horizAdvX=this.getAttribute("horiz-adv-x").getNumber();var{definitions:r}=t,{children:s}=this;for(var n of s)switch(n.type){case"font-face":this.fontFace=n;var a=n.getStyle("font-family");a.hasValue()&&(r[a.getString()]=this);break;case"missing-glyph":this.missingGlyph=n;break;case"glyph":n.arabicForm?(this.isRTL=!0,this.isArabic=!0,void 0===this.glyphs[n.unicode]&&(this.glyphs[n.unicode]={}),this.glyphs[n.unicode][n.arabicForm]=n):this.glyphs[n.unicode]=n}}render(){}}class tD extends tr{constructor(t,e,i){super(t,e,i),this.type="font-face",this.ascent=this.getAttribute("ascent").getNumber(),this.descent=this.getAttribute("descent").getNumber(),this.unitsPerEm=this.getAttribute("units-per-em").getNumber()}}class tz extends tu{constructor(){super(...arguments),this.type="missing-glyph",this.horizAdvX=0}}class tL extends tc{constructor(){super(...arguments),this.type="tref"}getText(){var t=this.getHrefAttribute().getDefinition();if(t){var e=t.children[0];if(e)return e.getText()}return""}}class tI extends tc{constructor(t,e,i){super(t,e,i),this.type="a";var{childNodes:r}=e,s=r[0],n=r.length>0&&Array.from(r).every(t=>3===t.nodeType);this.hasText=n,this.text=n?this.getTextFromNode(s):""}getText(){return this.text}renderChildren(t){if(this.hasText){super.renderChildren(t);var{document:e,x:i,y:r}=this,{mouse:s}=e.screen,n=new F(e,"fontSize",ta.parse(e.ctx.font).fontSize);s.isWorking()&&s.checkBoundingBox(this,new th(i,r-n.getPixels("y"),i+this.measureText(t),r))}else if(this.children.length>0){var a=new tC(this.document,null);a.children=this.children,a.parent=this,a.render(t)}}onClick(){var{window:t}=this.document;t&&t.open(this.getHrefAttribute().getString())}onMouseMove(){this.document.ctx.canvas.style.cursor="pointer"}}function tR(t,e){var i=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),i.push.apply(i,r)}return i}function tF(t){for(var e=1;e<arguments.length;e++){var i=null!=arguments[e]?arguments[e]:{};e%2?tR(Object(i),!0).forEach(function(e){(0,s.Z)(t,e,i[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(i)):tR(Object(i)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(i,e))})}return t}class t_ extends tc{constructor(t,e,i){super(t,e,i),this.type="textPath",this.textWidth=0,this.textHeight=0,this.pathLength=-1,this.glyphInfo=null,this.letterSpacingCache=[],this.measuresCache=new Map([["",0]]);var r=this.getHrefAttribute().getDefinition();this.text=this.getTextFromNode(),this.dataArray=this.parsePathData(r)}getText(){return this.text}path(t){var{dataArray:e}=this;t&&t.beginPath(),e.forEach(e=>{var{type:i,points:r}=e;switch(i){case to.LINE_TO:t&&t.lineTo(r[0],r[1]);break;case to.MOVE_TO:t&&t.moveTo(r[0],r[1]);break;case to.CURVE_TO:t&&t.bezierCurveTo(r[0],r[1],r[2],r[3],r[4],r[5]);break;case to.QUAD_TO:t&&t.quadraticCurveTo(r[0],r[1],r[2],r[3]);break;case to.ARC:var[s,n,a,h,o,l,u,g]=r,c=a>h?1:a/h,d=a>h?h/a:1;t&&(t.translate(s,n),t.rotate(u),t.scale(c,d),t.arc(0,0,a>h?a:h,o,o+l,!!(1-g)),t.scale(1/c,1/d),t.rotate(-u),t.translate(-s,-n));break;case to.CLOSE_PATH:t&&t.closePath()}})}renderChildren(t){this.setTextData(t),t.save();var e=this.parent.getStyle("text-decoration").getString(),i=this.getFontSize(),{glyphInfo:r}=this,s=t.fillStyle;"underline"===e&&t.beginPath(),r.forEach((r,s)=>{var{p0:n,p1:a,rotation:h,text:o}=r;t.save(),t.translate(n.x,n.y),t.rotate(h),t.fillStyle&&t.fillText(o,0,0),t.strokeStyle&&t.strokeText(o,0,0),t.restore(),"underline"===e&&(0===s&&t.moveTo(n.x,n.y+i/8),t.lineTo(a.x,a.y+i/5))}),"underline"===e&&(t.lineWidth=i/20,t.strokeStyle=s,t.stroke(),t.closePath()),t.restore()}getLetterSpacingAt(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return this.letterSpacingCache[t]||0}findSegmentToFitChar(t,e,i,r,s,n,a,h,o){var l=n,u=this.measureText(t,h);" "===h&&"justify"===e&&i<r&&(u+=(r-i)/s),o>-1&&(l+=this.getLetterSpacingAt(o));var g=this.textHeight/20,c=this.getEquidistantPointOnPath(l,g,0),d=this.getEquidistantPointOnPath(l+u,g,0),p={p0:c,p1:d},f=c&&d?Math.atan2(d.y-c.y,d.x-c.x):0;if(a){var y=Math.cos(Math.PI/2+f)*a,v=Math.cos(-f)*a;p.p0=tF(tF({},c),{},{x:c.x+y,y:c.y+v}),p.p1=tF(tF({},d),{},{x:d.x+y,y:d.y+v})}return{offset:l+=u,segment:p,rotation:f}}measureText(t,e){var{measuresCache:i}=this,r=e||this.getText();if(i.has(r))return i.get(r);var s=this.measureTargetText(t,r);return i.set(r,s),s}setTextData(t){if(!this.glyphInfo){var e=this.getText(),i=e.split(""),r=e.split(" ").length-1,s=this.parent.getAttribute("dx").split().map(t=>t.getPixels("x")),n=this.parent.getAttribute("dy").getPixels("y"),a=this.parent.getStyle("text-anchor").getString("start"),h=this.getStyle("letter-spacing"),o=this.parent.getStyle("letter-spacing"),l=0;h.hasValue()&&"inherit"!==h.getValue()?h.hasValue()&&"initial"!==h.getValue()&&"unset"!==h.getValue()&&(l=h.getPixels()):l=o.getPixels();var u=[],g=e.length;this.letterSpacingCache=u;for(var c=0;c<g;c++)u.push(void 0!==s[c]?s[c]:l);var d=u.reduce((t,e,i)=>0===i?0:t+e||0,0),p=this.measureText(t),f=Math.max(p+d,0);this.textWidth=p,this.textHeight=this.getFontSize(),this.glyphInfo=[];var y=this.getPathLength(),v=this.getStyle("startOffset").getNumber(0)*y,m=0;("middle"===a||"center"===a)&&(m=-f/2),("end"===a||"right"===a)&&(m=-f),m+=v,i.forEach((e,s)=>{var{offset:h,segment:o,rotation:l}=this.findSegmentToFitChar(t,a,f,y,r,m,n,e,s);m=h,o.p0&&o.p1&&this.glyphInfo.push({text:i[s],p0:o.p0,p1:o.p1,rotation:l})})}}parsePathData(t){if(this.pathLength=-1,!t)return[];var e=[],{pathParser:i}=t;for(i.reset();!i.isEnd();){var{current:r}=i,s=r?r.x:0,n=r?r.y:0,a=i.next(),h=a.type,o=[];switch(a.type){case to.MOVE_TO:this.pathM(i,o);break;case to.LINE_TO:h=this.pathL(i,o);break;case to.HORIZ_LINE_TO:h=this.pathH(i,o);break;case to.VERT_LINE_TO:h=this.pathV(i,o);break;case to.CURVE_TO:this.pathC(i,o);break;case to.SMOOTH_CURVE_TO:h=this.pathS(i,o);break;case to.QUAD_TO:this.pathQ(i,o);break;case to.SMOOTH_QUAD_TO:h=this.pathT(i,o);break;case to.ARC:o=this.pathA(i);break;case to.CLOSE_PATH:tu.pathZ(i)}a.type!==to.CLOSE_PATH?e.push({type:h,points:o,start:{x:s,y:n},pathLength:this.calcLength(s,n,h,o)}):e.push({type:to.CLOSE_PATH,points:[],pathLength:0})}return e}pathM(t,e){var{x:i,y:r}=tu.pathM(t).point;e.push(i,r)}pathL(t,e){var{x:i,y:r}=tu.pathL(t).point;return e.push(i,r),to.LINE_TO}pathH(t,e){var{x:i,y:r}=tu.pathH(t).point;return e.push(i,r),to.LINE_TO}pathV(t,e){var{x:i,y:r}=tu.pathV(t).point;return e.push(i,r),to.LINE_TO}pathC(t,e){var{point:i,controlPoint:r,currentPoint:s}=tu.pathC(t);e.push(i.x,i.y,r.x,r.y,s.x,s.y)}pathS(t,e){var{point:i,controlPoint:r,currentPoint:s}=tu.pathS(t);return e.push(i.x,i.y,r.x,r.y,s.x,s.y),to.CURVE_TO}pathQ(t,e){var{controlPoint:i,currentPoint:r}=tu.pathQ(t);e.push(i.x,i.y,r.x,r.y)}pathT(t,e){var{controlPoint:i,currentPoint:r}=tu.pathT(t);return e.push(i.x,i.y,r.x,r.y),to.QUAD_TO}pathA(t){var{rX:e,rY:i,sweepFlag:r,xAxisRotation:s,centp:n,a1:a,ad:h}=tu.pathA(t);return 0===r&&h>0&&(h-=2*Math.PI),1===r&&h<0&&(h+=2*Math.PI),[n.x,n.y,e,i,a,h,s,r]}calcLength(t,e,i,r){var s=0,n=null,a=null,h=0;switch(i){case to.LINE_TO:return this.getLineLength(t,e,r[0],r[1]);case to.CURVE_TO:for(h=.01,s=0,n=this.getPointOnCubicBezier(0,t,e,r[0],r[1],r[2],r[3],r[4],r[5]);h<=1;h+=.01)a=this.getPointOnCubicBezier(h,t,e,r[0],r[1],r[2],r[3],r[4],r[5]),s+=this.getLineLength(n.x,n.y,a.x,a.y),n=a;return s;case to.QUAD_TO:for(h=.01,s=0,n=this.getPointOnQuadraticBezier(0,t,e,r[0],r[1],r[2],r[3]);h<=1;h+=.01)a=this.getPointOnQuadraticBezier(h,t,e,r[0],r[1],r[2],r[3]),s+=this.getLineLength(n.x,n.y,a.x,a.y),n=a;return s;case to.ARC:s=0;var o=r[4],l=r[5],u=r[4]+l,g=Math.PI/180;if(Math.abs(o-u)<g&&(g=Math.abs(o-u)),n=this.getPointOnEllipticalArc(r[0],r[1],r[2],r[3],o,0),l<0)for(h=o-g;h>u;h-=g)a=this.getPointOnEllipticalArc(r[0],r[1],r[2],r[3],h,0),s+=this.getLineLength(n.x,n.y,a.x,a.y),n=a;else for(h=o+g;h<u;h+=g)a=this.getPointOnEllipticalArc(r[0],r[1],r[2],r[3],h,0),s+=this.getLineLength(n.x,n.y,a.x,a.y),n=a;return a=this.getPointOnEllipticalArc(r[0],r[1],r[2],r[3],u,0),s+=this.getLineLength(n.x,n.y,a.x,a.y)}return 0}getPointOnLine(t,e,i,r,s){var n=arguments.length>5&&void 0!==arguments[5]?arguments[5]:e,a=arguments.length>6&&void 0!==arguments[6]?arguments[6]:i,h=(s-i)/(r-e+E),o=Math.sqrt(t*t/(1+h*h));r<e&&(o*=-1);var l=h*o,u=null;if(r===e)u={x:n,y:a+l};else if((a-i)/(n-e+E)===h)u={x:n+o,y:a+l};else{var g=0,c=0,d=this.getLineLength(e,i,r,s);if(d<E)return null;var p=(n-e)*(r-e)+(a-i)*(s-i);p/=d*d,g=e+p*(r-e),c=i+p*(s-i);var f=this.getLineLength(n,a,g,c),y=Math.sqrt(t*t-f*f);o=Math.sqrt(y*y/(1+h*h)),r<e&&(o*=-1),l=h*o,u={x:g+o,y:c+l}}return u}getPointOnPath(t){var e=this.getPathLength(),i=0,r=null;if(t<-.00005||t-5e-5>e)return null;var{dataArray:s}=this;for(var n of s){if(n&&(n.pathLength<5e-5||i+n.pathLength+5e-5<t)){i+=n.pathLength;continue}var a=t-i,h=0;switch(n.type){case to.LINE_TO:r=this.getPointOnLine(a,n.start.x,n.start.y,n.points[0],n.points[1],n.start.x,n.start.y);break;case to.ARC:var o=n.points[4],l=n.points[5],u=n.points[4]+l;if(h=o+a/n.pathLength*l,l<0&&h<u||l>=0&&h>u)break;r=this.getPointOnEllipticalArc(n.points[0],n.points[1],n.points[2],n.points[3],h,n.points[6]);break;case to.CURVE_TO:(h=a/n.pathLength)>1&&(h=1),r=this.getPointOnCubicBezier(h,n.start.x,n.start.y,n.points[0],n.points[1],n.points[2],n.points[3],n.points[4],n.points[5]);break;case to.QUAD_TO:(h=a/n.pathLength)>1&&(h=1),r=this.getPointOnQuadraticBezier(h,n.start.x,n.start.y,n.points[0],n.points[1],n.points[2],n.points[3])}if(r)return r;break}return null}getLineLength(t,e,i,r){return Math.sqrt((i-t)*(i-t)+(r-e)*(r-e))}getPathLength(){return -1===this.pathLength&&(this.pathLength=this.dataArray.reduce((t,e)=>e.pathLength>0?t+e.pathLength:t,0)),this.pathLength}getPointOnCubicBezier(t,e,i,r,s,n,a,h,o){return{x:h*N(t)+n*B(t)+r*D(t)+e*z(t),y:o*N(t)+a*B(t)+s*D(t)+i*z(t)}}getPointOnQuadraticBezier(t,e,i,r,s,n,a){return{x:n*(t*t)+r*I(t)+e*R(t),y:a*(t*t)+s*I(t)+i*R(t)}}getPointOnEllipticalArc(t,e,i,r,s,n){var a=Math.cos(n),h=Math.sin(n),o={x:i*Math.cos(s),y:r*Math.sin(s)};return{x:t+(o.x*a-o.y*h),y:e+(o.x*h+o.y*a)}}buildEquidistantCache(t,e){var i=this.getPathLength(),r=e||.25,s=t||i/100;if(!this.equidistantCache||this.equidistantCache.step!==s||this.equidistantCache.precision!==r){this.equidistantCache={step:s,precision:r,points:[]};for(var n=0,a=0;a<=i;a+=r){var h=this.getPointOnPath(a),o=this.getPointOnPath(a+r);h&&o&&(n+=this.getLineLength(h.x,h.y,o.x,o.y))>=s&&(this.equidistantCache.points.push({x:h.x,y:h.y,distance:a}),n-=s)}}}getEquidistantPointOnPath(t,e,i){if(this.buildEquidistantCache(e,i),t<0||t-this.getPathLength()>5e-5)return null;var r=Math.round(t/this.getPathLength()*(this.equidistantCache.points.length-1));return this.equidistantCache.points[r]||null}}var tj=/^\s*data:(([^/,;]+\/[^/,;]+)(?:;([^,;=]+=[^,;=]+))?)?(?:;(base64))?,(.*)$/i;class tU extends tl{constructor(t,e,i){super(t,e,i),this.type="image",this.loaded=!1;var r=this.getHrefAttribute().getString();if(!r)return;var s=r.endsWith(".svg")||/^\s*data:image\/svg\+xml/i.test(r);t.images.push(this),s?this.loadSvg(r):this.loadImage(r),this.isSvg=s}loadImage(t){var e=this;return(0,r.Z)(function*(){try{var i=yield e.document.createImage(t);e.image=i}catch(e){console.error('Error while loading image "'.concat(t,'":'),e)}e.loaded=!0})()}loadSvg(t){var e=this;return(0,r.Z)(function*(){var i=tj.exec(t);if(i){var r=i[5];"base64"===i[4]?e.image=atob(r):e.image=decodeURIComponent(r)}else try{var s=yield e.document.fetch(t),n=yield s.text();e.image=n}catch(e){console.error('Error while loading image "'.concat(t,'":'),e)}e.loaded=!0})()}renderChildren(t){var{document:e,image:i,loaded:r}=this,s=this.getAttribute("x").getPixels("x"),n=this.getAttribute("y").getPixels("y"),a=this.getStyle("width").getPixels("x"),h=this.getStyle("height").getPixels("y");if(r&&i&&a&&h){if(t.save(),t.translate(s,n),this.isSvg){var o=e.canvg.forkString(t,this.image,{ignoreMouse:!0,ignoreAnimation:!0,ignoreDimensions:!0,ignoreClear:!0,offsetX:0,offsetY:0,scaleWidth:a,scaleHeight:h});o.document.documentElement.parent=this,o.render()}else{var l=this.image;e.setViewBox({ctx:t,aspectRatio:this.getAttribute("preserveAspectRatio").getString(),width:a,desiredWidth:l.width,height:h,desiredHeight:l.height}),this.loaded&&(void 0===l.complete||l.complete)&&t.drawImage(l,0,0)}t.restore()}}getBoundingBox(){var t=this.getAttribute("x").getPixels("x"),e=this.getAttribute("y").getPixels("y"),i=this.getStyle("width").getPixels("x"),r=this.getStyle("height").getPixels("y");return new th(t,e,t+i,e+r)}}class tX extends tl{constructor(){super(...arguments),this.type="symbol"}render(t){}}class tW{constructor(t){this.document=t,this.loaded=!1,t.fonts.push(this)}load(t,e){var i=this;return(0,r.Z)(function*(){try{var{document:r}=i,s=(yield r.canvg.parser.load(e)).getElementsByTagName("font");Array.from(s).forEach(e=>{var i=r.createElement(e);r.definitions[t]=i})}catch(t){console.error('Error while loading font "'.concat(e,'":'),t)}i.loaded=!0})()}}class tH extends tr{constructor(t,e,i){super(t,e,i),this.type="style",g(Array.from(e.childNodes).map(t=>t.textContent).join("").replace(/(\/\*([^*]|[\r\n]|(\*+([^*/]|[\r\n])))*\*+\/)|(^[\s]*\/\/.*)/gm,"").replace(/@import.*;/g,"")).split("}").forEach(e=>{var i=e.trim();if(i){var r=i.split("{"),s=r[0].split(","),n=r[1].split(";");s.forEach(e=>{var i=e.trim();if(i){var r=t.styles[i]||{};if(n.forEach(e=>{var i=e.indexOf(":"),s=e.substr(0,i).trim(),n=e.substr(i+1,e.length-i).trim();s&&n&&(r[s]=new F(t,s,n))}),t.styles[i]=r,t.stylesSpecificity[i]=V(i),"@font-face"===i){var s=r["font-family"].getString().replace(/"|'/g,"");r.src.getString().split(",").forEach(e=>{if(e.indexOf('format("svg")')>0){var i=v(e);i&&new tW(t).load(s,i)}})}}})}})}}tH.parseExternalUrl=v;class tq extends tl{constructor(){super(...arguments),this.type="use"}setContext(t){super.setContext(t);var e=this.getAttribute("x"),i=this.getAttribute("y");e.hasValue()&&t.translate(e.getPixels("x"),0),i.hasValue()&&t.translate(0,i.getPixels("y"))}path(t){var{element:e}=this;e&&e.path(t)}renderChildren(t){var{document:e,element:i}=this;if(i){var r=i;if("symbol"===i.type&&((r=new tf(e,null)).attributes.viewBox=new F(e,"viewBox",i.getAttribute("viewBox").getString()),r.attributes.preserveAspectRatio=new F(e,"preserveAspectRatio",i.getAttribute("preserveAspectRatio").getString()),r.attributes.overflow=new F(e,"overflow",i.getAttribute("overflow").getString()),r.children=i.children,i.styles.opacity=new F(e,"opacity",this.calculateOpacity())),"svg"===r.type){var s=this.getStyle("width",!1,!0),n=this.getStyle("height",!1,!0);s.hasValue()&&(r.attributes.width=new F(e,"width",s.getString())),n.hasValue()&&(r.attributes.height=new F(e,"height",n.getString()))}var a=r.parent;r.parent=this,r.render(t),r.parent=a}}getBoundingBox(t){var{element:e}=this;return e?e.getBoundingBox(t):null}elementTransform(){var{document:t,element:e}=this;return ti.fromElement(t,e)}get element(){return this.cachedElement||(this.cachedElement=this.getHrefAttribute().getDefinition()),this.cachedElement}}function tG(t,e,i,r){return e+Math.cos(t)*i+Math.sin(t)*r}class tY extends tr{constructor(t,e,i){super(t,e,i),this.type="feColorMatrix";var r=p(this.getAttribute("values").getString());switch(this.getAttribute("type").getString("matrix")){case"saturate":var s=r[0];r=[.213+.787*s,.715-.715*s,.072-.072*s,0,0,.213-.213*s,.715+.285*s,.072-.072*s,0,0,.213-.213*s,.715-.715*s,.072+.928*s,0,0,0,0,0,1,0,0,0,0,0,1];break;case"hueRotate":var n=r[0]*Math.PI/180;r=[tG(n,.213,.787,-.213),tG(n,.715,-.715,-.715),tG(n,.072,-.072,.928),0,0,tG(n,.213,-.213,.143),tG(n,.715,.285,.14),tG(n,.072,-.072,-.283),0,0,tG(n,.213,-.213,-.787),tG(n,.715,-.715,.715),tG(n,.072,.928,.072),0,0,0,0,0,1,0,0,0,0,0,1];break;case"luminanceToAlpha":r=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,.2125,.7154,.0721,0,0,0,0,0,0,1]}this.matrix=r,this.includeOpacity=this.getAttribute("includeOpacity").hasValue()}apply(t,e,i,r,s){for(var{includeOpacity:n,matrix:a}=this,h=t.getImageData(0,0,r,s),o=0;o<s;o++)for(var l=0;l<r;l++){var u,g,c,d,p,f,y,v,m,x,b,S,w,P,A,C,T,V,E,M,k=h.data[o*r*4+4*l+0],O=h.data[o*r*4+4*l+1],N=h.data[o*r*4+4*l+2],B=h.data[o*r*4+4*l+3],D=a[0]*k+a[1]*O+a[2]*N+a[3]*B+1*a[4],z=a[5]*k+a[6]*O+a[7]*N+a[8]*B+1*a[9],L=a[10]*k+a[11]*O+a[12]*N+a[13]*B+1*a[14],I=a[15]*k+a[16]*O+a[17]*N+a[18]*B+1*a[19];n&&(D=0,z=0,L=0,I*=B/255),p=h.data,f=l,y=o,v=D,p[y*r*4+4*f+0]=v,m=h.data,x=l,b=o,S=z,m[b*r*4+4*x+1]=S,w=h.data,P=l,A=o,C=L,w[A*r*4+4*P+2]=C,T=h.data,V=l,E=o,M=I,T[E*r*4+4*V+3]=M}t.clearRect(0,0,r,s),t.putImageData(h,0,0)}}class t$ extends tr{constructor(){super(...arguments),this.type="mask"}apply(t,e){var{document:i}=this,r=this.getAttribute("x").getPixels("x"),s=this.getAttribute("y").getPixels("y"),n=this.getStyle("width").getPixels("x"),a=this.getStyle("height").getPixels("y");if(!n&&!a){var h=new th;this.children.forEach(e=>{h.addBoundingBox(e.getBoundingBox(t))}),r=Math.floor(h.x1),s=Math.floor(h.y1),n=Math.floor(h.width),a=Math.floor(h.height)}var o=this.removeStyles(e,t$.ignoreStyles),l=i.createCanvas(r+n,s+a),u=l.getContext("2d");i.screen.setDefaults(u),this.renderChildren(u),new tY(i,{nodeType:1,childNodes:[],attributes:[{nodeName:"type",value:"luminanceToAlpha"},{nodeName:"includeOpacity",value:"true"}]}).apply(u,0,0,r+n,s+a);var g=i.createCanvas(r+n,s+a),c=g.getContext("2d");i.screen.setDefaults(c),e.render(c),c.globalCompositeOperation="destination-in",c.fillStyle=u.createPattern(l,"no-repeat"),c.fillRect(0,0,r+n,s+a),t.fillStyle=c.createPattern(g,"no-repeat"),t.fillRect(0,0,r+n,s+a),this.restoreStyles(e,o)}render(t){}}t$.ignoreStyles=["mask","transform","clip-path"];var tQ=()=>{};class tZ extends tr{constructor(){super(...arguments),this.type="clipPath"}apply(t){var{document:e}=this,i=Reflect.getPrototypeOf(t),{beginPath:r,closePath:s}=t;i&&(i.beginPath=tQ,i.closePath=tQ),Reflect.apply(r,t,[]),this.children.forEach(r=>{if(void 0!==r.path){var n=void 0!==r.elementTransform?r.elementTransform():null;n||(n=ti.fromElement(e,r)),n&&n.apply(t),r.path(t),i&&(i.closePath=s),n&&n.unapply(t)}}),Reflect.apply(s,t,[]),t.clip(),i&&(i.beginPath=r,i.closePath=s)}render(t){}}class tJ extends tr{constructor(){super(...arguments),this.type="filter"}apply(t,e){var{document:i,children:r}=this,s=e.getBoundingBox(t);if(s){var n=0,a=0;r.forEach(t=>{var e=t.extraFilterDistance||0;n=Math.max(n,e),a=Math.max(a,e)});var h=Math.floor(s.width),o=Math.floor(s.height),l=h+2*n,u=o+2*a;if(!(l<1)&&!(u<1)){var g=Math.floor(s.x),c=Math.floor(s.y),d=this.removeStyles(e,tJ.ignoreStyles),p=i.createCanvas(l,u),f=p.getContext("2d");i.screen.setDefaults(f),f.translate(-g+n,-c+a),e.render(f),r.forEach(t=>{"function"==typeof t.apply&&t.apply(f,0,0,l,u)}),t.drawImage(p,0,0,l,u,g-n,c-a,l,u),this.restoreStyles(e,d)}}}render(t){}}tJ.ignoreStyles=["filter","transform","clip-path"];class tK extends tr{constructor(t,e,i){super(t,e,i),this.type="feDropShadow",this.addStylesFromStyleDefinition()}apply(t,e,i,r,s){}}class t0 extends tr{constructor(){super(...arguments),this.type="feMorphology"}apply(t,e,i,r,s){}}class t1 extends tr{constructor(){super(...arguments),this.type="feComposite"}apply(t,e,i,r,s){}}class t2 extends tr{constructor(t,e,i){super(t,e,i),this.type="feGaussianBlur",this.blurRadius=Math.floor(this.getAttribute("stdDeviation").getNumber()),this.extraFilterDistance=this.blurRadius}apply(t,e,i,r,s){var{document:n,blurRadius:a}=this,h=n.window?n.window.document.body:null,l=t.canvas;l.id=n.getUniqueId(),h&&(l.style.display="none",h.appendChild(l)),(0,o.vR)(l,e,i,r,s,a),h&&h.removeChild(l)}}class t3 extends tr{constructor(){super(...arguments),this.type="title"}}class t5 extends tr{constructor(){super(...arguments),this.type="desc"}}function t4(t,e){var i=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),i.push.apply(i,r)}return i}function t7(){return(t7=(0,r.Z)(function*(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=document.createElement("img");return e&&(i.crossOrigin="Anonymous"),new Promise((e,r)=>{i.onload=()=>{e(i)},i.onerror=(t,e,i,s,n)=>{r(n)},i.src=t})})).apply(this,arguments)}class t8{constructor(t){var{rootEmSize:e=12,emSize:i=12,createCanvas:r=t8.createCanvas,createImage:s=t8.createImage,anonymousCrossOrigin:n}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.canvg=t,this.definitions={},this.styles={},this.stylesSpecificity={},this.images=[],this.fonts=[],this.emSizeStack=[],this.uniqueId=0,this.screen=t.screen,this.rootEmSize=e,this.emSize=i,this.createCanvas=r,this.createImage=this.bindCreateImage(s,n),this.screen.wait(this.isImagesLoaded.bind(this)),this.screen.wait(this.isFontsLoaded.bind(this))}bindCreateImage(t,e){return"boolean"==typeof e?(i,r)=>t(i,"boolean"==typeof r?r:e):t}get window(){return this.screen.window}get fetch(){return this.screen.fetch}get ctx(){return this.screen.ctx}get emSize(){var{emSizeStack:t}=this;return t[t.length-1]}set emSize(t){var{emSizeStack:e}=this;e.push(t)}popEmSize(){var{emSizeStack:t}=this;t.pop()}getUniqueId(){return"canvg".concat(++this.uniqueId)}isImagesLoaded(){return this.images.every(t=>t.loaded)}isFontsLoaded(){return this.fonts.every(t=>t.loaded)}createDocumentElement(t){var e=this.createElement(t.documentElement);return e.root=!0,e.addStylesFromStyleDefinition(),this.documentElement=e,e}createElement(t){var e=t.nodeName.replace(/^[^:]+:/,""),i=t8.elementTypes[e];return void 0!==i?new i(this,t):new ts(this,t)}createTextNode(t){return new tp(this,t)}setViewBox(t){this.screen.setViewBox(function(t){for(var e=1;e<arguments.length;e++){var i=null!=arguments[e]?arguments[e]:{};e%2?t4(Object(i),!0).forEach(function(e){(0,s.Z)(t,e,i[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(i)):t4(Object(i)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(i,e))})}return t}({document:this},t))}}function t6(t,e){var i=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),i.push.apply(i,r)}return i}function t9(t){for(var e=1;e<arguments.length;e++){var i=null!=arguments[e]?arguments[e]:{};e%2?t6(Object(i),!0).forEach(function(e){(0,s.Z)(t,e,i[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(i)):t6(Object(i)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(i,e))})}return t}t8.createCanvas=function(t,e){var i=document.createElement("canvas");return i.width=t,i.height=e,i},t8.createImage=function(t){return t7.apply(this,arguments)},t8.elementTypes={svg:tf,rect:ty,circle:tv,ellipse:tm,line:tx,polyline:tb,polygon:tS,path:tu,pattern:tw,marker:tP,defs:tA,linearGradient:tV,radialGradient:tE,stop:tM,animate:tk,animateColor:tO,animateTransform:tN,font:tB,"font-face":tD,"missing-glyph":tz,glyph:tg,text:tc,tspan:td,tref:tL,a:tI,textPath:t_,image:tU,g:tC,symbol:tX,style:tH,use:tq,mask:t$,clipPath:tZ,filter:tJ,feDropShadow:tK,feMorphology:t0,feComposite:t1,feColorMatrix:tY,feGaussianBlur:t2,title:t3,desc:t5};class et{constructor(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};this.parser=new Y(i),this.screen=new H(t,i),this.options=i;var r=new t8(this,i),s=r.createDocumentElement(e);this.document=r,this.documentElement=s}static from(t,e){var i=arguments;return(0,r.Z)(function*(){var r=i.length>2&&void 0!==i[2]?i[2]:{},s=new Y(r),n=yield s.parse(e);return new et(t,n,r)})()}static fromString(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=new Y(i).parseFromString(e);return new et(t,r,i)}fork(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return et.from(t,e,t9(t9({},this.options),i))}forkString(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return et.fromString(t,e,t9(t9({},this.options),i))}ready(){return this.screen.ready()}isReady(){return this.screen.isReady()}render(){var t=arguments,e=this;return(0,r.Z)(function*(){var i=t.length>0&&void 0!==t[0]?t[0]:{};e.start(t9({enableRedraw:!0,ignoreAnimation:!0,ignoreMouse:!0},i)),yield e.ready(),e.stop()})()}start(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{documentElement:e,screen:i,options:r}=this;i.start(e,t9(t9({enableRedraw:!0},r),t))}stop(){this.screen.stop()}resize(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:t,i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];this.documentElement.resize(t,e,i)}}}}]);
|