@lifesg/web-frontend-engine 2.2.4 → 2.2.5
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/chunks/file-upload-manager.817b80cc.js +2 -0
- package/chunks/file-upload-manager.817b80cc.js.map +1 -0
- package/chunks/{index.ac3b6195.js → index.44b5e2a5.js} +10 -10
- package/chunks/{index.ac3b6195.js.map → index.44b5e2a5.js.map} +1 -1
- package/chunks/{index.a24b1857.js → index.51ad1607.js} +2 -2
- package/chunks/{index.a24b1857.js.map → index.51ad1607.js.map} +1 -1
- package/chunks/{index.8edac70b.js → index.f1de2e77.js} +2 -2
- package/chunks/{index.8edac70b.js.map → index.f1de2e77.js.map} +1 -1
- package/chunks/{location-modal.6475a4db.js → location-modal.1859f93a.js} +2 -2
- package/chunks/{location-modal.6475a4db.js.map → location-modal.1859f93a.js.map} +1 -1
- package/cjs/chunks/file-upload-manager.85af8429.js +2 -0
- package/cjs/chunks/file-upload-manager.85af8429.js.map +1 -0
- package/cjs/chunks/{index.d136a8bd.js → index.48f1a1f1.js} +2 -2
- package/cjs/chunks/{index.d136a8bd.js.map → index.48f1a1f1.js.map} +1 -1
- package/cjs/chunks/{index.6a929030.js → index.c2370225.js} +7 -7
- package/cjs/chunks/{index.6a929030.js.map → index.c2370225.js.map} +1 -1
- package/cjs/chunks/{index.6e0e20f7.js → index.efc005fc.js} +2 -2
- package/cjs/chunks/{index.6e0e20f7.js.map → index.efc005fc.js.map} +1 -1
- package/cjs/chunks/{location-modal.e5989ca3.js → location-modal.6885ccea.js} +2 -2
- package/cjs/chunks/{location-modal.e5989ca3.js.map → location-modal.6885ccea.js.map} +1 -1
- package/cjs/index.js +1 -1
- package/components/custom/array-field/array-field-element.d.ts +10 -11
- package/components/custom/array-field/array-field.d.ts +3 -3
- package/components/custom/array-field/array-field.styles.d.ts +22 -23
- package/components/custom/array-field/index.d.ts +2 -2
- package/components/custom/array-field/types.d.ts +39 -39
- package/components/custom/filter/filter/filter.d.ts +3 -3
- package/components/custom/filter/filter/types.d.ts +12 -12
- package/components/custom/filter/filter-checkbox/filter-checkbox.d.ts +3 -3
- package/components/custom/filter/filter-checkbox/types.d.ts +23 -23
- package/components/custom/filter/filter-helper.d.ts +8 -8
- package/components/custom/filter/filter-item/filter-item.d.ts +3 -3
- package/components/custom/filter/filter-item/types.d.ts +13 -13
- package/components/custom/filter/index.d.ts +3 -3
- package/components/custom/filter/types.d.ts +11 -11
- package/components/custom/iframe/iframe.d.ts +3 -3
- package/components/custom/iframe/index.d.ts +2 -2
- package/components/custom/iframe/types.d.ts +28 -29
- package/components/custom/index.d.ts +6 -6
- package/components/custom/review/index.d.ts +2 -2
- package/components/custom/review/review.d.ts +3 -3
- package/components/custom/review/review.styles.d.ts +12 -13
- package/components/custom/review/types.d.ts +60 -60
- package/components/custom/timeline/index.d.ts +2 -2
- package/components/custom/timeline/timeline.d.ts +3 -3
- package/components/custom/timeline/types.d.ts +19 -19
- package/components/custom/types.d.ts +87 -87
- package/components/elements/accordion/accordion.d.ts +6 -6
- package/components/elements/accordion/accordion.styles.d.ts +1 -2
- package/components/elements/accordion/index.d.ts +2 -2
- package/components/elements/accordion/types.d.ts +27 -27
- package/components/elements/alert/alert.d.ts +3 -3
- package/components/elements/alert/index.d.ts +2 -2
- package/components/elements/alert/types.d.ts +9 -10
- package/components/elements/divider/divider.d.ts +3 -3
- package/components/elements/divider/index.d.ts +2 -2
- package/components/elements/divider/types.d.ts +6 -6
- package/components/elements/grid/grid.d.ts +3 -3
- package/components/elements/grid/index.d.ts +2 -2
- package/components/elements/grid/types.d.ts +11 -11
- package/components/elements/index.d.ts +9 -9
- package/components/elements/list/data.d.ts +3 -3
- package/components/elements/list/index.d.ts +3 -3
- package/components/elements/list/list-item.d.ts +3 -3
- package/components/elements/list/list.d.ts +3 -3
- package/components/elements/list/types.d.ts +17 -17
- package/components/elements/popover/index.d.ts +2 -2
- package/components/elements/popover/popover.d.ts +3 -3
- package/components/elements/popover/types.d.ts +15 -15
- package/components/elements/section/index.d.ts +2 -2
- package/components/elements/section/section.d.ts +2 -2
- package/components/elements/section/section.styles.d.ts +11 -12
- package/components/elements/section/types.d.ts +16 -16
- package/components/elements/sections/index.d.ts +1 -1
- package/components/elements/sections/sections.d.ts +13 -13
- package/components/elements/tab/index.d.ts +2 -2
- package/components/elements/tab/tab.d.ts +3 -3
- package/components/elements/tab/types.d.ts +23 -23
- package/components/elements/text/data.d.ts +121 -122
- package/components/elements/text/index.d.ts +2 -2
- package/components/elements/text/text.d.ts +3 -3
- package/components/elements/text/types.d.ts +18 -18
- package/components/elements/types.d.ts +97 -97
- package/components/elements/wrapper/col-wrapper.d.ts +12 -12
- package/components/elements/wrapper/conditional-renderer.d.ts +16 -16
- package/components/elements/wrapper/field-wrapper.d.ts +9 -10
- package/components/elements/wrapper/index.d.ts +2 -2
- package/components/elements/wrapper/types.d.ts +29 -30
- package/components/elements/wrapper/wrapper.d.ts +2 -3
- package/components/fields/button/button.d.ts +3 -3
- package/components/fields/button/index.d.ts +2 -2
- package/components/fields/button/types.d.ts +17 -17
- package/components/fields/checkbox-group/checkbox-group.d.ts +3 -3
- package/components/fields/checkbox-group/checkbox-group.styles.d.ts +23 -24
- package/components/fields/checkbox-group/index.d.ts +2 -2
- package/components/fields/checkbox-group/types.d.ts +33 -33
- package/components/fields/chips/chips.d.ts +3 -3
- package/components/fields/chips/chips.styles.d.ts +5 -6
- package/components/fields/chips/index.d.ts +2 -2
- package/components/fields/chips/types.d.ts +18 -19
- package/components/fields/contact-field/contact-field.d.ts +3 -3
- package/components/fields/contact-field/data.d.ts +6 -6
- package/components/fields/contact-field/index.d.ts +2 -2
- package/components/fields/contact-field/types.d.ts +31 -31
- package/components/fields/contact-field/utils.d.ts +7 -7
- package/components/fields/date-field/date-field.d.ts +3 -3
- package/components/fields/date-field/index.d.ts +2 -2
- package/components/fields/date-field/types.d.ts +20 -20
- package/components/fields/date-range-field/date-range-field.d.ts +3 -3
- package/components/fields/date-range-field/index.d.ts +2 -2
- package/components/fields/date-range-field/types.d.ts +32 -32
- package/components/fields/e-signature-field/e-signature-field.d.ts +3 -3
- package/components/fields/e-signature-field/e-signature-field.styles.d.ts +4 -5
- package/components/fields/e-signature-field/index.d.ts +2 -2
- package/components/fields/e-signature-field/types.d.ts +22 -22
- package/components/fields/error-field/error-field.d.ts +3 -3
- package/components/fields/error-field/index.d.ts +2 -2
- package/components/fields/error-field/types.d.ts +11 -11
- package/components/fields/file-upload/file-upload-context.d.ts +14 -14
- package/components/fields/file-upload/file-upload-helper.d.ts +10 -10
- package/components/fields/file-upload/file-upload-manager.d.ts +14 -14
- package/components/fields/file-upload/file-upload.d.ts +4 -4
- package/components/fields/file-upload/index.d.ts +2 -2
- package/components/fields/file-upload/types.d.ts +78 -78
- package/components/fields/hidden-field/hidden-field.d.ts +3 -3
- package/components/fields/hidden-field/index.d.ts +2 -2
- package/components/fields/hidden-field/types.d.ts +29 -29
- package/components/fields/histogram-slider/histogram-slider.d.ts +3 -3
- package/components/fields/histogram-slider/index.d.ts +2 -2
- package/components/fields/histogram-slider/types.d.ts +20 -20
- package/components/fields/image-upload/image-context/image-context.d.ts +16 -16
- package/components/fields/image-upload/image-context/index.d.ts +1 -1
- package/components/fields/image-upload/image-input/drag-upload/drag-upload.d.ts +2 -3
- package/components/fields/image-upload/image-input/drag-upload/drag-upload.styles.d.ts +14 -15
- package/components/fields/image-upload/image-input/drag-upload/index.d.ts +2 -2
- package/components/fields/image-upload/image-input/drag-upload/types.d.ts +15 -16
- package/components/fields/image-upload/image-input/file-item/file-item.d.ts +11 -11
- package/components/fields/image-upload/image-input/file-item/file-item.styles.d.ts +48 -49
- package/components/fields/image-upload/image-input/file-item/index.d.ts +1 -1
- package/components/fields/image-upload/image-input/image-input.d.ts +26 -26
- package/components/fields/image-upload/image-input/image-input.styles.d.ts +47 -48
- package/components/fields/image-upload/image-input/index.d.ts +1 -1
- package/components/fields/image-upload/image-manager/image-manager.d.ts +25 -25
- package/components/fields/image-upload/image-manager/index.d.ts +2 -2
- package/components/fields/image-upload/image-review/image-editor/image-editor.d.ts +2 -3
- package/components/fields/image-upload/image-review/image-editor/image-editor.styles.d.ts +6 -7
- package/components/fields/image-upload/image-review/image-editor/index.d.ts +3 -3
- package/components/fields/image-upload/image-review/image-editor/types.d.ts +17 -17
- package/components/fields/image-upload/image-review/image-error/image-error.d.ts +10 -10
- package/components/fields/image-upload/image-review/image-error/image-error.styles.d.ts +31 -32
- package/components/fields/image-upload/image-review/image-error/index.d.ts +1 -1
- package/components/fields/image-upload/image-review/image-prompts/image-prompts.d.ts +11 -11
- package/components/fields/image-upload/image-review/image-prompts/index.d.ts +1 -1
- package/components/fields/image-upload/image-review/image-review.d.ts +18 -18
- package/components/fields/image-upload/image-review/image-review.styles.d.ts +128 -129
- package/components/fields/image-upload/image-review/image-thumbnails/image-thumbnails.d.ts +11 -11
- package/components/fields/image-upload/image-review/image-thumbnails/image-thumbnails.styles.d.ts +29 -30
- package/components/fields/image-upload/image-review/image-thumbnails/index.d.ts +1 -1
- package/components/fields/image-upload/image-review/index.d.ts +1 -1
- package/components/fields/image-upload/image-upload-helper.d.ts +12 -10
- package/components/fields/image-upload/image-upload.d.ts +4 -4
- package/components/fields/image-upload/index.d.ts +2 -2
- package/components/fields/image-upload/types.d.ts +151 -151
- package/components/fields/index.d.ts +30 -30
- package/components/fields/location-field/index.d.ts +2 -2
- package/components/fields/location-field/location-field.d.ts +3 -3
- package/components/fields/location-field/location-helper.d.ts +38 -39
- package/components/fields/location-field/location-input/dummy-location-field.d.ts +13 -14
- package/components/fields/location-field/location-input/index.d.ts +1 -1
- package/components/fields/location-field/location-input/location-input.d.ts +6 -7
- package/components/fields/location-field/location-input/location-input.styles.d.ts +22 -23
- package/components/fields/location-field/location-modal/infinite-scroll/index.d.ts +1 -1
- package/components/fields/location-field/location-modal/infinite-scroll/infinite-scroll.d.ts +11 -12
- package/components/fields/location-field/location-modal/infinite-scroll/infinite-scroll.style.d.ts +1 -2
- package/components/fields/location-field/location-modal/infinite-scroll/loading-indicator/config.d.ts +5 -5
- package/components/fields/location-field/location-modal/infinite-scroll/loading-indicator/index.d.ts +1 -1
- package/components/fields/location-field/location-modal/infinite-scroll/loading-indicator/loading-indicator.d.ts +5 -5
- package/components/fields/location-field/location-modal/infinite-scroll/loading-indicator/loading-indicator.styles.d.ts +2 -3
- package/components/fields/location-field/location-modal/location-modal.d.ts +8 -8
- package/components/fields/location-field/location-modal/location-modal.data.d.ts +3 -3
- package/components/fields/location-field/location-modal/location-modal.styles.d.ts +16 -17
- package/components/fields/location-field/location-modal/location-picker/helper.d.ts +4 -4
- package/components/fields/location-field/location-modal/location-picker/index.d.ts +1 -1
- package/components/fields/location-field/location-modal/location-picker/legend/index.d.ts +1 -1
- package/components/fields/location-field/location-modal/location-picker/legend/legend.d.ts +8 -8
- package/components/fields/location-field/location-modal/location-picker/legend/legend.styles.d.ts +10 -11
- package/components/fields/location-field/location-modal/location-picker/location-picker.d.ts +3 -3
- package/components/fields/location-field/location-modal/location-picker/location-picker.styles.d.ts +17 -18
- package/components/fields/location-field/location-modal/location-picker/types.d.ts +34 -35
- package/components/fields/location-field/location-modal/location-search/helper.d.ts +14 -14
- package/components/fields/location-field/location-modal/location-search/index.d.ts +1 -1
- package/components/fields/location-field/location-modal/location-search/location-search.d.ts +2 -2
- package/components/fields/location-field/location-modal/location-search/location-search.styles.d.ts +84 -85
- package/components/fields/location-field/location-modal/location-search/types.d.ts +30 -30
- package/components/fields/location-field/location-modal/no-network-modal/no-network-modal.d.ts +7 -7
- package/components/fields/location-field/location-modal/no-network-modal/no-network-modal.styles.d.ts +29 -30
- package/components/fields/location-field/location-modal/types.d.ts +18 -18
- package/components/fields/location-field/types.d.ts +163 -163
- package/components/fields/masked-field/index.d.ts +2 -2
- package/components/fields/masked-field/masked-field.d.ts +3 -3
- package/components/fields/masked-field/types.d.ts +12 -12
- package/components/fields/multi-select/index.d.ts +2 -2
- package/components/fields/multi-select/multi-select.d.ts +3 -3
- package/components/fields/multi-select/types.d.ts +9 -9
- package/components/fields/nested-multi-select/index.d.ts +2 -2
- package/components/fields/nested-multi-select/nested-multi-select.d.ts +3 -3
- package/components/fields/nested-multi-select/types.d.ts +33 -34
- package/components/fields/otp-verification-field/index.d.ts +2 -2
- package/components/fields/otp-verification-field/otp-verification-field.d.ts +3 -3
- package/components/fields/otp-verification-field/types.d.ts +46 -46
- package/components/fields/radio-button/index.d.ts +2 -2
- package/components/fields/radio-button/radio-button.d.ts +3 -3
- package/components/fields/radio-button/radio-button.styles.d.ts +29 -30
- package/components/fields/radio-button/types.d.ts +41 -41
- package/components/fields/range-select/index.d.ts +2 -2
- package/components/fields/range-select/range-select.d.ts +3 -3
- package/components/fields/range-select/types.d.ts +9 -9
- package/components/fields/reset-button/index.d.ts +2 -2
- package/components/fields/reset-button/reset-button.d.ts +3 -3
- package/components/fields/reset-button/types.d.ts +8 -8
- package/components/fields/select/index.d.ts +2 -2
- package/components/fields/select/select.d.ts +3 -3
- package/components/fields/select/types.d.ts +9 -9
- package/components/fields/select-histogram/index.d.ts +2 -2
- package/components/fields/select-histogram/select-histogram.d.ts +3 -3
- package/components/fields/select-histogram/types.d.ts +17 -17
- package/components/fields/slider/index.d.ts +2 -2
- package/components/fields/slider/slider.d.ts +3 -3
- package/components/fields/slider/types.d.ts +11 -11
- package/components/fields/submit-button/index.d.ts +2 -2
- package/components/fields/submit-button/submit-button.d.ts +3 -3
- package/components/fields/submit-button/types.d.ts +7 -7
- package/components/fields/switch/index.d.ts +2 -2
- package/components/fields/switch/switch.d.ts +3 -3
- package/components/fields/switch/switch.styles.d.ts +1 -2
- package/components/fields/switch/types.d.ts +10 -10
- package/components/fields/text-field/index.d.ts +2 -2
- package/components/fields/text-field/text-field.d.ts +3 -3
- package/components/fields/text-field/types.d.ts +37 -37
- package/components/fields/textarea/index.d.ts +2 -2
- package/components/fields/textarea/textarea.d.ts +3 -3
- package/components/fields/textarea/textarea.styles.d.ts +19 -20
- package/components/fields/textarea/types.d.ts +8 -8
- package/components/fields/time-field/index.d.ts +2 -2
- package/components/fields/time-field/time-field.d.ts +3 -3
- package/components/fields/time-field/types.d.ts +7 -7
- package/components/fields/types.d.ts +122 -122
- package/components/fields/unit-number-field/index.d.ts +2 -2
- package/components/fields/unit-number-field/types.d.ts +8 -8
- package/components/fields/unit-number-field/unit-number-field.d.ts +3 -3
- package/components/frontend-engine/frontend-engine.d.ts +23 -23
- package/components/frontend-engine/index.d.ts +2 -2
- package/components/frontend-engine/types.d.ts +213 -214
- package/components/frontend-engine/use-form-change.d.ts +12 -12
- package/components/index.d.ts +2 -2
- package/components/shared/chip/chip.d.ts +6 -6
- package/components/shared/chip/chip.styles.d.ts +16 -17
- package/components/shared/chip/index.d.ts +2 -2
- package/components/shared/chip/types.d.ts +4 -4
- package/components/shared/error-messages.d.ts +102 -102
- package/components/shared/index.d.ts +6 -6
- package/components/shared/prompt/index.d.ts +2 -2
- package/components/shared/prompt/prompt.d.ts +2 -2
- package/components/shared/prompt/prompt.styles.d.ts +40 -41
- package/components/shared/prompt/types.d.ts +16 -16
- package/components/shared/sanitize/index.d.ts +1 -1
- package/components/shared/sanitize/sanitize.d.ts +13 -14
- package/components/shared/static-map/index.d.ts +1 -1
- package/components/shared/static-map/static-map.d.ts +12 -12
- package/components/shared/static-map/static-map.styles.d.ts +12 -13
- package/components/shared/warning/index.d.ts +1 -1
- package/components/shared/warning/warning.d.ts +6 -6
- package/components/types.d.ts +4 -4
- package/context-providers/context-providers.d.ts +7 -7
- package/context-providers/custom-components/context-provider.d.ts +14 -14
- package/context-providers/custom-components/index.d.ts +1 -1
- package/context-providers/event/context-provider.d.ts +14 -14
- package/context-providers/event/index.d.ts +2 -2
- package/context-providers/event/types.d.ts +10 -10
- package/context-providers/form-schema/context-provider.d.ts +12 -12
- package/context-providers/form-schema/index.d.ts +1 -1
- package/context-providers/form-values/context-provider.d.ts +23 -23
- package/context-providers/form-values/index.d.ts +1 -1
- package/context-providers/frontend-engine-form/context-provider.d.ts +13 -13
- package/context-providers/frontend-engine-form/index.d.ts +1 -1
- package/context-providers/index.d.ts +7 -7
- package/context-providers/recaptcha/index.d.ts +3 -3
- package/context-providers/recaptcha/recaptcha-hook.d.ts +5 -5
- package/context-providers/recaptcha/recaptcha-provider.d.ts +10 -11
- package/context-providers/recaptcha/types.d.ts +14 -14
- package/context-providers/yup/context-provider.d.ts +16 -16
- package/context-providers/yup/custom-conditions/html-safe.d.ts +1 -1
- package/context-providers/yup/custom-conditions/index.d.ts +3 -3
- package/context-providers/yup/custom-conditions/uen.d.ts +1 -1
- package/context-providers/yup/custom-conditions/uinfin.d.ts +1 -1
- package/context-providers/yup/helper.d.ts +44 -44
- package/context-providers/yup/index.d.ts +4 -4
- package/context-providers/yup/types.d.ts +82 -82
- package/index.d.ts +3 -3
- package/index.js +1 -1
- package/package.json +1 -1
- package/services/index.d.ts +1 -1
- package/services/onemap/onemap-service.d.ts +21 -21
- package/services/onemap/types.d.ts +48 -48
- package/utils/api-client/api-client.d.ts +65 -65
- package/utils/api-client/index.d.ts +1 -1
- package/utils/date-time-helper.d.ts +22 -22
- package/utils/file-helper.d.ts +45 -47
- package/utils/geolocation-helper.d.ts +17 -17
- package/utils/hooks/index.d.ts +12 -12
- package/utils/hooks/use-custom-components.d.ts +5 -6
- package/utils/hooks/use-deep-layout-effect.d.ts +3 -3
- package/utils/hooks/use-field-event.d.ts +10 -10
- package/utils/hooks/use-form-schema.d.ts +6 -7
- package/utils/hooks/use-form-values.d.ts +11 -12
- package/utils/hooks/use-frontend-engine-component.d.ts +17 -17
- package/utils/hooks/use-frontend-engine-form.d.ts +6 -7
- package/utils/hooks/use-iframe-message.d.ts +5 -5
- package/utils/hooks/use-previous.d.ts +4 -4
- package/utils/hooks/use-validation-config.d.ts +10 -10
- package/utils/hooks/use-validation-schema.d.ts +15 -15
- package/utils/hooks/use-window-helper.d.ts +1 -1
- package/utils/id-helper.d.ts +1 -1
- package/utils/image-helper.d.ts +49 -49
- package/utils/index.d.ts +11 -11
- package/utils/math-helper.d.ts +5 -5
- package/utils/object-helper.d.ts +15 -15
- package/utils/prop-helper.d.ts +8 -8
- package/utils/test-helper.d.ts +4 -4
- package/utils/ts-helper.d.ts +1 -1
- package/utils/types.d.ts +9 -9
- package/chunks/file-upload-manager.ddb44c1f.js +0 -2
- package/chunks/file-upload-manager.ddb44c1f.js.map +0 -1
- package/cjs/chunks/file-upload-manager.b22d56d4.js +0 -2
- package/cjs/chunks/file-upload-manager.b22d56d4.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.6e0e20f7.js","sources":["../../../node_modules/@erase2d/fabric/dist/_virtual/_rollupPluginBabelHelpers.js","../../../node_modules/fabric/dist/index.min.mjs","../../../node_modules/@erase2d/fabric/dist/fabric/src/ClippingGroup.js","../../../node_modules/@erase2d/fabric/dist/core/dist/src/erase.js","../../../node_modules/@erase2d/fabric/dist/fabric/src/ErasingEffect.js","../../../node_modules/@erase2d/fabric/dist/fabric/src/EraserBrush.js","../../../node_modules/@use-gesture/core/dist/maths-0ab39ae9.esm.js","../../../node_modules/@use-gesture/core/dist/actions-fe213e88.esm.js","../../../node_modules/@use-gesture/core/dist/use-gesture-core.esm.js","../../../node_modules/@use-gesture/react/dist/use-gesture-react.esm.js","../../../src/components/fields/image-upload/image-review/image-editor/image-editor.styles.ts","../../../src/components/fields/image-upload/image-review/image-editor/image-editor.tsx"],"sourcesContent":["function _OverloadYield(e, d) {\n this.v = e, this.k = d;\n}\nfunction _arrayLikeToArray(r, a) {\n (null == a || a > r.length) && (a = r.length);\n for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];\n return n;\n}\nfunction _arrayWithHoles(r) {\n if (Array.isArray(r)) return r;\n}\nfunction _arrayWithoutHoles(r) {\n if (Array.isArray(r)) return _arrayLikeToArray(r);\n}\nfunction _assertThisInitialized(e) {\n if (void 0 === e) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n return e;\n}\nfunction asyncGeneratorStep(n, t, e, r, o, a, c) {\n try {\n var i = n[a](c),\n u = i.value;\n } catch (n) {\n return void e(n);\n }\n i.done ? t(u) : Promise.resolve(u).then(r, o);\n}\nfunction _asyncToGenerator(n) {\n return function () {\n var t = this,\n e = arguments;\n return new Promise(function (r, o) {\n var a = n.apply(t, e);\n function _next(n) {\n asyncGeneratorStep(a, r, o, _next, _throw, \"next\", n);\n }\n function _throw(n) {\n asyncGeneratorStep(a, r, o, _next, _throw, \"throw\", n);\n }\n _next(void 0);\n });\n };\n}\nfunction _callSuper(t, o, e) {\n return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));\n}\nfunction _classCallCheck(a, n) {\n if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\");\n}\nfunction _defineProperties(e, r) {\n for (var t = 0; t < r.length; t++) {\n var o = r[t];\n o.enumerable = o.enumerable || false, o.configurable = true, \"value\" in o && (o.writable = true), Object.defineProperty(e, _toPropertyKey(o.key), o);\n }\n}\nfunction _createClass(e, r, t) {\n return r && _defineProperties(e.prototype, r), Object.defineProperty(e, \"prototype\", {\n writable: false\n }), e;\n}\nfunction _defineProperty(e, r, t) {\n return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: true,\n configurable: true,\n writable: true\n }) : e[r] = t, e;\n}\nfunction _get() {\n return _get = \"undefined\" != typeof Reflect && Reflect.get ? Reflect.get.bind() : function (e, t, r) {\n var p = _superPropBase(e, t);\n if (p) {\n var n = Object.getOwnPropertyDescriptor(p, t);\n return n.get ? n.get.call(arguments.length < 3 ? e : r) : n.value;\n }\n }, _get.apply(null, arguments);\n}\nfunction _getPrototypeOf(t) {\n return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) {\n return t.__proto__ || Object.getPrototypeOf(t);\n }, _getPrototypeOf(t);\n}\nfunction _inherits(t, e) {\n if (\"function\" != typeof e && null !== e) throw new TypeError(\"Super expression must either be null or a function\");\n t.prototype = Object.create(e && e.prototype, {\n constructor: {\n value: t,\n writable: true,\n configurable: true\n }\n }), Object.defineProperty(t, \"prototype\", {\n writable: false\n }), e && _setPrototypeOf(t, e);\n}\nfunction _isNativeReflectConstruct() {\n try {\n var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n } catch (t) {}\n return (_isNativeReflectConstruct = function () {\n return !!t;\n })();\n}\nfunction _iterableToArray(r) {\n if (\"undefined\" != typeof Symbol && null != r[Symbol.iterator] || null != r[\"@@iterator\"]) return Array.from(r);\n}\nfunction _iterableToArrayLimit(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = true,\n o = false;\n try {\n if (i = (t = t.call(r)).next, 0 === l) {\n if (Object(t) !== t) return;\n f = !1;\n } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = true, n = r;\n } finally {\n try {\n if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\n }\n}\nfunction _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction ownKeys(e, r) {\n var t = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r && (o = o.filter(function (r) {\n return Object.getOwnPropertyDescriptor(e, r).enumerable;\n })), t.push.apply(t, o);\n }\n return t;\n}\nfunction _objectSpread2(e) {\n for (var r = 1; r < arguments.length; r++) {\n var t = null != arguments[r] ? arguments[r] : {};\n r % 2 ? ownKeys(Object(t), true).forEach(function (r) {\n _defineProperty(e, r, t[r]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {\n Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));\n });\n }\n return e;\n}\nfunction _possibleConstructorReturn(t, e) {\n if (e && (\"object\" == typeof e || \"function\" == typeof e)) return e;\n if (void 0 !== e) throw new TypeError(\"Derived constructors may only return object or undefined\");\n return _assertThisInitialized(t);\n}\nfunction _regenerator() {\n /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */\n var e,\n t,\n r = \"function\" == typeof Symbol ? Symbol : {},\n n = r.iterator || \"@@iterator\",\n o = r.toStringTag || \"@@toStringTag\";\n function i(r, n, o, i) {\n var c = n && n.prototype instanceof Generator ? n : Generator,\n u = Object.create(c.prototype);\n return _regeneratorDefine(u, \"_invoke\", function (r, n, o) {\n var i,\n c,\n u,\n f = 0,\n p = o || [],\n y = false,\n G = {\n p: 0,\n n: 0,\n v: e,\n a: d,\n f: d.bind(e, 4),\n d: function (t, r) {\n return i = t, c = 0, u = e, G.n = r, a;\n }\n };\n function d(r, n) {\n for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) {\n var o,\n i = p[t],\n d = G.p,\n l = i[2];\n r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0));\n }\n if (o || r > 1) return a;\n throw y = true, n;\n }\n return function (o, p, l) {\n if (f > 1) throw TypeError(\"Generator is already running\");\n for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) {\n i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u);\n try {\n if (f = 2, i) {\n if (c || (o = \"next\"), t = i[o]) {\n if (!(t = t.call(i, u))) throw TypeError(\"iterator result is not an object\");\n if (!t.done) return t;\n u = t.value, c < 2 && (c = 0);\n } else 1 === c && (t = i.return) && t.call(i), c < 2 && (u = TypeError(\"The iterator does not provide a '\" + o + \"' method\"), c = 1);\n i = e;\n } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break;\n } catch (t) {\n i = e, c = 1, u = t;\n } finally {\n f = 1;\n }\n }\n return {\n value: t,\n done: y\n };\n };\n }(r, o, i), true), u;\n }\n var a = {};\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n t = Object.getPrototypeOf;\n var c = [][n] ? t(t([][n]())) : (_regeneratorDefine(t = {}, n, function () {\n return this;\n }), t),\n u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c);\n function f(e) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine(e, o, \"GeneratorFunction\")), e.prototype = Object.create(u), e;\n }\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine(u, \"constructor\", GeneratorFunctionPrototype), _regeneratorDefine(GeneratorFunctionPrototype, \"constructor\", GeneratorFunction), GeneratorFunction.displayName = \"GeneratorFunction\", _regeneratorDefine(GeneratorFunctionPrototype, o, \"GeneratorFunction\"), _regeneratorDefine(u), _regeneratorDefine(u, o, \"Generator\"), _regeneratorDefine(u, n, function () {\n return this;\n }), _regeneratorDefine(u, \"toString\", function () {\n return \"[object Generator]\";\n }), (_regenerator = function () {\n return {\n w: i,\n m: f\n };\n })();\n}\nfunction _regeneratorAsync(n, e, r, t, o) {\n var a = _regeneratorAsyncGen(n, e, r, t, o);\n return a.next().then(function (n) {\n return n.done ? n.value : a.next();\n });\n}\nfunction _regeneratorAsyncGen(r, e, t, o, n) {\n return new _regeneratorAsyncIterator(_regenerator().w(r, e, t, o), n || Promise);\n}\nfunction _regeneratorAsyncIterator(t, e) {\n function n(r, o, i, f) {\n try {\n var c = t[r](o),\n u = c.value;\n return u instanceof _OverloadYield ? e.resolve(u.v).then(function (t) {\n n(\"next\", t, i, f);\n }, function (t) {\n n(\"throw\", t, i, f);\n }) : e.resolve(u).then(function (t) {\n c.value = t, i(c);\n }, function (t) {\n return n(\"throw\", t, i, f);\n });\n } catch (t) {\n f(t);\n }\n }\n var r;\n this.next || (_regeneratorDefine(_regeneratorAsyncIterator.prototype), _regeneratorDefine(_regeneratorAsyncIterator.prototype, \"function\" == typeof Symbol && Symbol.asyncIterator || \"@asyncIterator\", function () {\n return this;\n })), _regeneratorDefine(this, \"_invoke\", function (t, o, i) {\n function f() {\n return new e(function (e, r) {\n n(t, i, e, r);\n });\n }\n return r = r ? r.then(f, f) : f();\n }, true);\n}\nfunction _regeneratorDefine(e, r, n, t) {\n var i = Object.defineProperty;\n try {\n i({}, \"\", {});\n } catch (e) {\n i = 0;\n }\n _regeneratorDefine = function (e, r, n, t) {\n function o(r, n) {\n _regeneratorDefine(e, r, function (e) {\n return this._invoke(r, n, e);\n });\n }\n r ? i ? i(e, r, {\n value: n,\n enumerable: !t,\n configurable: !t,\n writable: !t\n }) : e[r] = n : (o(\"next\", 0), o(\"throw\", 1), o(\"return\", 2));\n }, _regeneratorDefine(e, r, n, t);\n}\nfunction _regeneratorKeys(e) {\n var n = Object(e),\n r = [];\n for (var t in n) r.unshift(t);\n return function e() {\n for (; r.length;) if ((t = r.pop()) in n) return e.value = t, e.done = false, e;\n return e.done = true, e;\n };\n}\nfunction _regeneratorValues(e) {\n if (null != e) {\n var t = e[\"function\" == typeof Symbol && Symbol.iterator || \"@@iterator\"],\n r = 0;\n if (t) return t.call(e);\n if (\"function\" == typeof e.next) return e;\n if (!isNaN(e.length)) return {\n next: function () {\n return e && r >= e.length && (e = void 0), {\n value: e && e[r++],\n done: !e\n };\n }\n };\n }\n throw new TypeError(typeof e + \" is not iterable\");\n}\nfunction _setPrototypeOf(t, e) {\n return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) {\n return t.__proto__ = e, t;\n }, _setPrototypeOf(t, e);\n}\nfunction _slicedToArray(r, e) {\n return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest();\n}\nfunction _superPropBase(t, o) {\n for (; !{}.hasOwnProperty.call(t, o) && null !== (t = _getPrototypeOf(t)););\n return t;\n}\nfunction _toConsumableArray(r) {\n return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread();\n}\nfunction _toPrimitive(t, r) {\n if (\"object\" != typeof t || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r);\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nfunction _toPropertyKey(t) {\n var i = _toPrimitive(t, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n}\nfunction _unsupportedIterableToArray(r, a) {\n if (r) {\n if (\"string\" == typeof r) return _arrayLikeToArray(r, a);\n var t = {}.toString.call(r).slice(8, -1);\n return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0;\n }\n}\nfunction _regeneratorRuntime() {\n\n var r = _regenerator(),\n e = r.m(_regeneratorRuntime),\n t = (Object.getPrototypeOf ? Object.getPrototypeOf(e) : e.__proto__).constructor;\n function n(r) {\n var e = \"function\" == typeof r && r.constructor;\n return !!e && (e === t || \"GeneratorFunction\" === (e.displayName || e.name));\n }\n var o = {\n throw: 1,\n return: 2,\n break: 3,\n continue: 3\n };\n function a(r) {\n var e, t;\n return function (n) {\n e || (e = {\n stop: function () {\n return t(n.a, 2);\n },\n catch: function () {\n return n.v;\n },\n abrupt: function (r, e) {\n return t(n.a, o[r], e);\n },\n delegateYield: function (r, o, a) {\n return e.resultName = o, t(n.d, _regeneratorValues(r), a);\n },\n finish: function (r) {\n return t(n.f, r);\n }\n }, t = function (r, t, o) {\n n.p = e.prev, n.n = e.next;\n try {\n return r(t, o);\n } finally {\n e.next = n.n;\n }\n }), e.resultName && (e[e.resultName] = n.v, e.resultName = void 0), e.sent = n.v, e.next = n.n;\n try {\n return r.call(this, e);\n } finally {\n n.p = e.prev, n.n = e.next;\n }\n };\n }\n return (_regeneratorRuntime = function () {\n return {\n wrap: function (e, t, n, o) {\n return r.w(a(e), t, n, o && o.reverse());\n },\n isGeneratorFunction: n,\n mark: r.m,\n awrap: function (r, e) {\n return new _OverloadYield(r, e);\n },\n AsyncIterator: _regeneratorAsyncIterator,\n async: function (r, e, t, o, u) {\n return (n(e) ? _regeneratorAsyncGen : _regeneratorAsync)(a(r), e, t, o, u);\n },\n keys: _regeneratorKeys,\n values: _regeneratorValues\n };\n })();\n}\n\nexport { _OverloadYield as OverloadYield, _arrayLikeToArray as arrayLikeToArray, _arrayWithHoles as arrayWithHoles, _arrayWithoutHoles as arrayWithoutHoles, _assertThisInitialized as assertThisInitialized, _asyncToGenerator as asyncToGenerator, _callSuper as callSuper, _classCallCheck as classCallCheck, _createClass as createClass, _defineProperty as defineProperty, _get as get, _getPrototypeOf as getPrototypeOf, _inherits as inherits, _isNativeReflectConstruct as isNativeReflectConstruct, _iterableToArray as iterableToArray, _iterableToArrayLimit as iterableToArrayLimit, _nonIterableRest as nonIterableRest, _nonIterableSpread as nonIterableSpread, _objectSpread2 as objectSpread2, _possibleConstructorReturn as possibleConstructorReturn, _regenerator as regenerator, _regeneratorAsync as regeneratorAsync, _regeneratorAsyncGen as regeneratorAsyncGen, _regeneratorAsyncIterator as regeneratorAsyncIterator, _regeneratorDefine as regeneratorDefine, _regeneratorKeys as regeneratorKeys, _regeneratorRuntime as regeneratorRuntime, _regeneratorValues as regeneratorValues, _setPrototypeOf as setPrototypeOf, _slicedToArray as slicedToArray, _superPropBase as superPropBase, _toConsumableArray as toConsumableArray, _toPrimitive as toPrimitive, _toPropertyKey as toPropertyKey, _unsupportedIterableToArray as unsupportedIterableToArray };\n//# sourceMappingURL=_rollupPluginBabelHelpers.js.map\n","function t(t,e,s){return(e=function(t){var e=function(t,e){if(\"object\"!=typeof t||!t)return t;var s=t[Symbol.toPrimitive];if(void 0!==s){var i=s.call(t,e);if(\"object\"!=typeof i)return i;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===e?String:Number)(t)}(t,\"string\");return\"symbol\"==typeof e?e:e+\"\"}(e))in t?Object.defineProperty(t,e,{value:s,enumerable:!0,configurable:!0,writable:!0}):t[e]=s,t}class e{constructor(){t(this,\"browserShadowBlurConstant\",1),t(this,\"DPI\",96),t(this,\"devicePixelRatio\",\"undefined\"!=typeof window?window.devicePixelRatio:1),t(this,\"perfLimitSizeTotal\",2097152),t(this,\"maxCacheSideLimit\",4096),t(this,\"minCacheSideLimit\",256),t(this,\"disableStyleCopyPaste\",!1),t(this,\"enableGLFiltering\",!0),t(this,\"textureSize\",4096),t(this,\"forceGLPutImageData\",!1),t(this,\"cachesBoundsOfCurve\",!1),t(this,\"fontPaths\",{}),t(this,\"NUM_FRACTION_DIGITS\",4)}}const s=new class extends e{constructor(t){super(),this.configure(t)}configure(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};Object.assign(this,t)}addFonts(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.fontPaths={...this.fontPaths,...t}}removeFonts(){(arguments.length>0&&void 0!==arguments[0]?arguments[0]:[]).forEach(t=>{delete this.fontPaths[t]})}clearFonts(){this.fontPaths={}}restoreDefaults(t){const s=new e,i=(null==t?void 0:t.reduce((t,e)=>(t[e]=s[e],t),{}))||s;this.configure(i)}},i=function(t){for(var e=arguments.length,s=new Array(e>1?e-1:0),i=1;i<e;i++)s[i-1]=arguments[i];return console[t](\"fabric\",...s)};class r extends Error{constructor(t,e){super(`fabric: ${t}`,e)}}class n extends r{constructor(t){super(`${t} 'options.signal' is in 'aborted' state`)}}class o{}class a extends o{testPrecision(t,e){const s=`precision ${e} float;\\nvoid main(){}`,i=t.createShader(t.FRAGMENT_SHADER);return!!i&&(t.shaderSource(i,s),t.compileShader(i),!!t.getShaderParameter(i,t.COMPILE_STATUS))}queryWebGL(t){const e=t.getContext(\"webgl\");e&&(this.maxTextureSize=e.getParameter(e.MAX_TEXTURE_SIZE),this.GLPrecision=[\"highp\",\"mediump\",\"lowp\"].find(t=>this.testPrecision(e,t)),e.getExtension(\"WEBGL_lose_context\").loseContext(),i(\"log\",`WebGL: max texture size ${this.maxTextureSize}`))}isSupported(t){return!!this.maxTextureSize&&this.maxTextureSize>=t}}const h={};let l;const c=t=>{l=t},u=()=>l||(l={document:document,window:window,isTouchSupported:\"ontouchstart\"in window||\"ontouchstart\"in document||window&&window.navigator&&window.navigator.maxTouchPoints>0,WebGLProbe:new a,dispose(){},copyPasteData:h}),d=()=>u().document,g=()=>u().window,f=()=>{var t;return Math.max(null!==(t=s.devicePixelRatio)&&void 0!==t?t:g().devicePixelRatio,1)};const p=new class{constructor(){t(this,\"boundsOfCurveCache\",{}),this.charWidthsCache=new Map}getFontCache(t){let{fontFamily:e,fontStyle:s,fontWeight:i}=t;e=e.toLowerCase();const r=this.charWidthsCache;r.has(e)||r.set(e,new Map);const n=r.get(e),o=`${s.toLowerCase()}_${(i+\"\").toLowerCase()}`;return n.has(o)||n.set(o,new Map),n.get(o)}clearFontCache(t){t?this.charWidthsCache.delete((t||\"\").toLowerCase()):this.charWidthsCache=new Map}limitDimsByArea(t){const{perfLimitSizeTotal:e}=s,i=Math.sqrt(e*t);return[Math.floor(i),Math.floor(e/i)]}};const m=\"7.2.0\";function v(){}const y=Math.PI/2,_=Math.PI/4,x=2*Math.PI,C=Math.PI/180,b=Object.freeze([1,0,0,1,0,0]),S=16,w=.4477152502,T=\"center\",O=\"left\",k=\"top\",D=\"bottom\",M=\"right\",P=\"none\",E=/\\r?\\n/,A=\"moving\",j=\"scaling\",F=\"rotating\",L=\"rotate\",B=\"skewing\",R=\"resizing\",I=\"modifyPoly\",$=\"modifyPath\",X=\"changed\",Y=\"scale\",W=\"scaleX\",V=\"scaleY\",z=\"skewX\",G=\"skewY\",H=\"fill\",N=\"stroke\",U=\"modified\",q=\"ltr\",K=\"rtl\",J=\"normal\",Q=\"json\",Z=\"svg\";const tt=new class{constructor(){this[Q]=new Map,this[Z]=new Map}has(t){return this[Q].has(t)}getClass(t){const e=this[Q].get(t);if(!e)throw new r(`No class registered for ${t}`);return e}setClass(t,e){e?this[Q].set(e,t):(this[Q].set(t.type,t),this[Q].set(t.type.toLowerCase(),t))}getSVGClass(t){return this[Z].get(t)}setSVGClass(t,e){this[Z].set(null!=e?e:t.type.toLowerCase(),t)}};const et=new class extends Array{remove(t){const e=this.indexOf(t);e>-1&&this.splice(e,1)}cancelAll(){const t=this.splice(0);return t.forEach(t=>t.abort()),t}cancelByCanvas(t){if(!t)return[];const e=this.filter(e=>{var s;return e.target===t||\"object\"==typeof e.target&&(null===(s=e.target)||void 0===s?void 0:s.canvas)===t});return e.forEach(t=>t.abort()),e}cancelByTarget(t){if(!t)return[];const e=this.filter(e=>e.target===t);return e.forEach(t=>t.abort()),e}};class st{constructor(){t(this,\"__eventListeners\",{})}on(t,e){if(this.__eventListeners||(this.__eventListeners={}),\"object\"==typeof t)return Object.entries(t).forEach(t=>{let[e,s]=t;this.on(e,s)}),()=>this.off(t);if(e){const s=t;return this.__eventListeners[s]||(this.__eventListeners[s]=[]),this.__eventListeners[s].push(e),()=>this.off(s,e)}return()=>!1}once(t,e){if(\"object\"==typeof t){const e=[];return Object.entries(t).forEach(t=>{let[s,i]=t;e.push(this.once(s,i))}),()=>e.forEach(t=>t())}if(e){const s=this.on(t,function(){for(var t=arguments.length,i=new Array(t),r=0;r<t;r++)i[r]=arguments[r];e.call(this,...i),s()});return s}return()=>!1}_removeEventListener(t,e){if(this.__eventListeners[t])if(e){const s=this.__eventListeners[t],i=s.indexOf(e);i>-1&&s.splice(i,1)}else this.__eventListeners[t]=[]}off(t,e){if(this.__eventListeners)if(void 0===t)for(const t in this.__eventListeners)this._removeEventListener(t);else\"object\"==typeof t?Object.entries(t).forEach(t=>{let[e,s]=t;this._removeEventListener(e,s)}):this._removeEventListener(t,e)}fire(t,e){var s;if(!this.__eventListeners)return;const i=null===(s=this.__eventListeners[t])||void 0===s?void 0:s.concat();if(i)for(let t=0;t<i.length;t++)i[t].call(this,e||{})}}const it=(t,e)=>{const s=t.indexOf(e);return-1!==s&&t.splice(s,1),t},rt=t=>{if(0===t)return 1;switch(Math.abs(t)/y){case 1:case 3:return 0;case 2:return-1}return Math.cos(t)},nt=t=>{if(0===t)return 0;const e=t/y,s=Math.sign(t);switch(e){case 1:return s;case 2:return 0;case 3:return-s}return Math.sin(t)};class ot{constructor(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;\"object\"==typeof t?(this.x=t.x,this.y=t.y):(this.x=t,this.y=e)}add(t){return new ot(this.x+t.x,this.y+t.y)}addEquals(t){return this.x+=t.x,this.y+=t.y,this}scalarAdd(t){return new ot(this.x+t,this.y+t)}scalarAddEquals(t){return this.x+=t,this.y+=t,this}subtract(t){return new ot(this.x-t.x,this.y-t.y)}subtractEquals(t){return this.x-=t.x,this.y-=t.y,this}scalarSubtract(t){return new ot(this.x-t,this.y-t)}scalarSubtractEquals(t){return this.x-=t,this.y-=t,this}multiply(t){return new ot(this.x*t.x,this.y*t.y)}scalarMultiply(t){return new ot(this.x*t,this.y*t)}scalarMultiplyEquals(t){return this.x*=t,this.y*=t,this}divide(t){return new ot(this.x/t.x,this.y/t.y)}scalarDivide(t){return new ot(this.x/t,this.y/t)}scalarDivideEquals(t){return this.x/=t,this.y/=t,this}eq(t){return this.x===t.x&&this.y===t.y}lt(t){return this.x<t.x&&this.y<t.y}lte(t){return this.x<=t.x&&this.y<=t.y}gt(t){return this.x>t.x&&this.y>t.y}gte(t){return this.x>=t.x&&this.y>=t.y}lerp(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:.5;return e=Math.max(Math.min(1,e),0),new ot(this.x+(t.x-this.x)*e,this.y+(t.y-this.y)*e)}distanceFrom(t){const e=this.x-t.x,s=this.y-t.y;return Math.sqrt(e*e+s*s)}midPointFrom(t){return this.lerp(t)}min(t){return new ot(Math.min(this.x,t.x),Math.min(this.y,t.y))}max(t){return new ot(Math.max(this.x,t.x),Math.max(this.y,t.y))}toString(){return`${this.x},${this.y}`}setXY(t,e){return this.x=t,this.y=e,this}setX(t){return this.x=t,this}setY(t){return this.y=t,this}setFromPoint(t){return this.x=t.x,this.y=t.y,this}swap(t){const e=this.x,s=this.y;this.x=t.x,this.y=t.y,t.x=e,t.y=s}clone(){return new ot(this.x,this.y)}rotate(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:at;const s=nt(t),i=rt(t),r=this.subtract(e);return new ot(r.x*i-r.y*s,r.x*s+r.y*i).add(e)}transform(t){let e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return new ot(t[0]*this.x+t[2]*this.y+(e?0:t[4]),t[1]*this.x+t[3]*this.y+(e?0:t[5]))}}const at=new ot(0,0),ht=t=>!!t&&Array.isArray(t._objects);function lt(e){class s extends e{constructor(){super(...arguments),t(this,\"_objects\",[])}_onObjectAdded(t){}_onObjectRemoved(t){}_onStackOrderChanged(t){}add(){for(var t=arguments.length,e=new Array(t),s=0;s<t;s++)e[s]=arguments[s];const i=this._objects.push(...e);return e.forEach(t=>this._onObjectAdded(t)),i}insertAt(t){for(var e=arguments.length,s=new Array(e>1?e-1:0),i=1;i<e;i++)s[i-1]=arguments[i];return this._objects.splice(t,0,...s),s.forEach(t=>this._onObjectAdded(t)),this._objects.length}remove(){const t=this._objects,e=[];for(var s=arguments.length,i=new Array(s),r=0;r<s;r++)i[r]=arguments[r];return i.forEach(s=>{const i=t.indexOf(s);-1!==i&&(t.splice(i,1),e.push(s),this._onObjectRemoved(s))}),e}forEachObject(t){this.getObjects().forEach((e,s,i)=>t(e,s,i))}getObjects(){for(var t=arguments.length,e=new Array(t),s=0;s<t;s++)e[s]=arguments[s];return 0===e.length?[...this._objects]:this._objects.filter(t=>t.isType(...e))}item(t){return this._objects[t]}isEmpty(){return 0===this._objects.length}size(){return this._objects.length}contains(t,e){return!!this._objects.includes(t)||!!e&&this._objects.some(e=>e instanceof s&&e.contains(t,!0))}complexity(){return this._objects.reduce((t,e)=>t+=e.complexity?e.complexity():0,0)}sendObjectToBack(t){return!(!t||t===this._objects[0])&&(it(this._objects,t),this._objects.unshift(t),this._onStackOrderChanged(t),!0)}bringObjectToFront(t){return!(!t||t===this._objects[this._objects.length-1])&&(it(this._objects,t),this._objects.push(t),this._onStackOrderChanged(t),!0)}sendObjectBackwards(t,e){if(!t)return!1;const s=this._objects.indexOf(t);if(0!==s){const i=this.findNewLowerIndex(t,s,e);return it(this._objects,t),this._objects.splice(i,0,t),this._onStackOrderChanged(t),!0}return!1}bringObjectForward(t,e){if(!t)return!1;const s=this._objects.indexOf(t);if(s!==this._objects.length-1){const i=this.findNewUpperIndex(t,s,e);return it(this._objects,t),this._objects.splice(i,0,t),this._onStackOrderChanged(t),!0}return!1}moveObjectTo(t,e){return t!==this._objects[e]&&(it(this._objects,t),this._objects.splice(e,0,t),this._onStackOrderChanged(t),!0)}findNewLowerIndex(t,e,s){let i;if(s){i=e;for(let s=e-1;s>=0;--s)if(t.isOverlapping(this._objects[s])){i=s;break}}else i=e-1;return i}findNewUpperIndex(t,e,s){let i;if(s){i=e;for(let s=e+1;s<this._objects.length;++s)if(t.isOverlapping(this._objects[s])){i=s;break}}else i=e+1;return i}collectObjects(t){let{left:e,top:s,width:i,height:r}=t,{includeIntersecting:n=!0}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const o=[],a=new ot(e,s),h=a.add(new ot(i,r));for(let t=this._objects.length-1;t>=0;t--){const e=this._objects[t];e.selectable&&e.visible&&(n&&e.intersectsWithRect(a,h)||e.isContainedWithinRect(a,h)||n&&e.containsPoint(a)||n&&e.containsPoint(h))&&o.push(e)}return o}}return s}class ct extends st{_setOptions(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};for(const e in t)this.set(e,t[e])}_setObject(t){for(const e in t)this._set(e,t[e])}set(t,e){return\"object\"==typeof t?this._setObject(t):this._set(t,e),this}_set(t,e){this[t]=e}toggle(t){const e=this.get(t);return\"boolean\"==typeof e&&this.set(t,!e),this}get(t){return this[t]}}function ut(t){return g().requestAnimationFrame(t)}function dt(t){return g().cancelAnimationFrame(t)}let gt=0;const ft=()=>gt++,pt=()=>{const t=d().createElement(\"canvas\");if(!t||void 0===t.getContext)throw new r(\"Failed to create `canvas` element\");return t},mt=()=>d().createElement(\"img\"),vt=t=>{const e=pt();return e.width=t.width,e.height=t.height,e},yt=(t,e,s)=>t.toDataURL(`image/${e}`,s),_t=(t,e,s)=>new Promise((i,r)=>{t.toBlob(i,`image/${e}`,s)}),xt=t=>t*C,Ct=t=>t/C,bt=t=>t.every((t,e)=>t===b[e]),St=(t,e,s)=>new ot(t).transform(e,s),wt=t=>{const e=1/(t[0]*t[3]-t[1]*t[2]),s=[e*t[3],-e*t[1],-e*t[2],e*t[0],0,0],{x:i,y:r}=new ot(t[4],t[5]).transform(s,!0);return s[4]=-i,s[5]=-r,s},Tt=(t,e,s)=>[t[0]*e[0]+t[2]*e[1],t[1]*e[0]+t[3]*e[1],t[0]*e[2]+t[2]*e[3],t[1]*e[2]+t[3]*e[3],s?0:t[0]*e[4]+t[2]*e[5]+t[4],s?0:t[1]*e[4]+t[3]*e[5]+t[5]],Ot=(t,e)=>t.reduceRight((t,s)=>s&&t?Tt(s,t,e):s||t,void 0)||b.concat(),kt=t=>{let[e,s]=t;return Math.atan2(s,e)},Dt=t=>{const e=kt(t),s=Math.pow(t[0],2)+Math.pow(t[1],2),i=Math.sqrt(s),r=(t[0]*t[3]-t[2]*t[1])/i,n=Math.atan2(t[0]*t[2]+t[1]*t[3],s);return{angle:Ct(e),scaleX:i,scaleY:r,skewX:Ct(n),skewY:0,translateX:t[4]||0,translateY:t[5]||0}},Mt=function(t){return[1,0,0,1,t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:0]};function Pt(){let{angle:t=0}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{x:e=0,y:s=0}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const i=xt(t),r=rt(i),n=nt(i);return[r,n,-n,r,e?e-(r*e-n*s):0,s?s-(n*e+r*s):0]}const Et=function(t){return[t,0,0,arguments.length>1&&void 0!==arguments[1]?arguments[1]:t,0,0]},At=t=>Math.tan(xt(t)),jt=t=>[1,0,At(t),1,0,0],Ft=t=>[1,At(t),0,1,0,0],Lt=t=>{let{scaleX:e=1,scaleY:s=1,flipX:i=!1,flipY:r=!1,skewX:n=0,skewY:o=0}=t,a=Et(i?-e:e,r?-s:s);return n&&(a=Tt(a,jt(n),!0)),o&&(a=Tt(a,Ft(o),!0)),a},Bt=t=>{const{translateX:e=0,translateY:s=0,angle:i=0}=t;let r=Mt(e,s);i&&(r=Tt(r,Pt({angle:i})));const n=Lt(t);return bt(n)||(r=Tt(r,n)),r},Rt=function(t){let{signal:e,crossOrigin:s=null}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return new Promise(function(i,o){if(e&&e.aborted)return o(new n(\"loadImage\"));const a=mt();let h;e&&(h=function(t){a.src=\"\",o(t)},e.addEventListener(\"abort\",h,{once:!0}));const l=function(){a.onload=a.onerror=null,h&&(null==e||e.removeEventListener(\"abort\",h)),i(a)};t?(a.onload=l,a.onerror=function(){h&&(null==e||e.removeEventListener(\"abort\",h)),o(new r(`Error loading ${a.src}`))},s&&(a.crossOrigin=s),a.src=t):l()})},It=function(t){let{signal:e,reviver:s=v}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return new Promise((i,r)=>{const n=[];e&&e.addEventListener(\"abort\",r,{once:!0}),Promise.all(t.map(t=>tt.getClass(t.type).fromObject(t,{signal:e}).then(e=>(s(t,e),n.push(e),e)))).then(i).catch(t=>{n.forEach(t=>{t.dispose&&t.dispose()}),r(t)}).finally(()=>{e&&e.removeEventListener(\"abort\",r)})})},$t=function(t){let{signal:e}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return new Promise((s,i)=>{const r=[];e&&e.addEventListener(\"abort\",i,{once:!0});const n=Object.values(t).map(t=>t&&t.type&&tt.has(t.type)?It([t],{signal:e}).then(t=>{let[e]=t;return r.push(e),e}):t),o=Object.keys(t);Promise.all(n).then(t=>t.reduce((t,e,s)=>(t[o[s]]=e,t),{})).then(s).catch(t=>{r.forEach(t=>{t.dispose&&t.dispose()}),i(t)}).finally(()=>{e&&e.removeEventListener(\"abort\",i)})})},Xt=function(t){return(arguments.length>1&&void 0!==arguments[1]?arguments[1]:[]).reduce((e,s)=>(s in t&&(e[s]=t[s]),e),{})},Yt=(t,e)=>Object.keys(t).reduce((s,i)=>(e(t[i],i,t)&&(s[i]=t[i]),s),{}),Wt=(t,e)=>parseFloat(Number(t).toFixed(e)),Vt=t=>\"matrix(\"+t.map(t=>Wt(t,s.NUM_FRACTION_DIGITS)).join(\" \")+\")\",zt=t=>!!t&&void 0!==t.toLive,Gt=t=>!!t&&\"function\"==typeof t.toObject,Ht=t=>!!t&&void 0!==t.offsetX&&\"source\"in t,Nt=t=>!!t&&\"multiSelectionStacking\"in t;function Ut(t){const e=t&&qt(t);let s=0,i=0;if(!t||!e)return{left:s,top:i};let r=t;const n=e.documentElement,o=e.body||{scrollLeft:0,scrollTop:0};for(;r&&(r.parentNode||r.host)&&(r=r.parentNode||r.host,r===e?(s=o.scrollLeft||n.scrollLeft||0,i=o.scrollTop||n.scrollTop||0):(s+=r.scrollLeft||0,i+=r.scrollTop||0),1!==r.nodeType||\"fixed\"!==r.style.position););return{left:s,top:i}}const qt=t=>t.ownerDocument||null,Kt=t=>{var e;return(null===(e=t.ownerDocument)||void 0===e?void 0:e.defaultView)||null},Jt=function(t,e,s){let{width:i,height:r}=s,n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1;t.width=i,t.height=r,n>1&&(t.setAttribute(\"width\",(i*n).toString()),t.setAttribute(\"height\",(r*n).toString()),e.scale(n,n))},Qt=(t,e)=>{let{width:s,height:i}=e;s&&(t.style.width=\"number\"==typeof s?`${s}px`:s),i&&(t.style.height=\"number\"==typeof i?`${i}px`:i)};function Zt(t){return void 0!==t.onselectstart&&(t.onselectstart=()=>!1),t.style.userSelect=P,t}class te{constructor(e){t(this,\"_originalCanvasStyle\",void 0),t(this,\"lower\",void 0);const s=this.createLowerCanvas(e);this.lower={el:s,ctx:s.getContext(\"2d\")}}createLowerCanvas(t){const e=(s=t)&&void 0!==s.getContext?t:t&&d().getElementById(t)||pt();var s;if(e.hasAttribute(\"data-fabric\"))throw new r(\"Trying to initialize a canvas that has already been initialized. Did you forget to dispose the canvas?\");return this._originalCanvasStyle=e.style.cssText,e.setAttribute(\"data-fabric\",\"main\"),e.classList.add(\"lower-canvas\"),e}cleanupDOM(t){let{width:e,height:s}=t;const{el:i}=this.lower;i.classList.remove(\"lower-canvas\"),i.removeAttribute(\"data-fabric\"),i.setAttribute(\"width\",`${e}`),i.setAttribute(\"height\",`${s}`),i.style.cssText=this._originalCanvasStyle||\"\",this._originalCanvasStyle=void 0}setDimensions(t,e){const{el:s,ctx:i}=this.lower;Jt(s,i,t,e)}setCSSDimensions(t){Qt(this.lower.el,t)}calcOffset(){return function(t){var e;const s=t&&qt(t),i={left:0,top:0};if(!s)return i;const r=(null===(e=Kt(t))||void 0===e?void 0:e.getComputedStyle(t,null))||{};i.left+=parseInt(r.borderLeftWidth,10)||0,i.top+=parseInt(r.borderTopWidth,10)||0,i.left+=parseInt(r.paddingLeft,10)||0,i.top+=parseInt(r.paddingTop,10)||0;let n={left:0,top:0};const o=s.documentElement;void 0!==t.getBoundingClientRect&&(n=t.getBoundingClientRect());const a=Ut(t);return{left:n.left+a.left-(o.clientLeft||0)+i.left,top:n.top+a.top-(o.clientTop||0)+i.top}}(this.lower.el)}dispose(){u().dispose(this.lower.el),delete this.lower}}const ee={backgroundVpt:!0,backgroundColor:\"\",overlayVpt:!0,overlayColor:\"\",includeDefaultValues:!0,svgViewportTransformation:!0,renderOnAddRemove:!0,skipOffscreen:!0,enableRetinaScaling:!0,imageSmoothingEnabled:!0,controlsAboveOverlay:!1,allowTouchScrolling:!1,viewportTransform:[...b],patternQuality:\"best\"},se=t=>t.toString().replace(/&/g,\"&\").replace(/\"/g,\""\").replace(/'/g,\"'\").replace(/</g,\"<\").replace(/>/g,\">\");let ie;const re=t=>{if(ie||ie||(ie=\"Intl\"in g()&&\"Segmenter\"in Intl&&new Intl.Segmenter(void 0,{granularity:\"grapheme\"})),ie){const e=ie.segment(t);return Array.from(e).map(t=>{let{segment:e}=t;return e})}return ne(t)},ne=t=>{const e=[];for(let s,i=0;i<t.length;i++)!1!==(s=oe(t,i))&&e.push(s);return e},oe=(t,e)=>{const s=t.charCodeAt(e);if(isNaN(s))return\"\";if(s<55296||s>57343)return t.charAt(e);if(55296<=s&&s<=56319){if(t.length<=e+1)throw\"High surrogate without following low surrogate\";const s=t.charCodeAt(e+1);if(56320>s||s>57343)throw\"High surrogate without following low surrogate\";return t.charAt(e)+t.charAt(e+1)}if(0===e)throw\"Low surrogate without preceding high surrogate\";const i=t.charCodeAt(e-1);if(55296>i||i>56319)throw\"Low surrogate without preceding high surrogate\";return!1};var ae=Object.freeze({__proto__:null,capitalize:function(t){let e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return`${t.charAt(0).toUpperCase()}${e?t.slice(1):t.slice(1).toLowerCase()}`},escapeXml:se,graphemeSplit:re});class he extends(lt(ct)){get lowerCanvasEl(){var t;return null===(t=this.elements.lower)||void 0===t?void 0:t.el}get contextContainer(){var t;return null===(t=this.elements.lower)||void 0===t?void 0:t.ctx}static getDefaults(){return he.ownDefaults}constructor(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};super(),Object.assign(this,this.constructor.getDefaults()),this.set(e),this.initElements(t),this._setDimensionsImpl({width:this.width||this.elements.lower.el.width||0,height:this.height||this.elements.lower.el.height||0}),this.skipControlsDrawing=!1,this.viewportTransform=[...this.viewportTransform],this.calcViewportBoundaries()}initElements(t){this.elements=new te(t)}add(){const t=super.add(...arguments);return arguments.length>0&&this.renderOnAddRemove&&this.requestRenderAll(),t}insertAt(t){for(var e=arguments.length,s=new Array(e>1?e-1:0),i=1;i<e;i++)s[i-1]=arguments[i];const r=super.insertAt(t,...s);return s.length>0&&this.renderOnAddRemove&&this.requestRenderAll(),r}remove(){const t=super.remove(...arguments);return t.length>0&&this.renderOnAddRemove&&this.requestRenderAll(),t}_onObjectAdded(t){t.canvas&&t.canvas!==this&&(i(\"warn\",\"Canvas is trying to add an object that belongs to a different canvas.\\nResulting to default behavior: removing object from previous canvas and adding to new canvas\"),t.canvas.remove(t)),t._set(\"canvas\",this),t.setCoords(),this.fire(\"object:added\",{target:t}),t.fire(\"added\",{target:this})}_onObjectRemoved(t){t._set(\"canvas\",void 0),this.fire(\"object:removed\",{target:t}),t.fire(\"removed\",{target:this})}_onStackOrderChanged(){this.renderOnAddRemove&&this.requestRenderAll()}getRetinaScaling(){return this.enableRetinaScaling?f():1}calcOffset(){return this._offset=this.elements.calcOffset()}getWidth(){return this.width}getHeight(){return this.height}_setDimensionsImpl(t){let{cssOnly:e=!1,backstoreOnly:s=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!e){const e={width:this.width,height:this.height,...t};this.elements.setDimensions(e,this.getRetinaScaling()),this.hasLostContext=!0,this.width=e.width,this.height=e.height}s||this.elements.setCSSDimensions(t),this.calcOffset()}setDimensions(t,e){this._setDimensionsImpl(t,e),e&&e.cssOnly||this.requestRenderAll()}getZoom(){return this.viewportTransform[0]}setViewportTransform(t){this.viewportTransform=t,this.calcViewportBoundaries(),this.renderOnAddRemove&&this.requestRenderAll()}zoomToPoint(t,e){const s=t,i=[...this.viewportTransform],r=St(t,wt(i));i[0]=e,i[3]=e;const n=St(r,i);i[4]+=s.x-n.x,i[5]+=s.y-n.y,this.setViewportTransform(i)}setZoom(t){this.zoomToPoint(new ot(0,0),t)}absolutePan(t){const e=[...this.viewportTransform];return e[4]=-t.x,e[5]=-t.y,this.setViewportTransform(e)}relativePan(t){return this.absolutePan(new ot(-t.x-this.viewportTransform[4],-t.y-this.viewportTransform[5]))}getElement(){return this.elements.lower.el}clearContext(t){t.clearRect(0,0,this.width,this.height)}getContext(){return this.elements.lower.ctx}clear(){this.remove(...this.getObjects()),this.backgroundImage=void 0,this.overlayImage=void 0,this.backgroundColor=\"\",this.overlayColor=\"\",this.clearContext(this.getContext()),this.fire(\"canvas:cleared\"),this.renderOnAddRemove&&this.requestRenderAll()}renderAll(){this.cancelRequestedRender(),this.destroyed||this.renderCanvas(this.getContext(),this._objects)}renderAndReset(){this.nextRenderHandle=0,this.renderAll()}requestRenderAll(){this.nextRenderHandle||this.disposed||this.destroyed||(this.nextRenderHandle=ut(()=>this.renderAndReset()))}calcViewportBoundaries(){const t=this.width,e=this.height,s=wt(this.viewportTransform),i=St({x:0,y:0},s),r=St({x:t,y:e},s),n=i.min(r),o=i.max(r);return this.vptCoords={tl:n,tr:new ot(o.x,n.y),bl:new ot(n.x,o.y),br:o}}cancelRequestedRender(){this.nextRenderHandle&&(dt(this.nextRenderHandle),this.nextRenderHandle=0)}drawControls(t){}renderCanvas(t,e){if(this.destroyed)return;const s=this.viewportTransform,i=this.clipPath;this.calcViewportBoundaries(),this.clearContext(t),t.imageSmoothingEnabled=this.imageSmoothingEnabled,t.patternQuality=this.patternQuality,this.fire(\"before:render\",{ctx:t}),this._renderBackground(t),t.save(),t.transform(s[0],s[1],s[2],s[3],s[4],s[5]),this._renderObjects(t,e),t.restore(),this.controlsAboveOverlay||this.skipControlsDrawing||this.drawControls(t),i&&(i._set(\"canvas\",this),i.shouldCache(),i._transformDone=!0,i.renderCache({forClipping:!0}),this.drawClipPathOnCanvas(t,i)),this._renderOverlay(t),this.controlsAboveOverlay&&!this.skipControlsDrawing&&this.drawControls(t),this.fire(\"after:render\",{ctx:t}),this.__cleanupTask&&(this.__cleanupTask(),this.__cleanupTask=void 0)}drawClipPathOnCanvas(t,e){const s=this.viewportTransform;t.save(),t.transform(...s),t.globalCompositeOperation=\"destination-in\",e.transform(t),t.scale(1/e.zoomX,1/e.zoomY),t.drawImage(e._cacheCanvas,-e.cacheTranslationX,-e.cacheTranslationY),t.restore()}_renderObjects(t,e){for(let s=0,i=e.length;s<i;++s)e[s]&&e[s].render(t)}_renderBackgroundOrOverlay(t,e){const s=this[`${e}Color`],i=this[`${e}Image`],r=this.viewportTransform,n=this[`${e}Vpt`];if(!s&&!i)return;const o=zt(s);if(s){if(t.save(),t.beginPath(),t.moveTo(0,0),t.lineTo(this.width,0),t.lineTo(this.width,this.height),t.lineTo(0,this.height),t.closePath(),t.fillStyle=o?s.toLive(t):s,n&&t.transform(...r),o){t.transform(1,0,0,1,s.offsetX||0,s.offsetY||0);const e=s.gradientTransform||s.patternTransform;e&&t.transform(...e)}t.fill(),t.restore()}if(i){t.save();const{skipOffscreen:e}=this;this.skipOffscreen=n,n&&t.transform(...r),i.render(t),this.skipOffscreen=e,t.restore()}}_renderBackground(t){this._renderBackgroundOrOverlay(t,\"background\")}_renderOverlay(t){this._renderBackgroundOrOverlay(t,\"overlay\")}getCenterPoint(){return new ot(this.width/2,this.height/2)}centerObjectH(t){return this._centerObject(t,new ot(this.getCenterPoint().x,t.getCenterPoint().y))}centerObjectV(t){return this._centerObject(t,new ot(t.getCenterPoint().x,this.getCenterPoint().y))}centerObject(t){return this._centerObject(t,this.getCenterPoint())}viewportCenterObject(t){return this._centerObject(t,this.getVpCenter())}viewportCenterObjectH(t){return this._centerObject(t,new ot(this.getVpCenter().x,t.getCenterPoint().y))}viewportCenterObjectV(t){return this._centerObject(t,new ot(t.getCenterPoint().x,this.getVpCenter().y))}getVpCenter(){return St(this.getCenterPoint(),wt(this.viewportTransform))}_centerObject(t,e){t.setXY(e,T,T),t.setCoords(),this.renderOnAddRemove&&this.requestRenderAll()}toDatalessJSON(t){return this.toDatalessObject(t)}toObject(t){return this._toObjectMethod(\"toObject\",t)}toJSON(){return this.toObject()}toDatalessObject(t){return this._toObjectMethod(\"toDatalessObject\",t)}_toObjectMethod(t,e){const s=this.clipPath,i=s&&!s.excludeFromExport?this._toObject(s,t,e):null;return{version:m,...Xt(this,e),objects:this._objects.filter(t=>!t.excludeFromExport).map(s=>this._toObject(s,t,e)),...this.__serializeBgOverlay(t,e),...i?{clipPath:i}:null}}_toObject(t,e,s){let i;this.includeDefaultValues||(i=t.includeDefaultValues,t.includeDefaultValues=!1);const r=t[e](s);return this.includeDefaultValues||(t.includeDefaultValues=!!i),r}__serializeBgOverlay(t,e){const s={},i=this.backgroundImage,r=this.overlayImage,n=this.backgroundColor,o=this.overlayColor;return zt(n)?n.excludeFromExport||(s.background=n.toObject(e)):n&&(s.background=n),zt(o)?o.excludeFromExport||(s.overlay=o.toObject(e)):o&&(s.overlay=o),i&&!i.excludeFromExport&&(s.backgroundImage=this._toObject(i,t,e)),r&&!r.excludeFromExport&&(s.overlayImage=this._toObject(r,t,e)),s}toSVG(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1?arguments[1]:void 0;t.reviver=e;const s=[];var i;(this._setSVGPreamble(s,t),this._setSVGHeader(s,t),this.clipPath)&&s.push(`<g clip-path=\"url(#${se(null!==(i=this.clipPath.clipPathId)&&void 0!==i?i:\"\")})\" >\\n`);return this._setSVGBgOverlayColor(s,\"background\"),this._setSVGBgOverlayImage(s,\"backgroundImage\",e),this._setSVGObjects(s,e),this.clipPath&&s.push(\"</g>\\n\"),this._setSVGBgOverlayColor(s,\"overlay\"),this._setSVGBgOverlayImage(s,\"overlayImage\",e),s.push(\"</svg>\"),s.join(\"\")}_setSVGPreamble(t,e){e.suppressPreamble||t.push('<?xml version=\"1.0\" encoding=\"',e.encoding||\"UTF-8\",'\" standalone=\"no\" ?>\\n','<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\" ','\"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\\n')}_setSVGHeader(t,e){const i=e.width||`${this.width}`,r=e.height||`${this.height}`,n=s.NUM_FRACTION_DIGITS,o=e.viewBox;let a;if(o)a=`viewBox=\"${o.x} ${o.y} ${o.width} ${o.height}\" `;else if(this.svgViewportTransformation){const t=this.viewportTransform;a=`viewBox=\"${Wt(-t[4]/t[0],n)} ${Wt(-t[5]/t[3],n)} ${Wt(this.width/t[0],n)} ${Wt(this.height/t[3],n)}\" `}else a=`viewBox=\"0 0 ${this.width} ${this.height}\" `;t.push(\"<svg \",'xmlns=\"http://www.w3.org/2000/svg\" ','xmlns:xlink=\"http://www.w3.org/1999/xlink\" ','version=\"1.1\" ','width=\"',i,'\" ','height=\"',r,'\" ',a,'xml:space=\"preserve\">\\n',\"<desc>Created with Fabric.js \",m,\"</desc>\\n\",\"<defs>\\n\",this.createSVGFontFacesMarkup(),this.createSVGRefElementsMarkup(),this.createSVGClipPathMarkup(e),\"</defs>\\n\")}createSVGClipPathMarkup(t){const e=this.clipPath;return e?(e.clipPathId=`CLIPPATH_${ft()}`,`<clipPath id=\"${e.clipPathId}\" >\\n${e.toClipPathSVG(t.reviver)}</clipPath>\\n`):\"\"}createSVGRefElementsMarkup(){return[\"background\",\"overlay\"].map(t=>{const e=this[`${t}Color`];if(zt(e)){const s=this[`${t}Vpt`],i=this.viewportTransform,r={isType:()=>!1,width:this.width/(s?i[0]:1),height:this.height/(s?i[3]:1)};return e.toSVG(r,{additionalTransform:s?Vt(i):\"\"})}}).join(\"\")}createSVGFontFacesMarkup(){const t=[],e={},i=s.fontPaths;this._objects.forEach(function e(s){t.push(s),ht(s)&&s._objects.forEach(e)}),t.forEach(t=>{if(!(s=t)||\"function\"!=typeof s._renderText)return;var s;const{styles:r,fontFamily:n}=t;!e[n]&&i[n]&&(e[n]=!0,r&&Object.values(r).forEach(t=>{Object.values(t).forEach(t=>{let{fontFamily:s=\"\"}=t;!e[s]&&i[s]&&(e[s]=!0)})}))});const r=Object.keys(e).map(t=>`\\t\\t@font-face {\\n\\t\\t\\tfont-family: '${t}';\\n\\t\\t\\tsrc: url('${i[t]}');\\n\\t\\t}\\n`).join(\"\");return r?`\\t<style type=\"text/css\"><![CDATA[\\n${r}]]></style>\\n`:\"\"}_setSVGObjects(t,e){this.forEachObject(s=>{s.excludeFromExport||this._setSVGObject(t,s,e)})}_setSVGObject(t,e,s){t.push(e.toSVG(s))}_setSVGBgOverlayImage(t,e,s){const i=this[e];i&&!i.excludeFromExport&&i.toSVG&&t.push(i.toSVG(s))}_setSVGBgOverlayColor(t,e){const s=this[`${e}Color`];if(s)if(zt(s)){const i=s.repeat||\"\",r=this.width,n=this.height,o=this[`${e}Vpt`]?Vt(wt(this.viewportTransform)):\"\";t.push(`<rect transform=\"${o} translate(${r/2},${n/2})\" x=\"${s.offsetX-r/2}\" y=\"${s.offsetY-n/2}\" width=\"${\"repeat-y\"!==i&&\"no-repeat\"!==i||!Ht(s)?r:s.source.width}\" height=\"${\"repeat-x\"!==i&&\"no-repeat\"!==i||!Ht(s)?n:s.source.height}\" fill=\"url(#SVGID_${s.id})\"></rect>\\n`)}else t.push('<rect x=\"0\" y=\"0\" width=\"100%\" height=\"100%\" ','fill=\"',s,'\"',\"></rect>\\n\")}loadFromJSON(t,e){let{signal:s}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!t)return Promise.reject(new r(\"`json` is undefined\"));const{objects:i=[],...n}=\"string\"==typeof t?JSON.parse(t):t,{backgroundImage:o,background:a,overlayImage:h,overlay:l,clipPath:c}=n,u=this.renderOnAddRemove;return this.renderOnAddRemove=!1,Promise.all([It(i,{reviver:e,signal:s}),$t({backgroundImage:o,backgroundColor:a,overlayImage:h,overlayColor:l,clipPath:c},{signal:s})]).then(t=>{let[e,s]=t;return this.clear(),this.add(...e),this.set(n),this.set(s),this.renderOnAddRemove=u,this})}clone(t){const e=this.toObject(t);return this.cloneWithoutData().loadFromJSON(e)}cloneWithoutData(){const t=vt(this);return new this.constructor(t)}toDataURL(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const{format:e=\"png\",quality:s=1,multiplier:i=1,enableRetinaScaling:r=!1}=t,n=i*(r?this.getRetinaScaling():1);return yt(this.toCanvasElement(n,t),e,s)}toBlob(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const{format:e=\"png\",quality:s=1,multiplier:i=1,enableRetinaScaling:r=!1}=t,n=i*(r?this.getRetinaScaling():1);return _t(this.toCanvasElement(n,t),e,s)}toCanvasElement(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,{width:e,height:s,left:i,top:r,filter:n}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const o=(e||this.width)*t,a=(s||this.height)*t,h=this.getZoom(),l=this.width,c=this.height,u=this.skipControlsDrawing,d=h*t,g=this.viewportTransform,f=[d,0,0,d,(g[4]-(i||0))*t,(g[5]-(r||0))*t],p=this.enableRetinaScaling,m=vt({width:o,height:a}),v=n?this._objects.filter(t=>n(t)):this._objects;return this.enableRetinaScaling=!1,this.viewportTransform=f,this.width=o,this.height=a,this.skipControlsDrawing=!0,this.calcViewportBoundaries(),this.renderCanvas(m.getContext(\"2d\"),v),this.viewportTransform=g,this.width=l,this.height=c,this.calcViewportBoundaries(),this.enableRetinaScaling=p,this.skipControlsDrawing=u,m}dispose(){return!this.disposed&&this.elements.cleanupDOM({width:this.width,height:this.height}),et.cancelByCanvas(this),this.disposed=!0,new Promise((t,e)=>{const s=()=>{this.destroy(),t(!0)};s.kill=e,this.__cleanupTask&&this.__cleanupTask.kill(\"aborted\"),this.destroyed?t(!1):this.nextRenderHandle?this.__cleanupTask=s:s()})}destroy(){this.destroyed=!0,this.cancelRequestedRender(),this.forEachObject(t=>t.dispose()),this._objects=[],this.backgroundImage&&this.backgroundImage.dispose(),this.backgroundImage=void 0,this.overlayImage&&this.overlayImage.dispose(),this.overlayImage=void 0,this.elements.dispose()}toString(){return`#<Canvas (${this.complexity()}): { objects: ${this._objects.length} }>`}}t(he,\"ownDefaults\",ee);const le=[\"touchstart\",\"touchmove\",\"touchend\"];const ce=t=>{const e=Ut(t.target),s=function(t){const e=t.changedTouches;return e&&e[0]?e[0]:t}(t);return new ot(s.clientX+e.left,s.clientY+e.top)},ue=t=>le.includes(t.type)||\"touch\"===t.pointerType,de=t=>{t.preventDefault(),t.stopPropagation()},ge=t=>{let e=0,s=0,i=0,r=0;for(let n=0,o=t.length;n<o;n++){const{x:o,y:a}=t[n];(o>i||!n)&&(i=o),(o<e||!n)&&(e=o),(a>r||!n)&&(r=a),(a<s||!n)&&(s=a)}return{left:e,top:s,width:i-e,height:r-s}},fe=(t,e)=>pe(t,Tt(e,t.calcOwnMatrix())),pe=(t,e)=>{const{translateX:s,translateY:i,scaleX:r,scaleY:n,...o}=Dt(e),a=new ot(s,i);t.flipX=!1,t.flipY=!1,Object.assign(t,o),t.set({scaleX:r,scaleY:n}),t.setPositionByOrigin(a,T,T)},me=t=>{t.scaleX=1,t.scaleY=1,t.skewX=0,t.skewY=0,t.flipX=!1,t.flipY=!1,t.rotate(0)},ve=t=>({scaleX:t.scaleX,scaleY:t.scaleY,skewX:t.skewX,skewY:t.skewY,angle:t.angle,left:t.left,flipX:t.flipX,flipY:t.flipY,top:t.top}),ye=(t,e,s)=>{const i=t/2,r=e/2,n=[new ot(-i,-r),new ot(i,-r),new ot(-i,r),new ot(i,r)].map(t=>t.transform(s)),o=ge(n);return new ot(o.width,o.height)},_e=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:b;return Tt(wt(arguments.length>1&&void 0!==arguments[1]?arguments[1]:b),t)},xe=function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:b,s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:b;return t.transform(_e(e,s))},Ce=function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:b,s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:b;return t.transform(_e(e,s),!0)},be=(t,e,s)=>{const i=_e(e,s);return pe(t,Tt(i,t.calcOwnMatrix())),i},Se={left:-.5,top:-.5,center:0,bottom:.5,right:.5},we=t=>\"string\"==typeof t?Se[t]:t-.5,Te=new ot(1,0),Oe=new ot,ke=(t,e)=>t.rotate(e),De=(t,e)=>new ot(e).subtract(t),Me=t=>t.distanceFrom(Oe),Pe=(t,e)=>Math.atan2(Fe(t,e),Le(t,e)),Ee=t=>Pe(Te,t),Ae=t=>t.eq(Oe)?t:t.scalarDivide(Me(t)),je=function(t){let e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return Ae(new ot(-t.y,t.x).scalarMultiply(e?1:-1))},Fe=(t,e)=>t.x*e.y-t.y*e.x,Le=(t,e)=>t.x*e.x+t.y*e.y,Be=(t,e,s)=>{if(t.eq(e)||t.eq(s))return!0;const i=Fe(e,s),r=Fe(e,t),n=Fe(s,t);return i>=0?r>=0&&n<=0:!(r<=0&&n>=0)},Re=\"not-allowed\";function Ie(t){return we(t.originX)===we(T)&&we(t.originY)===we(T)}function $e(t){return.5-we(t)}const Xe=(t,e)=>t[e],Ye=(t,e,s,i)=>({e:t,transform:e,pointer:new ot(s,i)});function We(t,e,s){const i=s,r=xe(t.getCenterPoint(),t.canvas.viewportTransform,void 0),n=Ee(De(r,i))+x;return Math.round(n%x/_)}function Ve(t,e,s,i,r){var n;let{target:o,corner:a}=t;const h=o.controls[a],l=(null===(n=o.canvas)||void 0===n?void 0:n.getZoom())||1,c=o.padding/l,u=function(t,e,s,i){const r=t.getRelativeCenterPoint(),n=void 0!==s&&void 0!==i?t.translateToGivenOrigin(r,T,T,s,i):new ot(t.left,t.top);return(t.angle?e.rotate(-xt(t.angle),r):e).subtract(n)}(o,new ot(i,r),e,s);return u.x>=c&&(u.x-=c),u.x<=-c&&(u.x+=c),u.y>=c&&(u.y-=c),u.y<=c&&(u.y+=c),u.x-=h.offsetX,u.y-=h.offsetY,u}const ze=t=>t.replace(/\\s+/g,\" \"),Ge={aliceblue:\"#F0F8FF\",antiquewhite:\"#FAEBD7\",aqua:\"#0FF\",aquamarine:\"#7FFFD4\",azure:\"#F0FFFF\",beige:\"#F5F5DC\",bisque:\"#FFE4C4\",black:\"#000\",blanchedalmond:\"#FFEBCD\",blue:\"#00F\",blueviolet:\"#8A2BE2\",brown:\"#A52A2A\",burlywood:\"#DEB887\",cadetblue:\"#5F9EA0\",chartreuse:\"#7FFF00\",chocolate:\"#D2691E\",coral:\"#FF7F50\",cornflowerblue:\"#6495ED\",cornsilk:\"#FFF8DC\",crimson:\"#DC143C\",cyan:\"#0FF\",darkblue:\"#00008B\",darkcyan:\"#008B8B\",darkgoldenrod:\"#B8860B\",darkgray:\"#A9A9A9\",darkgrey:\"#A9A9A9\",darkgreen:\"#006400\",darkkhaki:\"#BDB76B\",darkmagenta:\"#8B008B\",darkolivegreen:\"#556B2F\",darkorange:\"#FF8C00\",darkorchid:\"#9932CC\",darkred:\"#8B0000\",darksalmon:\"#E9967A\",darkseagreen:\"#8FBC8F\",darkslateblue:\"#483D8B\",darkslategray:\"#2F4F4F\",darkslategrey:\"#2F4F4F\",darkturquoise:\"#00CED1\",darkviolet:\"#9400D3\",deeppink:\"#FF1493\",deepskyblue:\"#00BFFF\",dimgray:\"#696969\",dimgrey:\"#696969\",dodgerblue:\"#1E90FF\",firebrick:\"#B22222\",floralwhite:\"#FFFAF0\",forestgreen:\"#228B22\",fuchsia:\"#F0F\",gainsboro:\"#DCDCDC\",ghostwhite:\"#F8F8FF\",gold:\"#FFD700\",goldenrod:\"#DAA520\",gray:\"#808080\",grey:\"#808080\",green:\"#008000\",greenyellow:\"#ADFF2F\",honeydew:\"#F0FFF0\",hotpink:\"#FF69B4\",indianred:\"#CD5C5C\",indigo:\"#4B0082\",ivory:\"#FFFFF0\",khaki:\"#F0E68C\",lavender:\"#E6E6FA\",lavenderblush:\"#FFF0F5\",lawngreen:\"#7CFC00\",lemonchiffon:\"#FFFACD\",lightblue:\"#ADD8E6\",lightcoral:\"#F08080\",lightcyan:\"#E0FFFF\",lightgoldenrodyellow:\"#FAFAD2\",lightgray:\"#D3D3D3\",lightgrey:\"#D3D3D3\",lightgreen:\"#90EE90\",lightpink:\"#FFB6C1\",lightsalmon:\"#FFA07A\",lightseagreen:\"#20B2AA\",lightskyblue:\"#87CEFA\",lightslategray:\"#789\",lightslategrey:\"#789\",lightsteelblue:\"#B0C4DE\",lightyellow:\"#FFFFE0\",lime:\"#0F0\",limegreen:\"#32CD32\",linen:\"#FAF0E6\",magenta:\"#F0F\",maroon:\"#800000\",mediumaquamarine:\"#66CDAA\",mediumblue:\"#0000CD\",mediumorchid:\"#BA55D3\",mediumpurple:\"#9370DB\",mediumseagreen:\"#3CB371\",mediumslateblue:\"#7B68EE\",mediumspringgreen:\"#00FA9A\",mediumturquoise:\"#48D1CC\",mediumvioletred:\"#C71585\",midnightblue:\"#191970\",mintcream:\"#F5FFFA\",mistyrose:\"#FFE4E1\",moccasin:\"#FFE4B5\",navajowhite:\"#FFDEAD\",navy:\"#000080\",oldlace:\"#FDF5E6\",olive:\"#808000\",olivedrab:\"#6B8E23\",orange:\"#FFA500\",orangered:\"#FF4500\",orchid:\"#DA70D6\",palegoldenrod:\"#EEE8AA\",palegreen:\"#98FB98\",paleturquoise:\"#AFEEEE\",palevioletred:\"#DB7093\",papayawhip:\"#FFEFD5\",peachpuff:\"#FFDAB9\",peru:\"#CD853F\",pink:\"#FFC0CB\",plum:\"#DDA0DD\",powderblue:\"#B0E0E6\",purple:\"#800080\",rebeccapurple:\"#639\",red:\"#F00\",rosybrown:\"#BC8F8F\",royalblue:\"#4169E1\",saddlebrown:\"#8B4513\",salmon:\"#FA8072\",sandybrown:\"#F4A460\",seagreen:\"#2E8B57\",seashell:\"#FFF5EE\",sienna:\"#A0522D\",silver:\"#C0C0C0\",skyblue:\"#87CEEB\",slateblue:\"#6A5ACD\",slategray:\"#708090\",slategrey:\"#708090\",snow:\"#FFFAFA\",springgreen:\"#00FF7F\",steelblue:\"#4682B4\",tan:\"#D2B48C\",teal:\"#008080\",thistle:\"#D8BFD8\",tomato:\"#FF6347\",turquoise:\"#40E0D0\",violet:\"#EE82EE\",wheat:\"#F5DEB3\",white:\"#FFF\",whitesmoke:\"#F5F5F5\",yellow:\"#FF0\",yellowgreen:\"#9ACD32\"},He=(t,e,s)=>(s<0&&(s+=1),s>1&&(s-=1),s<1/6?t+6*(e-t)*s:s<.5?e:s<2/3?t+(e-t)*(2/3-s)*6:t),Ne=(t,e,s,i)=>{t/=255,e/=255,s/=255;const r=Math.max(t,e,s),n=Math.min(t,e,s);let o,a;const h=(r+n)/2;if(r===n)o=a=0;else{const i=r-n;switch(a=h>.5?i/(2-r-n):i/(r+n),r){case t:o=(e-s)/i+(e<s?6:0);break;case e:o=(s-t)/i+2;break;case s:o=(t-e)/i+4}o/=6}return[Math.round(360*o),Math.round(100*a),Math.round(100*h),i]},Ue=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"1\";return parseFloat(t)/(t.endsWith(\"%\")?100:1)},qe=t=>Math.min(Math.round(t),255).toString(16).toUpperCase().padStart(2,\"0\"),Ke=t=>{let[e,s,i,r=1]=t;const n=Math.round(.3*e+.59*s+.11*i);return[n,n,n,r]};class Je{constructor(e){if(t(this,\"isUnrecognised\",!1),e)if(e instanceof Je)this.setSource([...e._source]);else if(Array.isArray(e)){const[t,s,i,r=1]=e;this.setSource([t,s,i,r])}else this.setSource(this._tryParsingColor(e));else this.setSource([0,0,0,1])}_tryParsingColor(t){return(t=t.toLowerCase())in Ge&&(t=Ge[t]),\"transparent\"===t?[255,255,255,0]:Je.sourceFromHex(t)||Je.sourceFromRgb(t)||Je.sourceFromHsl(t)||(this.isUnrecognised=!0)&&[0,0,0,1]}getSource(){return this._source}setSource(t){this._source=t}toRgb(){const[t,e,s]=this.getSource();return`rgb(${t},${e},${s})`}toRgba(){return`rgba(${this.getSource().join(\",\")})`}toHsl(){const[t,e,s]=Ne(...this.getSource());return`hsl(${t},${e}%,${s}%)`}toHsla(){const[t,e,s,i]=Ne(...this.getSource());return`hsla(${t},${e}%,${s}%,${i})`}toHex(){return this.toHexa().slice(0,6)}toHexa(){const[t,e,s,i]=this.getSource();return`${qe(t)}${qe(e)}${qe(s)}${qe(Math.round(255*i))}`}getAlpha(){return this.getSource()[3]}setAlpha(t){return this._source[3]=t,this}toGrayscale(){return this.setSource(Ke(this.getSource())),this}toBlackWhite(t){const[e,,,s]=Ke(this.getSource()),i=e<(t||127)?0:255;return this.setSource([i,i,i,s]),this}overlayWith(t){t instanceof Je||(t=new Je(t));const e=this.getSource(),s=t.getSource(),[i,r,n]=e.map((t,e)=>Math.round(.5*t+.5*s[e]));return this.setSource([i,r,n,e[3]]),this}static fromRgb(t){return Je.fromRgba(t)}static fromRgba(t){return new Je(Je.sourceFromRgb(t))}static sourceFromRgb(t){const e=ze(t).match(/^rgba?\\(\\s?(\\d{0,3}(?:\\.\\d+)?%?)\\s?[\\s|,]\\s?(\\d{0,3}(?:\\.\\d+)?%?)\\s?[\\s|,]\\s?(\\d{0,3}(?:\\.\\d+)?%?)\\s?(?:\\s?[,/]\\s?(\\d{0,3}(?:\\.\\d+)?%?)\\s?)?\\)$/i);if(e){const[t,s,i]=e.slice(1,4).map(t=>{const e=parseFloat(t);return t.endsWith(\"%\")?Math.round(2.55*e):e});return[t,s,i,Ue(e[4])]}}static fromHsl(t){return Je.fromHsla(t)}static fromHsla(t){return new Je(Je.sourceFromHsl(t))}static sourceFromHsl(t){const e=ze(t).match(/^hsla?\\(\\s?([+-]?\\d{0,3}(?:\\.\\d+)?(?:deg|turn|rad)?)\\s?[\\s|,]\\s?(\\d{0,3}(?:\\.\\d+)?%?)\\s?[\\s|,]\\s?(\\d{0,3}(?:\\.\\d+)?%?)\\s?(?:\\s?[,/]\\s?(\\d*(?:\\.\\d+)?%?)\\s?)?\\)$/i);if(!e)return;const s=(Je.parseAngletoDegrees(e[1])%360+360)%360/360,i=parseFloat(e[2])/100,r=parseFloat(e[3])/100;let n,o,a;if(0===i)n=o=a=r;else{const t=r<=.5?r*(i+1):r+i-r*i,e=2*r-t;n=He(e,t,s+1/3),o=He(e,t,s),a=He(e,t,s-1/3)}return[Math.round(255*n),Math.round(255*o),Math.round(255*a),Ue(e[4])]}static fromHex(t){return new Je(Je.sourceFromHex(t))}static sourceFromHex(t){if(t.match(/^#?(([0-9a-f]){3,4}|([0-9a-f]{2}){3,4})$/i)){const e=t.slice(t.indexOf(\"#\")+1);let s;s=e.length<=4?e.split(\"\").map(t=>t+t):e.match(/.{2}/g);const[i,r,n,o=255]=s.map(t=>parseInt(t,16));return[i,r,n,o/255]}}static parseAngletoDegrees(t){const e=t.toLowerCase(),s=parseFloat(e);return e.includes(\"rad\")?Ct(s):e.includes(\"turn\")?360*s:s}}const Qe=function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:S;const i=/\\D{0,2}$/.exec(t),r=parseFloat(t),n=s.DPI;switch(null==i?void 0:i[0]){case\"mm\":return r*n/25.4;case\"cm\":return r*n/2.54;case\"in\":return r*n;case\"pt\":return r*n/72;case\"pc\":return r*n/72*12;case\"em\":return r*e;default:return r}},Ze=t=>{const[e,s]=t.trim().split(\" \"),[i,r]=(n=e)&&n!==P?[n.slice(1,4),n.slice(5,8)]:n===P?[n,n]:[\"Mid\",\"Mid\"];var n;return{meetOrSlice:s||\"meet\",alignX:i,alignY:r}},ts=function(t,e){let s,i,r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(e)if(e.toLive)s=`url(#SVGID_${se(e.id)})`;else{const t=new Je(e),r=t.getAlpha();s=t.toRgb(),1!==r&&(i=r.toString())}else s=\"none\";return r?`${t}: ${s}; ${i?`${t}-opacity: ${i}; `:\"\"}`:`${t}=\"${s}\" ${i?`${t}-opacity=\"${i}\" `:\"\"}`};class es{getSvgStyles(t){const e=this.fillRule?this.fillRule:\"nonzero\",s=this.strokeWidth?this.strokeWidth:\"0\",i=this.strokeDashArray?this.strokeDashArray.join(\" \"):P,r=this.strokeDashOffset?this.strokeDashOffset:\"0\",n=this.strokeLineCap?this.strokeLineCap:\"butt\",o=this.strokeLineJoin?this.strokeLineJoin:\"miter\",a=this.strokeMiterLimit?this.strokeMiterLimit:\"4\",h=void 0!==this.opacity?this.opacity:\"1\",l=this.visible?\"\":\" visibility: hidden;\",c=t?\"\":this.getSvgFilter(),u=ts(H,this.fill);return[ts(N,this.stroke),\"stroke-width: \",s,\"; \",\"stroke-dasharray: \",i,\"; \",\"stroke-linecap: \",n,\"; \",\"stroke-dashoffset: \",r,\"; \",\"stroke-linejoin: \",o,\"; \",\"stroke-miterlimit: \",a,\"; \",u,\"fill-rule: \",e,\"; \",\"opacity: \",h,\";\",c,l].map(t=>se(t)).join(\"\")}getSvgFilter(){return this.shadow?`filter: url(#SVGID_${se(this.shadow.id)});`:\"\"}getSvgCommons(){return[this.id?`id=\"${se(String(this.id))}\" `:\"\",this.clipPath?`clip-path=\"url(#${this.clipPath.clipPathId})\" `:\"\"].join(\"\")}getSvgTransform(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"\";const s=t?this.calcTransformMatrix():this.calcOwnMatrix();return`${`transform=\"${Vt(s)}`}${e}\" `}_toSVG(t){return[\"\"]}toSVG(t){return this._createBaseSVGMarkup(this._toSVG(t),{reviver:t})}toClipPathSVG(t){return\"\\t\"+this._createBaseClipPathSVGMarkup(this._toSVG(t),{reviver:t})}_createBaseClipPathSVGMarkup(t){let{reviver:e,additionalTransform:s=\"\"}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const i=[this.getSvgTransform(!0,s),this.getSvgCommons()].join(\"\"),r=t.indexOf(\"COMMON_PARTS\");return t[r]=i,e?e(t.join(\"\")):t.join(\"\")}_createBaseSVGMarkup(t){let{noStyle:e,reviver:s,withShadow:i,additionalTransform:r}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n=e?\"\":`style=\"${this.getSvgStyles()}\" `,o=i?`style=\"${this.getSvgFilter()}\" `:\"\",a=this.clipPath,h=this.strokeUniform?'vector-effect=\"non-scaling-stroke\" ':\"\",l=a&&a.absolutePositioned,c=this.stroke,u=this.fill,d=this.shadow,g=[],f=t.indexOf(\"COMMON_PARTS\");let p;a&&(a.clipPathId=`CLIPPATH_${ft()}`,p=`<clipPath id=\"${a.clipPathId}\" >\\n${a.toClipPathSVG(s)}</clipPath>\\n`),l&&g.push(\"<g \",o,this.getSvgCommons(),\" >\\n\"),g.push(\"<g \",this.getSvgTransform(!1),l?\"\":o+this.getSvgCommons(),\" >\\n\");const m=[n,h,e?\"\":this.addPaintOrder(),\" \",r?`transform=\"${r}\" `:\"\"].join(\"\");return t[f]=m,zt(u)&&g.push(u.toSVG(this)),zt(c)&&g.push(c.toSVG(this)),d&&g.push(d.toSVG(this)),a&&g.push(p),g.push(t.join(\"\")),g.push(\"</g>\\n\"),l&&g.push(\"</g>\\n\"),s?s(g.join(\"\")):g.join(\"\")}addPaintOrder(){return this.paintFirst!==H?` paint-order=\"${se(this.paintFirst)}\" `:\"\"}}function ss(t){return new RegExp(\"^(\"+t.join(\"|\")+\")\\\\b\",\"i\")}const is=\"textDecorationThickness\",rs=[\"fontSize\",\"fontWeight\",\"fontFamily\",\"fontStyle\"],ns=[\"underline\",\"overline\",\"linethrough\"],os=[...rs,\"lineHeight\",\"text\",\"charSpacing\",\"textAlign\",\"styles\",\"path\",\"pathStartOffset\",\"pathSide\",\"pathAlign\"],as=[...os,...ns,\"textBackgroundColor\",\"direction\",is],hs=[...rs,...ns,N,\"strokeWidth\",H,\"deltaY\",\"textBackgroundColor\",is],ls={_reNewline:E,_reSpacesAndTabs:/[ \\t\\r]/g,_reSpaceAndTab:/[ \\t\\r]/,_reWords:/\\S+/g,fontSize:40,fontWeight:J,fontFamily:\"Times New Roman\",underline:!1,overline:!1,linethrough:!1,textAlign:O,fontStyle:J,lineHeight:1.16,textBackgroundColor:\"\",stroke:null,shadow:null,path:void 0,pathStartOffset:0,pathSide:O,pathAlign:\"baseline\",charSpacing:0,deltaY:0,direction:q,CACHE_FONT_SIZE:400,MIN_TEXT_WIDTH:2,superscript:{size:.6,baseline:-.35},subscript:{size:.6,baseline:.11},_fontSizeFraction:.222,offsets:{underline:.1,linethrough:-.28167,overline:-.81333},_fontSizeMult:1.13,[is]:66.667},cs=\"justify\",us=\"justify-left\",ds=\"justify-right\",gs=\"justify-center\",fs=String.raw`[-+]?(?:\\d*\\.\\d+|\\d+\\.?)(?:[eE][-+]?\\d+)?`,ps=String.raw`(?:\\s*,?\\s+|\\s*,\\s*)`,ms=\"http://www.w3.org/2000/svg\",vs=new RegExp(\"(normal|italic)?\\\\s*(normal|small-caps)?\\\\s*(normal|bold|bolder|lighter|100|200|300|400|500|600|700|800|900)?\\\\s*(\"+fs+\"(?:px|cm|mm|em|pt|pc|in)*)(?:\\\\/(normal|\"+fs+\"))?\\\\s+(.*)\"),ys={cx:O,x:O,r:\"radius\",cy:k,y:k,display:\"visible\",visibility:\"visible\",transform:\"transformMatrix\",\"fill-opacity\":\"fillOpacity\",\"fill-rule\":\"fillRule\",\"font-family\":\"fontFamily\",\"font-size\":\"fontSize\",\"font-style\":\"fontStyle\",\"font-weight\":\"fontWeight\",\"letter-spacing\":\"charSpacing\",\"paint-order\":\"paintFirst\",\"stroke-dasharray\":\"strokeDashArray\",\"stroke-dashoffset\":\"strokeDashOffset\",\"stroke-linecap\":\"strokeLineCap\",\"stroke-linejoin\":\"strokeLineJoin\",\"stroke-miterlimit\":\"strokeMiterLimit\",\"stroke-opacity\":\"strokeOpacity\",\"stroke-width\":\"strokeWidth\",\"text-decoration\":\"textDecoration\",\"text-anchor\":\"textAnchor\",opacity:\"opacity\",\"clip-path\":\"clipPath\",\"clip-rule\":\"clipRule\",\"vector-effect\":\"strokeUniform\",\"image-rendering\":\"imageSmoothing\",\"text-decoration-thickness\":is},_s=\"font-size\",xs=\"clip-path\",Cs=ss([\"path\",\"circle\",\"polygon\",\"polyline\",\"ellipse\",\"rect\",\"line\",\"image\",\"text\"]),bs=ss([\"symbol\",\"image\",\"marker\",\"pattern\",\"view\",\"svg\"]),Ss=ss([\"symbol\",\"g\",\"a\",\"svg\",\"clipPath\",\"defs\"]),ws=new RegExp(String.raw`^\\s*(${fs})${ps}(${fs})${ps}(${fs})${ps}(${fs})\\s*$`),Ts=\"(-?\\\\d+(?:\\\\.\\\\d*)?(?:px)?(?:\\\\s?|$))?\",Os=new RegExp(\"(?:\\\\s|^)\"+Ts+Ts+\"(\"+fs+\"?(?:px)?)?(?:\\\\s?|$)(?:$|\\\\s)\");class ks{constructor(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const e=\"string\"==typeof t?ks.parseShadow(t):t;Object.assign(this,ks.ownDefaults,e),this.id=ft()}static parseShadow(t){const e=t.trim(),[,s=0,i=0,r=0]=(Os.exec(e)||[]).map(t=>parseFloat(t)||0);return{color:(e.replace(Os,\"\")||\"rgb(0,0,0)\").trim(),offsetX:s,offsetY:i,blur:r}}toString(){return[this.offsetX,this.offsetY,this.blur,this.color].join(\"px \")}toSVG(t){const e=ke(new ot(this.offsetX,this.offsetY),xt(-t.angle)),i=s.NUM_FRACTION_DIGITS,r=new Je(this.color);let n=40,o=40;return t.width&&t.height&&(n=100*Wt((Math.abs(e.x)+this.blur)/t.width,i)+20,o=100*Wt((Math.abs(e.y)+this.blur)/t.height,i)+20),t.flipX&&(e.x*=-1),t.flipY&&(e.y*=-1),`<filter id=\"SVGID_${se(this.id)}\" y=\"-${o}%\" height=\"${100+2*o}%\" x=\"-${n}%\" width=\"${100+2*n}%\" >\\n\\t<feGaussianBlur in=\"SourceAlpha\" stdDeviation=\"${Wt(this.blur?this.blur/2:0,i)}\"></feGaussianBlur>\\n\\t<feOffset dx=\"${Wt(e.x,i)}\" dy=\"${Wt(e.y,i)}\" result=\"oBlur\" ></feOffset>\\n\\t<feFlood flood-color=\"${r.toRgb()}\" flood-opacity=\"${r.getAlpha()}\"/>\\n\\t<feComposite in2=\"oBlur\" operator=\"in\" />\\n\\t<feMerge>\\n\\t\\t<feMergeNode></feMergeNode>\\n\\t\\t<feMergeNode in=\"SourceGraphic\"></feMergeNode>\\n\\t</feMerge>\\n</filter>\\n`}toObject(){const t={color:this.color,blur:this.blur,offsetX:this.offsetX,offsetY:this.offsetY,affectStroke:this.affectStroke,nonScaling:this.nonScaling,type:this.constructor.type},e=ks.ownDefaults;return this.includeDefaultValues?t:Yt(t,(t,s)=>t!==e[s])}static async fromObject(t){return new this(t)}}t(ks,\"ownDefaults\",{color:\"rgb(0,0,0)\",blur:0,offsetX:0,offsetY:0,affectStroke:!1,includeDefaultValues:!0,nonScaling:!1}),t(ks,\"type\",\"shadow\"),tt.setClass(ks,\"shadow\");const Ds=(t,e,s)=>Math.max(t,Math.min(e,s)),Ms=[k,O,W,V,\"flipX\",\"flipY\",\"originX\",\"originY\",\"angle\",\"opacity\",\"globalCompositeOperation\",\"shadow\",\"visible\",z,G],Ps=[H,N,\"strokeWidth\",\"strokeDashArray\",\"width\",\"height\",\"paintFirst\",\"strokeUniform\",\"strokeLineCap\",\"strokeDashOffset\",\"strokeLineJoin\",\"strokeMiterLimit\",\"backgroundColor\",\"clipPath\"],Es={top:0,left:0,width:0,height:0,angle:0,flipX:!1,flipY:!1,scaleX:1,scaleY:1,minScaleLimit:0,skewX:0,skewY:0,originX:T,originY:T,strokeWidth:1,strokeUniform:!1,padding:0,opacity:1,paintFirst:H,fill:\"rgb(0,0,0)\",fillRule:\"nonzero\",stroke:null,strokeDashArray:null,strokeDashOffset:0,strokeLineCap:\"butt\",strokeLineJoin:\"miter\",strokeMiterLimit:4,globalCompositeOperation:\"source-over\",backgroundColor:\"\",shadow:null,visible:!0,includeDefaultValues:!0,excludeFromExport:!1,objectCaching:!0,clipPath:void 0,inverted:!1,absolutePositioned:!1,centeredRotation:!0,centeredScaling:!1,dirty:!0},As=(t,e,s,i)=>(t<Math.abs(e)?(t=e,i=s/4):i=0===e&&0===t?s/x*Math.asin(1):s/x*Math.asin(e/t),{a:t,c:e,p:s,s:i}),js=(t,e,s,i,r)=>t*Math.pow(2,10*(i-=1))*Math.sin((i*r-e)*x/s),Fs=(t,e,s,i)=>-s*Math.cos(t/i*y)+s+e,Ls=(t,e,s,i)=>(t/=i)<1/2.75?s*(7.5625*t*t)+e:t<2/2.75?s*(7.5625*(t-=1.5/2.75)*t+.75)+e:t<2.5/2.75?s*(7.5625*(t-=2.25/2.75)*t+.9375)+e:s*(7.5625*(t-=2.625/2.75)*t+.984375)+e,Bs=(t,e,s,i)=>s-Ls(i-t,0,s,i)+e;var Rs=Object.freeze({__proto__:null,defaultEasing:Fs,easeInBack:function(t,e,s,i){let r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:1.70158;return s*(t/=i)*t*((r+1)*t-r)+e},easeInBounce:Bs,easeInCirc:(t,e,s,i)=>-s*(Math.sqrt(1-(t/=i)*t)-1)+e,easeInCubic:(t,e,s,i)=>s*(t/i)**3+e,easeInElastic:(t,e,s,i)=>{const r=s;let n=0;if(0===t)return e;if(1===(t/=i))return e+s;n||(n=.3*i);const{a:o,s:a,p:h}=As(r,s,n,1.70158);return-js(o,a,h,t,i)+e},easeInExpo:(t,e,s,i)=>0===t?e:s*2**(10*(t/i-1))+e,easeInOutBack:function(t,e,s,i){let r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:1.70158;return(t/=i/2)<1?s/2*(t*t*((1+(r*=1.525))*t-r))+e:s/2*((t-=2)*t*((1+(r*=1.525))*t+r)+2)+e},easeInOutBounce:(t,e,s,i)=>t<i/2?.5*Bs(2*t,0,s,i)+e:.5*Ls(2*t-i,0,s,i)+.5*s+e,easeInOutCirc:(t,e,s,i)=>(t/=i/2)<1?-s/2*(Math.sqrt(1-t**2)-1)+e:s/2*(Math.sqrt(1-(t-=2)*t)+1)+e,easeInOutCubic:(t,e,s,i)=>(t/=i/2)<1?s/2*t**3+e:s/2*((t-2)**3+2)+e,easeInOutElastic:(t,e,s,i)=>{const r=s;let n=0;if(0===t)return e;if(2===(t/=i/2))return e+s;n||(n=i*(.3*1.5));const{a:o,s:a,p:h,c:l}=As(r,s,n,1.70158);return t<1?-.5*js(o,a,h,t,i)+e:o*Math.pow(2,-10*(t-=1))*Math.sin((t*i-a)*x/h)*.5+l+e},easeInOutExpo:(t,e,s,i)=>0===t?e:t===i?e+s:(t/=i/2)<1?s/2*2**(10*(t-1))+e:s/2*-(2**(-10*--t)+2)+e,easeInOutQuad:(t,e,s,i)=>(t/=i/2)<1?s/2*t**2+e:-s/2*(--t*(t-2)-1)+e,easeInOutQuart:(t,e,s,i)=>(t/=i/2)<1?s/2*t**4+e:-s/2*((t-=2)*t**3-2)+e,easeInOutQuint:(t,e,s,i)=>(t/=i/2)<1?s/2*t**5+e:s/2*((t-2)**5+2)+e,easeInOutSine:(t,e,s,i)=>-s/2*(Math.cos(Math.PI*t/i)-1)+e,easeInQuad:(t,e,s,i)=>s*(t/=i)*t+e,easeInQuart:(t,e,s,i)=>s*(t/=i)*t**3+e,easeInQuint:(t,e,s,i)=>s*(t/i)**5+e,easeInSine:(t,e,s,i)=>-s*Math.cos(t/i*y)+s+e,easeOutBack:function(t,e,s,i){let r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:1.70158;return s*((t=t/i-1)*t*((r+1)*t+r)+1)+e},easeOutBounce:Ls,easeOutCirc:(t,e,s,i)=>s*Math.sqrt(1-(t=t/i-1)*t)+e,easeOutCubic:(t,e,s,i)=>s*((t/i-1)**3+1)+e,easeOutElastic:(t,e,s,i)=>{const r=s;let n=0;if(0===t)return e;if(1===(t/=i))return e+s;n||(n=.3*i);const{a:o,s:a,p:h,c:l}=As(r,s,n,1.70158);return o*2**(-10*t)*Math.sin((t*i-a)*x/h)+l+e},easeOutExpo:(t,e,s,i)=>t===i?e+s:s*-(2**(-10*t/i)+1)+e,easeOutQuad:(t,e,s,i)=>-s*(t/=i)*(t-2)+e,easeOutQuart:(t,e,s,i)=>-s*((t=t/i-1)*t**3-1)+e,easeOutQuint:(t,e,s,i)=>s*((t/i-1)**5+1)+e,easeOutSine:(t,e,s,i)=>s*Math.sin(t/i*y)+e});const Is=()=>!1;class $s{constructor(e){let{startValue:s,byValue:i,duration:r=500,delay:n=0,easing:o=Fs,onStart:a=v,onChange:h=v,onComplete:l=v,abort:c=Is,target:u}=e;t(this,\"_state\",\"pending\"),t(this,\"durationProgress\",0),t(this,\"valueProgress\",0),this.tick=this.tick.bind(this),this.duration=r,this.delay=n,this.easing=o,this._onStart=a,this._onChange=h,this._onComplete=l,this._abort=c,this.target=u,this.startValue=s,this.byValue=i,this.value=this.startValue,this.endValue=Object.freeze(this.calculate(this.duration).value)}get state(){return this._state}isDone(){return\"aborted\"===this._state||\"completed\"===this._state}start(){const t=t=>{\"pending\"===this._state&&(this.startTime=t||+new Date,this._state=\"running\",this._onStart(),this.tick(this.startTime))};this.register(),this.delay>0?setTimeout(()=>ut(t),this.delay):ut(t)}tick(t){const e=(t||+new Date)-this.startTime,s=Math.min(e,this.duration);this.durationProgress=s/this.duration;const{value:i,valueProgress:r}=this.calculate(s);this.value=Object.freeze(i),this.valueProgress=r,\"aborted\"!==this._state&&(this._abort(this.value,this.valueProgress,this.durationProgress)?(this._state=\"aborted\",this.unregister()):e>=this.duration?(this.durationProgress=this.valueProgress=1,this._onChange(this.endValue,this.valueProgress,this.durationProgress),this._state=\"completed\",this._onComplete(this.endValue,this.valueProgress,this.durationProgress),this.unregister()):(this._onChange(this.value,this.valueProgress,this.durationProgress),ut(this.tick)))}register(){et.push(this)}unregister(){et.remove(this)}abort(){this._state=\"aborted\",this.unregister()}}class Xs extends $s{constructor(t){let{startValue:e=0,endValue:s=100,...i}=t;super({...i,startValue:e,byValue:s-e})}calculate(t){const e=this.easing(t,this.startValue,this.byValue,this.duration);return{value:e,valueProgress:Math.abs((e-this.startValue)/this.byValue)}}}class Ys extends $s{constructor(t){let{startValue:e=[0],endValue:s=[100],...i}=t;super({...i,startValue:e,byValue:s.map((t,s)=>t-e[s])})}calculate(t){const e=this.startValue.map((e,s)=>this.easing(t,e,this.byValue[s],this.duration,s));return{value:e,valueProgress:Math.abs((e[0]-this.startValue[0])/this.byValue[0])}}}const Ws=(t,e,s,i)=>e+s*(1-Math.cos(t/i*y)),Vs=t=>t&&((e,s,i)=>t(new Je(e).toRgba(),s,i));class zs extends $s{constructor(t){let{startValue:e,endValue:s,easing:i=Ws,onChange:r,onComplete:n,abort:o,...a}=t;const h=new Je(e).getSource(),l=new Je(s).getSource();super({...a,startValue:h,byValue:l.map((t,e)=>t-h[e]),easing:i,onChange:Vs(r),onComplete:Vs(n),abort:Vs(o)})}calculate(t){const[e,s,i,r]=this.startValue.map((e,s)=>this.easing(t,e,this.byValue[s],this.duration,s)),n=[...[e,s,i].map(Math.round),Ds(0,r,1)];return{value:n,valueProgress:n.map((t,e)=>0!==this.byValue[e]?Math.abs((t-this.startValue[e])/this.byValue[e]):0).find(t=>0!==t)||0}}}function Gs(t){const e=(t=>Array.isArray(t.startValue)||Array.isArray(t.endValue))(t)?new Ys(t):new Xs(t);return e.start(),e}function Hs(t){const e=new zs(t);return e.start(),e}class Ns{constructor(t){this.status=t,this.points=[]}includes(t){return this.points.some(e=>e.eq(t))}append(){for(var t=arguments.length,e=new Array(t),s=0;s<t;s++)e[s]=arguments[s];return this.points=this.points.concat(e.filter(t=>!this.includes(t))),this}static isPointContained(t,e,s){let i=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(e.eq(s))return t.eq(e);if(e.x===s.x)return t.x===e.x&&(i||t.y>=Math.min(e.y,s.y)&&t.y<=Math.max(e.y,s.y));if(e.y===s.y)return t.y===e.y&&(i||t.x>=Math.min(e.x,s.x)&&t.x<=Math.max(e.x,s.x));{const r=De(e,s),n=De(e,t).divide(r);return i?Math.abs(n.x)===Math.abs(n.y):n.x===n.y&&n.x>=0&&n.x<=1}}static isPointInPolygon(t,e){const s=new ot(t).setX(Math.min(t.x-1,...e.map(t=>t.x)));let i=0;for(let r=0;r<e.length;r++){const n=this.intersectSegmentSegment(e[r],e[(r+1)%e.length],t,s);if(n.includes(t))return!0;i+=Number(\"Intersection\"===n.status)}return i%2==1}static intersectLineLine(t,e,s,i){let r=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],n=!(arguments.length>5&&void 0!==arguments[5])||arguments[5];const o=e.x-t.x,a=e.y-t.y,h=i.x-s.x,l=i.y-s.y,c=t.x-s.x,u=t.y-s.y,d=h*u-l*c,g=o*u-a*c,f=l*o-h*a;if(0!==f){const e=d/f,s=g/f;return(r||0<=e&&e<=1)&&(n||0<=s&&s<=1)?new Ns(\"Intersection\").append(new ot(t.x+e*o,t.y+e*a)):new Ns}if(0===d||0===g){const o=r||n||Ns.isPointContained(t,s,i)||Ns.isPointContained(e,s,i)||Ns.isPointContained(s,t,e)||Ns.isPointContained(i,t,e);return new Ns(o?\"Coincident\":void 0)}return new Ns(\"Parallel\")}static intersectSegmentLine(t,e,s,i){return Ns.intersectLineLine(t,e,s,i,!1,!0)}static intersectSegmentSegment(t,e,s,i){return Ns.intersectLineLine(t,e,s,i,!1,!1)}static intersectLinePolygon(t,e,s){let i=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];const r=new Ns,n=s.length;for(let o,a,h,l=0;l<n;l++){if(o=s[l],a=s[(l+1)%n],h=Ns.intersectLineLine(t,e,o,a,i,!1),\"Coincident\"===h.status)return h;r.append(...h.points)}return r.points.length>0&&(r.status=\"Intersection\"),r}static intersectSegmentPolygon(t,e,s){return Ns.intersectLinePolygon(t,e,s,!1)}static intersectPolygonPolygon(t,e){const s=new Ns,i=t.length,r=[];for(let n=0;n<i;n++){const o=t[n],a=t[(n+1)%i],h=Ns.intersectSegmentPolygon(o,a,e);\"Coincident\"===h.status?(r.push(h),s.append(o,a)):s.append(...h.points)}return r.length>0&&r.length===t.length?new Ns(\"Coincident\"):(s.points.length>0&&(s.status=\"Intersection\"),s)}static intersectPolygonRectangle(t,e,s){const i=e.min(s),r=e.max(s),n=new ot(r.x,i.y),o=new ot(i.x,r.y);return Ns.intersectPolygonPolygon(t,[i,n,r,o])}}class Us extends ct{getX(){return this.getXY().x}setX(t){this.setXY(this.getXY().setX(t))}getY(){return this.getXY().y}setY(t){this.setXY(this.getXY().setY(t))}getRelativeX(){return this.left}setRelativeX(t){this.left=t}getRelativeY(){return this.top}setRelativeY(t){this.top=t}getXY(){const t=this.getRelativeXY();return this.group?St(t,this.group.calcTransformMatrix()):t}setXY(t,e,s){this.group&&(t=St(t,wt(this.group.calcTransformMatrix()))),this.setRelativeXY(t,e,s)}getRelativeXY(){return new ot(this.left,this.top)}setRelativeXY(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.originX,s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.originY;this.setPositionByOrigin(t,e,s)}isStrokeAccountedForInDimensions(){return!1}getCoords(){const{tl:t,tr:e,br:s,bl:i}=this.aCoords||(this.aCoords=this.calcACoords()),r=[t,e,s,i];if(this.group){const t=this.group.calcTransformMatrix();return r.map(e=>St(e,t))}return r}intersectsWithRect(t,e){return\"Intersection\"===Ns.intersectPolygonRectangle(this.getCoords(),t,e).status}intersectsWithObject(t){const e=Ns.intersectPolygonPolygon(this.getCoords(),t.getCoords());return\"Intersection\"===e.status||\"Coincident\"===e.status||t.isContainedWithinObject(this)||this.isContainedWithinObject(t)}isContainedWithinObject(t){return this.getCoords().every(e=>t.containsPoint(e))}isContainedWithinRect(t,e){const{left:s,top:i,width:r,height:n}=this.getBoundingRect();return s>=t.x&&s+r<=e.x&&i>=t.y&&i+n<=e.y}isOverlapping(t){return this.intersectsWithObject(t)||this.isContainedWithinObject(t)||t.isContainedWithinObject(this)}containsPoint(t){return Ns.isPointInPolygon(t,this.getCoords())}isOnScreen(){if(!this.canvas)return!1;const{tl:t,br:e}=this.canvas.vptCoords;return!!this.getCoords().some(s=>s.x<=e.x&&s.x>=t.x&&s.y<=e.y&&s.y>=t.y)||(!!this.intersectsWithRect(t,e)||this.containsPoint(t.midPointFrom(e)))}isPartiallyOnScreen(){if(!this.canvas)return!1;const{tl:t,br:e}=this.canvas.vptCoords;if(this.intersectsWithRect(t,e))return!0;return this.getCoords().every(s=>(s.x>=e.x||s.x<=t.x)&&(s.y>=e.y||s.y<=t.y))&&this.containsPoint(t.midPointFrom(e))}getBoundingRect(){return ge(this.getCoords())}getScaledWidth(){return this._getTransformedDimensions().x}getScaledHeight(){return this._getTransformedDimensions().y}scale(t){this._set(W,t),this._set(V,t),this.setCoords()}scaleToWidth(t){const e=this.getBoundingRect().width/this.getScaledWidth();return this.scale(t/this.width/e)}scaleToHeight(t){const e=this.getBoundingRect().height/this.getScaledHeight();return this.scale(t/this.height/e)}getCanvasRetinaScaling(){var t;return(null===(t=this.canvas)||void 0===t?void 0:t.getRetinaScaling())||1}getTotalAngle(){return this.group?Ct(kt(this.calcTransformMatrix())):this.angle}getViewportTransform(){var t;return(null===(t=this.canvas)||void 0===t?void 0:t.viewportTransform)||b.concat()}calcACoords(){const t=Pt({angle:this.angle}),{x:e,y:s}=this.getRelativeCenterPoint(),i=Mt(e,s),r=Tt(i,t),n=this._getTransformedDimensions(),o=n.x/2,a=n.y/2;return{tl:St({x:-o,y:-a},r),tr:St({x:o,y:-a},r),bl:St({x:-o,y:a},r),br:St({x:o,y:a},r)}}setCoords(){this.aCoords=this.calcACoords()}transformMatrixKey(){let t=arguments.length>0&&void 0!==arguments[0]&&arguments[0],e=[];return!t&&this.group&&(e=this.group.transformMatrixKey(t)),e.push(this.top,this.left,this.width,this.height,this.scaleX,this.scaleY,this.angle,this.strokeWidth,this.skewX,this.skewY,+this.flipX,+this.flipY,we(this.originX),we(this.originY)),e}calcTransformMatrix(){let t=arguments.length>0&&void 0!==arguments[0]&&arguments[0],e=this.calcOwnMatrix();if(t||!this.group)return e;const s=this.transformMatrixKey(t),i=this.matrixCache;return i&&i.key.every((t,e)=>t===s[e])?i.value:(this.group&&(e=Tt(this.group.calcTransformMatrix(!1),e)),this.matrixCache={key:s,value:e},e)}calcOwnMatrix(){const t=this.transformMatrixKey(!0),e=this.ownMatrixCache;if(e&&e.key.every((e,s)=>e===t[s]))return e.value;const s=this.getRelativeCenterPoint(),i={angle:this.angle,translateX:s.x,translateY:s.y,scaleX:this.scaleX,scaleY:this.scaleY,skewX:this.skewX,skewY:this.skewY,flipX:this.flipX,flipY:this.flipY},r=Bt(i);return this.ownMatrixCache={key:t,value:r},r}_getNonTransformedDimensions(){return new ot(this.width,this.height).scalarAdd(this.strokeWidth)}_calculateCurrentDimensions(t){return this._getTransformedDimensions(t).transform(this.getViewportTransform(),!0).scalarAdd(2*this.padding)}_getTransformedDimensions(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const e={scaleX:this.scaleX,scaleY:this.scaleY,skewX:this.skewX,skewY:this.skewY,width:this.width,height:this.height,strokeWidth:this.strokeWidth,...t},s=e.strokeWidth;let i=s,r=0;this.strokeUniform&&(i=0,r=s);const n=e.width+i,o=e.height+i;let a;return a=0===e.skewX&&0===e.skewY?new ot(n*e.scaleX,o*e.scaleY):ye(n,o,Lt(e)),a.scalarAdd(r)}translateToGivenOrigin(t,e,s,i,r){let n=t.x,o=t.y;const a=we(i)-we(e),h=we(r)-we(s);if(a||h){const t=this._getTransformedDimensions();n+=a*t.x,o+=h*t.y}return new ot(n,o)}translateToCenterPoint(t,e,s){if(e===T&&s===T)return t;const i=this.translateToGivenOrigin(t,e,s,T,T);return this.angle?i.rotate(xt(this.angle),t):i}translateToOriginPoint(t,e,s){const i=this.translateToGivenOrigin(t,T,T,e,s);return this.angle?i.rotate(xt(this.angle),t):i}getCenterPoint(){const t=this.getRelativeCenterPoint();return this.group?St(t,this.group.calcTransformMatrix()):t}getRelativeCenterPoint(){return this.translateToCenterPoint(new ot(this.left,this.top),this.originX,this.originY)}getPointByOrigin(t,e){return this.getPositionByOrigin(t,e)}getPositionByOrigin(t,e){return this.translateToOriginPoint(this.getRelativeCenterPoint(),t,e)}setPositionByOrigin(t,e,s){const i=this.translateToCenterPoint(t,e,s),r=this.translateToOriginPoint(i,this.originX,this.originY);this.set({left:r.x,top:r.y})}_getLeftTopCoords(){return this.getPositionByOrigin(O,k)}positionByLeftTop(t){return this.setPositionByOrigin(t,O,k)}}let qs=class e extends Us{static getDefaults(){return e.ownDefaults}get type(){const t=this.constructor.type;return\"FabricObject\"===t?\"object\":t.toLowerCase()}set type(t){i(\"warn\",\"Setting type has no effect\",t)}constructor(s){super(),t(this,\"_cacheContext\",null),Object.assign(this,e.ownDefaults),this.setOptions(s)}_createCacheCanvas(){this._cacheCanvas=pt(),this._cacheContext=this._cacheCanvas.getContext(\"2d\"),this._updateCacheCanvas(),this.dirty=!0}_limitCacheSize(t){const e=t.width,i=t.height,r=s.maxCacheSideLimit,n=s.minCacheSideLimit;if(e<=r&&i<=r&&e*i<=s.perfLimitSizeTotal)return e<n&&(t.width=n),i<n&&(t.height=n),t;const o=e/i,[a,h]=p.limitDimsByArea(o),l=Ds(n,a,r),c=Ds(n,h,r);return e>l&&(t.zoomX/=e/l,t.width=l,t.capped=!0),i>c&&(t.zoomY/=i/c,t.height=c,t.capped=!0),t}_getCacheCanvasDimensions(){const t=this.getTotalObjectScaling(),e=this._getTransformedDimensions({skewX:0,skewY:0}),s=e.x*t.x/this.scaleX,i=e.y*t.y/this.scaleY;return{width:Math.ceil(s+2),height:Math.ceil(i+2),zoomX:t.x,zoomY:t.y,x:s,y:i}}_updateCacheCanvas(){const t=this._cacheCanvas,e=this._cacheContext,{width:s,height:i,zoomX:r,zoomY:n,x:o,y:a}=this._limitCacheSize(this._getCacheCanvasDimensions()),h=s!==t.width||i!==t.height,l=this.zoomX!==r||this.zoomY!==n;if(!t||!e)return!1;if(h||l){s!==t.width||i!==t.height?(t.width=s,t.height=i):(e.setTransform(1,0,0,1,0,0),e.clearRect(0,0,t.width,t.height));const h=o/2,l=a/2;return this.cacheTranslationX=Math.round(t.width/2-h)+h,this.cacheTranslationY=Math.round(t.height/2-l)+l,e.translate(this.cacheTranslationX,this.cacheTranslationY),e.scale(r,n),this.zoomX=r,this.zoomY=n,!0}return!1}setOptions(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this._setOptions(t)}transform(t){const e=this.group&&!this.group._transformDone||this.group&&this.canvas&&t===this.canvas.contextTop,s=this.calcTransformMatrix(!e);t.transform(s[0],s[1],s[2],s[3],s[4],s[5])}getObjectScaling(){if(!this.group)return new ot(Math.abs(this.scaleX),Math.abs(this.scaleY));const t=Dt(this.calcTransformMatrix());return new ot(Math.abs(t.scaleX),Math.abs(t.scaleY))}getTotalObjectScaling(){const t=this.getObjectScaling();if(this.canvas){const e=this.canvas.getZoom(),s=this.getCanvasRetinaScaling();return t.scalarMultiply(e*s)}return t}getObjectOpacity(){let t=this.opacity;return this.group&&(t*=this.group.getObjectOpacity()),t}_constrainScale(t){return Math.abs(t)<this.minScaleLimit?t<0?-this.minScaleLimit:this.minScaleLimit:0===t?1e-4:t}_set(t,e){t!==W&&t!==V||(e=this._constrainScale(e)),t===W&&e<0?(this.flipX=!this.flipX,e*=-1):\"scaleY\"===t&&e<0?(this.flipY=!this.flipY,e*=-1):\"shadow\"!==t||!e||e instanceof ks||(e=new ks(e));const s=this[t]!==e;return this[t]=e,s&&this.constructor.cacheProperties.includes(t)&&(this.dirty=!0),this.parent&&(this.dirty||s&&this.constructor.stateProperties.includes(t))&&this.parent._set(\"dirty\",!0),this}isNotVisible(){return 0===this.opacity||!this.width&&!this.height&&0===this.strokeWidth||!this.visible}render(t){this.isNotVisible()||this.canvas&&this.canvas.skipOffscreen&&!this.group&&!this.isOnScreen()||(t.save(),this._setupCompositeOperation(t),this.drawSelectionBackground(t),this.transform(t),this._setOpacity(t),this._setShadow(t),this.shouldCache()?(this.renderCache(),this.drawCacheOnCanvas(t)):(this._removeCacheCanvas(),this.drawObject(t,!1,{}),this.dirty=!1),t.restore())}drawSelectionBackground(t){}renderCache(t){if(t=t||{},this._cacheCanvas&&this._cacheContext||this._createCacheCanvas(),this.isCacheDirty()&&this._cacheContext){const{zoomX:e,zoomY:s,cacheTranslationX:i,cacheTranslationY:r}=this,{width:n,height:o}=this._cacheCanvas;this.drawObject(this._cacheContext,t.forClipping,{zoomX:e,zoomY:s,cacheTranslationX:i,cacheTranslationY:r,width:n,height:o,parentClipPaths:[]}),this.dirty=!1}}_removeCacheCanvas(){this._cacheCanvas=void 0,this._cacheContext=null}hasStroke(){return!!this.stroke&&\"transparent\"!==this.stroke&&0!==this.strokeWidth}hasFill(){return!!this.fill&&\"transparent\"!==this.fill}needsItsOwnCache(){return!!(this.paintFirst===N&&this.hasFill()&&this.hasStroke()&&this.shadow)||!!this.clipPath}shouldCache(){return this.ownCaching=this.objectCaching&&(!this.parent||!this.parent.isOnACache())||this.needsItsOwnCache(),this.ownCaching}willDrawShadow(){return!!this.shadow&&(0!==this.shadow.offsetX||0!==this.shadow.offsetY)}drawClipPathOnCache(t,e,s){t.save(),e.inverted?t.globalCompositeOperation=\"destination-out\":t.globalCompositeOperation=\"destination-in\",t.setTransform(1,0,0,1,0,0),t.drawImage(s,0,0),t.restore()}drawObject(t,e,s){const i=this.fill,r=this.stroke;e?(this.fill=\"black\",this.stroke=\"\",this._setClippingProperties(t)):this._renderBackground(t),this.fire(\"before:render\",{ctx:t}),this._render(t),this._drawClipPath(t,this.clipPath,s),this.fill=i,this.stroke=r}createClipPathLayer(t,e){const s=vt(e),i=s.getContext(\"2d\");if(i.translate(e.cacheTranslationX,e.cacheTranslationY),i.scale(e.zoomX,e.zoomY),t._cacheCanvas=s,e.parentClipPaths.forEach(t=>{t.transform(i)}),e.parentClipPaths.push(t),t.absolutePositioned){const t=wt(this.calcTransformMatrix());i.transform(t[0],t[1],t[2],t[3],t[4],t[5])}return t.transform(i),t.drawObject(i,!0,e),s}_drawClipPath(t,e,s){if(!e)return;e._transformDone=!0;const i=this.createClipPathLayer(e,s);this.drawClipPathOnCache(t,e,i)}drawCacheOnCanvas(t){t.scale(1/this.zoomX,1/this.zoomY),t.drawImage(this._cacheCanvas,-this.cacheTranslationX,-this.cacheTranslationY)}isCacheDirty(){let t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(this.isNotVisible())return!1;const e=this._cacheCanvas,s=this._cacheContext;return!(!e||!s||t||!this._updateCacheCanvas())||!!(this.dirty||this.clipPath&&this.clipPath.absolutePositioned)&&(e&&s&&!t&&(s.save(),s.setTransform(1,0,0,1,0,0),s.clearRect(0,0,e.width,e.height),s.restore()),!0)}_renderBackground(t){if(!this.backgroundColor)return;const e=this._getNonTransformedDimensions();t.fillStyle=this.backgroundColor,t.fillRect(-e.x/2,-e.y/2,e.x,e.y),this._removeShadow(t)}_setOpacity(t){this.group&&!this.group._transformDone?t.globalAlpha=this.getObjectOpacity():t.globalAlpha*=this.opacity}_setStrokeStyles(t,e){const s=e.stroke;s&&(t.lineWidth=e.strokeWidth,t.lineCap=e.strokeLineCap,t.lineDashOffset=e.strokeDashOffset,t.lineJoin=e.strokeLineJoin,t.miterLimit=e.strokeMiterLimit,zt(s)?\"percentage\"===s.gradientUnits||s.gradientTransform||s.patternTransform?this._applyPatternForTransformedGradient(t,s):(t.strokeStyle=s.toLive(t),this._applyPatternGradientTransform(t,s)):t.strokeStyle=e.stroke)}_setFillStyles(t,e){let{fill:s}=e;s&&(zt(s)?(t.fillStyle=s.toLive(t),this._applyPatternGradientTransform(t,s)):t.fillStyle=s)}_setClippingProperties(t){t.globalAlpha=1,t.strokeStyle=\"transparent\",t.fillStyle=\"#000000\"}_setLineDash(t,e){e&&0!==e.length&&t.setLineDash(e)}_setShadow(t){if(!this.shadow)return;const e=this.shadow,i=this.canvas,r=this.getCanvasRetinaScaling(),[n,,,o]=(null==i?void 0:i.viewportTransform)||b,a=n*r,h=o*r,l=e.nonScaling?new ot(1,1):this.getObjectScaling();t.shadowColor=e.color,t.shadowBlur=e.blur*s.browserShadowBlurConstant*(a+h)*(l.x+l.y)/4,t.shadowOffsetX=e.offsetX*a*l.x,t.shadowOffsetY=e.offsetY*h*l.y}_removeShadow(t){this.shadow&&(t.shadowColor=\"\",t.shadowBlur=t.shadowOffsetX=t.shadowOffsetY=0)}_applyPatternGradientTransform(t,e){if(!zt(e))return{offsetX:0,offsetY:0};const s=e.gradientTransform||e.patternTransform,i=-this.width/2+e.offsetX||0,r=-this.height/2+e.offsetY||0;return\"percentage\"===e.gradientUnits?t.transform(this.width,0,0,this.height,i,r):t.transform(1,0,0,1,i,r),s&&t.transform(s[0],s[1],s[2],s[3],s[4],s[5]),{offsetX:i,offsetY:r}}_renderPaintInOrder(t){this.paintFirst===N?(this._renderStroke(t),this._renderFill(t)):(this._renderFill(t),this._renderStroke(t))}_render(t){}_renderFill(t){this.fill&&(t.save(),this._setFillStyles(t,this),\"evenodd\"===this.fillRule?t.fill(\"evenodd\"):t.fill(),t.restore())}_renderStroke(t){if(this.stroke&&0!==this.strokeWidth){if(this.shadow&&!this.shadow.affectStroke&&this._removeShadow(t),t.save(),this.strokeUniform){const e=this.getObjectScaling();t.scale(1/e.x,1/e.y)}this._setLineDash(t,this.strokeDashArray),this._setStrokeStyles(t,this),t.stroke(),t.restore()}}_applyPatternForTransformedGradient(t,e){var s;const i=this._limitCacheSize(this._getCacheCanvasDimensions()),r=this.getCanvasRetinaScaling(),n=i.x/this.scaleX/r,o=i.y/this.scaleY/r,a=vt({width:Math.ceil(n),height:Math.ceil(o)}),h=a.getContext(\"2d\");h&&(h.beginPath(),h.moveTo(0,0),h.lineTo(n,0),h.lineTo(n,o),h.lineTo(0,o),h.closePath(),h.translate(n/2,o/2),h.scale(i.zoomX/this.scaleX/r,i.zoomY/this.scaleY/r),this._applyPatternGradientTransform(h,e),h.fillStyle=e.toLive(t),h.fill(),t.translate(-this.width/2-this.strokeWidth/2,-this.height/2-this.strokeWidth/2),t.scale(r*this.scaleX/i.zoomX,r*this.scaleY/i.zoomY),t.strokeStyle=null!==(s=h.createPattern(a,\"no-repeat\"))&&void 0!==s?s:\"\")}_findCenterFromElement(){return new ot(this.left+this.width/2,this.top+this.height/2)}clone(t){const e=this.toObject(t);return this.constructor.fromObject(e)}cloneAsImage(t){const e=this.toCanvasElement(t);return new(tt.getClass(\"image\"))(e)}toCanvasElement(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const e=ve(this),s=this.group,i=this.shadow,r=Math.abs,n=t.enableRetinaScaling?f():1,o=(t.multiplier||1)*n,a=t.canvasProvider||(t=>new he(t,{enableRetinaScaling:!1,renderOnAddRemove:!1,skipOffscreen:!1}));delete this.group,t.withoutTransform&&me(this),t.withoutShadow&&(this.shadow=null),t.viewportTransform&&be(this,this.getViewportTransform()),this.setCoords();const h=pt(),l=this.getBoundingRect(),c=this.shadow,u=new ot;if(c){const t=c.blur,e=c.nonScaling?new ot(1,1):this.getObjectScaling();u.x=2*Math.round(r(c.offsetX)+t)*r(e.x),u.y=2*Math.round(r(c.offsetY)+t)*r(e.y)}const d=l.width+u.x,g=l.height+u.y;h.width=Math.ceil(d),h.height=Math.ceil(g);const p=a(h);\"jpeg\"===t.format&&(p.backgroundColor=\"#fff\"),this.setPositionByOrigin(new ot(p.width/2,p.height/2),T,T);const m=this.canvas;p._objects=[this],this.set(\"canvas\",p),this.setCoords();const v=p.toCanvasElement(o||1,t);return this.set(\"canvas\",m),this.shadow=i,s&&(this.group=s),this.set(e),this.setCoords(),p._objects=[],p.destroy(),v}toDataURL(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return yt(this.toCanvasElement(t),t.format||\"png\",t.quality||1)}toBlob(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return _t(this.toCanvasElement(t),t.format||\"png\",t.quality||1)}isType(){for(var t=arguments.length,e=new Array(t),s=0;s<t;s++)e[s]=arguments[s];return e.includes(this.constructor.type)||e.includes(this.type)}complexity(){return 1}toJSON(){return this.toObject()}rotate(t){const{centeredRotation:e,originX:s,originY:i}=this;if(e){const{x:t,y:e}=this.getRelativeCenterPoint();this.originX=T,this.originY=T,this.left=t,this.top=e}if(this.set(\"angle\",t),e){const{x:t,y:e}=this.getPositionByOrigin(s,i);this.left=t,this.top=e,this.originX=s,this.originY=i}}setOnGroup(){}_setupCompositeOperation(t){this.globalCompositeOperation&&(t.globalCompositeOperation=this.globalCompositeOperation)}dispose(){et.cancelByTarget(this),this.off(),this._set(\"canvas\",void 0),this._cacheCanvas&&u().dispose(this._cacheCanvas),this._cacheCanvas=void 0,this._cacheContext=null}animate(t,e){return Object.entries(t).reduce((t,s)=>{let[i,r]=s;return t[i]=this._animate(i,r,e),t},{})}_animate(t,e){let s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const i=t.split(\".\"),r=this.constructor.colorProperties.includes(i[i.length-1]),{abort:n,startValue:o,onChange:a,onComplete:h}=s,l={...s,target:this,startValue:null!=o?o:i.reduce((t,e)=>t[e],this),endValue:e,abort:null==n?void 0:n.bind(this),onChange:(t,e,s)=>{i.reduce((e,s,r)=>(r===i.length-1&&(e[s]=t),e[s]),this),a&&a(t,e,s)},onComplete:(t,e,s)=>{this.setCoords(),h&&h(t,e,s)}};return r?Hs(l):Gs(l)}isDescendantOf(t){const{parent:e,group:s}=this;return e===t||s===t||!!e&&e.isDescendantOf(t)||!!s&&s!==e&&s.isDescendantOf(t)}getAncestors(){const t=[];let e=this;do{e=e.parent,e&&t.push(e)}while(e);return t}findCommonAncestors(t){if(this===t)return{fork:[],otherFork:[],common:[this,...this.getAncestors()]};const e=this.getAncestors(),s=t.getAncestors();if(0===e.length&&s.length>0&&this===s[s.length-1])return{fork:[],otherFork:[t,...s.slice(0,s.length-1)],common:[this]};for(let i,r=0;r<e.length;r++){if(i=e[r],i===t)return{fork:[this,...e.slice(0,r)],otherFork:[],common:e.slice(r)};for(let n=0;n<s.length;n++){if(this===s[n])return{fork:[],otherFork:[t,...s.slice(0,n)],common:[this,...e]};if(i===s[n])return{fork:[this,...e.slice(0,r)],otherFork:[t,...s.slice(0,n)],common:e.slice(r)}}}return{fork:[this,...e],otherFork:[t,...s],common:[]}}hasCommonAncestors(t){const e=this.findCommonAncestors(t);return e&&!!e.common.length}isInFrontOf(t){if(this===t)return;const e=this.findCommonAncestors(t);if(e.fork.includes(t))return!0;if(e.otherFork.includes(this))return!1;const s=e.common[0]||this.canvas;if(!s)return;const i=e.fork.pop(),r=e.otherFork.pop(),n=s._objects.indexOf(i),o=s._objects.indexOf(r);return n>-1&&n>o}toObject(){const t=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:[]).concat(e.customProperties,this.constructor.customProperties||[]);let i;const r=s.NUM_FRACTION_DIGITS,{clipPath:n,fill:o,stroke:a,shadow:h,strokeDashArray:l,left:c,top:u,originX:d,originY:g,width:f,height:p,strokeWidth:v,strokeLineCap:y,strokeDashOffset:_,strokeLineJoin:x,strokeUniform:C,strokeMiterLimit:b,scaleX:S,scaleY:w,angle:T,flipX:O,flipY:k,opacity:D,visible:M,backgroundColor:P,fillRule:E,paintFirst:A,globalCompositeOperation:j,skewX:F,skewY:L}=this;n&&!n.excludeFromExport&&(i=n.toObject(t.concat(\"inverted\",\"absolutePositioned\")));const B=t=>Wt(t,r),R={...Xt(this,t),type:this.constructor.type,version:m,originX:d,originY:g,left:B(c),top:B(u),width:B(f),height:B(p),fill:Gt(o)?o.toObject():o,stroke:Gt(a)?a.toObject():a,strokeWidth:B(v),strokeDashArray:l?l.concat():l,strokeLineCap:y,strokeDashOffset:_,strokeLineJoin:x,strokeUniform:C,strokeMiterLimit:B(b),scaleX:B(S),scaleY:B(w),angle:B(T),flipX:O,flipY:k,opacity:B(D),shadow:h?h.toObject():h,visible:M,backgroundColor:P,fillRule:E,paintFirst:A,globalCompositeOperation:j,skewX:B(F),skewY:B(L),...i?{clipPath:i}:null};return this.includeDefaultValues?R:this._removeDefaultValues(R)}toDatalessObject(t){return this.toObject(t)}_removeDefaultValues(t){const e=this.constructor.getDefaults(),s=Object.keys(e).length>0?e:Object.getPrototypeOf(this);return Yt(t,(t,e)=>{if(e===O||e===k||\"type\"===e)return!0;const i=s[e];return t!==i&&!(Array.isArray(t)&&Array.isArray(i)&&0===t.length&&0===i.length)})}toString(){return`#<${this.constructor.type}>`}static _fromObject(t){let{type:e,...s}=t,{extraParam:i,...r}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return $t(s,r).then(t=>i?(delete t[i],new this(s[i],t)):new this(t))}static fromObject(t,e){return this._fromObject(t,e)}};t(qs,\"stateProperties\",Ms),t(qs,\"cacheProperties\",Ps),t(qs,\"ownDefaults\",Es),t(qs,\"type\",\"FabricObject\"),t(qs,\"colorProperties\",[H,N,\"backgroundColor\"]),t(qs,\"customProperties\",[]),tt.setClass(qs),tt.setClass(qs,\"object\");const Ks=(t,e)=>{var s;const{transform:{target:i}}=e;null===(s=i.canvas)||void 0===s||s.fire(`object:${t}`,{...e,target:i}),i.fire(t,e)},Js=(t,e,s)=>(i,r,n,o)=>{const a=e(i,r,n,o);return a&&Ks(t,{...Ye(i,r,n,o),...s}),a};function Qs(t){return(e,s,i,r)=>{const{target:n,originX:o,originY:a}=s,h=n.getPositionByOrigin(o,a),l=t(e,s,i,r);return n.setPositionByOrigin(h,s.originX,s.originY),l}}const Zs=(t,e,s,i)=>(r,n,o,a)=>{const h=Ve(n,n.originX,n.originY,o,a)[s],l=we(n[e]);if(0===l||l>0&&h<0||l<0&&h>0){const{target:e}=n,s=e.strokeWidth/(e.strokeUniform?e[i]:1),r=Ie(n)?2:1,o=e[t],a=Math.abs(h*r/e[i])-s;return e.set(t,Math.max(a,1)),o!==e[t]}return!1},ti=Zs(\"width\",\"originX\",\"x\",\"scaleX\"),ei=Zs(\"height\",\"originY\",\"y\",\"scaleY\"),si=Js(R,Qs(ti)),ii=Js(R,Qs(ei));function ri(t,e,s,i,r){t.save();const{stroke:n,xSize:o,ySize:a,opName:h}=this.commonRenderProps(t,e,s,r,i);let l=o;o>a?t.scale(1,a/o):a>o&&(l=a,t.scale(o/a,1)),t.beginPath(),t.arc(0,0,l/2,0,x,!1),t[h](),n&&t.stroke(),t.restore()}function ni(t,e,s,i,r){t.save();const{stroke:n,xSize:o,ySize:a,opName:h}=this.commonRenderProps(t,e,s,r,i),l=o/2,c=a/2;t[`${h}Rect`](-l,-c,o,a),n&&t.strokeRect(-l,-c,o,a),t.restore()}class oi{constructor(e){t(this,\"visible\",!0),t(this,\"actionName\",Y),t(this,\"angle\",0),t(this,\"x\",0),t(this,\"y\",0),t(this,\"offsetX\",0),t(this,\"offsetY\",0),t(this,\"sizeX\",0),t(this,\"sizeY\",0),t(this,\"touchSizeX\",0),t(this,\"touchSizeY\",0),t(this,\"cursorStyle\",\"crosshair\"),t(this,\"withConnection\",!1),Object.assign(this,e)}getTransformAnchorPoint(){var t;return null!==(t=this.transformAnchorPoint)&&void 0!==t?t:new ot(.5-this.x,.5-this.y)}shouldActivate(t,e,s,i){var r;let{tl:n,tr:o,br:a,bl:h}=i;return(null===(r=e.canvas)||void 0===r?void 0:r.getActiveObject())===e&&e.isControlVisible(t)&&Ns.isPointInPolygon(s,[n,o,a,h])}getActionHandler(t,e,s){return this.actionHandler}getMouseDownHandler(t,e,s){return this.mouseDownHandler}getMouseUpHandler(t,e,s){return this.mouseUpHandler}cursorStyleHandler(t,e,s,i){return e.cursorStyle}getActionName(t,e,s){return e.actionName}getVisibility(t,e){var s,i;return null!==(s=null===(i=t._controlsVisibility)||void 0===i?void 0:i[e])&&void 0!==s?s:this.visible}setVisibility(t,e,s){this.visible=t}positionHandler(t,e,s,i){return new ot(this.x*t.x+this.offsetX,this.y*t.y+this.offsetY).transform(e)}calcCornerCoords(t,e,s,i,r,n){const o=Ot([Mt(s,i),Pt({angle:t}),Et((r?this.touchSizeX:this.sizeX)||e,(r?this.touchSizeY:this.sizeY)||e)]);return{tl:new ot(-.5,-.5).transform(o),tr:new ot(.5,-.5).transform(o),br:new ot(.5,.5).transform(o),bl:new ot(-.5,.5).transform(o)}}commonRenderProps(t,e,s,i){let r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{};const{cornerSize:n,cornerColor:o,transparentCorners:a,cornerStrokeColor:h}=r,l=n||i.cornerSize,c=this.sizeX||l,u=this.sizeY||l,d=void 0!==a?a:i.transparentCorners,g=d?N:H,f=h||i.cornerStrokeColor,p=!d&&!!f;return t.fillStyle=o||i.cornerColor||\"\",t.strokeStyle=f||\"\",t.translate(e,s),t.rotate(xt(i.getTotalAngle())),{stroke:p,xSize:c,ySize:u,transparentCorners:d,opName:g}}render(t,e,s,i,r){if(\"circle\"===((i=i||{}).cornerStyle||r.cornerStyle))ri.call(this,t,e,s,i,r);else ni.call(this,t,e,s,i,r)}}const ai=(t,e,s)=>s.lockRotation?Re:e.cursorStyle,hi=Js(F,Qs((t,e,s,i)=>{let{target:r,ex:n,ey:o,theta:a,originX:h,originY:l}=e;const c=r.getPositionByOrigin(h,l);if(Xe(r,\"lockRotation\"))return!1;const u=Math.atan2(o-c.y,n-c.x),d=Math.atan2(i-c.y,s-c.x);let g=Ct(d-u+a);if(r.snapAngle&&r.snapAngle>0){const t=r.snapAngle,e=r.snapThreshold||t,s=Math.ceil(g/t)*t,i=Math.floor(g/t)*t;Math.abs(g-i)<e?g=i:Math.abs(g-s)<e&&(g=s)}g<0&&(g=360+g),g%=360;const f=r.angle!==g;return r.angle=g,f}));function li(t,e){const s=e.canvas,i=t[s.uniScaleKey];return s.uniformScaling&&!i||!s.uniformScaling&&i}function ci(t,e,s){const i=Xe(t,\"lockScalingX\"),r=Xe(t,\"lockScalingY\");if(i&&r)return!0;if(!e&&(i||r)&&s)return!0;if(i&&\"x\"===e)return!0;if(r&&\"y\"===e)return!0;const{width:n,height:o,strokeWidth:a}=t;return 0===n&&0===a&&\"y\"!==e||0===o&&0===a&&\"x\"!==e}const ui=[\"e\",\"se\",\"s\",\"sw\",\"w\",\"nw\",\"n\",\"ne\",\"e\"],di=(t,e,s,i)=>{const r=li(t,s);if(ci(s,0!==e.x&&0===e.y?\"x\":0===e.x&&0!==e.y?\"y\":\"\",r))return Re;const n=We(s,0,i);return`${ui[n]}-resize`};function gi(t,e,s,i){let r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{};const n=e.target,o=r.by,a=li(t,n);let h,l,c,u,d,g;if(ci(n,o,a))return!1;if(e.gestureScale)l=e.scaleX*e.gestureScale,c=e.scaleY*e.gestureScale;else{if(h=Ve(e,e.originX,e.originY,s,i),d=\"y\"!==o?Math.sign(h.x||e.signX||1):1,g=\"x\"!==o?Math.sign(h.y||e.signY||1):1,e.signX||(e.signX=d),e.signY||(e.signY=g),Xe(n,\"lockScalingFlip\")&&(e.signX!==d||e.signY!==g))return!1;if(u=n._getTransformedDimensions(),a&&!o){const t=Math.abs(h.x)+Math.abs(h.y),{original:s}=e,i=t/(Math.abs(u.x*s.scaleX/n.scaleX)+Math.abs(u.y*s.scaleY/n.scaleY));l=s.scaleX*i,c=s.scaleY*i}else l=Math.abs(h.x*n.scaleX/u.x),c=Math.abs(h.y*n.scaleY/u.y);Ie(e)&&(l*=2,c*=2),e.signX!==d&&\"y\"!==o&&(e.originX=$e(e.originX),l*=-1,e.signX=d),e.signY!==g&&\"x\"!==o&&(e.originY=$e(e.originY),c*=-1,e.signY=g)}const f=n.scaleX,p=n.scaleY;return o?(\"x\"===o&&n.set(W,l),\"y\"===o&&n.set(V,c)):(!Xe(n,\"lockScalingX\")&&n.set(W,l),!Xe(n,\"lockScalingY\")&&n.set(V,c)),f!==n.scaleX||p!==n.scaleY}const fi=Js(j,Qs((t,e,s,i)=>gi(t,e,s,i))),pi=Js(j,Qs((t,e,s,i)=>gi(t,e,s,i,{by:\"x\"}))),mi=Js(j,Qs((t,e,s,i)=>gi(t,e,s,i,{by:\"y\"}))),vi={x:{counterAxis:\"y\",scale:W,skew:z,lockSkewing:\"lockSkewingX\",origin:\"originX\",flip:\"flipX\"},y:{counterAxis:\"x\",scale:V,skew:G,lockSkewing:\"lockSkewingY\",origin:\"originY\",flip:\"flipY\"}},yi=[\"ns\",\"nesw\",\"ew\",\"nwse\"],_i=(t,e,s,i)=>{if(0!==e.x&&Xe(s,\"lockSkewingY\"))return Re;if(0!==e.y&&Xe(s,\"lockSkewingX\"))return Re;const r=We(s,0,i)%4;return`${yi[r]}-resize`};function xi(t,e,s,i,r){const{target:n}=s,{counterAxis:o,origin:a,lockSkewing:h,skew:l,flip:c}=vi[t];if(Xe(n,h))return!1;const{origin:u,flip:d}=vi[o],g=we(s[u])*(n[d]?-1:1),f=-Math.sign(g)*(n[c]?-1:1),p=.5*-((0===n[l]&&Ve(s,T,T,i,r)[t]>0||n[l]>0?1:-1)*f)+.5,m=Js(B,Qs((e,s,i,r)=>function(t,e,s){let{target:i,ex:r,ey:n,skewingSide:o,...a}=e;const{skew:h}=vi[t],l=s.subtract(new ot(r,n)).divide(new ot(i.scaleX,i.scaleY))[t],c=i[h],u=a[h],d=Math.tan(xt(u)),g=\"y\"===t?i._getTransformedDimensions({scaleX:1,scaleY:1,skewX:0}).x:i._getTransformedDimensions({scaleX:1,scaleY:1}).y,f=2*l*o/Math.max(g,1)+d,p=Ct(Math.atan(f));i.set(h,p);const m=c!==i[h];if(m&&\"y\"===t){const{skewX:t,scaleX:e}=i,s=i._getTransformedDimensions({skewY:c}),r=i._getTransformedDimensions(),n=0!==t?s.x/r.x:1;1!==n&&i.set(W,n*e)}return m}(t,s,new ot(i,r))));return m(e,{...s,[a]:p,skewingSide:f},i,r)}const Ci=(t,e,s,i)=>xi(\"x\",t,e,s,i),bi=(t,e,s,i)=>xi(\"y\",t,e,s,i);function Si(t,e){return t[e.canvas.altActionKey]}const wi=(t,e,s)=>{const i=Si(t,s);return 0===e.x?i?z:V:0===e.y?i?G:W:\"\"},Ti=(t,e,s,i)=>Si(t,s)?_i(0,e,s,i):di(t,e,s,i),Oi=(t,e,s,i)=>Si(t,e.target)?bi(t,e,s,i):pi(t,e,s,i),ki=(t,e,s,i)=>Si(t,e.target)?Ci(t,e,s,i):mi(t,e,s,i),Di=()=>({ml:new oi({x:-.5,y:0,cursorStyleHandler:Ti,actionHandler:Oi,getActionName:wi}),mr:new oi({x:.5,y:0,cursorStyleHandler:Ti,actionHandler:Oi,getActionName:wi}),mb:new oi({x:0,y:.5,cursorStyleHandler:Ti,actionHandler:ki,getActionName:wi}),mt:new oi({x:0,y:-.5,cursorStyleHandler:Ti,actionHandler:ki,getActionName:wi}),tl:new oi({x:-.5,y:-.5,cursorStyleHandler:di,actionHandler:fi}),tr:new oi({x:.5,y:-.5,cursorStyleHandler:di,actionHandler:fi}),bl:new oi({x:-.5,y:.5,cursorStyleHandler:di,actionHandler:fi}),br:new oi({x:.5,y:.5,cursorStyleHandler:di,actionHandler:fi}),mtr:new oi({x:0,y:-.5,actionHandler:hi,cursorStyleHandler:ai,offsetY:-40,withConnection:!0,actionName:L})}),Mi=()=>({mr:new oi({x:.5,y:0,actionHandler:si,cursorStyleHandler:Ti,actionName:R}),ml:new oi({x:-.5,y:0,actionHandler:si,cursorStyleHandler:Ti,actionName:R})}),Pi=()=>({...Di(),...Mi()});class Ei extends qs{static getDefaults(){return{...super.getDefaults(),...Ei.ownDefaults}}constructor(t){super(),Object.assign(this,this.constructor.createControls(),Ei.ownDefaults),this.setOptions(t)}static createControls(){return{controls:Di()}}_updateCacheCanvas(){const t=this.canvas;if(this.noScaleCache&&t&&t._currentTransform){const e=t._currentTransform,s=e.target,i=e.action;if(this===s&&i&&i.startsWith(Y))return!1}return super._updateCacheCanvas()}getActiveControl(){const t=this.__corner;return t?{key:t,control:this.controls[t],coord:this.oCoords[t]}:void 0}findControl(t){let e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(!this.hasControls||!this.canvas)return;this.__corner=void 0;const s=Object.entries(this.oCoords);for(let i=s.length-1;i>=0;i--){const[r,n]=s[i],o=this.controls[r];if(o.shouldActivate(r,this,t,e?n.touchCorner:n.corner))return this.__corner=r,{key:r,control:o,coord:this.oCoords[r]}}}calcOCoords(){const t=this.getViewportTransform(),e=this.getCenterPoint(),s=Mt(e.x,e.y),i=Pt({angle:this.getTotalAngle()-(this.group&&this.flipX?180:0)}),r=Tt(s,i),n=Tt(t,r),o=Tt(n,[1/t[0],0,0,1/t[3],0,0]),a=this.group?Dt(this.calcTransformMatrix()):void 0;a&&(a.scaleX=Math.abs(a.scaleX),a.scaleY=Math.abs(a.scaleY));const h=this._calculateCurrentDimensions(a),l={};return this.forEachControl((t,e)=>{const s=t.positionHandler(h,o,this,t);l[e]=Object.assign(s,this._calcCornerCoords(t,s))}),l}_calcCornerCoords(t,e){const s=this.getTotalAngle();return{corner:t.calcCornerCoords(s,this.cornerSize,e.x,e.y,!1,this),touchCorner:t.calcCornerCoords(s,this.touchCornerSize,e.x,e.y,!0,this)}}setCoords(){super.setCoords(),this.canvas&&(this.oCoords=this.calcOCoords())}forEachControl(t){for(const e in this.controls)t(this.controls[e],e,this)}drawSelectionBackground(t){if(!this.selectionBackgroundColor||this.canvas&&this.canvas._activeObject!==this)return;t.save();const e=this.getRelativeCenterPoint(),s=this._calculateCurrentDimensions(),i=this.getViewportTransform();t.translate(e.x,e.y),t.scale(1/i[0],1/i[3]),t.rotate(xt(this.angle)),t.fillStyle=this.selectionBackgroundColor,t.fillRect(-s.x/2,-s.y/2,s.x,s.y),t.restore()}strokeBorders(t,e){t.strokeRect(-e.x/2,-e.y/2,e.x,e.y)}_drawBorders(t,e){let s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const i={hasControls:this.hasControls,borderColor:this.borderColor,borderDashArray:this.borderDashArray,...s};t.save(),t.strokeStyle=i.borderColor,this._setLineDash(t,i.borderDashArray),this.strokeBorders(t,e),i.hasControls&&this.drawControlsConnectingLines(t,e),t.restore()}_renderControls(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const{hasBorders:s,hasControls:i}=this,r={hasBorders:s,hasControls:i,...e},n=this.getViewportTransform(),o=r.hasBorders,a=r.hasControls,h=Tt(n,this.calcTransformMatrix()),l=Dt(h);t.save(),t.translate(l.translateX,l.translateY),t.lineWidth=this.borderScaleFactor,this.group===this.parent&&(t.globalAlpha=this.isMoving?this.borderOpacityWhenMoving:1),this.flipX&&(l.angle-=180),t.rotate(xt(this.group?l.angle:this.angle)),o&&this.drawBorders(t,l,e),a&&this.drawControls(t,e),t.restore()}drawBorders(t,e,s){let i;if(s&&s.forActiveSelection||this.group){const t=ye(this.width,this.height,Lt(e)),s=this.isStrokeAccountedForInDimensions()?at:(this.strokeUniform?(new ot).scalarAdd(this.canvas?this.canvas.getZoom():1):new ot(e.scaleX,e.scaleY)).scalarMultiply(this.strokeWidth);i=t.add(s).scalarAdd(this.borderScaleFactor).scalarAdd(2*this.padding)}else i=this._calculateCurrentDimensions().scalarAdd(this.borderScaleFactor);this._drawBorders(t,i,s)}drawControlsConnectingLines(t,e){let s=!1;t.beginPath(),this.forEachControl((i,r)=>{i.withConnection&&i.getVisibility(this,r)&&(s=!0,t.moveTo(i.x*e.x,i.y*e.y),t.lineTo(i.x*e.x+i.offsetX,i.y*e.y+i.offsetY))}),s&&t.stroke()}drawControls(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};t.save();const s=this.getCanvasRetinaScaling(),{cornerStrokeColor:i,cornerDashArray:r,cornerColor:n}=this,o={cornerStrokeColor:i,cornerDashArray:r,cornerColor:n,...e};t.setTransform(s,0,0,s,0,0),t.strokeStyle=t.fillStyle=o.cornerColor,this.transparentCorners||(t.strokeStyle=o.cornerStrokeColor),this._setLineDash(t,o.cornerDashArray),this.forEachControl((e,s)=>{if(e.getVisibility(this,s)){const i=this.oCoords[s];e.render(t,i.x,i.y,o,this)}}),t.restore()}isControlVisible(t){return this.controls[t]&&this.controls[t].getVisibility(this,t)}setControlVisible(t,e){this._controlsVisibility||(this._controlsVisibility={}),this._controlsVisibility[t]=e}setControlsVisibility(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};Object.entries(t).forEach(t=>{let[e,s]=t;return this.setControlVisible(e,s)})}clearContextTop(t){if(!this.canvas)return;const e=this.canvas.contextTop;if(!e)return;const s=this.canvas.viewportTransform;e.save(),e.transform(s[0],s[1],s[2],s[3],s[4],s[5]),this.transform(e);const i=this.width+4,r=this.height+4;return e.clearRect(-i/2,-r/2,i,r),t||e.restore(),e}onDeselect(t){return!1}onSelect(t){return!1}shouldStartDragging(t){return!1}onDragStart(t){return!1}canDrop(t){return!1}renderDragSourceEffect(t){}renderDropTargetEffect(t){}}function Ai(t,e){return e.forEach(e=>{Object.getOwnPropertyNames(e.prototype).forEach(s=>{\"constructor\"!==s&&Object.defineProperty(t.prototype,s,Object.getOwnPropertyDescriptor(e.prototype,s)||Object.create(null))})}),t}t(Ei,\"ownDefaults\",{noScaleCache:!0,lockMovementX:!1,lockMovementY:!1,lockRotation:!1,lockScalingX:!1,lockScalingY:!1,lockSkewingX:!1,lockSkewingY:!1,lockScalingFlip:!1,cornerSize:13,touchCornerSize:24,transparentCorners:!0,cornerColor:\"rgb(178,204,255)\",cornerStrokeColor:\"\",cornerStyle:\"rect\",cornerDashArray:null,hasControls:!0,borderColor:\"rgb(178,204,255)\",borderDashArray:null,borderOpacityWhenMoving:.4,borderScaleFactor:1,hasBorders:!0,selectionBackgroundColor:\"\",selectable:!0,evented:!0,perPixelTargetFind:!1,activeOn:\"down\",hoverCursor:null,moveCursor:null});class ji extends Ei{}Ai(ji,[es]),tt.setClass(ji),tt.setClass(ji,\"object\");const Fi=(t,e,s,i)=>{const r=2*(i=Math.round(i))+1,{data:n}=t.getImageData(e-i,s-i,r,r);for(let t=3;t<n.length;t+=4){if(n[t]>0)return!1}return!0};class Li{constructor(t){this.options=t,this.strokeProjectionMagnitude=this.options.strokeWidth/2,this.scale=new ot(this.options.scaleX,this.options.scaleY),this.strokeUniformScalar=this.options.strokeUniform?new ot(1/this.options.scaleX,1/this.options.scaleY):new ot(1,1)}createSideVector(t,e){const s=De(t,e);return this.options.strokeUniform?s.multiply(this.scale):s}projectOrthogonally(t,e,s){return this.applySkew(t.add(this.calcOrthogonalProjection(t,e,s)))}isSkewed(){return 0!==this.options.skewX||0!==this.options.skewY}applySkew(t){const e=new ot(t);return e.y+=e.x*Math.tan(xt(this.options.skewY)),e.x+=e.y*Math.tan(xt(this.options.skewX)),e}scaleUnitVector(t,e){return t.multiply(this.strokeUniformScalar).scalarMultiply(e)}}const Bi=new ot;class Ri extends Li{static getOrthogonalRotationFactor(t,e){const s=e?Pe(t,e):Ee(t);return Math.abs(s)<y?-1:1}constructor(e,s,i,r){super(r),t(this,\"AB\",void 0),t(this,\"AC\",void 0),t(this,\"alpha\",void 0),t(this,\"bisector\",void 0),this.A=new ot(e),this.B=new ot(s),this.C=new ot(i),this.AB=this.createSideVector(this.A,this.B),this.AC=this.createSideVector(this.A,this.C),this.alpha=Pe(this.AB,this.AC),this.bisector=Ae(ke(this.AB.eq(Bi)?this.AC:this.AB,this.alpha/2))}calcOrthogonalProjection(t,e){let s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.strokeProjectionMagnitude;const i=this.createSideVector(t,e),r=je(i),n=Ri.getOrthogonalRotationFactor(r,this.bisector);return this.scaleUnitVector(r,s*n)}projectBevel(){const t=[];return(this.alpha%x===0?[this.B]:[this.B,this.C]).forEach(e=>{t.push(this.projectOrthogonally(this.A,e)),t.push(this.projectOrthogonally(this.A,e,-this.strokeProjectionMagnitude))}),t}projectMiter(){const t=[],e=Math.abs(this.alpha),s=1/Math.sin(e/2),i=this.scaleUnitVector(this.bisector,-this.strokeProjectionMagnitude*s),r=this.options.strokeUniform?Me(this.scaleUnitVector(this.bisector,this.options.strokeMiterLimit)):this.options.strokeMiterLimit;return Me(i)/this.strokeProjectionMagnitude<=r&&t.push(this.applySkew(this.A.add(i))),t.push(...this.projectBevel()),t}projectRoundNoSkew(t,e){const s=[],i=new ot(Ri.getOrthogonalRotationFactor(this.bisector),Ri.getOrthogonalRotationFactor(new ot(this.bisector.y,this.bisector.x)));return[new ot(1,0).scalarMultiply(this.strokeProjectionMagnitude).multiply(this.strokeUniformScalar).multiply(i),new ot(0,1).scalarMultiply(this.strokeProjectionMagnitude).multiply(this.strokeUniformScalar).multiply(i)].forEach(i=>{Be(i,t,e)&&s.push(this.A.add(i))}),s}projectRoundWithSkew(t,e){const s=[],{skewX:i,skewY:r,scaleX:n,scaleY:o,strokeUniform:a}=this.options,h=new ot(Math.tan(xt(i)),Math.tan(xt(r))),l=this.strokeProjectionMagnitude,c=a?l/o/Math.sqrt(1/o**2+1/n**2*h.y**2):l/Math.sqrt(1+h.y**2),u=new ot(Math.sqrt(Math.max(l**2-c**2,0)),c),d=a?l/Math.sqrt(1+h.x**2*(1/o)**2/(1/n+1/n*h.x*h.y)**2):l/Math.sqrt(1+h.x**2/(1+h.x*h.y)**2),g=new ot(d,Math.sqrt(Math.max(l**2-d**2,0)));return[g,g.scalarMultiply(-1),u,u.scalarMultiply(-1)].map(t=>this.applySkew(a?t.multiply(this.strokeUniformScalar):t)).forEach(i=>{Be(i,t,e)&&s.push(this.applySkew(this.A).add(i))}),s}projectRound(){const t=[];t.push(...this.projectBevel());const e=this.alpha%x===0,s=this.applySkew(this.A),i=t[e?0:2].subtract(s),r=t[e?1:0].subtract(s),n=e?this.applySkew(this.AB.scalarMultiply(-1)):this.applySkew(this.bisector.multiply(this.strokeUniformScalar).scalarMultiply(-1)),o=Fe(i,n)>0,a=o?i:r,h=o?r:i;return this.isSkewed()?t.push(...this.projectRoundWithSkew(a,h)):t.push(...this.projectRoundNoSkew(a,h)),t}projectPoints(){switch(this.options.strokeLineJoin){case\"miter\":return this.projectMiter();case\"round\":return this.projectRound();default:return this.projectBevel()}}project(){return this.projectPoints().map(t=>({originPoint:this.A,projectedPoint:t,angle:this.alpha,bisector:this.bisector}))}}class Ii extends Li{constructor(t,e,s){super(s),this.A=new ot(t),this.T=new ot(e)}calcOrthogonalProjection(t,e){let s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.strokeProjectionMagnitude;const i=this.createSideVector(t,e);return this.scaleUnitVector(je(i),s)}projectButt(){return[this.projectOrthogonally(this.A,this.T,this.strokeProjectionMagnitude),this.projectOrthogonally(this.A,this.T,-this.strokeProjectionMagnitude)]}projectRound(){const t=[];if(!this.isSkewed()&&this.A.eq(this.T)){const e=new ot(1,1).scalarMultiply(this.strokeProjectionMagnitude).multiply(this.strokeUniformScalar);t.push(this.applySkew(this.A.add(e)),this.applySkew(this.A.subtract(e)))}else t.push(...new Ri(this.A,this.T,this.T,this.options).projectRound());return t}projectSquare(){const t=[];if(this.A.eq(this.T)){const e=new ot(1,1).scalarMultiply(this.strokeProjectionMagnitude).multiply(this.strokeUniformScalar);t.push(this.A.add(e),this.A.subtract(e))}else{const e=this.calcOrthogonalProjection(this.A,this.T,this.strokeProjectionMagnitude),s=this.scaleUnitVector(Ae(this.createSideVector(this.A,this.T)),-this.strokeProjectionMagnitude),i=this.A.add(s);t.push(i.add(e),i.subtract(e))}return t.map(t=>this.applySkew(t))}projectPoints(){switch(this.options.strokeLineCap){case\"round\":return this.projectRound();case\"square\":return this.projectSquare();default:return this.projectButt()}}project(){return this.projectPoints().map(t=>({originPoint:this.A,projectedPoint:t}))}}const $i=function(t,e){let s=arguments.length>2&&void 0!==arguments[2]&&arguments[2];const i=[];if(0===t.length)return i;const r=t.reduce((t,e)=>(t[t.length-1].eq(e)||t.push(new ot(e)),t),[new ot(t[0])]);if(1===r.length)s=!0;else if(!s){const t=r[0],e=((t,e)=>{for(let s=t.length-1;s>=0;s--)if(e(t[s],s,t))return s;return-1})(r,e=>!e.eq(t));r.splice(e+1)}return r.forEach((t,r,n)=>{let o,a;0===r?(a=n[1],o=s?t:n[n.length-1]):r===n.length-1?(o=n[r-1],a=s?t:n[0]):(o=n[r-1],a=n[r+1]),s&&1===n.length?i.push(...new Ii(t,t,e).project()):!s||0!==r&&r!==n.length-1?i.push(...new Ri(t,o,a,e).project()):i.push(...new Ii(t,0===r?a:o,e).project())}),i},Xi=t=>{const e={};return Object.keys(t).forEach(s=>{e[s]={},Object.keys(t[s]).forEach(i=>{e[s][i]={...t[s][i]}})}),e},Yi=function(t,e){let s=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return t.fill!==e.fill||t.stroke!==e.stroke||t.strokeWidth!==e.strokeWidth||t.fontSize!==e.fontSize||t.fontFamily!==e.fontFamily||t.fontWeight!==e.fontWeight||t.fontStyle!==e.fontStyle||t.textDecorationThickness!==e.textDecorationThickness||t.textBackgroundColor!==e.textBackgroundColor||t.deltaY!==e.deltaY||s&&(t.overline!==e.overline||t.underline!==e.underline||t.linethrough!==e.linethrough)},Wi=(t,e)=>{const s=e.split(\"\\n\"),i=[];let r=-1,n={};t=Xi(t);for(let e=0;e<s.length;e++){const o=re(s[e]);if(t[e])for(let s=0;s<o.length;s++){r++;const o=t[e][s];o&&Object.keys(o).length>0&&(Yi(n,o,!0)?i.push({start:r,end:r+1,style:o}):i[i.length-1].end++),n=o||{}}else r+=o.length,n={}}return i},Vi=(t,e)=>{if(!Array.isArray(t))return Xi(t);const s=e.split(E),i={};let r=-1,n=0;for(let e=0;e<s.length;e++){const o=re(s[e]);for(let s=0;s<o.length;s++)r++,t[n]&&t[n].start<=r&&r<t[n].end&&(i[e]=i[e]||{},i[e][s]={...t[n].style},r===t[n].end-1&&n++)}return i},zi=[\"display\",\"transform\",H,\"fill-opacity\",\"fill-rule\",\"opacity\",N,\"stroke-dasharray\",\"stroke-linecap\",\"stroke-dashoffset\",\"stroke-linejoin\",\"stroke-miterlimit\",\"stroke-opacity\",\"stroke-width\",\"id\",\"paint-order\",\"vector-effect\",\"instantiated_by_use\",\"clip-path\"];function Gi(t,e){const s=t.nodeName,i=t.getAttribute(\"class\"),r=t.getAttribute(\"id\"),n=\"(?![a-zA-Z\\\\-]+)\";let o;if(o=new RegExp(\"^\"+s,\"i\"),e=e.replace(o,\"\"),r&&e.length&&(o=new RegExp(\"#\"+r+n,\"i\"),e=e.replace(o,\"\")),i&&e.length){const t=i.split(\" \");for(let s=t.length;s--;)o=new RegExp(\"\\\\.\"+t[s]+n,\"i\"),e=e.replace(o,\"\")}return 0===e.length}function Hi(t,e){let s=!0;const i=Gi(t,e.pop());return i&&e.length&&(s=function(t,e){let s,i=!0;for(;t.parentElement&&1===t.parentElement.nodeType&&e.length;)i&&(s=e.pop()),i=Gi(t=t.parentElement,s);return 0===e.length}(t,e)),i&&s&&0===e.length}function Ni(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},s={};for(const i in e)Hi(t,i.split(\" \"))&&(s={...s,...e[i]});return s}const Ui=t=>{var e;return null!==(e=ys[t])&&void 0!==e?e:t},qi=new RegExp(`(${fs})`,\"gi\"),Ki=`(${fs})`,Ji=String.raw`(skewX)\\(${Ki}\\)`,Qi=String.raw`(skewY)\\(${Ki}\\)`,Zi=String.raw`(rotate)\\(${Ki}(?: ${Ki} ${Ki})?\\)`,tr=String.raw`(scale)\\(${Ki}(?: ${Ki})?\\)`,er=String.raw`(translate)\\(${Ki}(?: ${Ki})?\\)`,sr=`(?:${String.raw`(matrix)\\(${Ki} ${Ki} ${Ki} ${Ki} ${Ki} ${Ki}\\)`}|${er}|${Zi}|${tr}|${Ji}|${Qi})`,ir=`(?:${sr}*)`,rr=String.raw`^\\s*(?:${ir}?)\\s*$`,nr=new RegExp(rr),or=new RegExp(sr),ar=new RegExp(sr,\"g\");function hr(t){const e=[];if(!(t=(t=>ze(t.replace(qi,\" $1 \").replace(/,/gi,\" \")))(t).replace(/\\s*([()])\\s*/gi,\"$1\"))||t&&!nr.test(t))return[...b];for(const s of t.matchAll(ar)){const t=or.exec(s[0]);if(!t)continue;let i=b;const r=t.filter(t=>!!t),[,n,...o]=r,[a,h,l,c,u,d]=o.map(t=>parseFloat(t));switch(n){case\"translate\":i=Mt(a,h);break;case L:i=Pt({angle:a},{x:h,y:l});break;case Y:i=Et(a,h);break;case z:i=jt(a);break;case G:i=Ft(a);break;case\"matrix\":i=[a,h,l,c,u,d]}e.push(i)}return Ot(e)}function lr(t,e,s,i){const r=Array.isArray(e);let n,o=e;if(t!==H&&t!==N||e!==P){if(\"strokeUniform\"===t)return\"non-scaling-stroke\"===e;if(\"strokeDashArray\"===t)o=e===P?null:e.replace(/,/g,\" \").split(/\\s+/).map(parseFloat);else if(\"transformMatrix\"===t)o=s&&s.transformMatrix?Tt(s.transformMatrix,hr(e)):hr(e);else if(\"visible\"===t)o=e!==P&&\"hidden\"!==e,s&&!1===s.visible&&(o=!1);else if(\"opacity\"===t)o=parseFloat(e),s&&void 0!==s.opacity&&(o*=s.opacity);else if(\"textAnchor\"===t)o=\"start\"===e?O:\"end\"===e?M:T;else if(\"charSpacing\"===t||t===is)n=Qe(e,i)/i*1e3;else if(\"paintFirst\"===t){const t=e.indexOf(H),s=e.indexOf(N);o=H,(t>-1&&s>-1&&s<t||-1===t&&s>-1)&&(o=N)}else{if(\"href\"===t||\"xlink:href\"===t||\"font\"===t||\"id\"===t)return e;if(\"imageSmoothing\"===t)return\"optimizeQuality\"===e;n=r?e.map(Qe):Qe(e,i)}}else o=\"\";return!r&&isNaN(n)?o:n}function cr(t,e){t.replace(/;\\s*$/,\"\").split(\";\").forEach(t=>{if(!t)return;const[s,i]=t.split(\":\");e[s.trim().toLowerCase()]=i.trim()})}function ur(t){const e={},s=t.getAttribute(\"style\");return s?(\"string\"==typeof s?cr(s,e):function(t,e){Object.entries(t).forEach(t=>{let[s,i]=t;void 0!==i&&(e[s.toLowerCase()]=i)})}(s,e),e):e}const dr={stroke:\"strokeOpacity\",fill:\"fillOpacity\"};function gr(t,e,s){if(!t)return{};let i,r={},n=S;t.parentNode&&Ss.test(t.parentNode.nodeName)&&(r=gr(t.parentElement,e,s),r.fontSize&&(i=n=Qe(r.fontSize)));const o={...e.reduce((e,s)=>{const i=t.getAttribute(s);return i&&(e[s]=i),e},{}),...Ni(t,s),...ur(t)};o[xs]&&t.setAttribute(xs,o[xs]),o[_s]&&(i=Qe(o[_s],n),o[_s]=`${i}`);const a={};for(const t in o){const e=Ui(t),s=lr(e,o[t],r,i);a[e]=s}a&&a.font&&function(t,e){const s=t.match(vs);if(!s)return;const i=s[1],r=s[3],n=s[4],o=s[5],a=s[6];i&&(e.fontStyle=i),r&&(e.fontWeight=isNaN(parseFloat(r))?r:parseFloat(r)),n&&(e.fontSize=Qe(n)),a&&(e.fontFamily=a),o&&(e.lineHeight=o===J?1:o)}(a.font,a);const h={...r,...a};return Ss.test(t.nodeName)?h:function(t){const e=ji.getDefaults();return Object.entries(dr).forEach(s=>{let[i,r]=s;if(void 0===t[r]||\"\"===t[i])return;if(void 0===t[i]){if(!e[i])return;t[i]=e[i]}if(0===t[i].indexOf(\"url(\"))return;const n=new Je(t[i]);t[i]=n.setAlpha(Wt(n.getAlpha()*t[r],2)).toRgba()}),t}(h)}const fr=[\"rx\",\"ry\"];class pr extends ji{static getDefaults(){return{...super.getDefaults(),...pr.ownDefaults}}constructor(t){super(),Object.assign(this,pr.ownDefaults),this.setOptions(t),this._initRxRy()}_initRxRy(){const{rx:t,ry:e}=this;t&&!e?this.ry=t:e&&!t&&(this.rx=e)}_render(t){const{width:e,height:s}=this,i=-e/2,r=-s/2,n=this.rx?Math.min(this.rx,e/2):0,o=this.ry?Math.min(this.ry,s/2):0,a=0!==n||0!==o;t.beginPath(),t.moveTo(i+n,r),t.lineTo(i+e-n,r),a&&t.bezierCurveTo(i+e-w*n,r,i+e,r+w*o,i+e,r+o),t.lineTo(i+e,r+s-o),a&&t.bezierCurveTo(i+e,r+s-w*o,i+e-w*n,r+s,i+e-n,r+s),t.lineTo(i+n,r+s),a&&t.bezierCurveTo(i+w*n,r+s,i,r+s-w*o,i,r+s-o),t.lineTo(i,r+o),a&&t.bezierCurveTo(i,r+w*o,i+w*n,r,i+n,r),t.closePath(),this._renderPaintInOrder(t)}toObject(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return super.toObject([...fr,...t])}_toSVG(){const{width:t,height:e,rx:s,ry:i}=this;return[\"<rect \",\"COMMON_PARTS\",`x=\"${-t/2}\" y=\"${-e/2}\" rx=\"${se(s)}\" ry=\"${se(i)}\" width=\"${se(t)}\" height=\"${se(e)}\" />\\n`]}static async fromElement(t,e,s){const{left:i=0,top:r=0,width:n=0,height:o=0,visible:a=!0,...h}=gr(t,this.ATTRIBUTE_NAMES,s);return new this({...e,...h,left:i,top:r,width:n,height:o,visible:Boolean(a&&n&&o)})}}t(pr,\"type\",\"Rect\"),t(pr,\"cacheProperties\",[...Ps,...fr]),t(pr,\"ownDefaults\",{rx:0,ry:0}),t(pr,\"ATTRIBUTE_NAMES\",[...zi,\"x\",\"y\",\"rx\",\"ry\",\"width\",\"height\"]),tt.setClass(pr),tt.setSVGClass(pr);const mr=\"initialization\",vr=\"added\",yr=\"removed\",_r=\"imperative\",xr=(t,e)=>{const{strokeUniform:s,strokeWidth:i,width:r,height:n,group:o}=e,a=o&&o!==t?_e(o.calcTransformMatrix(),t.calcTransformMatrix()):null,h=a?e.getRelativeCenterPoint().transform(a):e.getRelativeCenterPoint(),l=!e.isStrokeAccountedForInDimensions(),c=s&&l?Ce(new ot(i,i),void 0,t.calcTransformMatrix()):at,u=!s&&l?i:0,d=ye(r+u,n+u,Ot([a,e.calcOwnMatrix()],!0)).add(c).scalarDivide(2);return[h.subtract(d),h.add(d)]};class Cr{calcLayoutResult(t,e){if(this.shouldPerformLayout(t))return this.calcBoundingBox(e,t)}shouldPerformLayout(t){let{type:e,prevStrategy:s,strategy:i}=t;return e===mr||e===_r||!!s&&i!==s}shouldLayoutClipPath(t){let{type:e,target:{clipPath:s}}=t;return e!==mr&&s&&!s.absolutePositioned}getInitialSize(t,e){return e.size}calcBoundingBox(t,e){const{type:s,target:i}=e;if(s===_r&&e.overrides)return e.overrides;if(0===t.length)return;const{left:r,top:n,width:o,height:a}=ge(t.map(t=>xr(i,t)).reduce((t,e)=>t.concat(e),[])),h=new ot(o,a),l=new ot(r,n).add(h.scalarDivide(2));if(s===mr){const t=this.getInitialSize(e,{size:h,center:l});return{center:l,relativeCorrection:new ot(0,0),size:t}}return{center:l.transform(i.calcOwnMatrix()),size:h}}}t(Cr,\"type\",\"strategy\");class br extends Cr{shouldPerformLayout(t){return!0}}t(br,\"type\",\"fit-content\"),tt.setClass(br);const Sr=\"layoutManager\";class wr{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new br;t(this,\"strategy\",void 0),this.strategy=e,this._subscriptions=new Map}performLayout(t){const e={bubbles:!0,strategy:this.strategy,...t,prevStrategy:this._prevLayoutStrategy,stopPropagation(){this.bubbles=!1}};this.onBeforeLayout(e);const s=this.getLayoutResult(e);s&&this.commitLayout(e,s),this.onAfterLayout(e,s),this._prevLayoutStrategy=e.strategy}attachHandlers(t,e){const{target:s}=e;return[U,A,R,F,j,B,X,I,$].map(e=>t.on(e,t=>this.performLayout(e===U?{type:\"object_modified\",trigger:e,e:t,target:s}:{type:\"object_modifying\",trigger:e,e:t,target:s})))}subscribe(t,e){this.unsubscribe(t,e);const s=this.attachHandlers(t,e);this._subscriptions.set(t,s)}unsubscribe(t,e){(this._subscriptions.get(t)||[]).forEach(t=>t()),this._subscriptions.delete(t)}unsubscribeTargets(t){t.targets.forEach(e=>this.unsubscribe(e,t))}subscribeTargets(t){t.targets.forEach(e=>this.subscribe(e,t))}onBeforeLayout(t){const{target:e,type:s}=t,{canvas:i}=e;if(s===mr||s===vr?this.subscribeTargets(t):s===yr&&this.unsubscribeTargets(t),e.fire(\"layout:before\",{context:t}),i&&i.fire(\"object:layout:before\",{target:e,context:t}),s===_r&&t.deep){const{strategy:s,...i}=t;e.forEachObject(t=>t.layoutManager&&t.layoutManager.performLayout({...i,bubbles:!1,target:t}))}}getLayoutResult(t){const{target:e,strategy:s,type:i}=t,r=s.calcLayoutResult(t,e.getObjects());if(!r)return;const n=i===mr?new ot:e.getRelativeCenterPoint(),{center:o,correction:a=new ot,relativeCorrection:h=new ot}=r,l=n.subtract(o).add(a).transform(i===mr?b:wt(e.calcOwnMatrix()),!0).add(h);return{result:r,prevCenter:n,nextCenter:o,offset:l}}commitLayout(t,e){const{target:s}=t,{result:{size:i},nextCenter:r}=e;var n,o;(s.set({width:i.x,height:i.y}),this.layoutObjects(t,e),t.type===mr)?s.set({left:null!==(n=t.x)&&void 0!==n?n:r.x+i.x*we(s.originX),top:null!==(o=t.y)&&void 0!==o?o:r.y+i.y*we(s.originY)}):(s.setPositionByOrigin(r,T,T),s.setCoords(),s.set(\"dirty\",!0))}layoutObjects(t,e){const{target:s}=t;s.forEachObject(i=>{i.group===s&&this.layoutObject(t,e,i)}),t.strategy.shouldLayoutClipPath(t)&&this.layoutObject(t,e,s.clipPath)}layoutObject(t,e,s){let{offset:i}=e;s.set({left:s.left+i.x,top:s.top+i.y})}onAfterLayout(t,e){const{target:s,strategy:i,bubbles:r,prevStrategy:n,...o}=t,{canvas:a}=s;s.fire(\"layout:after\",{context:t,result:e}),a&&a.fire(\"object:layout:after\",{context:t,result:e,target:s});const h=s.parent;r&&null!=h&&h.layoutManager&&((o.path||(o.path=[])).push(s),h.layoutManager.performLayout({...o,target:h})),s.set(\"dirty\",!0)}dispose(){const{_subscriptions:t}=this;t.forEach(t=>t.forEach(t=>t())),t.clear()}toObject(){return{type:Sr,strategy:this.strategy.constructor.type}}toJSON(){return this.toObject()}}tt.setClass(wr,Sr);class Tr extends wr{performLayout(){}}class Or extends(lt(ji)){static getDefaults(){return{...super.getDefaults(),...Or.ownDefaults}}constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};super(),t(this,\"_activeObjects\",[]),t(this,\"__objectSelectionTracker\",void 0),t(this,\"__objectSelectionDisposer\",void 0),Object.assign(this,Or.ownDefaults),this.setOptions(s),this.groupInit(e,s)}groupInit(t,e){var s;this._objects=[...t],this.__objectSelectionTracker=this.__objectSelectionMonitor.bind(this,!0),this.__objectSelectionDisposer=this.__objectSelectionMonitor.bind(this,!1),this.forEachObject(t=>{this.enterGroup(t,!1)}),this.layoutManager=null!==(s=e.layoutManager)&&void 0!==s?s:new wr,this.layoutManager.performLayout({type:mr,target:this,targets:[...t],x:e.left,y:e.top})}canEnterGroup(t){return t===this||this.isDescendantOf(t)?(i(\"error\",\"Group: circular object trees are not supported, this call has no effect\"),!1):-1===this._objects.indexOf(t)||(i(\"error\",\"Group: duplicate objects are not supported inside group, this call has no effect\"),!1)}_filterObjectsBeforeEnteringGroup(t){return t.filter((t,e,s)=>this.canEnterGroup(t)&&s.indexOf(t)===e)}add(){for(var t=arguments.length,e=new Array(t),s=0;s<t;s++)e[s]=arguments[s];const i=this._filterObjectsBeforeEnteringGroup(e),r=super.add(...i);return this._onAfterObjectsChange(vr,i),r}insertAt(t){for(var e=arguments.length,s=new Array(e>1?e-1:0),i=1;i<e;i++)s[i-1]=arguments[i];const r=this._filterObjectsBeforeEnteringGroup(s),n=super.insertAt(t,...r);return this._onAfterObjectsChange(vr,r),n}remove(){const t=super.remove(...arguments);return this._onAfterObjectsChange(yr,t),t}_onObjectAdded(t){this.enterGroup(t,!0),this.fire(\"object:added\",{target:t}),t.fire(\"added\",{target:this})}_onObjectRemoved(t,e){this.exitGroup(t,e),this.fire(\"object:removed\",{target:t}),t.fire(\"removed\",{target:this})}_onAfterObjectsChange(t,e){this.layoutManager.performLayout({type:t,targets:e,target:this})}_onStackOrderChanged(){this._set(\"dirty\",!0)}_set(t,e){const s=this[t];return super._set(t,e),\"canvas\"===t&&s!==e&&(this._objects||[]).forEach(s=>{s._set(t,e)}),this}_shouldSetNestedCoords(){return this.subTargetCheck}removeAll(){return this._activeObjects=[],this.remove(...this._objects)}__objectSelectionMonitor(t,e){let{target:s}=e;const i=this._activeObjects;if(t)i.push(s),this._set(\"dirty\",!0);else if(i.length>0){const t=i.indexOf(s);t>-1&&(i.splice(t,1),this._set(\"dirty\",!0))}}_watchObject(t,e){t&&this._watchObject(!1,e),t?(e.on(\"selected\",this.__objectSelectionTracker),e.on(\"deselected\",this.__objectSelectionDisposer)):(e.off(\"selected\",this.__objectSelectionTracker),e.off(\"deselected\",this.__objectSelectionDisposer))}enterGroup(t,e){t.group&&t.group.remove(t),t._set(\"parent\",this),this._enterGroup(t,e)}_enterGroup(t,e){e&&pe(t,Tt(wt(this.calcTransformMatrix()),t.calcTransformMatrix())),this._shouldSetNestedCoords()&&t.setCoords(),t._set(\"group\",this),t._set(\"canvas\",this.canvas),this._watchObject(!0,t);const s=this.canvas&&this.canvas.getActiveObject&&this.canvas.getActiveObject();s&&(s===t||t.isDescendantOf(s))&&this._activeObjects.push(t)}exitGroup(t,e){this._exitGroup(t,e),t._set(\"parent\",void 0),t._set(\"canvas\",void 0)}_exitGroup(t,e){t._set(\"group\",void 0),e||(pe(t,Tt(this.calcTransformMatrix(),t.calcTransformMatrix())),t.setCoords()),this._watchObject(!1,t);const s=this._activeObjects.length>0?this._activeObjects.indexOf(t):-1;s>-1&&this._activeObjects.splice(s,1)}shouldCache(){const t=ji.prototype.shouldCache.call(this);if(t)for(let t=0;t<this._objects.length;t++)if(this._objects[t].willDrawShadow())return this.ownCaching=!1,!1;return t}willDrawShadow(){if(super.willDrawShadow())return!0;for(let t=0;t<this._objects.length;t++)if(this._objects[t].willDrawShadow())return!0;return!1}isOnACache(){return this.ownCaching||!!this.parent&&this.parent.isOnACache()}drawObject(t,e,s){this._renderBackground(t);for(let e=0;e<this._objects.length;e++){var i;const s=this._objects[e];null!==(i=this.canvas)&&void 0!==i&&i.preserveObjectStacking&&s.group!==this?(t.save(),t.transform(...wt(this.calcTransformMatrix())),s.render(t),t.restore()):s.group===this&&s.render(t)}this._drawClipPath(t,this.clipPath,s)}setCoords(){super.setCoords(),this._shouldSetNestedCoords()&&this.forEachObject(t=>t.setCoords())}triggerLayout(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.layoutManager.performLayout({target:this,type:_r,...t})}render(t){this._transformDone=!0,super.render(t),this._transformDone=!1}__serializeObjects(t,e){const s=this.includeDefaultValues;return this._objects.filter(function(t){return!t.excludeFromExport}).map(function(i){const r=i.includeDefaultValues;i.includeDefaultValues=s;const n=i[t||\"toObject\"](e);return i.includeDefaultValues=r,n})}toObject(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];const e=this.layoutManager.toObject();return{...super.toObject([\"subTargetCheck\",\"interactive\",...t]),...\"fit-content\"!==e.strategy||this.includeDefaultValues?{layoutManager:e}:{},objects:this.__serializeObjects(\"toObject\",t)}}toString(){return`#<Group: (${this.complexity()})>`}dispose(){this.layoutManager.unsubscribeTargets({targets:this.getObjects(),target:this}),this._activeObjects=[],this.forEachObject(t=>{this._watchObject(!1,t),t.dispose()}),super.dispose()}_createSVGBgRect(t){if(!this.backgroundColor)return\"\";const e=pr.prototype._toSVG.call(this),s=e.indexOf(\"COMMON_PARTS\");e[s]='for=\"group\" ';const i=e.join(\"\");return t?t(i):i}_toSVG(t){const e=[\"<g \",\"COMMON_PARTS\",\" >\\n\"],s=this._createSVGBgRect(t);s&&e.push(\"\\t\\t\",s);for(let s=0;s<this._objects.length;s++)e.push(\"\\t\\t\",this._objects[s].toSVG(t));return e.push(\"</g>\\n\"),e}getSvgStyles(){const t=void 0!==this.opacity&&1!==this.opacity?`opacity: ${se(this.opacity)};`:\"\",e=this.visible?\"\":\" visibility: hidden;\";return[t,this.getSvgFilter(),e].join(\"\")}toClipPathSVG(t){const e=[],s=this._createSVGBgRect(t);s&&e.push(\"\\t\",s);for(let s=0;s<this._objects.length;s++)e.push(\"\\t\",this._objects[s].toClipPathSVG(t));return this._createBaseClipPathSVGMarkup(e,{reviver:t})}static fromObject(t,e){let{type:s,objects:i=[],layoutManager:r,...n}=t;return Promise.all([It(i,e),$t(n,e)]).then(t=>{let[e,s]=t;const i=new this(e,{...n,...s,layoutManager:new Tr});if(r){const t=tt.getClass(r.type),e=tt.getClass(r.strategy);i.layoutManager=new t(new e)}else i.layoutManager=new wr;return i.layoutManager.subscribeTargets({type:mr,target:i,targets:i.getObjects()}),i.setCoords(),i})}}t(Or,\"type\",\"Group\"),t(Or,\"ownDefaults\",{strokeWidth:0,subTargetCheck:!1,interactive:!1}),tt.setClass(Or);const kr=(t,e)=>Math.min(e.width/t.width,e.height/t.height),Dr=(t,e)=>Math.max(e.width/t.width,e.height/t.height),Mr=\"\\\\s*,?\\\\s*\",Pr=`${Mr}(${fs})`,Er=`${Pr}${Pr}${Pr}${Mr}([01])${Mr}([01])${Pr}${Pr}`,Ar={m:\"l\",M:\"L\"},jr=(t,e,s,i,r,n,o,a,h,l,c)=>{const u=rt(t),d=nt(t),g=rt(e),f=nt(e),p=s*r*g-i*n*f+o,m=i*r*g+s*n*f+a;return[\"C\",l+h*(-s*r*d-i*n*u),c+h*(-i*r*d+s*n*u),p+h*(s*r*f+i*n*g),m+h*(i*r*f-s*n*g),p,m]},Fr=(t,e,s,i)=>{const r=Math.atan2(e,t),n=Math.atan2(i,s);return n>=r?n-r:2*Math.PI-(r-n)};function Lr(t,e,i,r,n,o,a,h){let l;if(s.cachesBoundsOfCurve&&(l=[...arguments].join(),p.boundsOfCurveCache[l]))return p.boundsOfCurveCache[l];const c=Math.sqrt,u=Math.abs,d=[],g=[[0,0],[0,0]];let f=6*t-12*i+6*n,m=-3*t+9*i-9*n+3*a,v=3*i-3*t;for(let t=0;t<2;++t){if(t>0&&(f=6*e-12*r+6*o,m=-3*e+9*r-9*o+3*h,v=3*r-3*e),u(m)<1e-12){if(u(f)<1e-12)continue;const t=-v/f;0<t&&t<1&&d.push(t);continue}const s=f*f-4*v*m;if(s<0)continue;const i=c(s),n=(-f+i)/(2*m);0<n&&n<1&&d.push(n);const a=(-f-i)/(2*m);0<a&&a<1&&d.push(a)}let y=d.length;const _=y,x=$r(t,e,i,r,n,o,a,h);for(;y--;){const{x:t,y:e}=x(d[y]);g[0][y]=t,g[1][y]=e}g[0][_]=t,g[1][_]=e,g[0][_+1]=a,g[1][_+1]=h;const C=[new ot(Math.min(...g[0]),Math.min(...g[1])),new ot(Math.max(...g[0]),Math.max(...g[1]))];return s.cachesBoundsOfCurve&&(p.boundsOfCurveCache[l]=C),C}const Br=(t,e,s)=>{let[i,r,n,o,a,h,l,c]=s;const u=((t,e,s,i,r,n,o)=>{if(0===s||0===i)return[];let a=0,h=0,l=0;const c=Math.PI,u=o*C,d=nt(u),g=rt(u),f=.5*(-g*t-d*e),p=.5*(-g*e+d*t),m=s**2,v=i**2,y=p**2,_=f**2,x=m*v-m*y-v*_;let b=Math.abs(s),S=Math.abs(i);if(x<0){const t=Math.sqrt(1-x/(m*v));b*=t,S*=t}else l=(r===n?-1:1)*Math.sqrt(x/(m*y+v*_));const w=l*b*p/S,T=-l*S*f/b,O=g*w-d*T+.5*t,k=d*w+g*T+.5*e;let D=Fr(1,0,(f-w)/b,(p-T)/S),M=Fr((f-w)/b,(p-T)/S,(-f-w)/b,(-p-T)/S);0===n&&M>0?M-=2*c:1===n&&M<0&&(M+=2*c);const P=Math.ceil(Math.abs(M/c*2)),E=[],A=M/P,j=8/3*Math.sin(A/4)*Math.sin(A/4)/Math.sin(A/2);let F=D+A;for(let t=0;t<P;t++)E[t]=jr(D,F,g,d,b,S,O,k,j,a,h),a=E[t][5],h=E[t][6],D=F,F+=A;return E})(l-t,c-e,r,n,a,h,o);for(let s=0,i=u.length;s<i;s++)u[s][1]+=t,u[s][2]+=e,u[s][3]+=t,u[s][4]+=e,u[s][5]+=t,u[s][6]+=e;return u},Rr=t=>{let e=0,s=0,i=0,r=0;const n=[];let o,a=0,h=0;for(const l of t){const t=[...l];let c;switch(t[0]){case\"l\":t[1]+=e,t[2]+=s;case\"L\":e=t[1],s=t[2],c=[\"L\",e,s];break;case\"h\":t[1]+=e;case\"H\":e=t[1],c=[\"L\",e,s];break;case\"v\":t[1]+=s;case\"V\":s=t[1],c=[\"L\",e,s];break;case\"m\":t[1]+=e,t[2]+=s;case\"M\":e=t[1],s=t[2],i=t[1],r=t[2],c=[\"M\",e,s];break;case\"c\":t[1]+=e,t[2]+=s,t[3]+=e,t[4]+=s,t[5]+=e,t[6]+=s;case\"C\":a=t[3],h=t[4],e=t[5],s=t[6],c=[\"C\",t[1],t[2],a,h,e,s];break;case\"s\":t[1]+=e,t[2]+=s,t[3]+=e,t[4]+=s;case\"S\":\"C\"===o?(a=2*e-a,h=2*s-h):(a=e,h=s),e=t[3],s=t[4],c=[\"C\",a,h,t[1],t[2],e,s],a=c[3],h=c[4];break;case\"q\":t[1]+=e,t[2]+=s,t[3]+=e,t[4]+=s;case\"Q\":a=t[1],h=t[2],e=t[3],s=t[4],c=[\"Q\",a,h,e,s];break;case\"t\":t[1]+=e,t[2]+=s;case\"T\":\"Q\"===o?(a=2*e-a,h=2*s-h):(a=e,h=s),e=t[1],s=t[2],c=[\"Q\",a,h,e,s];break;case\"a\":t[6]+=e,t[7]+=s;case\"A\":Br(e,s,t).forEach(t=>n.push(t)),e=t[6],s=t[7];break;case\"z\":case\"Z\":e=i,s=r,c=[\"Z\"]}c?(n.push(c),o=c[0]):o=\"\"}return n},Ir=(t,e,s,i)=>Math.sqrt((s-t)**2+(i-e)**2),$r=(t,e,s,i,r,n,o,a)=>h=>{const l=h**3,c=(t=>3*t**2*(1-t))(h),u=(t=>3*t*(1-t)**2)(h),d=(t=>(1-t)**3)(h);return new ot(o*l+r*c+s*u+t*d,a*l+n*c+i*u+e*d)},Xr=t=>t**2,Yr=t=>2*t*(1-t),Wr=t=>(1-t)**2,Vr=(t,e,s,i,r,n,o,a)=>h=>{const l=Xr(h),c=Yr(h),u=Wr(h),d=3*(u*(s-t)+c*(r-s)+l*(o-r)),g=3*(u*(i-e)+c*(n-i)+l*(a-n));return Math.atan2(g,d)},zr=(t,e,s,i,r,n)=>o=>{const a=Xr(o),h=Yr(o),l=Wr(o);return new ot(r*a+s*h+t*l,n*a+i*h+e*l)},Gr=(t,e,s,i,r,n)=>o=>{const a=1-o,h=2*(a*(s-t)+o*(r-s)),l=2*(a*(i-e)+o*(n-i));return Math.atan2(l,h)},Hr=(t,e,s)=>{let i=new ot(e,s),r=0;for(let e=1;e<=100;e+=1){const s=t(e/100);r+=Ir(i.x,i.y,s.x,s.y),i=s}return r},Nr=(t,e)=>{let s,i=0,r=0,n={x:t.x,y:t.y},o={...n},a=.01,h=0;const l=t.iterator,c=t.angleFinder;for(;r<e&&a>1e-4;)o=l(i),h=i,s=Ir(n.x,n.y,o.x,o.y),s+r>e?(i-=a,a/=2):(n=o,i+=a,r+=s);return{...o,angle:c(h)}},Ur=t=>{let e,s,i=0,r=0,n=0,o=0,a=0;const h=[];for(const l of t){const t={x:r,y:n,command:l[0],length:0};switch(l[0]){case\"M\":s=t,s.x=o=r=l[1],s.y=a=n=l[2];break;case\"L\":s=t,s.length=Ir(r,n,l[1],l[2]),r=l[1],n=l[2];break;case\"C\":e=$r(r,n,l[1],l[2],l[3],l[4],l[5],l[6]),s=t,s.iterator=e,s.angleFinder=Vr(r,n,l[1],l[2],l[3],l[4],l[5],l[6]),s.length=Hr(e,r,n),r=l[5],n=l[6];break;case\"Q\":e=zr(r,n,l[1],l[2],l[3],l[4]),s=t,s.iterator=e,s.angleFinder=Gr(r,n,l[1],l[2],l[3],l[4]),s.length=Hr(e,r,n),r=l[3],n=l[4];break;case\"Z\":s=t,s.destX=o,s.destY=a,s.length=Ir(r,n,o,a),r=o,n=a}i+=s.length,h.push(s)}return h.push({length:i,x:r,y:n}),h},qr=function(t,e){let s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:Ur(t),i=0;for(;e-s[i].length>0&&i<s.length-2;)e-=s[i].length,i++;const r=s[i],n=e/r.length,o=t[i];switch(r.command){case\"M\":return{x:r.x,y:r.y,angle:0};case\"Z\":return{...new ot(r.x,r.y).lerp(new ot(r.destX,r.destY),n),angle:Math.atan2(r.destY-r.y,r.destX-r.x)};case\"L\":return{...new ot(r.x,r.y).lerp(new ot(o[1],o[2]),n),angle:Math.atan2(o[2]-r.y,o[1]-r.x)};case\"C\":case\"Q\":return Nr(r,e)}},Kr=new RegExp(\"[mzlhvcsqta][^mzlhvcsqta]*\",\"gi\"),Jr=new RegExp(Er,\"g\"),Qr=new RegExp(fs,\"gi\"),Zr={m:2,l:2,h:1,v:1,c:6,s:4,q:4,t:2,a:7},tn=t=>{var e;const s=[],i=null!==(e=t.match(Kr))&&void 0!==e?e:[];for(const t of i){const e=t[0];if(\"z\"===e||\"Z\"===e){s.push([e]);continue}const i=Zr[e.toLowerCase()];let r=[];if(\"a\"===e||\"A\"===e){Jr.lastIndex=0;for(let e=null;e=Jr.exec(t);)r.push(...e.slice(1))}else r=t.match(Qr)||[];for(let t=0;t<r.length;t+=i){const n=new Array(i),o=Ar[e];n[0]=t>0&&o?o:e;for(let e=0;e<i;e++)n[e+1]=parseFloat(r[t+e]);s.push(n)}}return s},en=function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,s=new ot(t[0]),i=new ot(t[1]),r=1,n=0;const o=[],a=t.length,h=a>2;let l;for(h&&(r=t[2].x<i.x?-1:t[2].x===i.x?0:1,n=t[2].y<i.y?-1:t[2].y===i.y?0:1),o.push([\"M\",s.x-r*e,s.y-n*e]),l=1;l<a;l++){if(!s.eq(i)){const t=s.midPointFrom(i);o.push([\"Q\",s.x,s.y,t.x,t.y])}s=t[l],l+1<t.length&&(i=t[l+1])}return h&&(r=s.x>t[l-2].x?1:s.x===t[l-2].x?0:-1,n=s.y>t[l-2].y?1:s.y===t[l-2].y?0:-1),o.push([\"L\",s.x+r*e,s.y+n*e]),o},sn=(t,e)=>t.map(t=>t.map((t,s)=>0===s||void 0===e?t:Wt(t,e)).join(\" \")).join(\" \"),rn=(t,e)=>Math.floor(Math.random()*(e-t+1))+t,nn=(t,e)=>{let s=t._findCenterFromElement();t.transformMatrix&&((t=>{if(t.transformMatrix){const{scaleX:e,scaleY:s,angle:i,skewX:r}=Dt(t.transformMatrix);t.flipX=!1,t.flipY=!1,t.set(W,e),t.set(V,s),t.angle=i,t.skewX=r,t.skewY=0}})(t),s=s.transform(t.transformMatrix)),delete t.transformMatrix,e&&(t.scaleX*=e.scaleX,t.scaleY*=e.scaleY,t.cropX=e.cropX,t.cropY=e.cropY,s.x+=e.offsetLeft,s.y+=e.offsetTop,t.width=e.width,t.height=e.height),t.setPositionByOrigin(s,T,T)};var on=Object.freeze({__proto__:null,addTransformToObject:fe,animate:Gs,animateColor:Hs,applyTransformToObject:pe,calcAngleBetweenVectors:Pe,calcDimensionsMatrix:Lt,calcPlaneChangeMatrix:_e,calcVectorRotation:Ee,cancelAnimFrame:dt,capValue:Ds,composeMatrix:Bt,copyCanvasElement:t=>{var e;const s=vt(t);return null===(e=s.getContext(\"2d\"))||void 0===e||e.drawImage(t,0,0),s},cos:rt,createCanvasElement:pt,createImage:mt,createRotateMatrix:Pt,createScaleMatrix:Et,createSkewXMatrix:jt,createSkewYMatrix:Ft,createTranslateMatrix:Mt,createVector:De,crossProduct:Fe,degreesToRadians:xt,dotProduct:Le,ease:Rs,enlivenObjectEnlivables:$t,enlivenObjects:It,findScaleToCover:Dr,findScaleToFit:kr,getBoundsOfCurve:Lr,getOrthonormalVector:je,getPathSegmentsInfo:Ur,getPointOnPath:qr,getPointer:ce,getRandomInt:rn,getRegularPolygonPath:(t,e)=>{const s=2*Math.PI/t;let i=-y;t%2==0&&(i+=s/2);const r=new Array(t+1);for(let n=0;n<t;n++){const t=n*s+i,{x:o,y:a}=new ot(rt(t),nt(t)).scalarMultiply(e);r[n]=[0===n?\"M\":\"L\",o,a]}return r[t]=[\"Z\"],r},getSmoothPathFromPoints:en,getSvgAttributes:t=>{const e=[\"instantiated_by_use\",\"style\",\"id\",\"class\"];switch(t){case\"linearGradient\":return e.concat([\"x1\",\"y1\",\"x2\",\"y2\",\"gradientUnits\",\"gradientTransform\"]);case\"radialGradient\":return e.concat([\"gradientUnits\",\"gradientTransform\",\"cx\",\"cy\",\"r\",\"fx\",\"fy\",\"fr\"]);case\"stop\":return e.concat([\"offset\",\"stop-color\",\"stop-opacity\"])}return e},getUnitVector:Ae,groupSVGElements:(t,e)=>t&&1===t.length?t[0]:new Or(t,e),hasStyleChanged:Yi,invertTransform:wt,isBetweenVectors:Be,isIdentityMatrix:bt,isTouchEvent:ue,isTransparent:Fi,joinPath:sn,loadImage:Rt,magnitude:Me,makeBoundingBoxFromPoints:ge,makePathSimpler:Rr,matrixToSVG:Vt,mergeClipPaths:(t,e)=>{var s;let i=t,r=e;i.inverted&&!r.inverted&&(i=e,r=t),be(r,null===(s=r.group)||void 0===s?void 0:s.calcTransformMatrix(),i.calcTransformMatrix());const n=i.inverted&&r.inverted;return n&&(i.inverted=r.inverted=!1),new Or([i],{clipPath:r,inverted:n})},multiplyTransformMatrices:Tt,multiplyTransformMatrixArray:Ot,parsePath:tn,parsePreserveAspectRatioAttribute:Ze,parseUnit:Qe,pick:Xt,projectStrokeOnPoints:$i,qrDecompose:Dt,radiansToDegrees:Ct,removeFromArray:it,removeTransformFromObject:(t,e)=>{const s=wt(e),i=Tt(s,t.calcOwnMatrix());pe(t,i)},removeTransformMatrixForSvgParsing:nn,requestAnimFrame:ut,resetObjectTransform:me,rotateVector:ke,saveObjectTransform:ve,sendObjectToPlane:be,sendPointToPlane:xe,sendVectorToPlane:Ce,sin:nt,sizeAfterTransform:ye,string:ae,stylesFromArray:Vi,stylesToArray:Wi,toBlob:_t,toDataURL:yt,toFixed:Wt,transformPath:(t,e,s)=>(s&&(e=Tt(e,[1,0,0,1,-s.x,-s.y])),t.map(t=>{const s=[...t];for(let i=1;i<t.length-1;i+=2){const{x:r,y:n}=St({x:t[i],y:t[i+1]},e);s[i]=r,s[i+1]=n}return s})),transformPoint:St});function an(t,e){const s=t.style;s&&Object.entries(e).forEach(t=>{let[e,i]=t;return s.setProperty(e,i)})}class hn extends te{constructor(e){let{allowTouchScrolling:s=!1,containerClass:i=\"\"}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};super(e),t(this,\"upper\",void 0),t(this,\"container\",void 0);const{el:r}=this.lower,n=this.createUpperCanvas();this.upper={el:n,ctx:n.getContext(\"2d\")},this.applyCanvasStyle(r,{allowTouchScrolling:s}),this.applyCanvasStyle(n,{allowTouchScrolling:s,styles:{position:\"absolute\",left:\"0\",top:\"0\"}});const o=this.createContainerElement();o.classList.add(i),r.parentNode&&r.parentNode.replaceChild(o,r),o.append(r,n),this.container=o}createUpperCanvas(){const{el:t}=this.lower,e=pt();return e.className=t.className,e.classList.remove(\"lower-canvas\"),e.classList.add(\"upper-canvas\"),e.setAttribute(\"data-fabric\",\"top\"),e.style.cssText=t.style.cssText,e.setAttribute(\"draggable\",\"true\"),e}createContainerElement(){const t=d().createElement(\"div\");return t.setAttribute(\"data-fabric\",\"wrapper\"),an(t,{position:\"relative\"}),Zt(t),t}applyCanvasStyle(t,e){const{styles:s,allowTouchScrolling:i}=e;an(t,{...s,\"touch-action\":i?\"manipulation\":P}),Zt(t)}setDimensions(t,e){super.setDimensions(t,e);const{el:s,ctx:i}=this.upper;Jt(s,i,t,e)}setCSSDimensions(t){super.setCSSDimensions(t),Qt(this.upper.el,t),Qt(this.container,t)}cleanupDOM(t){const e=this.container,{el:s}=this.lower,{el:i}=this.upper;super.cleanupDOM(t),e.removeChild(i),e.removeChild(s),e.parentNode&&e.parentNode.replaceChild(s,e)}dispose(){super.dispose(),u().dispose(this.upper.el),delete this.upper,delete this.container}}const ln=(t,e,s,i)=>{const{target:r,offsetX:n,offsetY:o}=e,a=s-n,h=i-o,l=!Xe(r,\"lockMovementX\")&&r.left!==a,c=!Xe(r,\"lockMovementY\")&&r.top!==h;return l&&r.set(O,a),c&&r.set(k,h),(l||c)&&Ks(A,Ye(t,e,s,i)),l||c},cn=I,un=t=>function(e,s,i){const{points:r,pathOffset:n}=i;return new ot(r[t]).subtract(n).transform(Tt(i.getViewportTransform(),i.calcTransformMatrix()))},dn=(t,e,s,i)=>{const{target:r,pointIndex:n}=e,o=r,a=xe(new ot(s,i),void 0,o.calcOwnMatrix());return o.points[n]=a.add(o.pathOffset),o.setDimensions(),o.set(\"dirty\",!0),!0},gn=(t,e)=>function(s,i,r,n){const o=i.target,a=new ot(o.points[(t>0?t:o.points.length)-1]),h=a.subtract(o.pathOffset).transform(o.calcOwnMatrix()),l=e(s,{...i,pointIndex:t},r,n),c=a.subtract(o.pathOffset).transform(o.calcOwnMatrix()).subtract(h);return o.left-=c.x,o.top-=c.y,l},fn=t=>Js(cn,gn(t,dn));const pn=(t,e,s)=>{const{path:i,pathOffset:r}=t,n=i[e];return new ot(n[s]-r.x,n[s+1]-r.y).transform(Tt(t.getViewportTransform(),t.calcTransformMatrix()))};function mn(t,e,s){const{commandIndex:i,pointIndex:r}=this;return pn(s,i,r)}function vn(t,e,s,i){const{target:r}=e,{commandIndex:n,pointIndex:o}=this,a=((t,e,s,i,r)=>{const{path:n,pathOffset:o}=t,a=n[(i>0?i:n.length)-1],h=new ot(a[r],a[r+1]),l=h.subtract(o).transform(t.calcOwnMatrix()),c=xe(new ot(e,s),void 0,t.calcOwnMatrix());n[i][r]=c.x+o.x,n[i][r+1]=c.y+o.y,t.setDimensions();const u=h.subtract(t.pathOffset).transform(t.calcOwnMatrix()).subtract(l);return t.left-=u.x,t.top-=u.y,t.set(\"dirty\",!0),!0})(r,s,i,n,o);return Ks(this.actionName,{...Ye(t,e,s,i),commandIndex:n,pointIndex:o}),a}class yn extends oi{constructor(t){super(t)}render(t,e,s,i,r){const n={...i,cornerColor:this.controlFill,cornerStrokeColor:this.controlStroke,transparentCorners:!this.controlFill};super.render(t,e,s,n,r)}}class _n extends yn{constructor(t){super(t)}render(t,e,s,i,r){const{path:n}=r,{commandIndex:o,pointIndex:a,connectToCommandIndex:h,connectToPointIndex:l}=this;t.save(),t.strokeStyle=this.controlStroke,this.connectionDashArray&&t.setLineDash(this.connectionDashArray);const[c]=n[o],u=pn(r,h,l);if(\"Q\"===c){const i=pn(r,o,a+2);t.moveTo(i.x,i.y),t.lineTo(e,s)}else t.moveTo(e,s);t.lineTo(u.x,u.y),t.stroke(),t.restore(),super.render(t,e,s,i,r)}}const xn=(t,e,s,i,r,n)=>new(s?_n:yn)({commandIndex:t,pointIndex:e,actionName:\"modifyPath\",positionHandler:mn,actionHandler:vn,connectToCommandIndex:r,connectToPointIndex:n,...i,...s?i.controlPointStyle:i.pointStyle});var Cn=Object.freeze({__proto__:null,changeHeight:ii,changeObjectHeight:ei,changeObjectWidth:ti,changeWidth:si,createObjectDefaultControls:Di,createPathControls:function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const s={};let i=\"M\";return t.path.forEach((t,r)=>{const n=t[0];switch(\"Z\"!==n&&(s[`c_${r}_${n}`]=xn(r,t.length-2,!1,e)),n){case\"C\":s[`c_${r}_C_CP_1`]=xn(r,1,!0,e,r-1,(t=>\"C\"===t?5:\"Q\"===t?3:1)(i)),s[`c_${r}_C_CP_2`]=xn(r,3,!0,e,r,5);break;case\"Q\":s[`c_${r}_Q_CP_1`]=xn(r,1,!0,e,r,3)}i=n}),s},createPolyActionHandler:fn,createPolyControls:function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const s={};for(let i=0;i<(\"number\"==typeof t?t:t.points.length);i++)s[`p${i}`]=new oi({actionName:cn,positionHandler:un(i),actionHandler:fn(i),...e});return s},createPolyPositionHandler:un,createResizeControls:Mi,createTextboxDefaultControls:Pi,dragHandler:ln,factoryPolyActionHandler:gn,getLocalPoint:Ve,polyActionHandler:dn,renderCircleControl:ri,renderSquareControl:ni,rotationStyleHandler:ai,rotationWithSnapping:hi,scaleCursorStyleHandler:di,scaleOrSkewActionName:wi,scaleSkewCursorStyleHandler:Ti,scalingEqually:fi,scalingX:pi,scalingXOrSkewingY:Oi,scalingY:mi,scalingYOrSkewingX:ki,skewCursorStyleHandler:_i,skewHandlerX:Ci,skewHandlerY:bi,wrapWithFireEvent:Js,wrapWithFixedAnchor:Qs});class bn extends he{constructor(){super(...arguments),t(this,\"_hoveredTargets\",[]),t(this,\"_currentTransform\",null),t(this,\"_groupSelector\",null),t(this,\"contextTopDirty\",!1)}static getDefaults(){return{...super.getDefaults(),...bn.ownDefaults}}get upperCanvasEl(){var t;return null===(t=this.elements.upper)||void 0===t?void 0:t.el}get contextTop(){var t;return null===(t=this.elements.upper)||void 0===t?void 0:t.ctx}get wrapperEl(){return this.elements.container}initElements(t){this.elements=new hn(t,{allowTouchScrolling:this.allowTouchScrolling,containerClass:this.containerClass}),this._createCacheCanvas()}_onObjectAdded(t){this._objectsToRender=void 0,super._onObjectAdded(t)}_onObjectRemoved(t){this._objectsToRender=void 0,t===this._activeObject&&(this.fire(\"before:selection:cleared\",{deselected:[t]}),this._discardActiveObject(),this.fire(\"selection:cleared\",{deselected:[t]}),t.fire(\"deselected\",{target:t})),t===this._hoveredTarget&&(this._hoveredTarget=void 0,this._hoveredTargets=[]),super._onObjectRemoved(t)}_onStackOrderChanged(){this._objectsToRender=void 0,super._onStackOrderChanged()}_chooseObjectsToRender(){const t=this._activeObject;return!this.preserveObjectStacking&&t?this._objects.filter(e=>!e.group&&e!==t).concat(t):this._objects}renderAll(){this.cancelRequestedRender(),this.destroyed||(!this.contextTopDirty||this._groupSelector||this.isDrawingMode||(this.clearContext(this.contextTop),this.contextTopDirty=!1),this.hasLostContext&&(this.renderTopLayer(this.contextTop),this.hasLostContext=!1),!this._objectsToRender&&(this._objectsToRender=this._chooseObjectsToRender()),this.renderCanvas(this.getContext(),this._objectsToRender))}renderTopLayer(t){t.save(),this.isDrawingMode&&this._isCurrentlyDrawing&&(this.freeDrawingBrush&&this.freeDrawingBrush._render(),this.contextTopDirty=!0),this.selection&&this._groupSelector&&(this._drawSelection(t),this.contextTopDirty=!0),t.restore()}renderTop(){const t=this.contextTop;this.clearContext(t),this.renderTopLayer(t),this.fire(\"after:render\",{ctx:t})}setTargetFindTolerance(t){t=Math.round(t),this.targetFindTolerance=t;const e=this.getRetinaScaling(),s=Math.ceil((2*t+1)*e);this.pixelFindCanvasEl.width=this.pixelFindCanvasEl.height=s,this.pixelFindContext.scale(e,e)}isTargetTransparent(t,e,s){const i=this.targetFindTolerance,r=this.pixelFindContext;this.clearContext(r),r.save(),r.translate(-e+i,-s+i),r.transform(...this.viewportTransform);const n=t.selectionBackgroundColor;t.selectionBackgroundColor=\"\",t.render(r),t.selectionBackgroundColor=n,r.restore();const o=Math.round(i*this.getRetinaScaling());return Fi(r,o,o,o)}_isSelectionKeyPressed(t){const e=this.selectionKey;return!!e&&(Array.isArray(e)?!!e.find(e=>!!e&&!0===t[e]):t[e])}_shouldClearSelection(t,e){const s=this.getActiveObjects(),i=this._activeObject;return!!(!e||e&&i&&s.length>1&&-1===s.indexOf(e)&&i!==e&&!this._isSelectionKeyPressed(t)||e&&!e.evented||e&&!e.selectable&&i&&i!==e)}_shouldCenterTransform(t,e,s){if(!t)return;let i;return e===Y||e===W||e===V||e===R?i=this.centeredScaling||t.centeredScaling:e===L&&(i=this.centeredRotation||t.centeredRotation),i?!s:s}_getOriginFromCorner(t,e){const s=e?t.controls[e].getTransformAnchorPoint():{x:t.originX,y:t.originY};return e?([\"ml\",\"tl\",\"bl\"].includes(e)?s.x=M:[\"mr\",\"tr\",\"br\"].includes(e)&&(s.x=O),[\"tl\",\"mt\",\"tr\"].includes(e)?s.y=D:[\"bl\",\"mb\",\"br\"].includes(e)&&(s.y=k),s):s}_setupCurrentTransform(t,e,s){var i;const r=e.group?xe(this.getScenePoint(t),void 0,e.group.calcTransformMatrix()):this.getScenePoint(t),{key:n=\"\",control:o}=e.getActiveControl()||{},a=s&&o?null===(i=o.getActionHandler(t,e,o))||void 0===i?void 0:i.bind(o):ln,h=((t,e,s,i)=>{if(!e||!t)return\"drag\";const r=i.controls[e];return r.getActionName(s,r,i)})(s,n,t,e),l=t[this.centeredKey],c=this._shouldCenterTransform(e,h,l)?{x:T,y:T}:this._getOriginFromCorner(e,n),{scaleX:u,scaleY:d,skewX:g,skewY:f,left:p,top:m,angle:v,width:y,height:_,cropX:x,cropY:C}=e,b={target:e,action:h,actionHandler:a,actionPerformed:!1,corner:n,scaleX:u,scaleY:d,skewX:g,skewY:f,offsetX:r.x-p,offsetY:r.y-m,originX:c.x,originY:c.y,ex:r.x,ey:r.y,lastX:r.x,lastY:r.y,theta:xt(v),width:y,height:_,shiftKey:t.shiftKey,altKey:l,original:{...ve(e),originX:c.x,originY:c.y,cropX:x,cropY:C}};this._currentTransform=b,this.fire(\"before:transform\",{e:t,transform:b})}setCursor(t){this.upperCanvasEl.style.cursor=t}_drawSelection(t){const{x:e,y:s,deltaX:i,deltaY:r}=this._groupSelector,n=new ot(e,s).transform(this.viewportTransform),o=new ot(e+i,s+r).transform(this.viewportTransform),a=this.selectionLineWidth/2;let h=Math.min(n.x,o.x),l=Math.min(n.y,o.y),c=Math.max(n.x,o.x),u=Math.max(n.y,o.y);this.selectionColor&&(t.fillStyle=this.selectionColor,t.fillRect(h,l,c-h,u-l)),this.selectionLineWidth&&this.selectionBorderColor&&(t.lineWidth=this.selectionLineWidth,t.strokeStyle=this.selectionBorderColor,h+=a,l+=a,c-=a,u-=a,ji.prototype._setLineDash.call(this,t,this.selectionDashArray),t.strokeRect(h,l,c-h,u-l))}findTarget(t){if(this._targetInfo)return this._targetInfo;if(this.skipTargetFind)return{subTargets:[],currentSubTargets:[]};const e=this.getScenePoint(t),s=this._activeObject,i=this.getActiveObjects(),r=this.searchPossibleTargets(this._objects,e),{subTargets:n,container:o,target:a}=r,h={...r,currentSubTargets:n,currentContainer:o,currentTarget:a};if(!s)return h;const l={...this.searchPossibleTargets([s],e),currentSubTargets:n,currentContainer:o,currentTarget:a};if(s.findControl(this.getViewportPoint(t),ue(t)))return{...l,target:s};if(l.target){if(i.length>1)return l;if(!this.preserveObjectStacking)return l;if(this.preserveObjectStacking&&t[this.altSelectionKey])return l}return h}_pointIsInObjectSelectionArea(t,e){let s=t.getCoords();const i=this.getZoom(),r=t.padding/i;if(r){const[t,e,i,n]=s,o=Math.atan2(e.y-t.y,e.x-t.x),a=rt(o)*r,h=nt(o)*r,l=a+h,c=a-h;s=[new ot(t.x-c,t.y-l),new ot(e.x+l,e.y-c),new ot(i.x+c,i.y+l),new ot(n.x-l,n.y+c)]}return Ns.isPointInPolygon(e,s)}_checkTarget(t,e){if(t&&t.visible&&t.evented&&this._pointIsInObjectSelectionArea(t,e)){if(!this.perPixelTargetFind&&!t.perPixelTargetFind||t.isEditing)return!0;{const s=e.transform(this.viewportTransform);if(!this.isTargetTransparent(t,s.x,s.y))return!0}}return!1}_searchPossibleTargets(t,e,s){let i=t.length;for(;i--;){const r=t[i];if(this._checkTarget(r,e)){if(ht(r)&&r.subTargetCheck){const{target:t}=this._searchPossibleTargets(r._objects,e,s);t&&s.push(t)}return{target:r,subTargets:s}}}return{subTargets:[]}}searchPossibleTargets(t,e){const s=this._searchPossibleTargets(t,e,[]);s.container=s.target;const{container:i,subTargets:r}=s;if(i&&ht(i)&&i.interactive&&r[0]){for(let t=r.length-1;t>0;t--){const e=r[t];if(!ht(e)||!e.interactive)return s.target=e,s}return s.target=r[0],s}return s}getViewportPoint(t){return this._viewportPoint?this._viewportPoint:this._getPointerImpl(t,!0)}getScenePoint(t){return this._scenePoint?this._scenePoint:this._getPointerImpl(t)}_getPointerImpl(t){let e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];const s=this.upperCanvasEl,i=s.getBoundingClientRect();let r=ce(t),n=i.width||0,o=i.height||0;n&&o||(k in i&&D in i&&(o=Math.abs(i.top-i.bottom)),M in i&&O in i&&(n=Math.abs(i.right-i.left))),this.calcOffset(),r.x=r.x-this._offset.left,r.y=r.y-this._offset.top,e||(r=xe(r,void 0,this.viewportTransform));const a=this.getRetinaScaling();1!==a&&(r.x/=a,r.y/=a);const h=0===n||0===o?new ot(1,1):new ot(s.width/n,s.height/o);return r.multiply(h)}_setDimensionsImpl(t,e){this._resetTransformEventData(),super._setDimensionsImpl(t,e),this._isCurrentlyDrawing&&this.freeDrawingBrush&&this.freeDrawingBrush._setBrushStyles(this.contextTop)}_createCacheCanvas(){this.pixelFindCanvasEl=pt(),this.pixelFindContext=this.pixelFindCanvasEl.getContext(\"2d\",{willReadFrequently:!0}),this.setTargetFindTolerance(this.targetFindTolerance)}getTopContext(){return this.elements.upper.ctx}getSelectionContext(){return this.elements.upper.ctx}getSelectionElement(){return this.elements.upper.el}getActiveObject(){return this._activeObject}getActiveObjects(){const t=this._activeObject;return Nt(t)?t.getObjects():t?[t]:[]}_fireSelectionEvents(t,e){let s=!1,i=!1;const r=this.getActiveObjects(),n=[],o=[];t.forEach(t=>{r.includes(t)||(s=!0,t.fire(\"deselected\",{e:e,target:t}),o.push(t))}),r.forEach(i=>{t.includes(i)||(s=!0,i.fire(\"selected\",{e:e,target:i}),n.push(i))}),t.length>0&&r.length>0?(i=!0,s&&this.fire(\"selection:updated\",{e:e,selected:n,deselected:o})):r.length>0?(i=!0,this.fire(\"selection:created\",{e:e,selected:n})):t.length>0&&(i=!0,this.fire(\"selection:cleared\",{e:e,deselected:o})),i&&(this._objectsToRender=void 0)}setActiveObject(t,e){const s=this.getActiveObjects(),i=this._setActiveObject(t,e);return this._fireSelectionEvents(s,e),i}_setActiveObject(t,e){const s=this._activeObject;return s!==t&&(!(!this._discardActiveObject(e,t)&&this._activeObject)&&(!t.onSelect({e:e})&&(this._activeObject=t,Nt(t)&&s!==t&&t.set(\"canvas\",this),t.setCoords(),!0)))}_discardActiveObject(t,e){const s=this._activeObject;return!!s&&(!s.onDeselect({e:t,object:e})&&(this._currentTransform&&this._currentTransform.target===s&&this.endCurrentTransform(t),Nt(s)&&s===this._hoveredTarget&&(this._hoveredTarget=void 0),this._activeObject=void 0,!0))}discardActiveObject(t){const e=this.getActiveObjects(),s=this.getActiveObject();e.length&&this.fire(\"before:selection:cleared\",{e:t,deselected:[s]});const i=this._discardActiveObject(t);return this._fireSelectionEvents(e,t),i}endCurrentTransform(t){const e=this._currentTransform;this._finalizeCurrentTransform(t),e&&e.target&&(e.target.isMoving=!1),this._currentTransform=null}_finalizeCurrentTransform(t){const e=this._currentTransform,s=e.target,i={e:t,target:s,transform:e,action:e.action};s._scaling&&(s._scaling=!1),s.setCoords(),e.actionPerformed&&(this.fire(\"object:modified\",i),s.fire(U,i))}setViewportTransform(t){super.setViewportTransform(t);const e=this._activeObject;e&&e.setCoords()}destroy(){const t=this._activeObject;Nt(t)&&(t.removeAll(),t.dispose()),delete this._activeObject,super.destroy(),this.pixelFindContext=null,this.pixelFindCanvasEl=void 0}clear(){this.discardActiveObject(),this._activeObject=void 0,this.clearContext(this.contextTop),super.clear()}drawControls(t){const e=this._activeObject;e&&e._renderControls(t)}_toObject(t,e,s){const i=this._realizeGroupTransformOnObject(t),r=super._toObject(t,e,s);return t.set(i),r}_realizeGroupTransformOnObject(t){const{group:e}=t;if(e&&Nt(e)&&this._activeObject===e){const s=Xt(t,[\"angle\",\"flipX\",\"flipY\",O,W,V,z,G,k]);return fe(t,e.calcOwnMatrix()),s}return{}}_setSVGObject(t,e,s){const i=this._realizeGroupTransformOnObject(e);super._setSVGObject(t,e,s),e.set(i)}}t(bn,\"ownDefaults\",{uniformScaling:!0,uniScaleKey:\"shiftKey\",centeredScaling:!1,centeredRotation:!1,centeredKey:\"altKey\",altActionKey:\"shiftKey\",selection:!0,selectionKey:\"shiftKey\",selectionColor:\"rgba(100, 100, 255, 0.3)\",selectionDashArray:[],selectionBorderColor:\"rgba(255, 255, 255, 0.3)\",selectionLineWidth:1,selectionFullyContained:!1,hoverCursor:\"move\",moveCursor:\"move\",defaultCursor:\"default\",freeDrawingCursor:\"crosshair\",notAllowedCursor:\"not-allowed\",perPixelTargetFind:!1,targetFindTolerance:0,skipTargetFind:!1,stopContextMenu:!0,fireRightClick:!0,fireMiddleClick:!0,enablePointerEvents:!1,containerClass:\"canvas-container\",preserveObjectStacking:!0});class Sn{constructor(e){t(this,\"targets\",[]),t(this,\"__disposer\",void 0);const s=()=>{const{hiddenTextarea:t}=e.getActiveObject()||{};t&&t.focus()},i=e.upperCanvasEl;i.addEventListener(\"click\",s),this.__disposer=()=>i.removeEventListener(\"click\",s)}exitTextEditing(){this.target=void 0,this.targets.forEach(t=>{t.isEditing&&t.exitEditing()})}add(t){this.targets.push(t)}remove(t){this.unregister(t),it(this.targets,t)}register(t){this.target=t}unregister(t){t===this.target&&(this.target=void 0)}onMouseMove(t){var e;(null===(e=this.target)||void 0===e?void 0:e.isEditing)&&this.target.updateSelectionOnMouseMove(t)}clear(){this.targets=[],this.target=void 0}dispose(){this.clear(),this.__disposer(),delete this.__disposer}}const wn={passive:!1},Tn=(t,e)=>({viewportPoint:t.getViewportPoint(e),scenePoint:t.getScenePoint(e)}),On=function(t){for(var e=arguments.length,s=new Array(e>1?e-1:0),i=1;i<e;i++)s[i-1]=arguments[i];return t.addEventListener(...s)},kn=function(t){for(var e=arguments.length,s=new Array(e>1?e-1:0),i=1;i<e;i++)s[i-1]=arguments[i];return t.removeEventListener(...s)},Dn={mouse:{in:\"over\",out:\"out\",targetIn:\"mouseover\",targetOut:\"mouseout\",canvasIn:\"mouse:over\",canvasOut:\"mouse:out\"},drag:{in:\"enter\",out:\"leave\",targetIn:\"dragenter\",targetOut:\"dragleave\",canvasIn:\"drag:enter\",canvasOut:\"drag:leave\"}};class Mn extends bn{constructor(e){super(e,arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}),t(this,\"_isClick\",void 0),t(this,\"textEditingManager\",new Sn(this)),[\"_onMouseDown\",\"_onTouchStart\",\"_onMouseMove\",\"_onMouseUp\",\"_onTouchEnd\",\"_onResize\",\"_onMouseWheel\",\"_onMouseOut\",\"_onMouseEnter\",\"_onContextMenu\",\"_onClick\",\"_onDragStart\",\"_onDragEnd\",\"_onDragProgress\",\"_onDragOver\",\"_onDragEnter\",\"_onDragLeave\",\"_onDrop\"].forEach(t=>{this[t]=this[t].bind(this)}),this.addOrRemove(On)}_getEventPrefix(){return this.enablePointerEvents?\"pointer\":\"mouse\"}addOrRemove(t){let e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];const s=this.upperCanvasEl,i=this._getEventPrefix();t(Kt(s),\"resize\",this._onResize),t(s,i+\"down\",this._onMouseDown),t(s,`${i}move`,this._onMouseMove,wn),t(s,`${i}out`,this._onMouseOut),t(s,`${i}enter`,this._onMouseEnter),t(s,\"wheel\",this._onMouseWheel,{passive:!1}),t(s,\"contextmenu\",this._onContextMenu),e||(t(s,\"click\",this._onClick),t(s,\"dblclick\",this._onClick)),t(s,\"dragstart\",this._onDragStart),t(s,\"dragend\",this._onDragEnd),t(s,\"dragover\",this._onDragOver),t(s,\"dragenter\",this._onDragEnter),t(s,\"dragleave\",this._onDragLeave),t(s,\"drop\",this._onDrop),this.enablePointerEvents||t(s,\"touchstart\",this._onTouchStart,wn)}removeListeners(){this.addOrRemove(kn);const t=this._getEventPrefix(),e=qt(this.upperCanvasEl);kn(e,`${t}up`,this._onMouseUp),kn(e,\"touchend\",this._onTouchEnd,wn),kn(e,`${t}move`,this._onMouseMove,wn),kn(e,\"touchmove\",this._onMouseMove,wn),clearTimeout(this._willAddMouseDown)}_onMouseWheel(t){this._cacheTransformEventData(t),this._handleEvent(t,\"wheel\"),this._resetTransformEventData()}_onMouseOut(t){const e=this._hoveredTarget,s={e:t,...Tn(this,t)};this.fire(\"mouse:out\",{...s,target:e}),this._hoveredTarget=void 0,e&&e.fire(\"mouseout\",{...s}),this._hoveredTargets.forEach(t=>{this.fire(\"mouse:out\",{...s,target:t}),t&&t.fire(\"mouseout\",{...s})}),this._hoveredTargets=[]}_onMouseEnter(t){const{target:e}=this.findTarget(t);this._currentTransform||e||(this.fire(\"mouse:over\",{e:t,...Tn(this,t)}),this._hoveredTarget=void 0,this._hoveredTargets=[])}_onDragStart(t){this._isClick=!1;const e=this.getActiveObject();if(e&&e.onDragStart(t)){this._dragSource=e;const s={e:t,target:e};return this.fire(\"dragstart\",s),e.fire(\"dragstart\",s),void On(this.upperCanvasEl,\"drag\",this._onDragProgress)}de(t)}_renderDragEffects(t,e,s){let i=!1;const r=this._dropTarget;r&&r!==e&&r!==s&&(r.clearContextTop(),i=!0),null==e||e.clearContextTop(),s!==e&&(null==s||s.clearContextTop());const n=this.contextTop;n.save(),n.transform(...this.viewportTransform),e&&(n.save(),e.transform(n),e.renderDragSourceEffect(t),n.restore(),i=!0),s&&(n.save(),s.transform(n),s.renderDropTargetEffect(t),n.restore(),i=!0),n.restore(),i&&(this.contextTopDirty=!0)}_onDragEnd(t){const{currentSubTargets:e}=this.findTarget(t),s=!!t.dataTransfer&&t.dataTransfer.dropEffect!==P,i=s?this._activeObject:void 0,r={e:t,target:this._dragSource,subTargets:e,dragSource:this._dragSource,didDrop:s,dropTarget:i};kn(this.upperCanvasEl,\"drag\",this._onDragProgress),this.fire(\"dragend\",r),this._dragSource&&this._dragSource.fire(\"dragend\",r),delete this._dragSource,this._onMouseUp(t)}_onDragProgress(t){const e={e:t,target:this._dragSource,dragSource:this._dragSource,dropTarget:this._draggedoverTarget};this.fire(\"drag\",e),this._dragSource&&this._dragSource.fire(\"drag\",e)}_onDragOver(t){const e=\"dragover\",{currentContainer:s,currentSubTargets:i}=this.findTarget(t),r=this._dragSource,n={e:t,target:s,subTargets:i,dragSource:r,canDrop:!1,dropTarget:void 0};let o;this.fire(e,n),this._fireEnterLeaveEvents(t,s,n),s&&(s.canDrop(t)&&(o=s),s.fire(e,n));for(let s=0;s<i.length;s++){const r=i[s];r.canDrop(t)&&(o=r),r.fire(e,n)}this._renderDragEffects(t,r,o),this._dropTarget=o}_onDragEnter(t){const{currentContainer:e,currentSubTargets:s}=this.findTarget(t),i={e:t,target:e,subTargets:s,dragSource:this._dragSource};this.fire(\"dragenter\",i),this._fireEnterLeaveEvents(t,e,i)}_onDragLeave(t){const{currentSubTargets:e}=this.findTarget(t),s={e:t,target:this._draggedoverTarget,subTargets:e,dragSource:this._dragSource};this.fire(\"dragleave\",s),this._fireEnterLeaveEvents(t,void 0,s),this._renderDragEffects(t,this._dragSource),this._dropTarget=void 0,this._hoveredTargets=[]}_onDrop(t){const{currentContainer:e,currentSubTargets:s}=this.findTarget(t),i=this._basicEventHandler(\"drop:before\",{e:t,target:e,subTargets:s,dragSource:this._dragSource,...Tn(this,t)});i.didDrop=!1,i.dropTarget=void 0,this._basicEventHandler(\"drop\",i),this.fire(\"drop:after\",i)}_onContextMenu(t){const{target:e,subTargets:s}=this.findTarget(t),i=this._basicEventHandler(\"contextmenu:before\",{e:t,target:e,subTargets:s});return this.stopContextMenu&&de(t),this._basicEventHandler(\"contextmenu\",i),!1}_onClick(t){const e=t.detail;e>3||e<2||(this._cacheTransformEventData(t),2==e&&\"dblclick\"===t.type&&this._handleEvent(t,\"dblclick\"),3==e&&this._handleEvent(t,\"tripleclick\"),this._resetTransformEventData())}fireEventFromPointerEvent(t,e,s){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};this._cacheTransformEventData(t);const{target:r,subTargets:n}=this.findTarget(t),o={e:t,target:r,subTargets:n,...Tn(this,t),transform:this._currentTransform,...i};this.fire(e,o),r&&r.fire(s,o);for(let t=0;t<n.length;t++)n[t]!==r&&n[t].fire(s,o);this._resetTransformEventData()}getPointerId(t){const e=t.changedTouches;return e?e[0]&&e[0].identifier:this.enablePointerEvents?t.pointerId:-1}_isMainEvent(t){return!0===t.isPrimary||!1!==t.isPrimary&&(\"touchend\"===t.type&&0===t.touches.length||(!t.changedTouches||t.changedTouches[0].identifier===this.mainTouchId))}_onTouchStart(t){this._cacheTransformEventData(t);let e=!this.allowTouchScrolling;const s=this._activeObject;void 0===this.mainTouchId&&(this.mainTouchId=this.getPointerId(t)),this.__onMouseDown(t);const{target:i}=this.findTarget(t);(this.isDrawingMode||s&&i===s)&&(e=!0),e&&t.preventDefault();const r=this.upperCanvasEl,n=this._getEventPrefix(),o=qt(r);On(o,\"touchend\",this._onTouchEnd,wn),e&&On(o,\"touchmove\",this._onMouseMove,wn),kn(r,`${n}down`,this._onMouseDown),this._resetTransformEventData()}_onMouseDown(t){this._cacheTransformEventData(t),this.__onMouseDown(t);const e=this.upperCanvasEl,s=this._getEventPrefix();kn(e,`${s}move`,this._onMouseMove,wn);const i=qt(e);On(i,`${s}up`,this._onMouseUp),On(i,`${s}move`,this._onMouseMove,wn),this._resetTransformEventData()}_onTouchEnd(t){if(t.touches.length>0)return;this._cacheTransformEventData(t),this.__onMouseUp(t),this._resetTransformEventData(),delete this.mainTouchId;const e=this._getEventPrefix(),s=qt(this.upperCanvasEl);kn(s,\"touchend\",this._onTouchEnd,wn),kn(s,\"touchmove\",this._onMouseMove,wn),this._willAddMouseDown&&clearTimeout(this._willAddMouseDown),this._willAddMouseDown=setTimeout(()=>{On(this.upperCanvasEl,`${e}down`,this._onMouseDown),this._willAddMouseDown=0},400)}_onMouseUp(t){this._cacheTransformEventData(t),this.__onMouseUp(t);const e=this.upperCanvasEl,s=this._getEventPrefix();if(this._isMainEvent(t)){const t=qt(this.upperCanvasEl);kn(t,`${s}up`,this._onMouseUp),kn(t,`${s}move`,this._onMouseMove,wn),On(e,`${s}move`,this._onMouseMove,wn)}this._resetTransformEventData()}_onMouseMove(t){this._cacheTransformEventData(t);const e=this.getActiveObject();!this.allowTouchScrolling&&(!e||!e.shouldStartDragging(t))&&t.preventDefault&&t.preventDefault(),this.__onMouseMove(t),this._resetTransformEventData()}_onResize(){this.calcOffset(),this._resetTransformEventData()}_shouldRender(t){const e=this.getActiveObject();return!!e!=!!t||e&&t&&e!==t}__onMouseUp(t){var e;this._handleEvent(t,\"up:before\");const s=this._currentTransform,i=this._isClick,{target:r}=this.findTarget(t),{button:n}=t;if(n)return void((this.fireMiddleClick&&1===n||this.fireRightClick&&2===n)&&this._handleEvent(t,\"up\"));if(this.isDrawingMode&&this._isCurrentlyDrawing)return void this._onMouseUpInDrawingMode(t);if(!this._isMainEvent(t))return;let o,a,h=!1;if(s&&(this._finalizeCurrentTransform(t),h=s.actionPerformed),!i){const e=r===this._activeObject;this.handleSelection(t),h||(h=this._shouldRender(r)||!e&&r===this._activeObject)}if(r){const e=r.findControl(this.getViewportPoint(t),ue(t)),{key:i,control:n}=e||{};if(a=i,r.selectable&&r!==this._activeObject&&\"up\"===r.activeOn)this.setActiveObject(r,t),h=!0;else if(n){const e=n.getMouseUpHandler(t,r,n);e&&(o=this.getScenePoint(t),e.call(n,t,s,o.x,o.y))}r.isMoving=!1}if(s&&(s.target!==r||s.corner!==a)){const e=s.target&&s.target.controls[s.corner],i=e&&e.getMouseUpHandler(t,s.target,e);o=o||this.getScenePoint(t),i&&i.call(e,t,s,o.x,o.y)}this._setCursorFromEvent(t,r),this._handleEvent(t,\"up\"),this._groupSelector=null,this._currentTransform=null,r&&(r.__corner=void 0),h?this.requestRenderAll():i||null!==(e=this._activeObject)&&void 0!==e&&e.isEditing||this.renderTop()}_basicEventHandler(t,e){const{target:s,subTargets:i=[]}=e;this.fire(t,e),s&&s.fire(t,e);for(let r=0;r<i.length;r++)i[r]!==s&&i[r].fire(t,e);return e}_handleEvent(t,e,s){const{target:i,subTargets:r}=this.findTarget(t),n={e:t,target:i,subTargets:r,...Tn(this,t),transform:this._currentTransform,...\"down:before\"===e||\"down\"===e?s:{}};\"up:before\"!==e&&\"up\"!==e||(n.isClick=this._isClick),this.fire(`mouse:${e}`,n),i&&i.fire(`mouse${e}`,n);for(let t=0;t<r.length;t++)r[t]!==i&&r[t].fire(`mouse${e}`,n)}_onMouseDownInDrawingMode(t){this._isCurrentlyDrawing=!0,this.getActiveObject()&&(this.discardActiveObject(t),this.requestRenderAll());const e=this.getScenePoint(t);this.freeDrawingBrush&&this.freeDrawingBrush.onMouseDown(e,{e:t,pointer:e}),this._handleEvent(t,\"down\",{alreadySelected:!1})}_onMouseMoveInDrawingMode(t){if(this._isCurrentlyDrawing){const e=this.getScenePoint(t);this.freeDrawingBrush&&this.freeDrawingBrush.onMouseMove(e,{e:t,pointer:e})}this.setCursor(this.freeDrawingCursor),this._handleEvent(t,\"move\")}_onMouseUpInDrawingMode(t){const e=this.getScenePoint(t);this.freeDrawingBrush?this._isCurrentlyDrawing=!!this.freeDrawingBrush.onMouseUp({e:t,pointer:e}):this._isCurrentlyDrawing=!1,this._handleEvent(t,\"up\")}__onMouseDown(t){this._isClick=!0,this._handleEvent(t,\"down:before\");let{target:e}=this.findTarget(t),s=!!e&&e===this._activeObject;const{button:i}=t;if(i)return void((this.fireMiddleClick&&1===i||this.fireRightClick&&2===i)&&this._handleEvent(t,\"down\",{alreadySelected:s}));if(this.isDrawingMode)return void this._onMouseDownInDrawingMode(t);if(!this._isMainEvent(t))return;if(this._currentTransform)return;let r=this._shouldRender(e),n=!1;if(this.handleMultiSelection(t,e)?(e=this._activeObject,n=!0,r=!0):this._shouldClearSelection(t,e)&&this.discardActiveObject(t),this.selection&&(!e||!e.selectable&&!e.isEditing&&e!==this._activeObject)){const e=this.getScenePoint(t);this._groupSelector={x:e.x,y:e.y,deltaY:0,deltaX:0}}if(s=!!e&&e===this._activeObject,e){e.selectable&&\"down\"===e.activeOn&&this.setActiveObject(e,t);const i=e.findControl(this.getViewportPoint(t),ue(t));if(e===this._activeObject&&(i||!n)){this._setupCurrentTransform(t,e,s);const r=i?i.control:void 0,n=this.getScenePoint(t),o=r&&r.getMouseDownHandler(t,e,r);o&&o.call(r,t,this._currentTransform,n.x,n.y)}}r&&(this._objectsToRender=void 0),this._handleEvent(t,\"down\",{alreadySelected:s}),r&&this.requestRenderAll()}_resetTransformEventData(){this._targetInfo=this._viewportPoint=this._scenePoint=void 0}_cacheTransformEventData(t){this._resetTransformEventData(),this._viewportPoint=this.getViewportPoint(t),this._scenePoint=xe(this._viewportPoint,void 0,this.viewportTransform),this._targetInfo=this.findTarget(t),this._currentTransform&&(this._targetInfo.target=this._currentTransform.target)}__onMouseMove(t){if(this._isClick=!1,this._handleEvent(t,\"move:before\"),this.isDrawingMode)return void this._onMouseMoveInDrawingMode(t);if(!this._isMainEvent(t))return;const e=this._groupSelector;if(e){const s=this.getScenePoint(t);e.deltaX=s.x-e.x,e.deltaY=s.y-e.y,this.renderTop()}else if(this._currentTransform)this._transformObject(t);else{const{target:e}=this.findTarget(t);this._setCursorFromEvent(t,e),this._fireOverOutEvents(t,e)}this.textEditingManager.onMouseMove(t),this._handleEvent(t,\"move\")}_fireOverOutEvents(t,e){const{_hoveredTarget:s,_hoveredTargets:i}=this,{subTargets:r}=this.findTarget(t),n=Math.max(i.length,r.length);this.fireSyntheticInOutEvents(\"mouse\",{e:t,target:e,oldTarget:s,fireCanvas:!0});for(let o=0;o<n;o++)r[o]===e||i[o]&&i[o]===s||this.fireSyntheticInOutEvents(\"mouse\",{e:t,target:r[o],oldTarget:i[o]});this._hoveredTarget=e,this._hoveredTargets=r}_fireEnterLeaveEvents(t,e,s){const i=this._draggedoverTarget,r=this._hoveredTargets,{subTargets:n}=this.findTarget(t),o=Math.max(r.length,n.length);this.fireSyntheticInOutEvents(\"drag\",{...s,target:e,oldTarget:i,fireCanvas:!0});for(let t=0;t<o;t++)this.fireSyntheticInOutEvents(\"drag\",{...s,target:n[t],oldTarget:r[t]});this._draggedoverTarget=e}fireSyntheticInOutEvents(t,e){let{target:s,oldTarget:i,fireCanvas:r,e:n,...o}=e;const{targetIn:a,targetOut:h,canvasIn:l,canvasOut:c}=Dn[t],u=i!==s;if(i&&u){const t={...o,e:n,target:i,nextTarget:s,...Tn(this,n)};r&&this.fire(c,t),i.fire(h,t)}if(s&&u){const t={...o,e:n,target:s,previousTarget:i,...Tn(this,n)};r&&this.fire(l,t),s.fire(a,t)}}_transformObject(t){const e=this.getScenePoint(t),s=this._currentTransform,i=s.target,r=i.group?xe(e,void 0,i.group.calcTransformMatrix()):e;s.shiftKey=t.shiftKey,s.altKey=!!this.centeredKey&&t[this.centeredKey],this._performTransformAction(t,s,r),s.actionPerformed&&this.requestRenderAll()}_performTransformAction(t,e,s){const{action:i,actionHandler:r,target:n}=e,o=!!r&&r(t,e,s.x,s.y);o&&n.setCoords(),\"drag\"===i&&o&&(e.target.isMoving=!0,this.setCursor(e.target.moveCursor||this.moveCursor)),e.actionPerformed=e.actionPerformed||o}_setCursorFromEvent(t,e){if(!e)return void this.setCursor(this.defaultCursor);let s=e.hoverCursor||this.hoverCursor;const i=Nt(this._activeObject)?this._activeObject:null,r=(!i||e.group!==i)&&e.findControl(this.getViewportPoint(t));if(r){const{control:s,coord:i}=r;this.setCursor(s.cursorStyleHandler(t,s,e,i))}else{if(e.subTargetCheck){const{subTargets:e}=this.findTarget(t);e.concat().reverse().forEach(t=>{s=t.hoverCursor||s})}this.setCursor(s)}}handleMultiSelection(t,e){const s=this._activeObject,i=Nt(s);if(s&&this._isSelectionKeyPressed(t)&&this.selection&&e&&e.selectable&&(s!==e||i)&&(i||!e.isDescendantOf(s)&&!s.isDescendantOf(e))&&!e.onSelect({e:t})&&!s.getActiveControl()){if(i){const i=s.getObjects();let r=[];if(e===s){const s=this.getScenePoint(t);let n=this.searchPossibleTargets(i,s);if(n.target?(e=n.target,r=n.subTargets):(n=this.searchPossibleTargets(this._objects,s),e=n.target,r=n.subTargets),!e||!e.selectable)return!1}e.group===s?(s.remove(e),this._hoveredTarget=e,this._hoveredTargets=r,1===s.size()&&this._setActiveObject(s.item(0),t)):(s.multiSelectAdd(e),this._hoveredTarget=s,this._hoveredTargets=r),this._fireSelectionEvents(i,t)}else{s.isEditing&&s.exitEditing();const i=new(tt.getClass(\"ActiveSelection\"))([],{canvas:this});i.multiSelectAdd(s,e),this._hoveredTarget=i,this._setActiveObject(i,t),this._fireSelectionEvents([s],t)}return!0}return!1}handleSelection(t){if(!this.selection||!this._groupSelector)return!1;const{x:e,y:s,deltaX:i,deltaY:r}=this._groupSelector,n=new ot(e,s),o=n.add(new ot(i,r)),a=n.min(o),h=n.max(o).subtract(a),l=this.collectObjects({left:a.x,top:a.y,width:h.x,height:h.y},{includeIntersecting:!this.selectionFullyContained}),c=n.eq(o)?l[0]?[l[0]]:[]:l.length>1?l.filter(e=>!e.onSelect({e:t})).reverse():l;if(1===c.length)this.setActiveObject(c[0],t);else if(c.length>1){const e=tt.getClass(\"ActiveSelection\");this.setActiveObject(new e(c,{canvas:this}),t)}return this._groupSelector=null,!0}toCanvasElement(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,e=arguments.length>1?arguments[1]:void 0;const{upper:s}=this.elements;s.ctx=void 0;const i=super.toCanvasElement(t,e);return s.ctx=s.el.getContext(\"2d\"),i}clear(){this.textEditingManager.clear(),super.clear()}destroy(){this.removeListeners(),this.textEditingManager.dispose(),super.destroy()}}const Pn={x1:0,y1:0,x2:0,y2:0},En={...Pn,r1:0,r2:0},An=(t,e)=>isNaN(t)&&\"number\"==typeof e?e:t;function jn(t){return t&&/%$/.test(t)&&Number.isFinite(parseFloat(t))}function Fn(t,e){const s=\"number\"==typeof t?t:\"string\"==typeof t?parseFloat(t)/(jn(t)?100:1):NaN;return Ds(0,An(s,e),1)}const Ln=/\\s*;\\s*/,Bn=/\\s*:\\s*/;function Rn(t,e){let s,i;const r=t.getAttribute(\"style\");if(r){const t=r.split(Ln);\"\"===t[t.length-1]&&t.pop();for(let e=t.length;e--;){const[r,n]=t[e].split(Bn).map(t=>t.trim());\"stop-color\"===r?s=n:\"stop-opacity\"===r&&(i=n)}}s=s||t.getAttribute(\"stop-color\")||\"rgb(0,0,0)\",i=An(parseFloat(i||t.getAttribute(\"stop-opacity\")||\"\"),1);const n=new Je(s);return n.setAlpha(n.getAlpha()*i*e),{offset:Fn(t.getAttribute(\"offset\"),0),color:n.toRgba()}}function In(t,e){const s=[],i=t.getElementsByTagName(\"stop\"),r=Fn(e,1);for(let t=i.length;t--;)s.push(Rn(i[t],r));return s}function $n(t){return\"linearGradient\"===t.nodeName||\"LINEARGRADIENT\"===t.nodeName?\"linear\":\"radial\"}function Xn(t){return\"userSpaceOnUse\"===t.getAttribute(\"gradientUnits\")?\"pixels\":\"percentage\"}function Yn(t,e){return t.getAttribute(e)}function Wn(t,e){return function(t,e){let s,{width:i,height:r,gradientUnits:n}=e;return Object.entries(t).reduce((t,e)=>{let[o,a]=e;if(\"Infinity\"===a)s=1;else if(\"-Infinity\"===a)s=0;else{const t=\"string\"==typeof a;s=t?parseFloat(a):a,t&&jn(a)&&(s*=.01,\"pixels\"===n&&(\"x1\"!==o&&\"x2\"!==o&&\"r2\"!==o||(s*=i),\"y1\"!==o&&\"y2\"!==o||(s*=r)))}return t[o]=s,t},{})}(\"linear\"===$n(t)?function(t){return{x1:Yn(t,\"x1\")||0,y1:Yn(t,\"y1\")||0,x2:Yn(t,\"x2\")||\"100%\",y2:Yn(t,\"y2\")||0}}(t):function(t){return{x1:Yn(t,\"fx\")||Yn(t,\"cx\")||\"50%\",y1:Yn(t,\"fy\")||Yn(t,\"cy\")||\"50%\",r1:0,x2:Yn(t,\"cx\")||\"50%\",y2:Yn(t,\"cy\")||\"50%\",r2:Yn(t,\"r\")||\"50%\"}}(t),{...e,gradientUnits:Xn(t)})}class Vn{constructor(t){const{type:e=\"linear\",gradientUnits:s=\"pixels\",coords:i={},colorStops:r=[],offsetX:n=0,offsetY:o=0,gradientTransform:a,id:h}=t||{};Object.assign(this,{type:e,gradientUnits:s,coords:{...\"radial\"===e?En:Pn,...i},colorStops:r,offsetX:n,offsetY:o,gradientTransform:a,id:h?`${h}_${ft()}`:ft()})}addColorStop(t){for(const e in t)this.colorStops.push({offset:parseFloat(e),color:t[e]});return this}toObject(t){return{...Xt(this,t),type:this.type,coords:{...this.coords},colorStops:this.colorStops.map(t=>({...t})),offsetX:this.offsetX,offsetY:this.offsetY,gradientUnits:this.gradientUnits,gradientTransform:this.gradientTransform?[...this.gradientTransform]:void 0}}toSVG(t){let{additionalTransform:e}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const s=[],i=this.gradientTransform?this.gradientTransform.concat():b.concat(),r=\"pixels\"===this.gradientUnits?\"userSpaceOnUse\":\"objectBoundingBox\",n=this.colorStops.map(t=>({...t})).sort((t,e)=>t.offset-e.offset);let o=-this.offsetX,a=-this.offsetY;var h;\"objectBoundingBox\"===r?(o/=t.width,a/=t.height):(o+=t.width/2,a+=t.height/2),(h=t)&&\"function\"==typeof h._renderPathCommands&&\"percentage\"!==this.gradientUnits&&(o-=t.pathOffset.x,a-=t.pathOffset.y),i[4]-=o,i[5]-=a;const l=[`id=\"SVGID_${se(String(this.id))}\"`,`gradientUnits=\"${r}\"`,`gradientTransform=\"${e?e+\" \":\"\"}${Vt(i)}\"`,\"\"].join(\" \"),c=t=>parseFloat(String(t));if(\"linear\"===this.type){const{x1:t,y1:e,x2:i,y2:r}=this.coords,n=c(t),o=c(e),a=c(i),h=c(r);s.push(\"<linearGradient \",l,' x1=\"',n,'\" y1=\"',o,'\" x2=\"',a,'\" y2=\"',h,'\">\\n')}else if(\"radial\"===this.type){const{x1:t,y1:e,x2:i,y2:r,r1:o,r2:a}=this.coords,h=c(t),u=c(e),d=c(i),g=c(r),f=c(o),p=c(a),m=f>p;s.push(\"<radialGradient \",l,' cx=\"',m?h:d,'\" cy=\"',m?u:g,'\" r=\"',m?f:p,'\" fx=\"',m?d:h,'\" fy=\"',m?g:u,'\">\\n'),m&&(n.reverse(),n.forEach(t=>{t.offset=1-t.offset}));const v=Math.min(f,p);if(v>0){const t=v/Math.max(f,p);n.forEach(e=>{e.offset+=t*(1-e.offset)})}}return n.forEach(t=>{let{color:e,offset:i}=t;s.push(`<stop offset=\"${100*i}%\" style=\"stop-color:${e};\"/>\\n`)}),s.push(\"linear\"===this.type?\"</linearGradient>\":\"</radialGradient>\",\"\\n\"),s.join(\"\")}toLive(t){const{x1:e,y1:s,x2:i,y2:r,r1:n,r2:o}=this.coords,a=\"linear\"===this.type?t.createLinearGradient(e,s,i,r):t.createRadialGradient(e,s,n,i,r,o);return this.colorStops.forEach(t=>{let{color:e,offset:s}=t;a.addColorStop(s,e)}),a}static async fromObject(t){const{colorStops:e,gradientTransform:s}=t;return new this({...t,colorStops:e?e.map(t=>({...t})):void 0,gradientTransform:s?[...s]:void 0})}static fromElement(t,e,s){const i=Xn(t),r=e._findCenterFromElement();return new this({id:t.getAttribute(\"id\")||void 0,type:$n(t),coords:Wn(t,{width:s.viewBoxWidth||s.width,height:s.viewBoxHeight||s.height}),colorStops:In(t,s.opacity),gradientUnits:i,gradientTransform:hr(t.getAttribute(\"gradientTransform\")||\"\"),...\"pixels\"===i?{offsetX:e.width/2-r.x,offsetY:e.height/2-r.y}:{offsetX:0,offsetY:0}})}}t(Vn,\"type\",\"Gradient\"),tt.setClass(Vn,\"gradient\"),tt.setClass(Vn,\"linear\"),tt.setClass(Vn,\"radial\");class zn{get type(){return\"pattern\"}set type(t){i(\"warn\",\"Setting type has no effect\",t)}constructor(e){t(this,\"repeat\",\"repeat\"),t(this,\"offsetX\",0),t(this,\"offsetY\",0),t(this,\"crossOrigin\",\"\"),this.id=ft(),Object.assign(this,e)}isImageSource(){return!!this.source&&\"string\"==typeof this.source.src}isCanvasSource(){return!!this.source&&!!this.source.toDataURL}sourceToString(){return this.isImageSource()?this.source.src:this.isCanvasSource()?this.source.toDataURL():\"\"}toLive(t){return this.source&&(!this.isImageSource()||this.source.complete&&0!==this.source.naturalWidth&&0!==this.source.naturalHeight)?t.createPattern(this.source,this.repeat):null}toObject(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];const{repeat:e,crossOrigin:i}=this;return{...Xt(this,t),type:\"pattern\",source:this.sourceToString(),repeat:e,crossOrigin:i,offsetX:Wt(this.offsetX,s.NUM_FRACTION_DIGITS),offsetY:Wt(this.offsetY,s.NUM_FRACTION_DIGITS),patternTransform:this.patternTransform?[...this.patternTransform]:null}}toSVG(t){let{width:e,height:s}=t;const{source:i,repeat:r,id:n}=this,o=An(this.offsetX/e,0),a=An(this.offsetY/s,0),h=\"repeat-y\"===r||\"no-repeat\"===r?1+Math.abs(o||0):An(i.width/e,0),l=\"repeat-x\"===r||\"no-repeat\"===r?1+Math.abs(a||0):An(i.height/s,0);return[`<pattern id=\"SVGID_${se(n)}\" x=\"${o}\" y=\"${a}\" width=\"${h}\" height=\"${l}\">`,`<image x=\"0\" y=\"0\" width=\"${i.width}\" height=\"${i.height}\" xlink:href=\"${se(this.sourceToString())}\"></image>`,\"</pattern>\",\"\"].join(\"\\n\")}static async fromObject(t,e){let{type:s,source:i,patternTransform:r,...n}=t;const o=await Rt(i,{...e,crossOrigin:n.crossOrigin});return new this({...n,patternTransform:r&&r.slice(0),source:o})}}t(zn,\"type\",\"Pattern\"),tt.setClass(zn),tt.setClass(zn,\"pattern\");class Gn{constructor(e){t(this,\"color\",\"rgb(0, 0, 0)\"),t(this,\"width\",1),t(this,\"shadow\",null),t(this,\"strokeLineCap\",\"round\"),t(this,\"strokeLineJoin\",\"round\"),t(this,\"strokeMiterLimit\",10),t(this,\"strokeDashArray\",null),t(this,\"limitedToCanvasSize\",!1),this.canvas=e}_setBrushStyles(t){t.strokeStyle=this.color,t.lineWidth=this.width,t.lineCap=this.strokeLineCap,t.miterLimit=this.strokeMiterLimit,t.lineJoin=this.strokeLineJoin,t.setLineDash(this.strokeDashArray||[])}_saveAndTransform(t){const e=this.canvas.viewportTransform;t.save(),t.transform(e[0],e[1],e[2],e[3],e[4],e[5])}needsFullRender(){return new Je(this.color).getAlpha()<1||!!this.shadow}_setShadow(){if(!this.shadow||!this.canvas)return;const t=this.canvas,e=this.shadow,s=t.contextTop,i=t.getZoom()*t.getRetinaScaling();s.shadowColor=e.color,s.shadowBlur=e.blur*i,s.shadowOffsetX=e.offsetX*i,s.shadowOffsetY=e.offsetY*i}_resetShadow(){const t=this.canvas.contextTop;t.shadowColor=\"\",t.shadowBlur=t.shadowOffsetX=t.shadowOffsetY=0}_isOutSideCanvas(t){return t.x<0||t.x>this.canvas.getWidth()||t.y<0||t.y>this.canvas.getHeight()}}class Hn extends ji{constructor(t){let{path:e,left:s,top:i,...r}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};super(),Object.assign(this,Hn.ownDefaults),this.setOptions(r),this._setPath(t||[],!0),\"number\"==typeof s&&this.set(O,s),\"number\"==typeof i&&this.set(k,i)}_setPath(t,e){this.path=Rr(Array.isArray(t)?t:tn(t)),this.setBoundingBox(e)}_findCenterFromElement(){const t=this._calcBoundsFromPath();return new ot(t.left+t.width/2,t.top+t.height/2)}_renderPathCommands(t){const e=-this.pathOffset.x,s=-this.pathOffset.y;t.beginPath();for(const i of this.path)switch(i[0]){case\"L\":t.lineTo(i[1]+e,i[2]+s);break;case\"M\":t.moveTo(i[1]+e,i[2]+s);break;case\"C\":t.bezierCurveTo(i[1]+e,i[2]+s,i[3]+e,i[4]+s,i[5]+e,i[6]+s);break;case\"Q\":t.quadraticCurveTo(i[1]+e,i[2]+s,i[3]+e,i[4]+s);break;case\"Z\":t.closePath()}}_render(t){this._renderPathCommands(t),this._renderPaintInOrder(t)}toString(){return`#<Path (${this.complexity()}): { \"top\": ${this.top}, \"left\": ${this.left} }>`}toObject(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return{...super.toObject(t),path:this.path.map(t=>t.slice())}}toDatalessObject(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];const e=this.toObject(t);return this.sourcePath&&(delete e.path,e.sourcePath=this.sourcePath),e}_toSVG(){return[\"<path \",\"COMMON_PARTS\",`d=\"${sn(this.path,s.NUM_FRACTION_DIGITS)}\" stroke-linecap=\"round\" />\\n`]}_getOffsetTransform(){const t=s.NUM_FRACTION_DIGITS;return` translate(${Wt(-this.pathOffset.x,t)}, ${Wt(-this.pathOffset.y,t)})`}toClipPathSVG(t){const e=this._getOffsetTransform();return\"\\t\"+this._createBaseClipPathSVGMarkup(this._toSVG(),{reviver:t,additionalTransform:e})}toSVG(t){const e=this._getOffsetTransform();return this._createBaseSVGMarkup(this._toSVG(),{reviver:t,additionalTransform:e})}complexity(){return this.path.length}setDimensions(){this.setBoundingBox()}setBoundingBox(t){const{width:e,height:s,pathOffset:i}=this._calcDimensions();this.set({width:e,height:s,pathOffset:i}),t&&this.setPositionByOrigin(i,T,T)}_calcBoundsFromPath(){const t=[];let e=0,s=0,i=0,r=0;for(const n of this.path)switch(n[0]){case\"L\":i=n[1],r=n[2],t.push({x:e,y:s},{x:i,y:r});break;case\"M\":i=n[1],r=n[2],e=i,s=r;break;case\"C\":t.push(...Lr(i,r,n[1],n[2],n[3],n[4],n[5],n[6])),i=n[5],r=n[6];break;case\"Q\":t.push(...Lr(i,r,n[1],n[2],n[1],n[2],n[3],n[4])),i=n[3],r=n[4];break;case\"Z\":i=e,r=s}return ge(t)}_calcDimensions(){const t=this._calcBoundsFromPath();return{...t,pathOffset:new ot(t.left+t.width/2,t.top+t.height/2)}}static fromObject(t){return this._fromObject(t,{extraParam:\"path\"})}static async fromElement(t,e,s){const{d:i,...r}=gr(t,this.ATTRIBUTE_NAMES,s);return new this(i,{...r,...e,left:void 0,top:void 0})}}t(Hn,\"type\",\"Path\"),t(Hn,\"cacheProperties\",[...Ps,\"path\",\"fillRule\"]),t(Hn,\"ATTRIBUTE_NAMES\",[...zi,\"d\"]),tt.setClass(Hn),tt.setSVGClass(Hn);class Nn extends Gn{constructor(e){super(e),t(this,\"decimate\",.4),t(this,\"drawStraightLine\",!1),t(this,\"straightLineKey\",\"shiftKey\"),this._points=[],this._hasStraightLine=!1}needsFullRender(){return super.needsFullRender()||this._hasStraightLine}static drawSegment(t,e,s){const i=e.midPointFrom(s);return t.quadraticCurveTo(e.x,e.y,i.x,i.y),i}onMouseDown(t,e){let{e:s}=e;this.canvas._isMainEvent(s)&&(this.drawStraightLine=!!this.straightLineKey&&s[this.straightLineKey],this._prepareForDrawing(t),this._addPoint(t),this._render())}onMouseMove(t,e){let{e:s}=e;if(this.canvas._isMainEvent(s)&&(this.drawStraightLine=!!this.straightLineKey&&s[this.straightLineKey],(!0!==this.limitedToCanvasSize||!this._isOutSideCanvas(t))&&this._addPoint(t)&&this._points.length>1))if(this.needsFullRender())this.canvas.clearContext(this.canvas.contextTop),this._render();else{const t=this._points,e=t.length,s=this.canvas.contextTop;this._saveAndTransform(s),this.oldEnd&&(s.beginPath(),s.moveTo(this.oldEnd.x,this.oldEnd.y)),this.oldEnd=Nn.drawSegment(s,t[e-2],t[e-1]),s.stroke(),s.restore()}}onMouseUp(t){let{e:e}=t;return!this.canvas._isMainEvent(e)||(this.drawStraightLine=!1,this.oldEnd=void 0,this._finalizeAndAddPath(),!1)}_prepareForDrawing(t){this._reset(),this._addPoint(t),this.canvas.contextTop.moveTo(t.x,t.y)}_addPoint(t){return!(this._points.length>1&&t.eq(this._points[this._points.length-1]))&&(this.drawStraightLine&&this._points.length>1&&(this._hasStraightLine=!0,this._points.pop()),this._points.push(t),!0)}_reset(){this._points=[],this._setBrushStyles(this.canvas.contextTop),this._setShadow(),this._hasStraightLine=!1}_render(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.canvas.contextTop,e=this._points[0],s=this._points[1];if(this._saveAndTransform(t),t.beginPath(),2===this._points.length&&e.x===s.x&&e.y===s.y){const t=this.width/1e3;e.x-=t,s.x+=t}t.moveTo(e.x,e.y);for(let i=1;i<this._points.length;i++)Nn.drawSegment(t,e,s),e=this._points[i],s=this._points[i+1];t.lineTo(e.x,e.y),t.stroke(),t.restore()}convertPointsToSVGPath(t){const e=this.width/1e3;return en(t,e)}createPath(t){const e=new Hn(t,{fill:null,stroke:this.color,strokeWidth:this.width,strokeLineCap:this.strokeLineCap,strokeMiterLimit:this.strokeMiterLimit,strokeLineJoin:this.strokeLineJoin,strokeDashArray:this.strokeDashArray});return this.shadow&&(this.shadow.affectStroke=!0,e.shadow=new ks(this.shadow)),e}decimatePoints(t,e){if(t.length<=2)return t;let s,i=t[0];const r=this.canvas.getZoom(),n=Math.pow(e/r,2),o=t.length-1,a=[i];for(let e=1;e<o-1;e++)s=Math.pow(i.x-t[e].x,2)+Math.pow(i.y-t[e].y,2),s>=n&&(i=t[e],a.push(i));return a.push(t[o]),a}_finalizeAndAddPath(){this.canvas.contextTop.closePath(),this.decimate&&(this._points=this.decimatePoints(this._points,this.decimate));const t=this.convertPointsToSVGPath(this._points);if(function(t){return\"M 0 0 Q 0 0 0 0 L 0 0\"===sn(t)}(t))return void this.canvas.requestRenderAll();const e=this.createPath(t);this.canvas.clearContext(this.canvas.contextTop),this.canvas.fire(\"before:path:created\",{path:e}),this.canvas.add(e),this.canvas.requestRenderAll(),e.setCoords(),this._resetShadow(),this.canvas.fire(\"path:created\",{path:e})}}const Un=[\"radius\",\"startAngle\",\"endAngle\",\"counterClockwise\"];class qn extends ji{static getDefaults(){return{...super.getDefaults(),...qn.ownDefaults}}constructor(t){super(),Object.assign(this,qn.ownDefaults),this.setOptions(t)}_set(t,e){return super._set(t,e),\"radius\"===t&&this.setRadius(e),this}_render(t){t.beginPath(),t.arc(0,0,this.radius,xt(this.startAngle),xt(this.endAngle),this.counterClockwise),this._renderPaintInOrder(t)}getRadiusX(){return this.get(\"radius\")*this.get(W)}getRadiusY(){return this.get(\"radius\")*this.get(V)}setRadius(t){this.radius=t,this.set({width:2*t,height:2*t})}toObject(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return super.toObject([...Un,...t])}_toSVG(){const{radius:t,startAngle:e,endAngle:s}=this,i=(s-e)%360;if(0===i)return[\"<circle \",\"COMMON_PARTS\",'cx=\"0\" cy=\"0\" ','r=\"',`${se(t)}`,'\" />\\n'];{const r=xt(e),n=xt(s),o=rt(r)*t,a=nt(r)*t,h=rt(n)*t,l=nt(n)*t;return[`<path d=\"M ${o} ${a} A ${t} ${t} 0 ${i>180?1:0} ${this.counterClockwise?0:1} ${h} ${l}\" `,\"COMMON_PARTS\",\" />\\n\"]}}static async fromElement(t,e,s){const{left:i=0,top:r=0,radius:n=0,...o}=gr(t,this.ATTRIBUTE_NAMES,s);return new this({...o,radius:n,left:i-n,top:r-n})}static fromObject(t){return super._fromObject(t)}}t(qn,\"type\",\"Circle\"),t(qn,\"cacheProperties\",[...Ps,...Un]),t(qn,\"ownDefaults\",{radius:0,startAngle:0,endAngle:360,counterClockwise:!1}),t(qn,\"ATTRIBUTE_NAMES\",[\"cx\",\"cy\",\"r\",...zi]),tt.setClass(qn),tt.setSVGClass(qn);class Kn extends Gn{constructor(e){super(e),t(this,\"width\",10),this.points=[]}drawDot(t){const e=this.addPoint(t),s=this.canvas.contextTop;this._saveAndTransform(s),this.dot(s,e),s.restore()}dot(t,e){t.fillStyle=e.fill,t.beginPath(),t.arc(e.x,e.y,e.radius,0,2*Math.PI,!1),t.closePath(),t.fill()}onMouseDown(t){this.points=[],this.canvas.clearContext(this.canvas.contextTop),this._setShadow(),this.drawDot(t)}_render(){const t=this.canvas.contextTop,e=this.points;this._saveAndTransform(t);for(let s=0;s<e.length;s++)this.dot(t,e[s]);t.restore()}onMouseMove(t){!0===this.limitedToCanvasSize&&this._isOutSideCanvas(t)||(this.needsFullRender()?(this.canvas.clearContext(this.canvas.contextTop),this.addPoint(t),this._render()):this.drawDot(t))}onMouseUp(){const t=this.canvas.renderOnAddRemove;this.canvas.renderOnAddRemove=!1;const e=[];for(let t=0;t<this.points.length;t++){const s=this.points[t],i=new qn({radius:s.radius,left:s.x,top:s.y,originX:T,originY:T,fill:s.fill});this.shadow&&(i.shadow=new ks(this.shadow)),e.push(i)}const s=new Or(e,{canvas:this.canvas});this.canvas.fire(\"before:path:created\",{path:s}),this.canvas.add(s),this.canvas.fire(\"path:created\",{path:s}),this.canvas.clearContext(this.canvas.contextTop),this._resetShadow(),this.canvas.renderOnAddRemove=t,this.canvas.requestRenderAll()}addPoint(t){let{x:e,y:s}=t;const i={x:e,y:s,radius:rn(Math.max(0,this.width-20),this.width+20)/2,fill:new Je(this.color).setAlpha(rn(0,100)/100).toRgba()};return this.points.push(i),i}}class Jn extends Gn{constructor(e){super(e),t(this,\"width\",10),t(this,\"density\",20),t(this,\"dotWidth\",1),t(this,\"dotWidthVariance\",1),t(this,\"randomOpacity\",!1),t(this,\"optimizeOverlapping\",!0),this.sprayChunks=[],this.sprayChunk=[]}onMouseDown(t){this.sprayChunks=[],this.canvas.clearContext(this.canvas.contextTop),this._setShadow(),this.addSprayChunk(t),this.renderChunck(this.sprayChunk)}onMouseMove(t){!0===this.limitedToCanvasSize&&this._isOutSideCanvas(t)||(this.addSprayChunk(t),this.renderChunck(this.sprayChunk))}onMouseUp(){const t=this.canvas.renderOnAddRemove;this.canvas.renderOnAddRemove=!1;const e=[];for(let t=0;t<this.sprayChunks.length;t++){const s=this.sprayChunks[t];for(let t=0;t<s.length;t++){const i=s[t],r=new pr({width:i.width,height:i.width,left:i.x+1,top:i.y+1,originX:T,originY:T,fill:this.color});e.push(r)}}const s=new Or(this.optimizeOverlapping?function(t){const e={},s=[];for(let i,r=0;r<t.length;r++)i=`${t[r].left}${t[r].top}`,e[i]||(e[i]=!0,s.push(t[r]));return s}(e):e,{objectCaching:!0,subTargetCheck:!1,interactive:!1});this.shadow&&s.set(\"shadow\",new ks(this.shadow)),this.canvas.fire(\"before:path:created\",{path:s}),this.canvas.add(s),this.canvas.fire(\"path:created\",{path:s}),this.canvas.clearContext(this.canvas.contextTop),this._resetShadow(),this.canvas.renderOnAddRemove=t,this.canvas.requestRenderAll()}renderChunck(t){const e=this.canvas.contextTop;e.fillStyle=this.color,this._saveAndTransform(e);for(let s=0;s<t.length;s++){const i=t[s];e.globalAlpha=i.opacity,e.fillRect(i.x,i.y,i.width,i.width)}e.restore()}_render(){const t=this.canvas.contextTop;t.fillStyle=this.color,this._saveAndTransform(t);for(let t=0;t<this.sprayChunks.length;t++)this.renderChunck(this.sprayChunks[t]);t.restore()}addSprayChunk(t){this.sprayChunk=[];const e=this.width/2;for(let s=0;s<this.density;s++)this.sprayChunk.push({x:rn(t.x-e,t.x+e),y:rn(t.y-e,t.y+e),width:this.dotWidthVariance?rn(Math.max(1,this.dotWidth-this.dotWidthVariance),this.dotWidth+this.dotWidthVariance):this.dotWidth,opacity:this.randomOpacity?rn(0,100)/100:1});this.sprayChunks.push(this.sprayChunk)}}class Qn extends Nn{constructor(t){super(t)}getPatternSrc(){const t=pt(),e=t.getContext(\"2d\");return t.width=t.height=25,e&&(e.fillStyle=this.color,e.beginPath(),e.arc(10,10,10,0,2*Math.PI,!1),e.closePath(),e.fill()),t}getPattern(t){return t.createPattern(this.source||this.getPatternSrc(),\"repeat\")}_setBrushStyles(t){super._setBrushStyles(t);const e=this.getPattern(t);e&&(t.strokeStyle=e)}createPath(t){const e=super.createPath(t),s=e._getLeftTopCoords().scalarAdd(e.strokeWidth/2);return e.stroke=new zn({source:this.source||this.getPatternSrc(),offsetX:-s.x,offsetY:-s.y}),e}}const Zn=[\"x1\",\"x2\",\"y1\",\"y2\"];class to extends ji{constructor(){let[t,e,s,i]=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[0,0,0,0],r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};super(),Object.assign(this,to.ownDefaults),this.setOptions(r),this.x1=t,this.x2=s,this.y1=e,this.y2=i,this._setWidthHeight();const{left:n,top:o}=r;\"number\"==typeof n&&this.set(O,n),\"number\"==typeof o&&this.set(k,o)}_setWidthHeight(){const{x1:t,y1:e,x2:s,y2:i}=this;this.width=Math.abs(s-t),this.height=Math.abs(i-e);const{left:r,top:n,width:o,height:a}=ge([{x:t,y:e},{x:s,y:i}]),h=new ot(r+o/2,n+a/2);this.setPositionByOrigin(h,T,T)}_set(t,e){return super._set(t,e),Zn.includes(t)&&this._setWidthHeight(),this}_render(t){t.beginPath();const e=this.calcLinePoints();t.moveTo(e.x1,e.y1),t.lineTo(e.x2,e.y2),t.lineWidth=this.strokeWidth;const s=t.strokeStyle;var i;zt(this.stroke)?t.strokeStyle=this.stroke.toLive(t):t.strokeStyle=null!==(i=this.stroke)&&void 0!==i?i:t.fillStyle;this.stroke&&this._renderStroke(t),t.strokeStyle=s}_findCenterFromElement(){return new ot((this.x1+this.x2)/2,(this.y1+this.y2)/2)}toObject(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return{...super.toObject(t),...this.calcLinePoints()}}_getNonTransformedDimensions(){const t=super._getNonTransformedDimensions();return\"butt\"===this.strokeLineCap&&(0===this.width&&(t.y-=this.strokeWidth),0===this.height&&(t.x-=this.strokeWidth)),t}calcLinePoints(){const{x1:t,x2:e,y1:s,y2:i,width:r,height:n}=this,o=t<=e?-.5:.5,a=s<=i?-.5:.5;return{x1:o*r,x2:o*-r,y1:a*n,y2:a*-n}}_toSVG(){const{x1:t,x2:e,y1:s,y2:i}=this.calcLinePoints();return[\"<line \",\"COMMON_PARTS\",`x1=\"${t}\" y1=\"${s}\" x2=\"${e}\" y2=\"${i}\" />\\n`]}static async fromElement(t,e,s){const{x1:i=0,y1:r=0,x2:n=0,y2:o=0,...a}=gr(t,this.ATTRIBUTE_NAMES,s);return new this([i,r,n,o],a)}static fromObject(t){let{x1:e,y1:s,x2:i,y2:r,...n}=t;return this._fromObject({...n,points:[e,s,i,r]},{extraParam:\"points\"})}}t(to,\"type\",\"Line\"),t(to,\"cacheProperties\",[...Ps,...Zn]),t(to,\"ATTRIBUTE_NAMES\",zi.concat(Zn)),tt.setClass(to),tt.setSVGClass(to);class eo extends ji{static getDefaults(){return{...super.getDefaults(),...eo.ownDefaults}}constructor(t){super(),Object.assign(this,eo.ownDefaults),this.setOptions(t)}_render(t){const e=this.width/2,s=this.height/2;t.beginPath(),t.moveTo(-e,s),t.lineTo(0,-s),t.lineTo(e,s),t.closePath(),this._renderPaintInOrder(t)}_toSVG(){const t=this.width/2,e=this.height/2;return[\"<polygon \",\"COMMON_PARTS\",'points=\"',`${-t} ${e},0 ${-e},${t} ${e}`,'\" />']}}t(eo,\"type\",\"Triangle\"),t(eo,\"ownDefaults\",{width:100,height:100}),tt.setClass(eo),tt.setSVGClass(eo);const so=[\"rx\",\"ry\"];class io extends ji{static getDefaults(){return{...super.getDefaults(),...io.ownDefaults}}constructor(t){super(),Object.assign(this,io.ownDefaults),this.setOptions(t)}_set(t,e){switch(super._set(t,e),t){case\"rx\":this.rx=e,this.set(\"width\",2*e);break;case\"ry\":this.ry=e,this.set(\"height\",2*e)}return this}getRx(){return this.get(\"rx\")*this.get(W)}getRy(){return this.get(\"ry\")*this.get(V)}toObject(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return super.toObject([...so,...t])}_toSVG(){return[\"<ellipse \",\"COMMON_PARTS\",`cx=\"0\" cy=\"0\" rx=\"${se(this.rx)}\" ry=\"${se(this.ry)}\" />\\n`]}_render(t){t.beginPath(),t.save(),t.transform(1,0,0,this.ry/this.rx,0,0),t.arc(0,0,this.rx,0,x,!1),t.restore(),this._renderPaintInOrder(t)}static async fromElement(t,e,s){const i=gr(t,this.ATTRIBUTE_NAMES,s);return i.left=(i.left||0)-i.rx,i.top=(i.top||0)-i.ry,new this(i)}}t(io,\"type\",\"Ellipse\"),t(io,\"cacheProperties\",[...Ps,...so]),t(io,\"ownDefaults\",{rx:0,ry:0}),t(io,\"ATTRIBUTE_NAMES\",[...zi,\"cx\",\"cy\",\"rx\",\"ry\"]),tt.setClass(io),tt.setSVGClass(io);const ro={exactBoundingBox:!1};class no extends ji{static getDefaults(){return{...super.getDefaults(),...no.ownDefaults}}constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};super(),t(this,\"strokeDiff\",void 0),Object.assign(this,no.ownDefaults),this.setOptions(s),this.points=e;const{left:i,top:r}=s;this.initialized=!0,this.setBoundingBox(!0),\"number\"==typeof i&&this.set(O,i),\"number\"==typeof r&&this.set(k,r)}isOpen(){return!0}_projectStrokeOnPoints(t){return $i(this.points,t,this.isOpen())}_calcDimensions(t){t={scaleX:this.scaleX,scaleY:this.scaleY,skewX:this.skewX,skewY:this.skewY,strokeLineCap:this.strokeLineCap,strokeLineJoin:this.strokeLineJoin,strokeMiterLimit:this.strokeMiterLimit,strokeUniform:this.strokeUniform,strokeWidth:this.strokeWidth,...t||{}};const e=this.exactBoundingBox?this._projectStrokeOnPoints(t).map(t=>t.projectedPoint):this.points;if(0===e.length)return{left:0,top:0,width:0,height:0,pathOffset:new ot,strokeOffset:new ot,strokeDiff:new ot};const s=ge(e),i=Lt({...t,scaleX:1,scaleY:1}),r=ge(this.points.map(t=>St(t,i,!0))),n=new ot(this.scaleX,this.scaleY);let o=s.left+s.width/2,a=s.top+s.height/2;return this.exactBoundingBox&&(o-=a*Math.tan(xt(this.skewX)),a-=o*Math.tan(xt(this.skewY))),{...s,pathOffset:new ot(o,a),strokeOffset:new ot(r.left,r.top).subtract(new ot(s.left,s.top)).multiply(n),strokeDiff:new ot(s.width,s.height).subtract(new ot(r.width,r.height)).multiply(n)}}_findCenterFromElement(){const t=ge(this.points);return new ot(t.left+t.width/2,t.top+t.height/2)}setDimensions(){this.setBoundingBox()}setBoundingBox(t){const{left:e,top:s,width:i,height:r,pathOffset:n,strokeOffset:o,strokeDiff:a}=this._calcDimensions();this.set({width:i,height:r,pathOffset:n,strokeOffset:o,strokeDiff:a}),t&&this.setPositionByOrigin(new ot(e+i/2,s+r/2),T,T)}isStrokeAccountedForInDimensions(){return this.exactBoundingBox}_getNonTransformedDimensions(){return this.exactBoundingBox?new ot(this.width,this.height):super._getNonTransformedDimensions()}_getTransformedDimensions(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(this.exactBoundingBox){let n;if(Object.keys(t).some(t=>this.strokeUniform||this.constructor.layoutProperties.includes(t))){var e,s;const{width:i,height:r}=this._calcDimensions(t);n=new ot(null!==(e=t.width)&&void 0!==e?e:i,null!==(s=t.height)&&void 0!==s?s:r)}else{var i,r;n=new ot(null!==(i=t.width)&&void 0!==i?i:this.width,null!==(r=t.height)&&void 0!==r?r:this.height)}return n.multiply(new ot(t.scaleX||this.scaleX,t.scaleY||this.scaleY))}return super._getTransformedDimensions(t)}_set(t,e){const s=this.initialized&&this[t]!==e,i=super._set(t,e);return this.exactBoundingBox&&s&&((t===W||t===V)&&this.strokeUniform&&this.constructor.layoutProperties.includes(\"strokeUniform\")||this.constructor.layoutProperties.includes(t))&&this.setDimensions(),i}toObject(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return{...super.toObject(t),points:this.points.map(t=>{let{x:e,y:s}=t;return{x:e,y:s}})}}_toSVG(){const t=this.pathOffset.x,e=this.pathOffset.y,i=s.NUM_FRACTION_DIGITS,r=this.points.map(s=>{let{x:r,y:n}=s;return`${Wt(r-t,i)},${Wt(n-e,i)}`}).join(\" \");return[`<${se(this.constructor.type).toLowerCase()} `,\"COMMON_PARTS\",`points=\"${r}\" />\\n`]}_render(t){const e=this.points.length,s=this.pathOffset.x,i=this.pathOffset.y;if(e&&!isNaN(this.points[e-1].y)){t.beginPath(),t.moveTo(this.points[0].x-s,this.points[0].y-i);for(let r=0;r<e;r++){const e=this.points[r];t.lineTo(e.x-s,e.y-i)}!this.isOpen()&&t.closePath(),this._renderPaintInOrder(t)}}complexity(){return this.points.length}static async fromElement(t,e,s){const i=function(t){if(!t)return[];const e=t.replace(/,/g,\" \").trim().split(/\\s+/),s=[];for(let t=0;t<e.length;t+=2)s.push({x:parseFloat(e[t]),y:parseFloat(e[t+1])});return s}(t.getAttribute(\"points\")),{left:r,top:n,...o}=gr(t,this.ATTRIBUTE_NAMES,s);return new this(i,{...o,...e})}static fromObject(t){return this._fromObject(t,{extraParam:\"points\"})}}t(no,\"ownDefaults\",ro),t(no,\"type\",\"Polyline\"),t(no,\"layoutProperties\",[z,G,\"strokeLineCap\",\"strokeLineJoin\",\"strokeMiterLimit\",\"strokeWidth\",\"strokeUniform\",\"points\"]),t(no,\"cacheProperties\",[...Ps,\"points\"]),t(no,\"ATTRIBUTE_NAMES\",[...zi]),tt.setClass(no),tt.setSVGClass(no);class oo extends no{isOpen(){return!1}}t(oo,\"ownDefaults\",ro),t(oo,\"type\",\"Polygon\"),tt.setClass(oo),tt.setSVGClass(oo);class ao extends ji{isEmptyStyles(t){if(!this.styles)return!0;if(void 0!==t&&!this.styles[t])return!0;const e=void 0===t?this.styles:{line:this.styles[t]};for(const t in e)for(const s in e[t])for(const i in e[t][s])return!1;return!0}styleHas(t,e){if(!this.styles)return!1;if(void 0!==e&&!this.styles[e])return!1;const s=void 0===e?this.styles:{0:this.styles[e]};for(const e in s)for(const i in s[e])if(void 0!==s[e][i][t])return!0;return!1}cleanStyle(t){if(!this.styles)return!1;const e=this.styles;let s,i,r=0,n=!0,o=0;for(const o in e){s=0;for(const a in e[o]){const h=e[o][a]||{};r++,void 0!==h[t]?(i?h[t]!==i&&(n=!1):i=h[t],h[t]===this[t]&&delete h[t]):n=!1,0!==Object.keys(h).length?s++:delete e[o][a]}0===s&&delete e[o]}for(let t=0;t<this._textLines.length;t++)o+=this._textLines[t].length;n&&r===o&&(this[t]=i,this.removeStyle(t))}removeStyle(t){if(!this.styles)return;const e=this.styles;let s,i,r;for(i in e){for(r in s=e[i],s)delete s[r][t],0===Object.keys(s[r]).length&&delete s[r];0===Object.keys(s).length&&delete e[i]}}_extendStyles(t,e){const{lineIndex:s,charIndex:i}=this.get2DCursorLocation(t);this._getLineStyle(s)||this._setLineStyle(s);const r=Yt({...this._getStyleDeclaration(s,i),...e},t=>void 0!==t);this._setStyleDeclaration(s,i,r)}getSelectionStyles(t,e,s){const i=[];for(let r=t;r<(e||t);r++)i.push(this.getStyleAtPosition(r,s));return i}getStyleAtPosition(t,e){const{lineIndex:s,charIndex:i}=this.get2DCursorLocation(t);return e?this.getCompleteStyleDeclaration(s,i):this._getStyleDeclaration(s,i)}setSelectionStyles(t,e,s){for(let i=e;i<(s||e);i++)this._extendStyles(i,t);this._forceClearCache=!0}_getStyleDeclaration(t,e){var s;const i=this.styles&&this.styles[t];return i&&null!==(s=i[e])&&void 0!==s?s:{}}getCompleteStyleDeclaration(t,e){return{...Xt(this,this.constructor._styleProperties),...this._getStyleDeclaration(t,e)}}_setStyleDeclaration(t,e,s){this.styles[t][e]=s}_deleteStyleDeclaration(t,e){delete this.styles[t][e]}_getLineStyle(t){return!!this.styles[t]}_setLineStyle(t){this.styles[t]={}}_deleteLineStyle(t){delete this.styles[t]}}t(ao,\"_styleProperties\",hs);const ho=/ +/g,lo=/\"/g;function co(t,e,i,r,n){return`\\t\\t${function(t,e){let{left:i,top:r,width:n,height:o}=e,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:s.NUM_FRACTION_DIGITS;const h=ts(H,t,!1),[l,c,u,d]=[i,r,n,o].map(t=>Wt(t,a));return`<rect ${h} x=\"${l}\" y=\"${c}\" width=\"${u}\" height=\"${d}\"></rect>`}(t,{left:e,top:i,width:r,height:n})}\\n`}let uo;class go extends ao{static getDefaults(){return{...super.getDefaults(),...go.ownDefaults}}constructor(e,s){super(),t(this,\"__charBounds\",[]),Object.assign(this,go.ownDefaults),this.setOptions(s),this.styles||(this.styles={}),this.text=e,this.initialized=!0,this.path&&this.setPathInfo(),this.initDimensions(),this.setCoords()}setPathInfo(){const t=this.path;t&&(t.segmentsInfo=Ur(t.path))}_splitText(){const t=this._splitTextIntoLines(this.text);return this.textLines=t.lines,this._textLines=t.graphemeLines,this._unwrappedTextLines=t._unwrappedLines,this._text=t.graphemeText,t}initDimensions(){this._splitText(),this._clearCache(),this.dirty=!0,this.path?(this.width=this.path.width,this.height=this.path.height):(this.width=this.calcTextWidth()||this.cursorWidth||this.MIN_TEXT_WIDTH,this.height=this.calcTextHeight()),this.textAlign.includes(cs)&&this.enlargeSpaces()}enlargeSpaces(){let t,e,s,i,r,n,o;for(let a=0,h=this._textLines.length;a<h;a++)if((this.textAlign===cs||a!==h-1&&!this.isEndOfWrapping(a))&&(i=0,r=this._textLines[a],e=this.getLineWidth(a),e<this.width&&(o=this.textLines[a].match(this._reSpacesAndTabs)))){s=o.length,t=(this.width-e)/s;for(let e=0;e<=r.length;e++)n=this.__charBounds[a][e],this._reSpaceAndTab.test(r[e])?(n.width+=t,n.kernedWidth+=t,n.left+=i,i+=t):n.left+=i}}isEndOfWrapping(t){return t===this._textLines.length-1}missingNewlineOffset(t){return 1}get2DCursorLocation(t,e){const s=e?this._unwrappedTextLines:this._textLines;let i;for(i=0;i<s.length;i++){if(t<=s[i].length)return{lineIndex:i,charIndex:t};t-=s[i].length+this.missingNewlineOffset(i,e)}return{lineIndex:i-1,charIndex:s[i-1].length<t?s[i-1].length:t}}toString(){return`#<Text (${this.complexity()}): { \"text\": \"${this.text}\", \"fontFamily\": \"${this.fontFamily}\" }>`}_getCacheCanvasDimensions(){const t=super._getCacheCanvasDimensions(),e=this.fontSize;return t.width+=e*t.zoomX,t.height+=e*t.zoomY,t}_render(t){const e=this.path;e&&!e.isNotVisible()&&e._render(t),this._setTextStyles(t),this._renderTextLinesBackground(t),this._renderTextDecoration(t,\"underline\"),this._renderText(t),this._renderTextDecoration(t,\"overline\"),this._renderTextDecoration(t,\"linethrough\")}_renderText(t){this.paintFirst===N?(this._renderTextStroke(t),this._renderTextFill(t)):(this._renderTextFill(t),this._renderTextStroke(t))}_setTextStyles(t,e,s){if(t.textBaseline=\"alphabetic\",this.path)switch(this.pathAlign){case T:t.textBaseline=\"middle\";break;case\"ascender\":t.textBaseline=k;break;case\"descender\":t.textBaseline=D}t.font=this._getFontDeclaration(e,s)}calcTextWidth(){let t=this.getLineWidth(0);for(let e=1,s=this._textLines.length;e<s;e++){const s=this.getLineWidth(e);s>t&&(t=s)}return t}_renderTextLine(t,e,s,i,r,n){this._renderChars(t,e,s,i,r,n)}_renderTextLinesBackground(t){if(!this.textBackgroundColor&&!this.styleHas(\"textBackgroundColor\"))return;const e=t.fillStyle,s=this._getLeftOffset();let i=this._getTopOffset();for(let e=0,r=this._textLines.length;e<r;e++){const r=this.getHeightOfLine(e);if(!this.textBackgroundColor&&!this.styleHas(\"textBackgroundColor\",e)){i+=r;continue}const n=this._textLines[e].length,o=this._getLineLeftOffset(e);let a,h,l=0,c=0,u=this.getValueOfPropertyAt(e,0,\"textBackgroundColor\");const d=this.getHeightOfLineImpl(e);for(let r=0;r<n;r++){const n=this.__charBounds[e][r];h=this.getValueOfPropertyAt(e,r,\"textBackgroundColor\"),this.path?(t.save(),t.translate(n.renderLeft,n.renderTop),t.rotate(n.angle),t.fillStyle=h,h&&t.fillRect(-n.width/2,-d*(1-this._fontSizeFraction),n.width,d),t.restore()):h!==u?(a=s+o+c,this.direction===K&&(a=this.width-a-l),t.fillStyle=u,u&&t.fillRect(a,i,l,d),c=n.left,l=n.width,u=h):l+=n.kernedWidth}h&&!this.path&&(a=s+o+c,this.direction===K&&(a=this.width-a-l),t.fillStyle=h,t.fillRect(a,i,l,d)),i+=r}t.fillStyle=e,this._removeShadow(t)}_measureChar(t,e,s,i){const r=p.getFontCache(e),n=this._getFontDeclaration(e),o=s?s+t:t,a=s&&n===this._getFontDeclaration(i),h=e.fontSize/this.CACHE_FONT_SIZE;let l,c,u,d;if(s&&r.has(s)&&(u=r.get(s)),r.has(t)&&(d=l=r.get(t)),a&&r.has(o)&&(c=r.get(o),d=c-u),void 0===l||void 0===u||void 0===c){const i=function(){if(!uo){const t=vt({width:0,height:0});uo=t.getContext(\"2d\")}return uo}();this._setTextStyles(i,e,!0),void 0===l&&(d=l=i.measureText(t).width,r.set(t,l)),void 0===u&&a&&s&&(u=i.measureText(s).width,r.set(s,u)),a&&void 0===c&&(c=i.measureText(o).width,r.set(o,c),d=c-u)}return{width:l*h,kernedWidth:d*h}}getHeightOfChar(t,e){return this.getValueOfPropertyAt(t,e,\"fontSize\")}measureLine(t){const e=this._measureLine(t);return 0!==this.charSpacing&&(e.width-=this._getWidthOfCharSpacing()),e.width<0&&(e.width=0),e}_measureLine(t){let e,s,i=0;const r=this.pathSide===M,n=this.path,o=this._textLines[t],a=o.length,h=new Array(a);this.__charBounds[t]=h;for(let r=0;r<a;r++){const n=o[r];s=this._getGraphemeBox(n,t,r,e),h[r]=s,i+=s.kernedWidth,e=n}if(h[a]={left:s?s.left+s.width:0,width:0,kernedWidth:0,height:this.fontSize,deltaY:0},n&&n.segmentsInfo){let t=0;const e=n.segmentsInfo[n.segmentsInfo.length-1].length;switch(this.textAlign){case O:t=r?e-i:0;break;case T:t=(e-i)/2;break;case M:t=r?0:e-i}t+=this.pathStartOffset*(r?-1:1);for(let i=r?a-1:0;r?i>=0:i<a;r?i--:i++)s=h[i],t>e?t%=e:t<0&&(t+=e),this._setGraphemeOnPath(t,s),t+=s.kernedWidth}return{width:i,numOfSpaces:0}}_setGraphemeOnPath(t,e){const s=t+e.kernedWidth/2,i=this.path,r=qr(i.path,s,i.segmentsInfo);e.renderLeft=r.x-i.pathOffset.x,e.renderTop=r.y-i.pathOffset.y,e.angle=r.angle+(this.pathSide===M?Math.PI:0)}_getGraphemeBox(t,e,s,i,r){const n=this.getCompleteStyleDeclaration(e,s),o=i?this.getCompleteStyleDeclaration(e,s-1):{},a=this._measureChar(t,n,i,o);let h,l=a.kernedWidth,c=a.width;0!==this.charSpacing&&(h=this._getWidthOfCharSpacing(),c+=h,l+=h);const u={width:c,left:0,height:n.fontSize,kernedWidth:l,deltaY:n.deltaY};if(s>0&&!r){const t=this.__charBounds[e][s-1];u.left=t.left+t.width+a.kernedWidth-a.width}return u}getHeightOfLineImpl(t){const e=this.__lineHeights;if(e[t])return e[t];let s=this.getHeightOfChar(t,0);for(let e=1,i=this._textLines[t].length;e<i;e++)s=Math.max(this.getHeightOfChar(t,e),s);return e[t]=s*this._fontSizeMult}getHeightOfLine(t){return this.getHeightOfLineImpl(t)*this.lineHeight}calcTextHeight(){let t=0;for(let e=0,s=this._textLines.length;e<s;e++)t+=e===s-1?this.getHeightOfLineImpl(e):this.getHeightOfLine(e);return t}_getLeftOffset(){return this.direction===q?-this.width/2:this.width/2}_getTopOffset(){return-this.height/2}_renderTextCommon(t,e){t.save();let s=0;const i=this._getLeftOffset(),r=this._getTopOffset();for(let n=0,o=this._textLines.length;n<o;n++)this._renderTextLine(e,t,this._textLines[n],i+this._getLineLeftOffset(n),r+s+this.getHeightOfLineImpl(n),n),s+=this.getHeightOfLine(n);t.restore()}_renderTextFill(t){(this.fill||this.styleHas(H))&&this._renderTextCommon(t,\"fillText\")}_renderTextStroke(t){(this.stroke&&0!==this.strokeWidth||!this.isEmptyStyles())&&(this.shadow&&!this.shadow.affectStroke&&this._removeShadow(t),t.save(),this._setLineDash(t,this.strokeDashArray),t.beginPath(),this._renderTextCommon(t,\"strokeText\"),t.closePath(),t.restore())}_renderChars(t,e,s,i,r,n){const o=this.textAlign.includes(cs),a=this.path,h=!o&&0===this.charSpacing&&this.isEmptyStyles(n)&&!a,l=this.direction===q,c=this.direction===q?1:-1,u=e.direction;let d,g,f,p,m,v=\"\",y=0;if(e.save(),u!==this.direction&&(e.canvas.setAttribute(\"dir\",l?q:K),e.direction=l?q:K,e.textAlign=l?O:M),r-=this.getHeightOfLineImpl(n)*this._fontSizeFraction,h)return this._renderChar(t,e,n,0,s.join(\"\"),i,r),void e.restore();for(let h=0,l=s.length-1;h<=l;h++)p=h===l||this.charSpacing||a,v+=s[h],f=this.__charBounds[n][h],0===y?(i+=c*(f.kernedWidth-f.width),y+=f.width):y+=f.kernedWidth,o&&!p&&this._reSpaceAndTab.test(s[h])&&(p=!0),p||(d=d||this.getCompleteStyleDeclaration(n,h),g=this.getCompleteStyleDeclaration(n,h+1),p=Yi(d,g,!1)),p&&(a?(e.save(),e.translate(f.renderLeft,f.renderTop),e.rotate(f.angle),this._renderChar(t,e,n,h,v,-y/2,0),e.restore()):(m=i,this._renderChar(t,e,n,h,v,m,r)),v=\"\",d=g,i+=c*y,y=0);e.restore()}_applyPatternGradientTransformText(t){const e=this.width+this.strokeWidth,s=this.height+this.strokeWidth,i=vt({width:e,height:s}),r=i.getContext(\"2d\");return i.width=e,i.height=s,r.beginPath(),r.moveTo(0,0),r.lineTo(e,0),r.lineTo(e,s),r.lineTo(0,s),r.closePath(),r.translate(e/2,s/2),r.fillStyle=t.toLive(r),this._applyPatternGradientTransform(r,t),r.fill(),r.createPattern(i,\"no-repeat\")}handleFiller(t,e,s){let i,r;return zt(s)?\"percentage\"===s.gradientUnits||s.gradientTransform||s.patternTransform?(i=-this.width/2,r=-this.height/2,t.translate(i,r),t[e]=this._applyPatternGradientTransformText(s),{offsetX:i,offsetY:r}):(t[e]=s.toLive(t),this._applyPatternGradientTransform(t,s)):(t[e]=s,{offsetX:0,offsetY:0})}_setStrokeStyles(t,e){let{stroke:s,strokeWidth:i}=e;return t.lineWidth=i,t.lineCap=this.strokeLineCap,t.lineDashOffset=this.strokeDashOffset,t.lineJoin=this.strokeLineJoin,t.miterLimit=this.strokeMiterLimit,this.handleFiller(t,\"strokeStyle\",s)}_setFillStyles(t,e){let{fill:s}=e;return this.handleFiller(t,\"fillStyle\",s)}_renderChar(t,e,s,i,r,n,o){const a=this._getStyleDeclaration(s,i),h=this.getCompleteStyleDeclaration(s,i),l=\"fillText\"===t&&h.fill,c=\"strokeText\"===t&&h.stroke&&h.strokeWidth;if(c||l){if(e.save(),e.font=this._getFontDeclaration(h),a.textBackgroundColor&&this._removeShadow(e),a.deltaY&&(o+=a.deltaY),l){const t=this._setFillStyles(e,h);e.fillText(r,n-t.offsetX,o-t.offsetY)}if(c){const t=this._setStrokeStyles(e,h);e.strokeText(r,n-t.offsetX,o-t.offsetY)}e.restore()}}setSuperscript(t,e){this._setScript(t,e,this.superscript)}setSubscript(t,e){this._setScript(t,e,this.subscript)}_setScript(t,e,s){const i=this.get2DCursorLocation(t,!0),r=this.getValueOfPropertyAt(i.lineIndex,i.charIndex,\"fontSize\"),n=this.getValueOfPropertyAt(i.lineIndex,i.charIndex,\"deltaY\"),o={fontSize:r*s.size,deltaY:n+r*s.baseline};this.setSelectionStyles(o,t,e)}_getLineLeftOffset(t){const e=this.getLineWidth(t),s=this.width-e,i=this.textAlign,r=this.direction,n=this.isEndOfWrapping(t);let o=0;return i===cs||i===gs&&!n||i===ds&&!n||i===us&&!n?0:(i===T&&(o=s/2),i===M&&(o=s),i===gs&&(o=s/2),i===ds&&(o=s),r===K&&(i===M||i===ds?o=0:i===O||i===us?o=-s:i!==T&&i!==gs||(o=-s/2)),o)}_clearCache(){this._forceClearCache=!1,this.__lineWidths=[],this.__lineHeights=[],this.__charBounds=[]}getLineWidth(t){if(void 0!==this.__lineWidths[t])return this.__lineWidths[t];const{width:e}=this.measureLine(t);return this.__lineWidths[t]=e,e}_getWidthOfCharSpacing(){return 0!==this.charSpacing?this.fontSize*this.charSpacing/1e3:0}getValueOfPropertyAt(t,e,s){var i;return null!==(i=this._getStyleDeclaration(t,e)[s])&&void 0!==i?i:this[s]}_renderTextDecoration(t,e){if(!this[e]&&!this.styleHas(e))return;let s=this._getTopOffset();const i=this._getLeftOffset(),r=this.path,n=this._getWidthOfCharSpacing(),o=\"linethrough\"===e?.5:\"overline\"===e?1:0,a=this.offsets[e];for(let h=0,l=this._textLines.length;h<l;h++){const l=this.getHeightOfLine(h);if(!this[e]&&!this.styleHas(e,h)){s+=l;continue}const c=this._textLines[h],u=l/this.lineHeight,d=this._getLineLeftOffset(h);let g=0,f=0,p=this.getValueOfPropertyAt(h,0,e),m=this.getValueOfPropertyAt(h,0,H),v=this.getValueOfPropertyAt(h,0,is),y=p,_=m,x=v;const C=s+u*(1-this._fontSizeFraction);let b=this.getHeightOfChar(h,0),S=this.getValueOfPropertyAt(h,0,\"deltaY\");for(let s=0,n=c.length;s<n;s++){const n=this.__charBounds[h][s];y=this.getValueOfPropertyAt(h,s,e),_=this.getValueOfPropertyAt(h,s,H),x=this.getValueOfPropertyAt(h,s,is);const l=this.getHeightOfChar(h,s),c=this.getValueOfPropertyAt(h,s,\"deltaY\");if(r&&y&&_){const e=this.fontSize*x/1e3;t.save(),t.fillStyle=m,t.translate(n.renderLeft,n.renderTop),t.rotate(n.angle),t.fillRect(-n.kernedWidth/2,a*l+c-o*e,n.kernedWidth,e),t.restore()}else if((y!==p||_!==m||l!==b||x!==v||c!==S)&&f>0){const e=this.fontSize*v/1e3;let s=i+d+g;this.direction===K&&(s=this.width-s-f),p&&m&&v&&(t.fillStyle=m,t.fillRect(s,C+a*b+S-o*e,f,e)),g=n.left,f=n.width,p=y,v=x,m=_,b=l,S=c}else f+=n.kernedWidth}let w=i+d+g;this.direction===K&&(w=this.width-w-f),t.fillStyle=_;const T=this.fontSize*x/1e3;y&&_&&x&&t.fillRect(w,C+a*b+S-o*T,f-n,T),s+=l}this._removeShadow(t)}_getFontDeclaration(){let{fontFamily:t=this.fontFamily,fontStyle:e=this.fontStyle,fontWeight:s=this.fontWeight,fontSize:i=this.fontSize}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=arguments.length>1?arguments[1]:void 0;const n=t.includes(\"'\")||t.includes('\"')||t.includes(\",\")||go.genericFonts.includes(t.toLowerCase())?t:`\"${t}\"`;return[e,s,`${r?this.CACHE_FONT_SIZE:i}px`,n].join(\" \")}render(t){this.visible&&(this.canvas&&this.canvas.skipOffscreen&&!this.group&&!this.isOnScreen()||(this._forceClearCache&&this.initDimensions(),super.render(t)))}graphemeSplit(t){return re(t)}_splitTextIntoLines(t){const e=t.split(this._reNewline),s=new Array(e.length),i=[\"\\n\"];let r=[];for(let t=0;t<e.length;t++)s[t]=this.graphemeSplit(e[t]),r=r.concat(s[t],i);return r.pop(),{_unwrappedLines:s,lines:e,graphemeText:r,graphemeLines:s}}toObject(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return{...super.toObject([...as,...t]),styles:Wi(this.styles,this.text),...this.path?{path:this.path.toObject()}:{}}}set(t,e){const{textLayoutProperties:s}=this.constructor;super.set(t,e);let i=!1,r=!1;if(\"object\"==typeof t)for(const e in t)\"path\"===e&&this.setPathInfo(),i=i||s.includes(e),r=r||\"path\"===e;else i=s.includes(t),r=\"path\"===t;return r&&this.setPathInfo(),i&&this.initialized&&(this.initDimensions(),this.setCoords()),this}complexity(){return 1}static async fromElement(t,e,s){const i=gr(t,go.ATTRIBUTE_NAMES,s),{textAnchor:r=O,textDecoration:n=\"\",dx:o=0,dy:a=0,top:h=0,left:l=0,fontSize:c=S,strokeWidth:u=1,...d}={...e,...i},g=new this(ze(t.textContent||\"\").trim(),{left:l+o,top:h+a,underline:n.includes(\"underline\"),overline:n.includes(\"overline\"),linethrough:n.includes(\"line-through\"),strokeWidth:0,fontSize:c,...d}),f=g.getScaledHeight()/g.height,p=((g.height+g.strokeWidth)*g.lineHeight-g.height)*f,m=g.getScaledHeight()+p;let v=0;return r===T&&(v=g.getScaledWidth()/2),r===M&&(v=g.getScaledWidth()),g.set({left:g.left-v,top:g.top-(m-g.fontSize*(.07+g._fontSizeFraction))/g.lineHeight,strokeWidth:u}),g}static fromObject(t){return this._fromObject({...t,styles:Vi(t.styles||{},t.text)},{extraParam:\"text\"})}}t(go,\"textLayoutProperties\",os),t(go,\"cacheProperties\",[...Ps,...as]),t(go,\"ownDefaults\",ls),t(go,\"type\",\"Text\"),t(go,\"genericFonts\",[\"serif\",\"sans-serif\",\"monospace\",\"cursive\",\"fantasy\",\"system-ui\",\"ui-serif\",\"ui-sans-serif\",\"ui-monospace\",\"ui-rounded\",\"math\",\"emoji\",\"fangsong\"]),t(go,\"ATTRIBUTE_NAMES\",zi.concat(\"x\",\"y\",\"dx\",\"dy\",\"font-family\",\"font-style\",\"font-weight\",\"font-size\",\"letter-spacing\",\"text-decoration\",\"text-anchor\")),Ai(go,[class extends es{_toSVG(){const t=this._getSVGLeftTopOffsets(),e=this._getSVGTextAndBg(t.textTop,t.textLeft);return this._wrapSVGTextAndBg(e)}toSVG(t){const e=this._createBaseSVGMarkup(this._toSVG(),{reviver:t,noStyle:!0,withShadow:!0}),s=this.path;return s?e+s._createBaseSVGMarkup(s._toSVG(),{reviver:t,withShadow:!0,additionalTransform:Vt(this.calcOwnMatrix())}):e}_getSVGLeftTopOffsets(){return{textLeft:-this.width/2,textTop:-this.height/2,lineTop:this.getHeightOfLine(0)}}_wrapSVGTextAndBg(t){let{textBgRects:e,textSpans:s}=t;const i=this.getSvgTextDecoration(this);return[e.join(\"\"),'\\t\\t<text xml:space=\"preserve\" ',`font-family=\"${se(this.fontFamily.replace(lo,\"'\"))}\" `,`font-size=\"${se(this.fontSize)}\" `,this.fontStyle?`font-style=\"${se(this.fontStyle)}\" `:\"\",this.fontWeight?`font-weight=\"${se(this.fontWeight)}\" `:\"\",i?`text-decoration=\"${i}\" `:\"\",\"rtl\"===this.direction?'direction=\"rtl\" ':\"\",'style=\"',this.getSvgStyles(!0),'\"',this.addPaintOrder(),\" >\",s.join(\"\"),\"</text>\\n\"]}_getSVGTextAndBg(t,e){const s=[],i=[];let r,n=t;this.backgroundColor&&i.push(co(this.backgroundColor,-this.width/2,-this.height/2,this.width,this.height));for(let t=0,o=this._textLines.length;t<o;t++)r=this._getLineLeftOffset(t),\"rtl\"===this.direction&&(r+=this.width),(this.textBackgroundColor||this.styleHas(\"textBackgroundColor\",t))&&this._setSVGTextLineBg(i,t,e+r,n),this._setSVGTextLineText(s,t,e+r,n),n+=this.getHeightOfLine(t);return{textSpans:s,textBgRects:i}}_createTextCharSpan(t,e,i,r,n){const o=s.NUM_FRACTION_DIGITS,a=this.getSvgSpanStyles(e,t!==t.trim()||!!t.match(ho)),h=a?`style=\"${a}\"`:\"\",l=e.deltaY,c=l?` dy=\"${Wt(l,o)}\" `:\"\",{angle:u,renderLeft:d,renderTop:g,width:f}=n;let p=\"\";if(void 0!==d){const t=f/2;u&&(p=` rotate=\"${Wt(Ct(u),o)}\"`);const e=Pt({angle:Ct(u)});e[4]=d,e[5]=g;const s=new ot(-t,0).transform(e);i=s.x,r=s.y}return`<tspan x=\"${Wt(i,o)}\" y=\"${Wt(r,o)}\" ${c}${p}${h}>${se(t)}</tspan>`}_setSVGTextLineText(t,e,s,i){const r=this.getHeightOfLine(e),n=this.textAlign.includes(cs),o=this._textLines[e];let a,h,l,c,u,d=\"\",g=0;i+=r*(1-this._fontSizeFraction)/this.lineHeight;for(let r=0,f=o.length-1;r<=f;r++)u=r===f||this.charSpacing||this.path,d+=o[r],l=this.__charBounds[e][r],0===g?(s+=l.kernedWidth-l.width,g+=l.width):g+=l.kernedWidth,n&&!u&&this._reSpaceAndTab.test(o[r])&&(u=!0),u||(a=a||this.getCompleteStyleDeclaration(e,r),h=this.getCompleteStyleDeclaration(e,r+1),u=Yi(a,h,!0)),u&&(c=this._getStyleDeclaration(e,r),t.push(this._createTextCharSpan(d,c,s,i,l)),d=\"\",a=h,\"rtl\"===this.direction?s-=g:s+=g,g=0)}_setSVGTextLineBg(t,e,s,i){const r=this._textLines[e],n=this.getHeightOfLine(e)/this.lineHeight;let o,a=0,h=0,l=this.getValueOfPropertyAt(e,0,\"textBackgroundColor\");for(let c=0;c<r.length;c++){const{left:r,width:u,kernedWidth:d}=this.__charBounds[e][c];o=this.getValueOfPropertyAt(e,c,\"textBackgroundColor\"),o!==l?(l&&t.push(co(l,s+h,i,a,n)),h=r,a=u,l=o):a+=d}o&&t.push(co(l,s+h,i,a,n))}getSvgStyles(t){return`${super.getSvgStyles(t)} text-decoration-thickness: ${Wt(this.textDecorationThickness*this.getObjectScaling().y/10,s.NUM_FRACTION_DIGITS)}%; white-space: pre;`}getSvgSpanStyles(t,e){const{fontFamily:i,strokeWidth:r,stroke:n,fill:o,fontSize:a,fontStyle:h,fontWeight:l,textDecorationThickness:c,linethrough:u,overline:d,underline:g}=t,f=this.getSvgTextDecoration({underline:null!=g?g:this.underline,overline:null!=d?d:this.overline,linethrough:null!=u?u:this.linethrough}),p=c||this.textDecorationThickness;return[n?ts(N,n):\"\",r?`stroke-width: ${se(r)}; `:\"\",i?`font-family: ${i.includes(\"'\")||i.includes('\"')?se(i):`'${se(i)}'`}; `:\"\",a?`font-size: ${se(a)}px; `:\"\",h?`font-style: ${se(h)}; `:\"\",l?`font-weight: ${se(l)}; `:\"\",f?`text-decoration: ${f}; text-decoration-thickness: ${Wt(p*this.getObjectScaling().y/10,s.NUM_FRACTION_DIGITS)}%; `:\"\",o?ts(H,o):\"\",e?\"white-space: pre; \":\"\"].join(\"\")}getSvgTextDecoration(t){return[\"overline\",\"underline\",\"line-through\"].filter(e=>t[e.replace(\"-\",\"\")]).join(\" \")}}]),tt.setClass(go),tt.setSVGClass(go);class fo{constructor(e){t(this,\"target\",void 0),t(this,\"__mouseDownInPlace\",!1),t(this,\"__dragStartFired\",!1),t(this,\"__isDraggingOver\",!1),t(this,\"__dragStartSelection\",void 0),t(this,\"__dragImageDisposer\",void 0),t(this,\"_dispose\",void 0),this.target=e;const s=[this.target.on(\"dragenter\",this.dragEnterHandler.bind(this)),this.target.on(\"dragover\",this.dragOverHandler.bind(this)),this.target.on(\"dragleave\",this.dragLeaveHandler.bind(this)),this.target.on(\"dragend\",this.dragEndHandler.bind(this)),this.target.on(\"drop\",this.dropHandler.bind(this))];this._dispose=()=>{s.forEach(t=>t()),this._dispose=void 0}}isPointerOverSelection(t){const e=this.target,s=e.getSelectionStartFromPointer(t);return e.isEditing&&s>=e.selectionStart&&s<=e.selectionEnd&&e.selectionStart<e.selectionEnd}start(t){return this.__mouseDownInPlace=this.isPointerOverSelection(t)}isActive(){return this.__mouseDownInPlace}end(t){const e=this.isActive();return e&&!this.__dragStartFired&&(this.target.setCursorByClick(t),this.target.initDelayedCursor(!0)),this.__mouseDownInPlace=!1,this.__dragStartFired=!1,this.__isDraggingOver=!1,e}getDragStartSelection(){return this.__dragStartSelection}setDragImage(t,e){var s;let{selectionStart:i,selectionEnd:r}=e;const n=this.target,o=n.canvas,a=new ot(n.flipX?-1:1,n.flipY?-1:1),h=n._getCursorBoundaries(i),l=new ot(h.left+h.leftOffset,h.top+h.topOffset).multiply(a).transform(n.calcTransformMatrix()),c=o.getScenePoint(t).subtract(l),u=n.getCanvasRetinaScaling(),d=n.getBoundingRect(),g=l.subtract(new ot(d.left,d.top)),f=o.viewportTransform,p=g.add(c).transform(f,!0),m=n.backgroundColor,v=Xi(n.styles);n.backgroundColor=\"\";const y={stroke:\"transparent\",fill:\"transparent\",textBackgroundColor:\"transparent\"};n.setSelectionStyles(y,0,i),n.setSelectionStyles(y,r,n.text.length),n.dirty=!0;const _=n.toCanvasElement({enableRetinaScaling:o.enableRetinaScaling,viewportTransform:!0});n.backgroundColor=m,n.styles=v,n.dirty=!0,an(_,{position:\"fixed\",left:-_.width+\"px\",border:P,width:_.width/u+\"px\",height:_.height/u+\"px\"}),this.__dragImageDisposer&&this.__dragImageDisposer(),this.__dragImageDisposer=()=>{_.remove()},qt(t.target||this.target.hiddenTextarea).body.appendChild(_),null===(s=t.dataTransfer)||void 0===s||s.setDragImage(_,p.x,p.y)}onDragStart(t){this.__dragStartFired=!0;const e=this.target,s=this.isActive();if(s&&t.dataTransfer){const s=this.__dragStartSelection={selectionStart:e.selectionStart,selectionEnd:e.selectionEnd},i=e._text.slice(s.selectionStart,s.selectionEnd).join(\"\"),r={text:e.text,value:i,...s};t.dataTransfer.setData(\"text/plain\",i),t.dataTransfer.setData(\"application/fabric\",JSON.stringify({value:i,styles:e.getSelectionStyles(s.selectionStart,s.selectionEnd,!0)})),t.dataTransfer.effectAllowed=\"copyMove\",this.setDragImage(t,r)}return e.abortCursorAnimation(),s}canDrop(t){if(this.target.editable&&!this.target.getActiveControl()&&!t.defaultPrevented){if(this.isActive()&&this.__dragStartSelection){const e=this.target.getSelectionStartFromPointer(t),s=this.__dragStartSelection;return e<s.selectionStart||e>s.selectionEnd}return!0}return!1}targetCanDrop(t){return this.target.canDrop(t)}dragEnterHandler(t){let{e:e}=t;const s=this.targetCanDrop(e);!this.__isDraggingOver&&s&&(this.__isDraggingOver=!0)}dragOverHandler(t){const{e:e}=t,s=this.targetCanDrop(e);!this.__isDraggingOver&&s?this.__isDraggingOver=!0:this.__isDraggingOver&&!s&&(this.__isDraggingOver=!1),this.__isDraggingOver&&(e.preventDefault(),t.canDrop=!0,t.dropTarget=this.target)}dragLeaveHandler(){(this.__isDraggingOver||this.isActive())&&(this.__isDraggingOver=!1)}dropHandler(t){var e;const{e:s}=t,i=s.defaultPrevented;this.__isDraggingOver=!1,s.preventDefault();let r=null===(e=s.dataTransfer)||void 0===e?void 0:e.getData(\"text/plain\");if(r&&!i){const e=this.target,i=e.canvas;let n=e.getSelectionStartFromPointer(s);const{styles:o}=s.dataTransfer.types.includes(\"application/fabric\")?JSON.parse(s.dataTransfer.getData(\"application/fabric\")):{},a=r[Math.max(0,r.length-1)],h=0;if(this.__dragStartSelection){const t=this.__dragStartSelection.selectionStart,s=this.__dragStartSelection.selectionEnd;n>t&&n<=s?n=t:n>s&&(n-=s-t),e.removeChars(t,s),delete this.__dragStartSelection}e._reNewline.test(a)&&(e._reNewline.test(e._text[n])||n===e._text.length)&&(r=r.trimEnd()),t.didDrop=!0,t.dropTarget=e,e.insertChars(r,o,n),i.setActiveObject(e),e.enterEditing(s),e.selectionStart=Math.min(n+h,e._text.length),e.selectionEnd=Math.min(e.selectionStart+r.length,e._text.length),e.hiddenTextarea.value=e.text,e._updateTextarea(),e.hiddenTextarea.focus(),e.fire(X,{index:n+h,action:\"drop\"}),i.fire(\"text:changed\",{target:e}),i.contextTopDirty=!0,i.requestRenderAll()}}dragEndHandler(t){let{e:e}=t;if(this.isActive()&&this.__dragStartFired&&this.__dragStartSelection){var s;const t=this.target,i=this.target.canvas,{selectionStart:r,selectionEnd:n}=this.__dragStartSelection,o=(null===(s=e.dataTransfer)||void 0===s?void 0:s.dropEffect)||P;o===P?(t.selectionStart=r,t.selectionEnd=n,t._updateTextarea(),t.hiddenTextarea.focus()):(t.clearContextTop(),\"move\"===o&&(t.removeChars(r,n),t.selectionStart=t.selectionEnd=r,t.hiddenTextarea&&(t.hiddenTextarea.value=t.text),t._updateTextarea(),t.fire(X,{index:r,action:\"dragend\"}),i.fire(\"text:changed\",{target:t}),i.requestRenderAll()),t.exitEditing())}this.__dragImageDisposer&&this.__dragImageDisposer(),delete this.__dragImageDisposer,delete this.__dragStartSelection,this.__isDraggingOver=!1}dispose(){this._dispose&&this._dispose()}}const po=/[ \\n\\.,;!\\?\\-]/;class mo extends go{constructor(){super(...arguments),t(this,\"_currentCursorOpacity\",1)}initBehavior(){this._tick=this._tick.bind(this),this._onTickComplete=this._onTickComplete.bind(this),this.updateSelectionOnMouseMove=this.updateSelectionOnMouseMove.bind(this)}onDeselect(t){return this.isEditing&&this.exitEditing(),this.selected=!1,super.onDeselect(t)}_animateCursor(t){let{toValue:e,duration:s,delay:i,onComplete:r}=t;return Gs({startValue:this._currentCursorOpacity,endValue:e,duration:s,delay:i,onComplete:r,abort:()=>!this.canvas||this.selectionStart!==this.selectionEnd,onChange:t=>{this._currentCursorOpacity=t,this.renderCursorOrSelection()}})}_tick(t){this._currentTickState=this._animateCursor({toValue:0,duration:this.cursorDuration/2,delay:Math.max(t||0,100),onComplete:this._onTickComplete})}_onTickComplete(){var t;null===(t=this._currentTickCompleteState)||void 0===t||t.abort(),this._currentTickCompleteState=this._animateCursor({toValue:1,duration:this.cursorDuration,onComplete:this._tick})}initDelayedCursor(t){this.abortCursorAnimation(),this._tick(t?0:this.cursorDelay)}abortCursorAnimation(){let t=!1;[this._currentTickState,this._currentTickCompleteState].forEach(e=>{e&&!e.isDone()&&(t=!0,e.abort())}),this._currentCursorOpacity=1,t&&this.clearContextTop()}restartCursorIfNeeded(){[this._currentTickState,this._currentTickCompleteState].some(t=>!t||t.isDone())&&this.initDelayedCursor()}selectAll(){return this.selectionStart=0,this.selectionEnd=this._text.length,this._fireSelectionChanged(),this._updateTextarea(),this}cmdAll(){this.selectAll(),this.renderCursorOrSelection()}getSelectedText(){return this._text.slice(this.selectionStart,this.selectionEnd).join(\"\")}findWordBoundaryLeft(t){let e=0,s=t-1;if(this._reSpace.test(this._text[s]))for(;this._reSpace.test(this._text[s]);)e++,s--;for(;/\\S/.test(this._text[s])&&s>-1;)e++,s--;return t-e}findWordBoundaryRight(t){let e=0,s=t;if(this._reSpace.test(this._text[s]))for(;this._reSpace.test(this._text[s]);)e++,s++;for(;/\\S/.test(this._text[s])&&s<this._text.length;)e++,s++;return t+e}findLineBoundaryLeft(t){let e=0,s=t-1;for(;!/\\n/.test(this._text[s])&&s>-1;)e++,s--;return t-e}findLineBoundaryRight(t){let e=0,s=t;for(;!/\\n/.test(this._text[s])&&s<this._text.length;)e++,s++;return t+e}searchWordBoundary(t,e){const s=this._text;let i=t>0&&this._reSpace.test(s[t])&&(-1===e||!E.test(s[t-1]))?t-1:t,r=s[i];for(;i>0&&i<s.length&&!po.test(r);)i+=e,r=s[i];return-1===e&&po.test(r)&&i++,i}selectWord(t){t=null!=t?t:this.selectionStart;const e=this.searchWordBoundary(t,-1),s=Math.max(e,this.searchWordBoundary(t,1));this.selectionStart=e,this.selectionEnd=s,this._fireSelectionChanged(),this._updateTextarea(),this.renderCursorOrSelection()}selectLine(t){t=null!=t?t:this.selectionStart;const e=this.findLineBoundaryLeft(t),s=this.findLineBoundaryRight(t);this.selectionStart=e,this.selectionEnd=s,this._fireSelectionChanged(),this._updateTextarea()}enterEditing(t){!this.isEditing&&this.editable&&(this.enterEditingImpl(),this.fire(\"editing:entered\",t?{e:t}:void 0),this._fireSelectionChanged(),this.canvas&&(this.canvas.fire(\"text:editing:entered\",{target:this,e:t}),this.canvas.requestRenderAll()))}enterEditingImpl(){this.canvas&&(this.canvas.calcOffset(),this.canvas.textEditingManager.exitTextEditing()),this.isEditing=!0,this.initHiddenTextarea(),this.hiddenTextarea.focus(),this.hiddenTextarea.value=this.text,this._updateTextarea(),this._saveEditingProps(),this._setEditingProps(),this._textBeforeEdit=this.text,this._tick()}updateSelectionOnMouseMove(t){if(this.getActiveControl())return;const e=this.hiddenTextarea;qt(e).activeElement!==e&&e.focus();const s=this.getSelectionStartFromPointer(t),i=this.selectionStart,r=this.selectionEnd;(s===this.__selectionStartOnMouseDown&&i!==r||i!==s&&r!==s)&&(s>this.__selectionStartOnMouseDown?(this.selectionStart=this.__selectionStartOnMouseDown,this.selectionEnd=s):(this.selectionStart=s,this.selectionEnd=this.__selectionStartOnMouseDown),this.selectionStart===i&&this.selectionEnd===r||(this._fireSelectionChanged(),this._updateTextarea(),this.renderCursorOrSelection()))}_setEditingProps(){this.hoverCursor=\"text\",this.canvas&&(this.canvas.defaultCursor=this.canvas.moveCursor=\"text\"),this.borderColor=this.editingBorderColor,this.hasControls=this.selectable=!1,this.lockMovementX=this.lockMovementY=!0}fromStringToGraphemeSelection(t,e,s){const i=s.slice(0,t),r=this.graphemeSplit(i).length;if(t===e)return{selectionStart:r,selectionEnd:r};const n=s.slice(t,e);return{selectionStart:r,selectionEnd:r+this.graphemeSplit(n).length}}fromGraphemeToStringSelection(t,e,s){const i=s.slice(0,t).join(\"\").length;if(t===e)return{selectionStart:i,selectionEnd:i};return{selectionStart:i,selectionEnd:i+s.slice(t,e).join(\"\").length}}_updateTextarea(){if(this.cursorOffsetCache={},this.hiddenTextarea){if(!this.inCompositionMode){const t=this.fromGraphemeToStringSelection(this.selectionStart,this.selectionEnd,this._text);this.hiddenTextarea.selectionStart=t.selectionStart,this.hiddenTextarea.selectionEnd=t.selectionEnd}this.updateTextareaPosition()}}updateFromTextArea(){const{hiddenTextarea:t,direction:e,textAlign:s,inCompositionMode:i}=this;if(!t)return;const r=s!==cs?s.replace(\"justify-\",\"\"):e===q?O:M,n=this.getPositionByOrigin(r,\"top\");this.cursorOffsetCache={},this.text=t.value,this.set(\"dirty\",!0),this.initDimensions(),this.setPositionByOrigin(n,r,\"top\"),this.setCoords();const o=this.fromStringToGraphemeSelection(t.selectionStart,t.selectionEnd,t.value);this.selectionEnd=this.selectionStart=o.selectionEnd,i||(this.selectionStart=o.selectionStart),this.updateTextareaPosition()}updateTextareaPosition(){if(this.selectionStart===this.selectionEnd){const t=this._calcTextareaPosition();this.hiddenTextarea.style.left=t.left,this.hiddenTextarea.style.top=t.top}}_calcTextareaPosition(){if(!this.canvas)return{left:\"1px\",top:\"1px\"};const t=this.inCompositionMode?this.compositionStart:this.selectionStart,e=this._getCursorBoundaries(t),s=this.get2DCursorLocation(t),i=s.lineIndex,r=s.charIndex,n=this.getValueOfPropertyAt(i,r,\"fontSize\")*this.lineHeight,o=e.leftOffset,a=this.getCanvasRetinaScaling(),h=this.canvas.upperCanvasEl,l=h.width/a,c=h.height/a,u=l-n,d=c-n,g=new ot(e.left+o,e.top+e.topOffset+n).transform(this.calcTransformMatrix()).transform(this.canvas.viewportTransform).multiply(new ot(h.clientWidth/l,h.clientHeight/c));return g.x<0&&(g.x=0),g.x>u&&(g.x=u),g.y<0&&(g.y=0),g.y>d&&(g.y=d),g.x+=this.canvas._offset.left,g.y+=this.canvas._offset.top,{left:`${g.x}px`,top:`${g.y}px`,fontSize:`${n}px`,charHeight:n}}_saveEditingProps(){this._savedProps={hasControls:this.hasControls,borderColor:this.borderColor,lockMovementX:this.lockMovementX,lockMovementY:this.lockMovementY,hoverCursor:this.hoverCursor,selectable:this.selectable,defaultCursor:this.canvas&&this.canvas.defaultCursor,moveCursor:this.canvas&&this.canvas.moveCursor}}_restoreEditingProps(){this._savedProps&&(this.hoverCursor=this._savedProps.hoverCursor,this.hasControls=this._savedProps.hasControls,this.borderColor=this._savedProps.borderColor,this.selectable=this._savedProps.selectable,this.lockMovementX=this._savedProps.lockMovementX,this.lockMovementY=this._savedProps.lockMovementY,this.canvas&&(this.canvas.defaultCursor=this._savedProps.defaultCursor||this.canvas.defaultCursor,this.canvas.moveCursor=this._savedProps.moveCursor||this.canvas.moveCursor),delete this._savedProps)}exitEditingImpl(){const t=this.hiddenTextarea;this.selected=!1,this.isEditing=!1,t&&(t.blur&&t.blur(),t.parentNode&&t.parentNode.removeChild(t)),this.hiddenTextarea=null,this.abortCursorAnimation(),this.selectionStart!==this.selectionEnd&&this.clearContextTop(),this.selectionEnd=this.selectionStart,this._restoreEditingProps(),this._forceClearCache&&(this.initDimensions(),this.setCoords())}exitEditing(){const t=this._textBeforeEdit!==this.text;return this.exitEditingImpl(),this.fire(\"editing:exited\"),t&&this.fire(U),this.canvas&&(this.canvas.fire(\"text:editing:exited\",{target:this}),t&&this.canvas.fire(\"object:modified\",{target:this})),this}_removeExtraneousStyles(){for(const t in this.styles)this._textLines[t]||delete this.styles[t]}removeStyleFromTo(t,e){const{lineIndex:s,charIndex:i}=this.get2DCursorLocation(t,!0),{lineIndex:r,charIndex:n}=this.get2DCursorLocation(e,!0);if(s!==r){if(this.styles[s])for(let t=i;t<this._unwrappedTextLines[s].length;t++)delete this.styles[s][t];if(this.styles[r])for(let t=n;t<this._unwrappedTextLines[r].length;t++){const e=this.styles[r][t];e&&(this.styles[s]||(this.styles[s]={}),this.styles[s][i+t-n]=e)}for(let t=s+1;t<=r;t++)delete this.styles[t];this.shiftLineStyles(r,s-r)}else if(this.styles[s]){const t=this.styles[s],e=n-i;for(let e=i;e<n;e++)delete t[e];for(const i in this.styles[s]){const s=parseInt(i,10);s>=n&&(t[s-e]=t[i],delete t[i])}}}shiftLineStyles(t,e){const s=Object.assign({},this.styles);for(const i in this.styles){const r=parseInt(i,10);r>t&&(this.styles[r+e]=s[r],s[r-e]||delete this.styles[r])}}insertNewlineStyleObject(t,e,s,i){const r={},n=this._unwrappedTextLines[t].length,o=n===e;let a=!1;s||(s=1),this.shiftLineStyles(t,s);const h=this.styles[t]?this.styles[t][0===e?e:e-1]:void 0;for(const s in this.styles[t]){const i=parseInt(s,10);i>=e&&(a=!0,r[i-e]=this.styles[t][s],o&&0===e||delete this.styles[t][s])}let l=!1;for(a&&!o&&(this.styles[t+s]=r,l=!0),(l||n>e)&&s--;s>0;)i&&i[s-1]?this.styles[t+s]={0:{...i[s-1]}}:h?this.styles[t+s]={0:{...h}}:delete this.styles[t+s],s--;this._forceClearCache=!0}insertCharStyleObject(t,e,s,i){this.styles||(this.styles={});const r=this.styles[t],n=r?{...r}:{};s||(s=1);for(const t in n){const i=parseInt(t,10);i>=e&&(r[i+s]=n[i],n[i-s]||delete r[i])}if(this._forceClearCache=!0,i){for(;s--;)Object.keys(i[s]).length&&(this.styles[t]||(this.styles[t]={}),this.styles[t][e+s]={...i[s]});return}if(!r)return;const o=r[e?e-1:1];for(;o&&s--;)this.styles[t][e+s]={...o}}insertNewStyleBlock(t,e,s){const i=this.get2DCursorLocation(e,!0),r=[0];let n,o=0;for(let e=0;e<t.length;e++)\"\\n\"===t[e]?(o++,r[o]=0):r[o]++;for(r[0]>0&&(this.insertCharStyleObject(i.lineIndex,i.charIndex,r[0],s),s=s&&s.slice(r[0]+1)),o&&this.insertNewlineStyleObject(i.lineIndex,i.charIndex+r[0],o),n=1;n<o;n++)r[n]>0?this.insertCharStyleObject(i.lineIndex+n,0,r[n],s):s&&this.styles[i.lineIndex+n]&&s[0]&&(this.styles[i.lineIndex+n][0]=s[0]),s=s&&s.slice(r[n]+1);r[n]>0&&this.insertCharStyleObject(i.lineIndex+n,0,r[n],s)}removeChars(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:t+1;this.removeStyleFromTo(t,e),this._text.splice(t,e-t),this.text=this._text.join(\"\"),this.set(\"dirty\",!0),this.initDimensions(),this.setCoords(),this._removeExtraneousStyles()}insertChars(t,e,s){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:s;i>s&&this.removeStyleFromTo(s,i);const r=this.graphemeSplit(t);this.insertNewStyleBlock(r,s,e),this._text=[...this._text.slice(0,s),...r,...this._text.slice(i)],this.text=this._text.join(\"\"),this.set(\"dirty\",!0),this.initDimensions(),this.setCoords(),this._removeExtraneousStyles()}setSelectionStartEndWithShift(t,e,s){s<=t?(e===t?this._selectionDirection=O:this._selectionDirection===M&&(this._selectionDirection=O,this.selectionEnd=t),this.selectionStart=s):s>t&&s<e?this._selectionDirection===M?this.selectionEnd=s:this.selectionStart=s:(e===t?this._selectionDirection=M:this._selectionDirection===O&&(this._selectionDirection=M,this.selectionStart=e),this.selectionEnd=s)}}class vo extends mo{initHiddenTextarea(){const t=this.canvas&&qt(this.canvas.getElement())||d(),e=t.createElement(\"textarea\");Object.entries({autocapitalize:\"off\",autocorrect:\"off\",autocomplete:\"off\",spellcheck:\"false\",\"data-fabric\":\"textarea\",wrap:\"off\",name:\"fabricTextarea\"}).map(t=>{let[s,i]=t;return e.setAttribute(s,i)});const{top:s,left:i,fontSize:r}=this._calcTextareaPosition();e.style.cssText=`position: absolute; top: ${s}; left: ${i}; z-index: -999; opacity: 0; width: 1px; height: 1px; font-size: 1px; padding-top: ${r};`,(this.hiddenTextareaContainer||t.body).appendChild(e),Object.entries({blur:\"blur\",keydown:\"onKeyDown\",keyup:\"onKeyUp\",input:\"onInput\",copy:\"copy\",cut:\"copy\",paste:\"paste\",compositionstart:\"onCompositionStart\",compositionupdate:\"onCompositionUpdate\",compositionend:\"onCompositionEnd\"}).map(t=>{let[s,i]=t;return e.addEventListener(s,this[i].bind(this))}),this.hiddenTextarea=e}blur(){this.abortCursorAnimation()}onKeyDown(t){if(!this.isEditing)return;const e=\"rtl\"===this.direction?this.keysMapRtl:this.keysMap;if(t.keyCode in e)this[e[t.keyCode]](t);else{if(!(t.keyCode in this.ctrlKeysMapDown)||!t.ctrlKey&&!t.metaKey)return;this[this.ctrlKeysMapDown[t.keyCode]](t)}t.stopImmediatePropagation(),t.preventDefault(),t.keyCode>=33&&t.keyCode<=40?(this.inCompositionMode=!1,this.clearContextTop(),this.renderCursorOrSelection()):this.canvas&&this.canvas.requestRenderAll()}onKeyUp(t){!this.isEditing||this._copyDone||this.inCompositionMode?this._copyDone=!1:t.keyCode in this.ctrlKeysMapUp&&(t.ctrlKey||t.metaKey)&&(this[this.ctrlKeysMapUp[t.keyCode]](t),t.stopImmediatePropagation(),t.preventDefault(),this.canvas&&this.canvas.requestRenderAll())}onInput(t){const e=this.fromPaste,{value:i,selectionStart:r,selectionEnd:n}=this.hiddenTextarea;if(this.fromPaste=!1,t&&t.stopPropagation(),!this.isEditing)return;const o=()=>{this.updateFromTextArea(),this.fire(X),this.canvas&&(this.canvas.fire(\"text:changed\",{target:this}),this.canvas.requestRenderAll())};if(\"\"===this.hiddenTextarea.value)return this.styles={},void o();const a=this._splitTextIntoLines(i).graphemeText,h=this._text.length,l=a.length,c=this.selectionStart,d=this.selectionEnd,g=c!==d;let f,p,m,v,y=l-h;const _=this.fromStringToGraphemeSelection(r,n,i),x=c>_.selectionStart;g?(p=this._text.slice(c,d),y+=d-c):l<h&&(p=x?this._text.slice(d+y,d):this._text.slice(c,c-y));const C=a.slice(_.selectionEnd-y,_.selectionEnd);if(p&&p.length&&(C.length&&(f=this.getSelectionStyles(c,c+1,!1),f=C.map(()=>f[0])),g?(m=c,v=d):x?(m=d-p.length,v=d):(m=d,v=d+p.length),this.removeStyleFromTo(m,v)),C.length){const{copyPasteData:t}=u();e&&C.join(\"\")===t.copiedText&&!s.disableStyleCopyPaste&&(f=t.copiedTextStyle),this.insertNewStyleBlock(C,c,f)}o()}onCompositionStart(){this.inCompositionMode=!0}onCompositionEnd(){this.inCompositionMode=!1}onCompositionUpdate(t){let{target:e}=t;const{selectionStart:s,selectionEnd:i}=e;this.compositionStart=s,this.compositionEnd=i,this.updateTextareaPosition()}copy(){if(this.selectionStart===this.selectionEnd)return;const{copyPasteData:t}=u();t.copiedText=this.getSelectedText(),s.disableStyleCopyPaste?t.copiedTextStyle=void 0:t.copiedTextStyle=this.getSelectionStyles(this.selectionStart,this.selectionEnd,!0),this._copyDone=!0}paste(){this.fromPaste=!0}_getWidthBeforeCursor(t,e){let s,i=this._getLineLeftOffset(t);return e>0&&(s=this.__charBounds[t][e-1],i+=s.left+s.width),i}getDownCursorOffset(t,e){const s=this._getSelectionForOffset(t,e),i=this.get2DCursorLocation(s),r=i.lineIndex;if(r===this._textLines.length-1||t.metaKey||34===t.keyCode)return this._text.length-s;const n=i.charIndex,o=this._getWidthBeforeCursor(r,n),a=this._getIndexOnLine(r+1,o);return this._textLines[r].slice(n).length+a+1+this.missingNewlineOffset(r)}_getSelectionForOffset(t,e){return t.shiftKey&&this.selectionStart!==this.selectionEnd&&e?this.selectionEnd:this.selectionStart}getUpCursorOffset(t,e){const s=this._getSelectionForOffset(t,e),i=this.get2DCursorLocation(s),r=i.lineIndex;if(0===r||t.metaKey||33===t.keyCode)return-s;const n=i.charIndex,o=this._getWidthBeforeCursor(r,n),a=this._getIndexOnLine(r-1,o),h=this._textLines[r].slice(0,n),l=this.missingNewlineOffset(r-1);return-this._textLines[r-1].length+a-h.length+(1-l)}_getIndexOnLine(t,e){const s=this._textLines[t];let i,r,n=this._getLineLeftOffset(t),o=0;for(let a=0,h=s.length;a<h;a++)if(i=this.__charBounds[t][a].width,n+=i,n>e){r=!0;const t=n-i,s=n,h=Math.abs(t-e);o=Math.abs(s-e)<h?a:a-1;break}return r||(o=s.length-1),o}moveCursorDown(t){this.selectionStart>=this._text.length&&this.selectionEnd>=this._text.length||this._moveCursorUpOrDown(\"Down\",t)}moveCursorUp(t){0===this.selectionStart&&0===this.selectionEnd||this._moveCursorUpOrDown(\"Up\",t)}_moveCursorUpOrDown(t,e){const s=this[`get${t}CursorOffset`](e,this._selectionDirection===M);if(e.shiftKey?this.moveCursorWithShift(s):this.moveCursorWithoutShift(s),0!==s){const t=this.text.length;this.selectionStart=Ds(0,this.selectionStart,t),this.selectionEnd=Ds(0,this.selectionEnd,t),this.abortCursorAnimation(),this.initDelayedCursor(),this._fireSelectionChanged(),this._updateTextarea()}}moveCursorWithShift(t){const e=this._selectionDirection===O?this.selectionStart+t:this.selectionEnd+t;return this.setSelectionStartEndWithShift(this.selectionStart,this.selectionEnd,e),0!==t}moveCursorWithoutShift(t){return t<0?(this.selectionStart+=t,this.selectionEnd=this.selectionStart):(this.selectionEnd+=t,this.selectionStart=this.selectionEnd),0!==t}moveCursorLeft(t){0===this.selectionStart&&0===this.selectionEnd||this._moveCursorLeftOrRight(\"Left\",t)}_move(t,e,s){let i;if(t.altKey)i=this[`findWordBoundary${s}`](this[e]);else{if(!t.metaKey&&35!==t.keyCode&&36!==t.keyCode)return this[e]+=\"Left\"===s?-1:1,!0;i=this[`findLineBoundary${s}`](this[e])}return void 0!==i&&this[e]!==i&&(this[e]=i,!0)}_moveLeft(t,e){return this._move(t,e,\"Left\")}_moveRight(t,e){return this._move(t,e,\"Right\")}moveCursorLeftWithoutShift(t){let e=!0;return this._selectionDirection=O,this.selectionEnd===this.selectionStart&&0!==this.selectionStart&&(e=this._moveLeft(t,\"selectionStart\")),this.selectionEnd=this.selectionStart,e}moveCursorLeftWithShift(t){return this._selectionDirection===M&&this.selectionStart!==this.selectionEnd?this._moveLeft(t,\"selectionEnd\"):0!==this.selectionStart?(this._selectionDirection=O,this._moveLeft(t,\"selectionStart\")):void 0}moveCursorRight(t){this.selectionStart>=this._text.length&&this.selectionEnd>=this._text.length||this._moveCursorLeftOrRight(\"Right\",t)}_moveCursorLeftOrRight(t,e){const s=`moveCursor${t}${e.shiftKey?\"WithShift\":\"WithoutShift\"}`;this._currentCursorOpacity=1,this[s](e)&&(this.abortCursorAnimation(),this.initDelayedCursor(),this._fireSelectionChanged(),this._updateTextarea())}moveCursorRightWithShift(t){return this._selectionDirection===O&&this.selectionStart!==this.selectionEnd?this._moveRight(t,\"selectionStart\"):this.selectionEnd!==this._text.length?(this._selectionDirection=M,this._moveRight(t,\"selectionEnd\")):void 0}moveCursorRightWithoutShift(t){let e=!0;return this._selectionDirection=M,this.selectionStart===this.selectionEnd?(e=this._moveRight(t,\"selectionStart\"),this.selectionEnd=this.selectionStart):this.selectionStart=this.selectionEnd,e}}const yo=t=>!!t.button;class _o extends vo{constructor(){super(...arguments),t(this,\"draggableTextDelegate\",void 0)}initBehavior(){this.on(\"mousedown\",this._mouseDownHandler),this.on(\"mouseup\",this.mouseUpHandler),this.on(\"mousedblclick\",this.doubleClickHandler),this.on(\"mousetripleclick\",this.tripleClickHandler),this.draggableTextDelegate=new fo(this),super.initBehavior()}shouldStartDragging(){return this.draggableTextDelegate.isActive()}onDragStart(t){return this.draggableTextDelegate.onDragStart(t)}canDrop(t){return this.draggableTextDelegate.canDrop(t)}doubleClickHandler(t){this.isEditing&&(this.selectWord(this.getSelectionStartFromPointer(t.e)),this.renderCursorOrSelection())}tripleClickHandler(t){this.isEditing&&(this.selectLine(this.getSelectionStartFromPointer(t.e)),this.renderCursorOrSelection())}_mouseDownHandler(t){let{e:e,alreadySelected:s}=t;this.canvas&&this.editable&&!yo(e)&&!this.getActiveControl()&&(this.draggableTextDelegate.start(e)||(this.canvas.textEditingManager.register(this),s&&(this.inCompositionMode=!1,this.setCursorByClick(e)),this.isEditing&&(this.__selectionStartOnMouseDown=this.selectionStart,this.selectionStart===this.selectionEnd&&this.abortCursorAnimation(),this.renderCursorOrSelection()),this.selected||(this.selected=s||this.isEditing)))}mouseUpHandler(t){let{e:e,transform:s}=t;const i=this.draggableTextDelegate.end(e);if(this.canvas){this.canvas.textEditingManager.unregister(this);const t=this.canvas._activeObject;if(t&&t!==this)return}!this.editable||this.group&&!this.group.interactive||s&&s.actionPerformed||yo(e)||i||this.selected&&!this.getActiveControl()&&(this.enterEditing(e),this.selectionStart===this.selectionEnd?this.initDelayedCursor(!0):this.renderCursorOrSelection())}setCursorByClick(t){const e=this.getSelectionStartFromPointer(t),s=this.selectionStart,i=this.selectionEnd;t.shiftKey?this.setSelectionStartEndWithShift(s,i,e):(this.selectionStart=e,this.selectionEnd=e),this.isEditing&&(this._fireSelectionChanged(),this._updateTextarea())}getSelectionStartFromPointer(t){const e=this.canvas.getScenePoint(t).transform(wt(this.calcTransformMatrix())).add(new ot(-this._getLeftOffset(),-this._getTopOffset()));let s=0,i=0,r=0;for(let t=0;t<this._textLines.length&&s<=e.y;t++)s+=this.getHeightOfLine(t),r=t,t>0&&(i+=this._textLines[t-1].length+this.missingNewlineOffset(t-1));let n=Math.abs(this._getLineLeftOffset(r));const o=this._textLines[r].length,a=this.__charBounds[r];for(let t=0;t<o;t++){const s=n+a[t].kernedWidth;if(e.x<=s){Math.abs(e.x-s)<=Math.abs(e.x-n)&&i++;break}n=s,i++}return Math.min(this.flipX?o-i:i,this._text.length)}}const xo=\"moveCursorUp\",Co=\"moveCursorDown\",bo=\"moveCursorLeft\",So=\"moveCursorRight\",wo=\"exitEditing\",To=(t,e)=>{const s=e.getRetinaScaling();t.setTransform(s,0,0,s,0,0);const i=e.viewportTransform;t.transform(i[0],i[1],i[2],i[3],i[4],i[5])},Oo={selectionStart:0,selectionEnd:0,selectionColor:\"rgba(17,119,255,0.3)\",isEditing:!1,editable:!0,editingBorderColor:\"rgba(102,153,255,0.25)\",cursorWidth:2,cursorColor:\"\",cursorDelay:1e3,cursorDuration:600,caching:!0,hiddenTextareaContainer:null,keysMap:{9:wo,27:wo,33:xo,34:Co,35:So,36:bo,37:bo,38:xo,39:So,40:Co},keysMapRtl:{9:wo,27:wo,33:xo,34:Co,35:bo,36:So,37:So,38:xo,39:bo,40:Co},ctrlKeysMapDown:{65:\"cmdAll\"},ctrlKeysMapUp:{67:\"copy\",88:\"cut\"},_selectionDirection:null,_reSpace:/\\s|\\r?\\n/,inCompositionMode:!1};class ko extends _o{static getDefaults(){return{...super.getDefaults(),...ko.ownDefaults}}get type(){const t=super.type;return\"itext\"===t?\"i-text\":t}constructor(t,e){super(t,{...ko.ownDefaults,...e}),this.initBehavior()}_set(t,e){return this.isEditing&&this._savedProps&&t in this._savedProps?(this._savedProps[t]=e,this):(\"canvas\"===t&&(this.canvas instanceof Mn&&this.canvas.textEditingManager.remove(this),e instanceof Mn&&e.textEditingManager.add(this)),super._set(t,e))}setSelectionStart(t){t=Math.max(t,0),this._updateAndFire(\"selectionStart\",t)}setSelectionEnd(t){t=Math.min(t,this.text.length),this._updateAndFire(\"selectionEnd\",t)}_updateAndFire(t,e){this[t]!==e&&(this._fireSelectionChanged(),this[t]=e),this._updateTextarea()}_fireSelectionChanged(){this.fire(\"selection:changed\"),this.canvas&&this.canvas.fire(\"text:selection:changed\",{target:this})}initDimensions(){this.isEditing&&this.initDelayedCursor(),super.initDimensions()}getSelectionStyles(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.selectionStart||0,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.selectionEnd,s=arguments.length>2?arguments[2]:void 0;return super.getSelectionStyles(t,e,s)}setSelectionStyles(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.selectionStart||0,s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.selectionEnd;return super.setSelectionStyles(t,e,s)}get2DCursorLocation(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.selectionStart,e=arguments.length>1?arguments[1]:void 0;return super.get2DCursorLocation(t,e)}render(t){super.render(t),this.cursorOffsetCache={},this.renderCursorOrSelection()}toCanvasElement(t){const e=this.isEditing;this.isEditing=!1;const s=super.toCanvasElement(t);return this.isEditing=e,s}renderCursorOrSelection(){if(!this.isEditing||!this.canvas)return;const t=this.clearContextTop(!0);if(!t)return;const e=this._getCursorBoundaries(),s=this.findAncestorsWithClipPath(),i=s.length>0;let r,n=t;if(i){r=vt(t.canvas),n=r.getContext(\"2d\"),To(n,this.canvas);const e=this.calcTransformMatrix();n.transform(e[0],e[1],e[2],e[3],e[4],e[5])}if(this.selectionStart!==this.selectionEnd||this.inCompositionMode?this.renderSelection(n,e):this.renderCursor(n,e),i)for(const e of s){const s=e.clipPath,i=vt(t.canvas),r=i.getContext(\"2d\");if(To(r,this.canvas),!s.absolutePositioned){const t=e.calcTransformMatrix();r.transform(t[0],t[1],t[2],t[3],t[4],t[5])}s.transform(r),s.drawObject(r,!0,{}),this.drawClipPathOnCache(n,s,i)}i&&(t.setTransform(1,0,0,1,0,0),t.drawImage(r,0,0)),this.canvas.contextTopDirty=!0,t.restore()}findAncestorsWithClipPath(){const t=[];let e=this;for(;e;)e.clipPath&&t.push(e),e=e.parent;return t}_getCursorBoundaries(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.selectionStart,e=arguments.length>1?arguments[1]:void 0;const s=this._getLeftOffset(),i=this._getTopOffset(),r=this._getCursorBoundariesOffsets(t,e);return{left:s,top:i,leftOffset:r.left,topOffset:r.top}}_getCursorBoundariesOffsets(t,e){return e?this.__getCursorBoundariesOffsets(t):this.cursorOffsetCache&&\"top\"in this.cursorOffsetCache?this.cursorOffsetCache:this.cursorOffsetCache=this.__getCursorBoundariesOffsets(t)}__getCursorBoundariesOffsets(t){let e=0,s=0;const{charIndex:i,lineIndex:r}=this.get2DCursorLocation(t),{textAlign:n,direction:o}=this;for(let t=0;t<r;t++)e+=this.getHeightOfLine(t);const a=this._getLineLeftOffset(r),h=this.__charBounds[r][i];h&&(s=h.left),0!==this.charSpacing&&i===this._textLines[r].length&&(s-=this._getWidthOfCharSpacing());let l=a+(s>0?s:0);return o===K&&(n===M||n===cs||n===ds?l*=-1:n===O||n===us?l=a-(s>0?s:0):n!==T&&n!==gs||(l=a-(s>0?s:0))),{top:e,left:l}}renderCursorAt(t){this._renderCursor(this.canvas.contextTop,this._getCursorBoundaries(t,!0),t)}renderCursor(t,e){this._renderCursor(t,e,this.selectionStart)}getCursorRenderingData(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.selectionStart,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this._getCursorBoundaries(t);const s=this.get2DCursorLocation(t),i=s.lineIndex,r=s.charIndex>0?s.charIndex-1:0,n=this.getValueOfPropertyAt(i,r,\"fontSize\"),o=this.getObjectScaling().x*this.canvas.getZoom(),a=this.cursorWidth/o,h=this.getValueOfPropertyAt(i,r,\"deltaY\"),l=e.topOffset+(1-this._fontSizeFraction)*this.getHeightOfLine(i)/this.lineHeight-n*(1-this._fontSizeFraction);return{color:this.cursorColor||this.getValueOfPropertyAt(i,r,\"fill\"),opacity:this._currentCursorOpacity,left:e.left+e.leftOffset-a/2,top:l+e.top+h,width:a,height:n}}_renderCursor(t,e,s){const{color:i,opacity:r,left:n,top:o,width:a,height:h}=this.getCursorRenderingData(s,e);t.fillStyle=i,t.globalAlpha=r,t.fillRect(n,o,a,h)}renderSelection(t,e){const s={selectionStart:this.inCompositionMode?this.hiddenTextarea.selectionStart:this.selectionStart,selectionEnd:this.inCompositionMode?this.hiddenTextarea.selectionEnd:this.selectionEnd};this._renderSelection(t,s,e)}renderDragSourceEffect(){const t=this.draggableTextDelegate.getDragStartSelection();this._renderSelection(this.canvas.contextTop,t,this._getCursorBoundaries(t.selectionStart,!0))}renderDropTargetEffect(t){const e=this.getSelectionStartFromPointer(t);this.renderCursorAt(e)}_renderSelection(t,e,s){const{textAlign:i,direction:r}=this,n=e.selectionStart,o=e.selectionEnd,a=i.includes(cs),h=this.get2DCursorLocation(n),l=this.get2DCursorLocation(o),c=h.lineIndex,u=l.lineIndex,d=h.charIndex<0?0:h.charIndex,g=l.charIndex<0?0:l.charIndex;for(let e=c;e<=u;e++){const n=this._getLineLeftOffset(e)||0;let o=this.getHeightOfLine(e),h=0,l=0,f=0;if(e===c&&(l=this.__charBounds[c][d].left),e>=c&&e<u)f=a&&!this.isEndOfWrapping(e)?this.width:this.getLineWidth(e)||5;else if(e===u)if(0===g)f=this.__charBounds[u][g].left;else{const t=this._getWidthOfCharSpacing();f=this.__charBounds[u][g-1].left+this.__charBounds[u][g-1].width-t}h=o,(this.lineHeight<1||e===u&&this.lineHeight>1)&&(o/=this.lineHeight);let p=s.left+n+l,m=o,v=0;const y=f-l;this.inCompositionMode?(t.fillStyle=this.compositionColor||\"black\",m=1,v=o):t.fillStyle=this.selectionColor,r===K&&(i===M||i===cs||i===ds?p=this.width-p-y:i===O||i===us?p=s.left+n-f:i!==T&&i!==gs||(p=s.left+n-f)),t.fillRect(p,s.top+s.topOffset+v,y,m),s.topOffset+=h}}getCurrentCharFontSize(){const t=this._getCurrentCharIndex();return this.getValueOfPropertyAt(t.l,t.c,\"fontSize\")}getCurrentCharColor(){const t=this._getCurrentCharIndex();return this.getValueOfPropertyAt(t.l,t.c,H)}_getCurrentCharIndex(){const t=this.get2DCursorLocation(this.selectionStart,!0),e=t.charIndex>0?t.charIndex-1:0;return{l:t.lineIndex,c:e}}dispose(){this.exitEditingImpl(),this.draggableTextDelegate.dispose(),super.dispose()}}t(ko,\"ownDefaults\",Oo),t(ko,\"type\",\"IText\"),tt.setClass(ko),tt.setClass(ko,\"i-text\");class Do extends ko{static getDefaults(){return{...super.getDefaults(),...Do.ownDefaults}}constructor(t,e){super(t,{...Do.ownDefaults,...e})}static createControls(){return{controls:Pi()}}initDimensions(){this.initialized&&(this.isEditing&&this.initDelayedCursor(),this._clearCache(),this.dynamicMinWidth=0,this._styleMap=this._generateStyleMap(this._splitText()),this.dynamicMinWidth>this.width&&this._set(\"width\",this.dynamicMinWidth),this.textAlign.includes(cs)&&this.enlargeSpaces(),this.height=this.calcTextHeight())}_generateStyleMap(t){let e=0,s=0,i=0;const r={};for(let n=0;n<t.graphemeLines.length;n++)\"\\n\"===t.graphemeText[i]&&n>0?(s=0,i++,e++):!this.splitByGrapheme&&this._reSpaceAndTab.test(t.graphemeText[i])&&n>0&&(s++,i++),r[n]={line:e,offset:s},i+=t.graphemeLines[n].length,s+=t.graphemeLines[n].length;return r}styleHas(t,e){if(this._styleMap&&!this.isWrapping){const t=this._styleMap[e];t&&(e=t.line)}return super.styleHas(t,e)}isEmptyStyles(t){if(!this.styles)return!0;let e,s=0,i=t+1,r=!1;const n=this._styleMap[t],o=this._styleMap[t+1];n&&(t=n.line,s=n.offset),o&&(i=o.line,r=i===t,e=o.offset);const a=void 0===t?this.styles:{line:this.styles[t]};for(const t in a)for(const i in a[t]){const n=parseInt(i,10);if(n>=s&&(!r||n<e))for(const e in a[t][i])return!1}return!0}_getStyleDeclaration(t,e){if(this._styleMap&&!this.isWrapping){const s=this._styleMap[t];if(!s)return{};t=s.line,e=s.offset+e}return super._getStyleDeclaration(t,e)}_setStyleDeclaration(t,e,s){const i=this._styleMap[t];super._setStyleDeclaration(i.line,i.offset+e,s)}_deleteStyleDeclaration(t,e){const s=this._styleMap[t];super._deleteStyleDeclaration(s.line,s.offset+e)}_getLineStyle(t){const e=this._styleMap[t];return!!this.styles[e.line]}_setLineStyle(t){const e=this._styleMap[t];super._setLineStyle(e.line)}_wrapText(t,e){this.isWrapping=!0;const s=this.getGraphemeDataForRender(t),i=[];for(let t=0;t<s.wordsData.length;t++)i.push(...this._wrapLine(t,e,s));return this.isWrapping=!1,i}getGraphemeDataForRender(t){const e=this.splitByGrapheme,s=e?\"\":\" \";let i=0;return{wordsData:t.map((t,r)=>{let n=0;const o=e?this.graphemeSplit(t):this.wordSplit(t);return 0===o.length?[{word:[],width:0}]:o.map(t=>{const o=e?[t]:this.graphemeSplit(t),a=this._measureWord(o,r,n);return i=Math.max(a,i),n+=o.length+s.length,{word:o,width:a}})}),largestWordWidth:i}}_measureWord(t,e){let s,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=0;for(let n=0,o=t.length;n<o;n++){r+=this._getGraphemeBox(t[n],e,n+i,s,true).kernedWidth,s=t[n]}return r}wordSplit(t){return t.split(this._wordJoiners)}_wrapLine(t,e,s){let{largestWordWidth:i,wordsData:r}=s,n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;const o=this._getWidthOfCharSpacing(),a=this.splitByGrapheme,h=[],l=a?\"\":\" \";let c=0,u=[],d=0,g=0,f=!0;e-=n;const p=Math.max(e,i,this.dynamicMinWidth),m=r[t];let v;for(d=0,v=0;v<m.length;v++){const{word:e,width:s}=m[v];d+=e.length,c+=g+s-o,c>p&&!f?(h.push(u),u=[],c=s,f=!0):c+=o,f||a||u.push(l),u=u.concat(e),g=a?0:this._measureWord([l],t,d),d++,f=!1}return v&&h.push(u),i+n>this.dynamicMinWidth&&(this.dynamicMinWidth=i-o+n),h}isEndOfWrapping(t){return!this._styleMap[t+1]||this._styleMap[t+1].line!==this._styleMap[t].line}missingNewlineOffset(t,e){return this.splitByGrapheme&&!e?this.isEndOfWrapping(t)?1:0:1}_splitTextIntoLines(t){const e=super._splitTextIntoLines(t),s=this._wrapText(e.lines,this.width),i=new Array(s.length);for(let t=0;t<s.length;t++)i[t]=s[t].join(\"\");return e.lines=i,e.graphemeLines=s,e}getMinWidth(){return Math.max(this.minWidth,this.dynamicMinWidth)}_removeExtraneousStyles(){const t=new Map;for(const e in this._styleMap){const s=parseInt(e,10);if(this._textLines[s]){const s=this._styleMap[e].line;t.set(`${s}`,!0)}}for(const e in this.styles)t.has(e)||delete this.styles[e]}toObject(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return super.toObject([\"minWidth\",\"splitByGrapheme\",...t])}}t(Do,\"type\",\"Textbox\"),t(Do,\"textLayoutProperties\",[...ko.textLayoutProperties,\"width\"]),t(Do,\"ownDefaults\",{minWidth:20,dynamicMinWidth:2,lockScalingFlip:!0,noScaleCache:!1,_wordJoiners:/[ \\t\\r]/,splitByGrapheme:!1}),tt.setClass(Do);class Mo extends Cr{shouldPerformLayout(t){return!!t.target.clipPath&&super.shouldPerformLayout(t)}shouldLayoutClipPath(){return!1}calcLayoutResult(t,e){const{target:s}=t,{clipPath:i,group:r}=s;if(!i||!this.shouldPerformLayout(t))return;const{width:n,height:o}=ge(xr(s,i)),a=new ot(n,o);if(i.absolutePositioned){return{center:xe(i.getRelativeCenterPoint(),void 0,r?r.calcTransformMatrix():void 0),size:a}}{const r=i.getRelativeCenterPoint().transform(s.calcOwnMatrix(),!0);if(this.shouldPerformLayout(t)){const{center:s=new ot,correction:i=new ot}=this.calcBoundingBox(e,t)||{};return{center:s.add(r),correction:i.subtract(r),size:a}}return{center:s.getRelativeCenterPoint().add(r),size:a}}}}t(Mo,\"type\",\"clip-path\"),tt.setClass(Mo);class Po extends Cr{getInitialSize(t,e){let{target:s}=t,{size:i}=e;return new ot(s.width||i.x,s.height||i.y)}}t(Po,\"type\",\"fixed\"),tt.setClass(Po);class Eo extends wr{subscribeTargets(t){const e=t.target;t.targets.reduce((t,e)=>(e.parent&&t.add(e.parent),t),new Set).forEach(t=>{t.layoutManager.subscribeTargets({target:t,targets:[e]})})}unsubscribeTargets(t){const e=t.target,s=e.getObjects();t.targets.reduce((t,e)=>(e.parent&&t.add(e.parent),t),new Set).forEach(t=>{!s.some(e=>e.parent===t)&&t.layoutManager.unsubscribeTargets({target:t,targets:[e]})})}}class Ao extends Or{static getDefaults(){return{...super.getDefaults(),...Ao.ownDefaults}}constructor(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};super(),Object.assign(this,Ao.ownDefaults),this.setOptions(e);const{left:s,top:i,layoutManager:r}=e;this.groupInit(t,{left:s,top:i,layoutManager:null!=r?r:new Eo})}_shouldSetNestedCoords(){return!0}__objectSelectionMonitor(){}multiSelectAdd(){for(var t=arguments.length,e=new Array(t),s=0;s<t;s++)e[s]=arguments[s];\"selection-order\"===this.multiSelectionStacking?this.add(...e):e.forEach(t=>{const e=this._objects.findIndex(e=>e.isInFrontOf(t)),s=-1===e?this.size():e;this.insertAt(s,t)})}canEnterGroup(t){return this.getObjects().some(e=>e.isDescendantOf(t)||t.isDescendantOf(e))?(i(\"error\",\"ActiveSelection: circular object trees are not supported, this call has no effect\"),!1):super.canEnterGroup(t)}enterGroup(t,e){t.parent&&t.parent===t.group?t.parent._exitGroup(t):t.group&&t.parent!==t.group&&t.group.remove(t),this._enterGroup(t,e)}exitGroup(t,e){this._exitGroup(t,e),t.parent&&t.parent._enterGroup(t,!0)}_onAfterObjectsChange(t,e){super._onAfterObjectsChange(t,e);const s=new Set;e.forEach(t=>{const{parent:e}=t;e&&s.add(e)}),t===yr?s.forEach(t=>{t._onAfterObjectsChange(vr,e)}):s.forEach(t=>{t._set(\"dirty\",!0)})}onDeselect(){return this.removeAll(),!1}toString(){return`#<ActiveSelection: (${this.complexity()})>`}shouldCache(){return!1}isOnACache(){return!1}_renderControls(t,e,s){t.save(),t.globalAlpha=this.isMoving?this.borderOpacityWhenMoving:1;const i={hasControls:!1,...s,forActiveSelection:!0};for(let e=0;e<this._objects.length;e++)this._objects[e]._renderControls(t,i);super._renderControls(t,e),t.restore()}}t(Ao,\"type\",\"ActiveSelection\"),t(Ao,\"ownDefaults\",{multiSelectionStacking:\"canvas-stacking\"}),tt.setClass(Ao),tt.setClass(Ao,\"activeSelection\");class jo{constructor(){t(this,\"resources\",{})}applyFilters(t,e,s,i,r){const n=r.getContext(\"2d\",{willReadFrequently:!0,desynchronized:!0});if(!n)return;n.drawImage(e,0,0,s,i);const o={sourceWidth:s,sourceHeight:i,imageData:n.getImageData(0,0,s,i),originalEl:e,originalImageData:n.getImageData(0,0,s,i),canvasEl:r,ctx:n,filterBackend:this};t.forEach(t=>{t.applyTo(o)});const{imageData:a}=o;return a.width===s&&a.height===i||(r.width=a.width,r.height=a.height),n.putImageData(a,0,0),o}}class Fo{constructor(){let{tileSize:e=s.textureSize}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};t(this,\"aPosition\",new Float32Array([0,0,0,1,1,0,1,1])),t(this,\"resources\",{}),this.tileSize=e,this.setupGLContext(e,e),this.captureGPUInfo()}setupGLContext(t,e){this.dispose(),this.createWebGLCanvas(t,e)}createWebGLCanvas(t,e){const s=vt({width:t,height:e}),i=s.getContext(\"webgl\",{alpha:!0,premultipliedAlpha:!1,depth:!1,stencil:!1,antialias:!1});i&&(i.clearColor(0,0,0,0),this.canvas=s,this.gl=i)}applyFilters(t,e,s,i,r,n){const o=this.gl,a=r.getContext(\"2d\");if(!o||!a)return;let h;n&&(h=this.getCachedTexture(n,e));const l={originalWidth:e.width||e.naturalWidth||0,originalHeight:e.height||e.naturalHeight||0,sourceWidth:s,sourceHeight:i,destinationWidth:s,destinationHeight:i,context:o,sourceTexture:this.createTexture(o,s,i,h?void 0:e),targetTexture:this.createTexture(o,s,i),originalTexture:h||this.createTexture(o,s,i,h?void 0:e),passes:t.length,webgl:!0,aPosition:this.aPosition,programCache:this.programCache,pass:0,filterBackend:this,targetCanvas:r},c=o.createFramebuffer();return o.bindFramebuffer(o.FRAMEBUFFER,c),t.forEach(t=>{t&&t.applyTo(l)}),function(t){const e=t.targetCanvas,s=e.width,i=e.height,r=t.destinationWidth,n=t.destinationHeight;s===r&&i===n||(e.width=r,e.height=n)}(l),this.copyGLTo2D(o,l),o.bindTexture(o.TEXTURE_2D,null),o.deleteTexture(l.sourceTexture),o.deleteTexture(l.targetTexture),o.deleteFramebuffer(c),a.setTransform(1,0,0,1,0,0),l}dispose(){this.canvas&&(this.canvas=null,this.gl=null),this.clearWebGLCaches()}clearWebGLCaches(){this.programCache={},this.textureCache={}}createTexture(t,e,s,i,r){const{NEAREST:n,TEXTURE_2D:o,RGBA:a,UNSIGNED_BYTE:h,CLAMP_TO_EDGE:l,TEXTURE_MAG_FILTER:c,TEXTURE_MIN_FILTER:u,TEXTURE_WRAP_S:d,TEXTURE_WRAP_T:g}=t,f=t.createTexture();return t.bindTexture(o,f),t.texParameteri(o,c,r||n),t.texParameteri(o,u,r||n),t.texParameteri(o,d,l),t.texParameteri(o,g,l),i?t.texImage2D(o,0,a,a,h,i):t.texImage2D(o,0,a,e,s,0,a,h,null),f}getCachedTexture(t,e,s){const{textureCache:i}=this;if(i[t])return i[t];{const r=this.createTexture(this.gl,e.width,e.height,e,s);return r&&(i[t]=r),r}}evictCachesForKey(t){this.textureCache[t]&&(this.gl.deleteTexture(this.textureCache[t]),delete this.textureCache[t])}copyGLTo2D(t,e){const s=t.canvas,i=e.targetCanvas,r=i.getContext(\"2d\");if(!r)return;r.translate(0,i.height),r.scale(1,-1);const n=s.height-i.height;r.drawImage(s,0,n,i.width,i.height,0,0,i.width,i.height)}copyGLTo2DPutImageData(t,e){const s=e.targetCanvas.getContext(\"2d\"),i=e.destinationWidth,r=e.destinationHeight,n=i*r*4;if(!s)return;const o=new Uint8Array(this.imageBuffer,0,n),a=new Uint8ClampedArray(this.imageBuffer,0,n);t.readPixels(0,0,i,r,t.RGBA,t.UNSIGNED_BYTE,o);const h=new ImageData(a,i,r);s.putImageData(h,0,0)}captureGPUInfo(){if(this.gpuInfo)return this.gpuInfo;const t=this.gl,e={renderer:\"\",vendor:\"\"};if(!t)return e;const s=t.getExtension(\"WEBGL_debug_renderer_info\");if(s){const i=t.getParameter(s.UNMASKED_RENDERER_WEBGL),r=t.getParameter(s.UNMASKED_VENDOR_WEBGL);i&&(e.renderer=i.toLowerCase()),r&&(e.vendor=r.toLowerCase())}return this.gpuInfo=e,e}}let Lo;function Bo(){const{WebGLProbe:t}=u();return t.queryWebGL(pt()),s.enableGLFiltering&&t.isSupported(s.textureSize)?new Fo({tileSize:s.textureSize}):new jo}function Ro(){return!Lo&&(!(arguments.length>0&&void 0!==arguments[0])||arguments[0])&&(Lo=Bo()),Lo}function Io(t){Lo=t}const $o=[\"cropX\",\"cropY\"];class Xo extends ji{static getDefaults(){return{...super.getDefaults(),...Xo.ownDefaults}}constructor(e,s){super(),t(this,\"_lastScaleX\",1),t(this,\"_lastScaleY\",1),t(this,\"_filterScalingX\",1),t(this,\"_filterScalingY\",1),this.filters=[],Object.assign(this,Xo.ownDefaults),this.setOptions(s),this.cacheKey=`texture${ft()}`,this.setElement(\"string\"==typeof e?(this.canvas&&qt(this.canvas.getElement())||d()).getElementById(e):e,s)}getElement(){return this._element}setElement(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.removeTexture(this.cacheKey),this.removeTexture(`${this.cacheKey}_filtered`),this._element=t,this._originalElement=t,this._setWidthHeight(e),0!==this.filters.length&&this.applyFilters(),this.resizeFilter&&this.applyResizeFilters()}removeTexture(t){const e=Ro(!1);e instanceof Fo&&e.evictCachesForKey(t)}dispose(){super.dispose(),this.removeTexture(this.cacheKey),this.removeTexture(`${this.cacheKey}_filtered`),this._cacheContext=null,[\"_originalElement\",\"_element\",\"_filteredEl\",\"_cacheCanvas\"].forEach(t=>{const e=this[t];e&&u().dispose(e),this[t]=void 0})}getCrossOrigin(){return this._originalElement&&(this._originalElement.crossOrigin||null)}getOriginalSize(){const t=this.getElement();return t?{width:t.naturalWidth||t.width,height:t.naturalHeight||t.height}:{width:0,height:0}}_stroke(t){if(!this.stroke||0===this.strokeWidth)return;const e=this.width/2,s=this.height/2;t.beginPath(),t.moveTo(-e,-s),t.lineTo(e,-s),t.lineTo(e,s),t.lineTo(-e,s),t.lineTo(-e,-s),t.closePath()}toObject(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];const e=[];return this.filters.forEach(t=>{t&&e.push(t.toObject())}),{...super.toObject([...$o,...t]),src:this.getSrc(),crossOrigin:this.getCrossOrigin(),filters:e,...this.resizeFilter?{resizeFilter:this.resizeFilter.toObject()}:{}}}hasCrop(){return!!this.cropX||!!this.cropY||this.width<this._element.width||this.height<this._element.height}_toSVG(){const t=[],e=this._element,s=-this.width/2,i=-this.height/2;let r=[],n=[],o=\"\",a=\"\";if(!e)return[];if(this.hasCrop()){const t=ft();r.push('<clipPath id=\"imageCrop_'+t+'\">\\n','\\t<rect x=\"'+s+'\" y=\"'+i+'\" width=\"'+se(this.width)+'\" height=\"'+se(this.height)+'\" />\\n',\"</clipPath>\\n\"),o=' clip-path=\"url(#imageCrop_'+t+')\" '}if(this.imageSmoothing||(a=' image-rendering=\"optimizeSpeed\"'),t.push(\"\\t<image \",\"COMMON_PARTS\",`xlink:href=\"${se(this.getSrc(!0))}\" x=\"${s-this.cropX}\" y=\"${i-this.cropY}\" width=\"${e.width||e.naturalWidth}\" height=\"${e.height||e.naturalHeight}\"${a}${o}></image>\\n`),this.stroke||this.strokeDashArray){const t=this.fill;this.fill=null,n=[`\\t<rect x=\"${s}\" y=\"${i}\" width=\"${se(this.width)}\" height=\"${se(this.height)}\" style=\"${this.getSvgStyles()}\" />\\n`],this.fill=t}return r=this.paintFirst!==H?r.concat(n,t):r.concat(t,n),r}getSrc(t){const e=t?this._element:this._originalElement;return e?e.toDataURL?e.toDataURL():this.srcFromAttribute?e.getAttribute(\"src\")||\"\":e.src:this.src||\"\"}getSvgSrc(t){return this.getSrc(t)}setSrc(t){let{crossOrigin:e,signal:s}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Rt(t,{crossOrigin:e,signal:s}).then(t=>{void 0!==e&&this.set({crossOrigin:e}),this.setElement(t)})}toString(){return`#<Image: { src: \"${this.getSrc()}\" }>`}applyResizeFilters(){const t=this.resizeFilter,e=this.minimumScaleTrigger,s=this.getTotalObjectScaling(),i=s.x,r=s.y,n=this._filteredEl||this._originalElement;if(this.group&&this.set(\"dirty\",!0),!t||i>e&&r>e)return this._element=n,this._filterScalingX=1,this._filterScalingY=1,this._lastScaleX=i,void(this._lastScaleY=r);const o=vt(n),{width:a,height:h}=n;this._element=o,this._lastScaleX=t.scaleX=i,this._lastScaleY=t.scaleY=r,Ro().applyFilters([t],n,a,h,this._element),this._filterScalingX=o.width/this._originalElement.width,this._filterScalingY=o.height/this._originalElement.height}applyFilters(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.filters||[];if(t=t.filter(t=>t&&!t.isNeutralState()),this.set(\"dirty\",!0),this.removeTexture(`${this.cacheKey}_filtered`),0===t.length)return this._element=this._originalElement,this._filteredEl=void 0,this._filterScalingX=1,void(this._filterScalingY=1);const e=this._originalElement,s=e.naturalWidth||e.width,i=e.naturalHeight||e.height;if(this._element===this._originalElement){const t=vt({width:s,height:i});this._element=t,this._filteredEl=t}else this._filteredEl&&(this._element=this._filteredEl,this._filteredEl.getContext(\"2d\").clearRect(0,0,s,i),this._lastScaleX=1,this._lastScaleY=1);Ro().applyFilters(t,this._originalElement,s,i,this._element,this.cacheKey),this._originalElement.width===this._element.width&&this._originalElement.height===this._element.height||(this._filterScalingX=this._element.width/this._originalElement.width,this._filterScalingY=this._element.height/this._originalElement.height)}_render(t){t.imageSmoothingEnabled=this.imageSmoothing,!0!==this.isMoving&&this.resizeFilter&&this._needsResize()&&this.applyResizeFilters(),this._stroke(t),this._renderPaintInOrder(t)}drawCacheOnCanvas(t){t.imageSmoothingEnabled=this.imageSmoothing,super.drawCacheOnCanvas(t)}shouldCache(){return this.needsItsOwnCache()}_renderFill(t){const e=this._element;if(!e)return;const s=this._filterScalingX,i=this._filterScalingY,r=this.width,n=this.height,o=Math.max(this.cropX,0),a=Math.max(this.cropY,0),h=e.naturalWidth||e.width,l=e.naturalHeight||e.height,c=o*s,u=a*i,d=Math.min(r*s,h-c),g=Math.min(n*i,l-u),f=-r/2,p=-n/2,m=Math.min(r,h/s-o),v=Math.min(n,l/i-a);e&&t.drawImage(e,c,u,d,g,f,p,m,v)}_needsResize(){const t=this.getTotalObjectScaling();return t.x!==this._lastScaleX||t.y!==this._lastScaleY}_resetWidthHeight(){this.set(this.getOriginalSize())}_setWidthHeight(){let{width:t,height:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const s=this.getOriginalSize();this.width=t||s.width,this.height=e||s.height}parsePreserveAspectRatioAttribute(){const t=Ze(this.preserveAspectRatio||\"\"),e=this.width,s=this.height,i={width:e,height:s};let r,n=this._element.width,o=this._element.height,a=1,h=1,l=0,c=0,u=0,d=0;return!t||t.alignX===P&&t.alignY===P?(a=e/n,h=s/o):(\"meet\"===t.meetOrSlice&&(a=h=kr(this._element,i),r=(e-n*a)/2,\"Min\"===t.alignX&&(l=-r),\"Max\"===t.alignX&&(l=r),r=(s-o*h)/2,\"Min\"===t.alignY&&(c=-r),\"Max\"===t.alignY&&(c=r)),\"slice\"===t.meetOrSlice&&(a=h=Dr(this._element,i),r=n-e/a,\"Mid\"===t.alignX&&(u=r/2),\"Max\"===t.alignX&&(u=r),r=o-s/h,\"Mid\"===t.alignY&&(d=r/2),\"Max\"===t.alignY&&(d=r),n=e/a,o=s/h)),{width:n,height:o,scaleX:a,scaleY:h,offsetLeft:l,offsetTop:c,cropX:u,cropY:d}}static fromObject(t,e){let{filters:s,resizeFilter:i,src:r,crossOrigin:n,type:o,...a}=t;return Promise.all([Rt(r,{...e,crossOrigin:n}),s&&It(s,e),i?It([i],e):[],$t(a,e)]).then(t=>{let[e,s=[],[i],n={}]=t;return new this(e,{...a,src:r,filters:s,resizeFilter:i,...n})})}static fromURL(t){let{crossOrigin:e=null,signal:s}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=arguments.length>2?arguments[2]:void 0;return Rt(t,{crossOrigin:e,signal:s}).then(t=>new this(t,i))}static async fromElement(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},s=arguments.length>2?arguments[2]:void 0;const r=gr(t,this.ATTRIBUTE_NAMES,s);return this.fromURL(r[\"xlink:href\"]||r.href,e,r).catch(t=>(i(\"log\",\"Unable to parse Image\",t),null))}}function Yo(t){if(!bs.test(t.nodeName))return{};const e=t.getAttribute(\"viewBox\");let s,i,r=1,n=1,o=0,a=0;const h=t.getAttribute(\"width\"),l=t.getAttribute(\"height\"),c=t.getAttribute(\"x\")||0,u=t.getAttribute(\"y\")||0,d=!(e&&ws.test(e)),g=!h||!l||\"100%\"===h||\"100%\"===l;let f=\"\",p=0,m=0;if(d&&(c||u)&&t.parentNode&&\"#document\"!==t.parentNode.nodeName&&(f=\" translate(\"+Qe(c||\"0\")+\" \"+Qe(u||\"0\")+\") \",s=(t.getAttribute(\"transform\")||\"\")+f,t.setAttribute(\"transform\",s),t.removeAttribute(\"x\"),t.removeAttribute(\"y\")),d&&g)return{width:0,height:0};const v={width:0,height:0};if(d)return v.width=Qe(h),v.height=Qe(l),v;const y=e.match(ws);o=-parseFloat(y[1]),a=-parseFloat(y[2]);const _=parseFloat(y[3]),x=parseFloat(y[4]);v.minX=o,v.minY=a,v.viewBoxWidth=_,v.viewBoxHeight=x,g?(v.width=_,v.height=x):(v.width=Qe(h),v.height=Qe(l),r=v.width/_,n=v.height/x);const C=Ze(t.getAttribute(\"preserveAspectRatio\")||\"\");if(C.alignX!==P&&(\"meet\"===C.meetOrSlice&&(n=r=r>n?n:r),\"slice\"===C.meetOrSlice&&(n=r=r>n?r:n),p=v.width-_*r,m=v.height-x*r,\"Mid\"===C.alignX&&(p/=2),\"Mid\"===C.alignY&&(m/=2),\"Min\"===C.alignX&&(p=0),\"Min\"===C.alignY&&(m=0)),1===r&&1===n&&0===o&&0===a&&0===c&&0===u)return v;if((c||u)&&\"#document\"!==t.parentNode.nodeName&&(f=\" translate(\"+Qe(c||\"0\")+\" \"+Qe(u||\"0\")+\") \"),s=f+\" matrix(\"+r+\" 0 0 \"+n+\" \"+(o*r+p)+\" \"+(a*n+m)+\") \",\"svg\"===t.nodeName){for(i=t.ownerDocument.createElementNS(ms,\"g\");t.firstChild;)i.appendChild(t.firstChild);t.appendChild(i)}else i=t,i.removeAttribute(\"x\"),i.removeAttribute(\"y\"),s=i.getAttribute(\"transform\")+s;return i.setAttribute(\"transform\",s),v}t(Xo,\"type\",\"Image\"),t(Xo,\"cacheProperties\",[...Ps,...$o]),t(Xo,\"ownDefaults\",{strokeWidth:0,srcFromAttribute:!1,minimumScaleTrigger:.5,cropX:0,cropY:0,imageSmoothing:!0}),t(Xo,\"ATTRIBUTE_NAMES\",[...zi,\"x\",\"y\",\"width\",\"height\",\"preserveAspectRatio\",\"xlink:href\",\"href\",\"crossOrigin\",\"image-rendering\"]),tt.setClass(Xo),tt.setSVGClass(Xo);const Wo=t=>t.tagName.replace(\"svg:\",\"\"),Vo=ss([\"pattern\",\"defs\",\"symbol\",\"metadata\",\"clipPath\",\"mask\",\"desc\"]);function zo(t,e){let s,i,r,n,o=[];for(r=0,n=e.length;r<n;r++)s=e[r],i=t.getElementsByTagNameNS(\"http://www.w3.org/2000/svg\",s),o=o.concat(Array.from(i));return o}const Go=[\"gradientTransform\",\"x1\",\"x2\",\"y1\",\"y2\",\"gradientUnits\",\"cx\",\"cy\",\"r\",\"fx\",\"fy\"],Ho=\"xlink:href\";function No(t,e){var s;const i=(null===(s=e.getAttribute(Ho))||void 0===s?void 0:s.slice(1))||\"\",r=t.getElementById(i);if(r&&r.getAttribute(Ho)&&No(t,r),r&&(Go.forEach(t=>{const s=r.getAttribute(t);!e.hasAttribute(t)&&s&&e.setAttribute(t,s)}),!e.children.length)){const t=r.cloneNode(!0);for(;t.firstChild;)e.appendChild(t.firstChild)}e.removeAttribute(Ho)}const Uo=[\"linearGradient\",\"radialGradient\",\"svg:linearGradient\",\"svg:radialGradient\"];const qo=t=>tt.getSVGClass(Wo(t).toLowerCase());class Ko{constructor(t,e,s,i,r){this.elements=t,this.options=e,this.reviver=s,this.regexUrl=/^url\\(['\"]?#([^'\"]+)['\"]?\\)/g,this.doc=i,this.clipPaths=r,this.gradientDefs=function(t){const e=zo(t,Uo),s={};let i=e.length;for(;i--;){const r=e[i];r.getAttribute(\"xlink:href\")&&No(t,r);const n=r.getAttribute(\"id\");n&&(s[n]=r)}return s}(i),this.cssRules=function(t){const e=t.getElementsByTagName(\"style\"),s={};for(let t=0;t<e.length;t++){const i=(e[t].textContent||\"\").replace(/\\/\\*[\\s\\S]*?\\*\\//g,\"\");\"\"!==i.trim()&&i.split(\"}\").filter((t,e,s)=>s.length>1&&t.trim()).forEach(t=>{if((t.match(/{/g)||[]).length>1&&t.trim().startsWith(\"@\"))return;const e=t.split(\"{\"),i={},r=e[1].trim().split(\";\").filter(function(t){return t.trim()});for(let t=0;t<r.length;t++){const e=r[t].split(\":\"),s=e[0].trim(),n=e[1].trim();i[s]=n}(t=e[0].trim()).split(\",\").forEach(t=>{\"\"!==(t=t.replace(/^svg/i,\"\").trim())&&(s[t]={...s[t]||{},...i})})})}return s}(i)}parse(){return Promise.all(this.elements.map(t=>this.createObject(t)))}async createObject(t){const e=qo(t);if(e){const s=await e.fromElement(t,this.options,this.cssRules);return this.resolveGradient(s,t,H),this.resolveGradient(s,t,N),s instanceof Xo&&s._originalElement?nn(s,s.parsePreserveAspectRatioAttribute()):nn(s),await this.resolveClipPath(s,t),this.reviver&&this.reviver(t,s),s}return null}extractPropertyDefinition(t,e,s){const i=t[e],r=this.regexUrl;if(!r.test(i))return;r.lastIndex=0;const n=r.exec(i)[1];return r.lastIndex=0,s[n]}resolveGradient(t,e,s){const i=this.extractPropertyDefinition(t,s,this.gradientDefs);if(i){const r=e.getAttribute(s+\"-opacity\"),n=Vn.fromElement(i,t,{...this.options,opacity:r});t.set(s,n)}}async resolveClipPath(t,e,s){const i=this.extractPropertyDefinition(t,\"clipPath\",this.clipPaths);if(i){const r=wt(t.calcTransformMatrix()),n=i[0].parentElement;let o=e;for(;!s&&o.parentElement&&o.getAttribute(\"clip-path\")!==t.clipPath;)o=o.parentElement;o.parentElement.appendChild(n);const a=hr(`${o.getAttribute(\"transform\")||\"\"} ${n.getAttribute(\"originalTransform\")||\"\"}`);n.setAttribute(\"transform\",`matrix(${a.join(\",\")})`);const h=await Promise.all(i.map(t=>qo(t).fromElement(t,this.options,this.cssRules).then(t=>(nn(t),t.fillRule=t.clipRule,delete t.clipRule,t)))),l=1===h.length?h[0]:new Or(h),c=Tt(r,l.calcTransformMatrix());l.clipPath&&await this.resolveClipPath(l,o,n.getAttribute(\"clip-path\")?o:void 0);const{scaleX:u,scaleY:d,angle:g,skewX:f,translateX:p,translateY:m}=Dt(c);l.set({flipX:!1,flipY:!1}),l.set({scaleX:u,scaleY:d,angle:g,skewX:f,skewY:0}),l.setPositionByOrigin(new ot(p,m),T,T),t.clipPath=l}else delete t.clipPath}}const Jo=t=>Cs.test(Wo(t));async function Qo(t,e){let{crossOrigin:s,signal:r}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(r&&r.aborted)return i(\"log\",new n(\"parseSVGDocument\")),{objects:[],elements:[],options:{},allElements:[]};const o=t.documentElement;!function(t){const e=zo(t,[\"use\",\"svg:use\"]),s=[\"x\",\"y\",\"xlink:href\",\"href\",\"transform\"];for(const i of e){const e=i.attributes,r={};for(const t of e)t.value&&(r[t.name]=t.value);const n=(r[\"xlink:href\"]||r.href||\"\").slice(1);if(\"\"===n)return;const o=t.getElementById(n);if(null===o)return;let a=o.cloneNode(!0);const h=a.attributes,l={};for(const t of h)t.value&&(l[t.name]=t.value);const{x:c=0,y:u=0,transform:d=\"\"}=r,g=`${d} ${l.transform||\"\"} translate(${c}, ${u})`;if(Yo(a),/^svg$/i.test(a.nodeName)){const t=a.ownerDocument.createElementNS(ms,\"g\");Object.entries(l).forEach(e=>{let[s,i]=e;return t.setAttributeNS(ms,s,i)}),t.append(...a.childNodes),a=t}for(const t of e){if(!t)continue;const{name:e,value:i}=t;if(!s.includes(e))if(\"style\"===e){const t={};cr(i,t),Object.entries(l).forEach(e=>{let[s,i]=e;t[s]=i}),cr(l.style||\"\",t);const s=Object.entries(t).map(t=>t.join(\":\")).join(\";\");a.setAttribute(e,s)}else!l[e]&&a.setAttribute(e,i)}a.setAttribute(\"transform\",g),a.setAttribute(\"instantiated_by_use\",\"1\"),a.removeAttribute(\"id\"),i.parentNode.replaceChild(a,i)}}(t);const a=Array.from(o.getElementsByTagName(\"*\")),h={...Yo(o),crossOrigin:s,signal:r},l=a.filter(t=>(Yo(t),Jo(t)&&!function(t){let e=t;for(;e&&(e=e.parentElement);)if(e&&e.nodeName&&Vo.test(Wo(e))&&!e.getAttribute(\"instantiated_by_use\"))return!0;return!1}(t)));if(!l||l&&!l.length)return{objects:[],elements:[],options:{},allElements:[],options:h,allElements:a};const c={};a.filter(t=>\"clipPath\"===Wo(t)).forEach(t=>{t.setAttribute(\"originalTransform\",t.getAttribute(\"transform\")||\"\");const e=t.getAttribute(\"id\");c[e]=Array.from(t.getElementsByTagName(\"*\")).filter(t=>Jo(t))});const u=new Ko(l,h,e,t,c);return{objects:await u.parse(),elements:l,options:h,allElements:a}}function Zo(t,e,s){return Qo((new(g().DOMParser)).parseFromString(t.trim(),\"text/xml\"),e,s)}function ta(t,e){let s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return fetch(t.replace(/^\\n\\s*/,\"\").trim(),{signal:s.signal}).then(t=>{if(!t.ok)throw new r(`HTTP error! status: ${t.status}`);return t.text()}).then(t=>Zo(t,e,s)).catch(()=>({objects:[],elements:[],options:{},allElements:[]}))}const ea=t=>void 0!==t.webgl,sa=(t,e)=>{const s=vt({width:t,height:e}),i=pt().getContext(\"webgl\"),r={imageBuffer:new ArrayBuffer(t*e*4)},n={destinationWidth:t,destinationHeight:e,targetCanvas:s};let o;o=g().performance.now(),Fo.prototype.copyGLTo2D.call(r,i,n);const a=g().performance.now()-o;o=g().performance.now(),Fo.prototype.copyGLTo2DPutImageData.call(r,i,n);return a>g().performance.now()-o},ia=\"precision highp float\",ra=`\\n ${ia};\\n varying vec2 vTexCoord;\\n uniform sampler2D uTexture;\\n void main() {\\n gl_FragColor = texture2D(uTexture, vTexCoord);\\n }`,na=new RegExp(ia,\"g\");class oa{get type(){return this.constructor.type}constructor(){let{type:t,...e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};Object.assign(this,this.constructor.defaults,e)}getFragmentSource(){return ra}getVertexSource(){return\"\\n attribute vec2 aPosition;\\n varying vec2 vTexCoord;\\n void main() {\\n vTexCoord = aPosition;\\n gl_Position = vec4(aPosition * 2.0 - 1.0, 0.0, 1.0);\\n }\"}createProgram(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.getFragmentSource(),s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.getVertexSource();const{WebGLProbe:{GLPrecision:i=\"highp\"}}=u();\"highp\"!==i&&(e=e.replace(na,ia.replace(\"highp\",i)));const n=t.createShader(t.VERTEX_SHADER),o=t.createShader(t.FRAGMENT_SHADER),a=t.createProgram();if(!n||!o||!a)throw new r(\"Vertex, fragment shader or program creation error\");if(t.shaderSource(n,s),t.compileShader(n),!t.getShaderParameter(n,t.COMPILE_STATUS))throw new r(`Vertex shader compile error for ${this.type}: ${t.getShaderInfoLog(n)}`);if(t.shaderSource(o,e),t.compileShader(o),!t.getShaderParameter(o,t.COMPILE_STATUS))throw new r(`Fragment shader compile error for ${this.type}: ${t.getShaderInfoLog(o)}`);if(t.attachShader(a,n),t.attachShader(a,o),t.linkProgram(a),!t.getProgramParameter(a,t.LINK_STATUS))throw new r(`Shader link error for \"${this.type}\" ${t.getProgramInfoLog(a)}`);const h=this.getUniformLocations(t,a)||{};return h.uStepW=t.getUniformLocation(a,\"uStepW\"),h.uStepH=t.getUniformLocation(a,\"uStepH\"),{program:a,attributeLocations:this.getAttributeLocations(t,a),uniformLocations:h}}getAttributeLocations(t,e){return{aPosition:t.getAttribLocation(e,\"aPosition\")}}getUniformLocations(t,e){const s=this.constructor.uniformLocations,i={};for(let r=0;r<s.length;r++)i[s[r]]=t.getUniformLocation(e,s[r]);return i}sendAttributeData(t,e,s){const i=e.aPosition,r=t.createBuffer();t.bindBuffer(t.ARRAY_BUFFER,r),t.enableVertexAttribArray(i),t.vertexAttribPointer(i,2,t.FLOAT,!1,0,0),t.bufferData(t.ARRAY_BUFFER,s,t.STATIC_DRAW)}_setupFrameBuffer(t){const e=t.context;if(t.passes>1){const s=t.destinationWidth,i=t.destinationHeight;t.sourceWidth===s&&t.sourceHeight===i||(e.deleteTexture(t.targetTexture),t.targetTexture=t.filterBackend.createTexture(e,s,i)),e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,t.targetTexture,0)}else e.bindFramebuffer(e.FRAMEBUFFER,null),e.finish()}_swapTextures(t){t.passes--,t.pass++;const e=t.targetTexture;t.targetTexture=t.sourceTexture,t.sourceTexture=e}isNeutralState(t){return!1}applyTo(t){ea(t)?(this._setupFrameBuffer(t),this.applyToWebGL(t),this._swapTextures(t)):this.applyTo2d(t)}applyTo2d(t){}getCacheKey(){return this.type}retrieveShader(t){const e=this.getCacheKey();return t.programCache[e]||(t.programCache[e]=this.createProgram(t.context)),t.programCache[e]}applyToWebGL(t){const e=t.context,s=this.retrieveShader(t);0===t.pass&&t.originalTexture?e.bindTexture(e.TEXTURE_2D,t.originalTexture):e.bindTexture(e.TEXTURE_2D,t.sourceTexture),e.useProgram(s.program),this.sendAttributeData(e,s.attributeLocations,t.aPosition),e.uniform1f(s.uniformLocations.uStepW,1/t.sourceWidth),e.uniform1f(s.uniformLocations.uStepH,1/t.sourceHeight),this.sendUniformData(e,s.uniformLocations),e.viewport(0,0,t.destinationWidth,t.destinationHeight),e.drawArrays(e.TRIANGLE_STRIP,0,4)}bindAdditionalTexture(t,e,s){t.activeTexture(s),t.bindTexture(t.TEXTURE_2D,e),t.activeTexture(t.TEXTURE0)}unbindAdditionalTexture(t,e){t.activeTexture(e),t.bindTexture(t.TEXTURE_2D,null),t.activeTexture(t.TEXTURE0)}sendUniformData(t,e){}createHelpLayer(t){if(!t.helpLayer){const{sourceWidth:e,sourceHeight:s}=t,i=vt({width:e,height:s});t.helpLayer=i}}toObject(){const t=Object.keys(this.constructor.defaults||{});return{type:this.type,...t.reduce((t,e)=>(t[e]=this[e],t),{})}}toJSON(){return this.toObject()}static async fromObject(t,e){let{type:s,...i}=t;return new this(i)}}t(oa,\"type\",\"BaseFilter\"),t(oa,\"uniformLocations\",[]);const aa={multiply:\"gl_FragColor.rgb *= uColor.rgb;\\n\",screen:\"gl_FragColor.rgb = 1.0 - (1.0 - gl_FragColor.rgb) * (1.0 - uColor.rgb);\\n\",add:\"gl_FragColor.rgb += uColor.rgb;\\n\",difference:\"gl_FragColor.rgb = abs(gl_FragColor.rgb - uColor.rgb);\\n\",subtract:\"gl_FragColor.rgb -= uColor.rgb;\\n\",lighten:\"gl_FragColor.rgb = max(gl_FragColor.rgb, uColor.rgb);\\n\",darken:\"gl_FragColor.rgb = min(gl_FragColor.rgb, uColor.rgb);\\n\",exclusion:\"gl_FragColor.rgb += uColor.rgb - 2.0 * (uColor.rgb * gl_FragColor.rgb);\\n\",overlay:\"\\n if (uColor.r < 0.5) {\\n gl_FragColor.r *= 2.0 * uColor.r;\\n } else {\\n gl_FragColor.r = 1.0 - 2.0 * (1.0 - gl_FragColor.r) * (1.0 - uColor.r);\\n }\\n if (uColor.g < 0.5) {\\n gl_FragColor.g *= 2.0 * uColor.g;\\n } else {\\n gl_FragColor.g = 1.0 - 2.0 * (1.0 - gl_FragColor.g) * (1.0 - uColor.g);\\n }\\n if (uColor.b < 0.5) {\\n gl_FragColor.b *= 2.0 * uColor.b;\\n } else {\\n gl_FragColor.b = 1.0 - 2.0 * (1.0 - gl_FragColor.b) * (1.0 - uColor.b);\\n }\\n \",tint:\"\\n gl_FragColor.rgb *= (1.0 - uColor.a);\\n gl_FragColor.rgb += uColor.rgb;\\n \"};class ha extends oa{getCacheKey(){return`${this.type}_${this.mode}`}getFragmentSource(){return`\\n precision highp float;\\n uniform sampler2D uTexture;\\n uniform vec4 uColor;\\n varying vec2 vTexCoord;\\n void main() {\\n vec4 color = texture2D(uTexture, vTexCoord);\\n gl_FragColor = color;\\n if (color.a > 0.0) {\\n ${aa[this.mode]}\\n }\\n }\\n `}applyTo2d(t){let{imageData:{data:e}}=t;const s=new Je(this.color).getSource(),i=this.alpha,r=s[0]*i,n=s[1]*i,o=s[2]*i,a=1-i;for(let t=0;t<e.length;t+=4){const s=e[t],i=e[t+1],h=e[t+2];let l,c,u;switch(this.mode){case\"multiply\":l=s*r/255,c=i*n/255,u=h*o/255;break;case\"screen\":l=255-(255-s)*(255-r)/255,c=255-(255-i)*(255-n)/255,u=255-(255-h)*(255-o)/255;break;case\"add\":l=s+r,c=i+n,u=h+o;break;case\"difference\":l=Math.abs(s-r),c=Math.abs(i-n),u=Math.abs(h-o);break;case\"subtract\":l=s-r,c=i-n,u=h-o;break;case\"darken\":l=Math.min(s,r),c=Math.min(i,n),u=Math.min(h,o);break;case\"lighten\":l=Math.max(s,r),c=Math.max(i,n),u=Math.max(h,o);break;case\"overlay\":l=r<128?2*s*r/255:255-2*(255-s)*(255-r)/255,c=n<128?2*i*n/255:255-2*(255-i)*(255-n)/255,u=o<128?2*h*o/255:255-2*(255-h)*(255-o)/255;break;case\"exclusion\":l=r+s-2*r*s/255,c=n+i-2*n*i/255,u=o+h-2*o*h/255;break;case\"tint\":l=r+s*a,c=n+i*a,u=o+h*a}e[t]=l,e[t+1]=c,e[t+2]=u}}sendUniformData(t,e){const s=new Je(this.color).getSource();s[0]=this.alpha*s[0]/255,s[1]=this.alpha*s[1]/255,s[2]=this.alpha*s[2]/255,s[3]=this.alpha,t.uniform4fv(e.uColor,s)}}t(ha,\"defaults\",{color:\"#F95C63\",mode:\"multiply\",alpha:1}),t(ha,\"type\",\"BlendColor\"),t(ha,\"uniformLocations\",[\"uColor\"]),tt.setClass(ha);const la={multiply:\"\\n precision highp float;\\n uniform sampler2D uTexture;\\n uniform sampler2D uImage;\\n uniform vec4 uColor;\\n varying vec2 vTexCoord;\\n varying vec2 vTexCoord2;\\n void main() {\\n vec4 color = texture2D(uTexture, vTexCoord);\\n vec4 color2 = texture2D(uImage, vTexCoord2);\\n color.rgba *= color2.rgba;\\n gl_FragColor = color;\\n }\\n \",mask:\"\\n precision highp float;\\n uniform sampler2D uTexture;\\n uniform sampler2D uImage;\\n uniform vec4 uColor;\\n varying vec2 vTexCoord;\\n varying vec2 vTexCoord2;\\n void main() {\\n vec4 color = texture2D(uTexture, vTexCoord);\\n vec4 color2 = texture2D(uImage, vTexCoord2);\\n color.a = color2.a;\\n gl_FragColor = color;\\n }\\n \"};class ca extends oa{getCacheKey(){return`${this.type}_${this.mode}`}getFragmentSource(){return la[this.mode]}getVertexSource(){return\"\\n attribute vec2 aPosition;\\n varying vec2 vTexCoord;\\n varying vec2 vTexCoord2;\\n uniform mat3 uTransformMatrix;\\n void main() {\\n vTexCoord = aPosition;\\n vTexCoord2 = (uTransformMatrix * vec3(aPosition, 1.0)).xy;\\n gl_Position = vec4(aPosition * 2.0 - 1.0, 0.0, 1.0);\\n }\\n \"}applyToWebGL(t){const e=t.context,s=this.createTexture(t.filterBackend,this.image);this.bindAdditionalTexture(e,s,e.TEXTURE1),super.applyToWebGL(t),this.unbindAdditionalTexture(e,e.TEXTURE1)}createTexture(t,e){return t.getCachedTexture(e.cacheKey,e.getElement())}calculateMatrix(){const t=this.image,{width:e,height:s}=t.getElement();return[1/t.scaleX,0,0,0,1/t.scaleY,0,-t.left/e,-t.top/s,1]}applyTo2d(t){let{imageData:{data:e,width:s,height:i},filterBackend:{resources:r}}=t;const n=this.image;r.blendImage||(r.blendImage=pt());const o=r.blendImage,a=o.getContext(\"2d\");o.width!==s||o.height!==i?(o.width=s,o.height=i):a.clearRect(0,0,s,i),a.setTransform(n.scaleX,0,0,n.scaleY,n.left,n.top),a.drawImage(n.getElement(),0,0,s,i);const h=a.getImageData(0,0,s,i).data;for(let t=0;t<e.length;t+=4){const s=e[t],i=e[t+1],r=e[t+2],n=e[t+3],o=h[t],a=h[t+1],l=h[t+2],c=h[t+3];switch(this.mode){case\"multiply\":e[t]=s*o/255,e[t+1]=i*a/255,e[t+2]=r*l/255,e[t+3]=n*c/255;break;case\"mask\":e[t+3]=c}}}sendUniformData(t,e){const s=this.calculateMatrix();t.uniform1i(e.uImage,1),t.uniformMatrix3fv(e.uTransformMatrix,!1,s)}toObject(){return{...super.toObject(),image:this.image&&this.image.toObject()}}static async fromObject(t,e){let{type:s,image:i,...r}=t;return Xo.fromObject(i,e).then(t=>new this({...r,image:t}))}}t(ca,\"type\",\"BlendImage\"),t(ca,\"defaults\",{mode:\"multiply\",alpha:1}),t(ca,\"uniformLocations\",[\"uTransformMatrix\",\"uImage\"]),tt.setClass(ca);class ua extends oa{getFragmentSource(){return\"\\n precision highp float;\\n uniform sampler2D uTexture;\\n uniform vec2 uDelta;\\n varying vec2 vTexCoord;\\n const float nSamples = 15.0;\\n vec3 v3offset = vec3(12.9898, 78.233, 151.7182);\\n float random(vec3 scale) {\\n /* use the fragment position for a different seed per-pixel */\\n return fract(sin(dot(gl_FragCoord.xyz, scale)) * 43758.5453);\\n }\\n void main() {\\n vec4 color = vec4(0.0);\\n float totalC = 0.0;\\n float totalA = 0.0;\\n float offset = random(v3offset);\\n for (float t = -nSamples; t <= nSamples; t++) {\\n float percent = (t + offset - 0.5) / nSamples;\\n vec4 sample = texture2D(uTexture, vTexCoord + uDelta * percent);\\n float weight = 1.0 - abs(percent);\\n float alpha = weight * sample.a;\\n color.rgb += sample.rgb * alpha;\\n color.a += alpha;\\n totalA += weight;\\n totalC += alpha;\\n }\\n gl_FragColor.rgb = color.rgb / totalC;\\n gl_FragColor.a = color.a / totalA;\\n }\\n \"}applyTo(t){ea(t)?(this.aspectRatio=t.sourceWidth/t.sourceHeight,t.passes++,this._setupFrameBuffer(t),this.horizontal=!0,this.applyToWebGL(t),this._swapTextures(t),this._setupFrameBuffer(t),this.horizontal=!1,this.applyToWebGL(t),this._swapTextures(t)):this.applyTo2d(t)}applyTo2d(t){let{imageData:{data:e,width:s,height:i}}=t;this.aspectRatio=s/i,this.horizontal=!0;let r=this.getBlurValue()*s;const n=new Uint8ClampedArray(e),o=15,a=4*s;for(let t=0;t<e.length;t+=4){let s=0,i=0,h=0,l=0,c=0;const u=t-t%a,d=u+a;for(let n=-14;n<o;n++){const a=n/o,g=4*Math.floor(r*a),f=1-Math.abs(a);let p=t+g;p<u?p=u:p>d&&(p=d);const m=e[p+3]*f;s+=e[p]*m,i+=e[p+1]*m,h+=e[p+2]*m,l+=m,c+=f}n[t]=s/l,n[t+1]=i/l,n[t+2]=h/l,n[t+3]=l/c}this.horizontal=!1,r=this.getBlurValue()*i;for(let t=0;t<n.length;t+=4){let s=0,i=0,h=0,l=0,c=0;const u=t%a,d=n.length-a+u;for(let e=-14;e<o;e++){const g=e/o,f=Math.floor(r*g)*a,p=1-Math.abs(g);let m=t+f;m<u?m=u:m>d&&(m=d);const v=n[m+3]*p;s+=n[m]*v,i+=n[m+1]*v,h+=n[m+2]*v,l+=v,c+=p}e[t]=s/l,e[t+1]=i/l,e[t+2]=h/l,e[t+3]=l/c}}sendUniformData(t,e){const s=this.chooseRightDelta();t.uniform2fv(e.uDelta,s)}isNeutralState(){return 0===this.blur}getBlurValue(){let t=1;const{horizontal:e,aspectRatio:s}=this;return e?s>1&&(t=1/s):s<1&&(t=s),t*this.blur*.12}chooseRightDelta(){const t=this.getBlurValue();return this.horizontal?[t,0]:[0,t]}}t(ua,\"type\",\"Blur\"),t(ua,\"defaults\",{blur:0}),t(ua,\"uniformLocations\",[\"uDelta\"]),tt.setClass(ua);class da extends oa{getFragmentSource(){return\"\\n precision highp float;\\n uniform sampler2D uTexture;\\n uniform float uBrightness;\\n varying vec2 vTexCoord;\\n void main() {\\n vec4 color = texture2D(uTexture, vTexCoord);\\n color.rgb += uBrightness;\\n gl_FragColor = color;\\n }\\n\"}applyTo2d(t){let{imageData:{data:e}}=t;const s=Math.round(255*this.brightness);for(let t=0;t<e.length;t+=4)e[t]+=s,e[t+1]+=s,e[t+2]+=s}isNeutralState(){return 0===this.brightness}sendUniformData(t,e){t.uniform1f(e.uBrightness,this.brightness)}}t(da,\"type\",\"Brightness\"),t(da,\"defaults\",{brightness:0}),t(da,\"uniformLocations\",[\"uBrightness\"]),tt.setClass(da);const ga={matrix:[1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,1,0],colorsOnly:!0};class fa extends oa{getFragmentSource(){return\"\\n precision highp float;\\n uniform sampler2D uTexture;\\n varying vec2 vTexCoord;\\n uniform mat4 uColorMatrix;\\n uniform vec4 uConstants;\\n void main() {\\n vec4 color = texture2D(uTexture, vTexCoord);\\n color *= uColorMatrix;\\n color += uConstants;\\n gl_FragColor = color;\\n }\"}applyTo2d(t){const e=t.imageData.data,s=this.matrix,i=this.colorsOnly;for(let t=0;t<e.length;t+=4){const r=e[t],n=e[t+1],o=e[t+2];if(e[t]=r*s[0]+n*s[1]+o*s[2]+255*s[4],e[t+1]=r*s[5]+n*s[6]+o*s[7]+255*s[9],e[t+2]=r*s[10]+n*s[11]+o*s[12]+255*s[14],!i){const i=e[t+3];e[t]+=i*s[3],e[t+1]+=i*s[8],e[t+2]+=i*s[13],e[t+3]=r*s[15]+n*s[16]+o*s[17]+i*s[18]+255*s[19]}}}sendUniformData(t,e){const s=this.matrix,i=[s[0],s[1],s[2],s[3],s[5],s[6],s[7],s[8],s[10],s[11],s[12],s[13],s[15],s[16],s[17],s[18]],r=[s[4],s[9],s[14],s[19]];t.uniformMatrix4fv(e.uColorMatrix,!1,i),t.uniform4fv(e.uConstants,r)}toObject(){return{...super.toObject(),matrix:[...this.matrix]}}}function pa(e,s){var i;const r=(t(i=class extends fa{toObject(){return{type:this.type,colorsOnly:this.colorsOnly}}},\"type\",e),t(i,\"defaults\",{colorsOnly:!1,matrix:s}),i);return tt.setClass(r,e),r}t(fa,\"type\",\"ColorMatrix\"),t(fa,\"defaults\",ga),t(fa,\"uniformLocations\",[\"uColorMatrix\",\"uConstants\"]),tt.setClass(fa);const ma=pa(\"Brownie\",[.5997,.34553,-.27082,0,.186,-.0377,.86095,.15059,0,-.1449,.24113,-.07441,.44972,0,-.02965,0,0,0,1,0]),va=pa(\"Vintage\",[.62793,.32021,-.03965,0,.03784,.02578,.64411,.03259,0,.02926,.0466,-.08512,.52416,0,.02023,0,0,0,1,0]),ya=pa(\"Kodachrome\",[1.12855,-.39673,-.03992,0,.24991,-.16404,1.08352,-.05498,0,.09698,-.16786,-.56034,1.60148,0,.13972,0,0,0,1,0]),_a=pa(\"Technicolor\",[1.91252,-.85453,-.09155,0,.04624,-.30878,1.76589,-.10601,0,-.27589,-.2311,-.75018,1.84759,0,.12137,0,0,0,1,0]),xa=pa(\"Polaroid\",[1.438,-.062,-.062,0,0,-.122,1.378,-.122,0,0,-.016,-.016,1.483,0,0,0,0,0,1,0]),Ca=pa(\"Sepia\",[.393,.769,.189,0,0,.349,.686,.168,0,0,.272,.534,.131,0,0,0,0,0,1,0]),ba=pa(\"BlackWhite\",[1.5,1.5,1.5,0,-1,1.5,1.5,1.5,0,-1,1.5,1.5,1.5,0,-1,0,0,0,1,0]);class Sa extends oa{constructor(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super(t),this.subFilters=t.subFilters||[]}applyTo(t){ea(t)&&(t.passes+=this.subFilters.length-1),this.subFilters.forEach(e=>{e.applyTo(t)})}toObject(){return{type:this.type,subFilters:this.subFilters.map(t=>t.toObject())}}isNeutralState(){return!this.subFilters.some(t=>!t.isNeutralState())}static fromObject(t,e){return Promise.all((t.subFilters||[]).map(t=>tt.getClass(t.type).fromObject(t,e))).then(t=>new this({subFilters:t}))}}t(Sa,\"type\",\"Composed\"),tt.setClass(Sa);class wa extends oa{getFragmentSource(){return\"\\n precision highp float;\\n uniform sampler2D uTexture;\\n uniform float uContrast;\\n varying vec2 vTexCoord;\\n void main() {\\n vec4 color = texture2D(uTexture, vTexCoord);\\n float contrastF = 1.015 * (uContrast + 1.0) / (1.0 * (1.015 - uContrast));\\n color.rgb = contrastF * (color.rgb - 0.5) + 0.5;\\n gl_FragColor = color;\\n }\"}isNeutralState(){return 0===this.contrast}applyTo2d(t){let{imageData:{data:e}}=t;const s=Math.floor(255*this.contrast),i=259*(s+255)/(255*(259-s));for(let t=0;t<e.length;t+=4)e[t]=i*(e[t]-128)+128,e[t+1]=i*(e[t+1]-128)+128,e[t+2]=i*(e[t+2]-128)+128}sendUniformData(t,e){t.uniform1f(e.uContrast,this.contrast)}}t(wa,\"type\",\"Contrast\"),t(wa,\"defaults\",{contrast:0}),t(wa,\"uniformLocations\",[\"uContrast\"]),tt.setClass(wa);const Ta={Convolute_3_1:\"\\n precision highp float;\\n uniform sampler2D uTexture;\\n uniform float uMatrix[9];\\n uniform float uStepW;\\n uniform float uStepH;\\n varying vec2 vTexCoord;\\n void main() {\\n vec4 color = vec4(0, 0, 0, 0);\\n for (float h = 0.0; h < 3.0; h+=1.0) {\\n for (float w = 0.0; w < 3.0; w+=1.0) {\\n vec2 matrixPos = vec2(uStepW * (w - 1), uStepH * (h - 1));\\n color += texture2D(uTexture, vTexCoord + matrixPos) * uMatrix[int(h * 3.0 + w)];\\n }\\n }\\n gl_FragColor = color;\\n }\\n \",Convolute_3_0:\"\\n precision highp float;\\n uniform sampler2D uTexture;\\n uniform float uMatrix[9];\\n uniform float uStepW;\\n uniform float uStepH;\\n varying vec2 vTexCoord;\\n void main() {\\n vec4 color = vec4(0, 0, 0, 1);\\n for (float h = 0.0; h < 3.0; h+=1.0) {\\n for (float w = 0.0; w < 3.0; w+=1.0) {\\n vec2 matrixPos = vec2(uStepW * (w - 1.0), uStepH * (h - 1.0));\\n color.rgb += texture2D(uTexture, vTexCoord + matrixPos).rgb * uMatrix[int(h * 3.0 + w)];\\n }\\n }\\n float alpha = texture2D(uTexture, vTexCoord).a;\\n gl_FragColor = color;\\n gl_FragColor.a = alpha;\\n }\\n \",Convolute_5_1:\"\\n precision highp float;\\n uniform sampler2D uTexture;\\n uniform float uMatrix[25];\\n uniform float uStepW;\\n uniform float uStepH;\\n varying vec2 vTexCoord;\\n void main() {\\n vec4 color = vec4(0, 0, 0, 0);\\n for (float h = 0.0; h < 5.0; h+=1.0) {\\n for (float w = 0.0; w < 5.0; w+=1.0) {\\n vec2 matrixPos = vec2(uStepW * (w - 2.0), uStepH * (h - 2.0));\\n color += texture2D(uTexture, vTexCoord + matrixPos) * uMatrix[int(h * 5.0 + w)];\\n }\\n }\\n gl_FragColor = color;\\n }\\n \",Convolute_5_0:\"\\n precision highp float;\\n uniform sampler2D uTexture;\\n uniform float uMatrix[25];\\n uniform float uStepW;\\n uniform float uStepH;\\n varying vec2 vTexCoord;\\n void main() {\\n vec4 color = vec4(0, 0, 0, 1);\\n for (float h = 0.0; h < 5.0; h+=1.0) {\\n for (float w = 0.0; w < 5.0; w+=1.0) {\\n vec2 matrixPos = vec2(uStepW * (w - 2.0), uStepH * (h - 2.0));\\n color.rgb += texture2D(uTexture, vTexCoord + matrixPos).rgb * uMatrix[int(h * 5.0 + w)];\\n }\\n }\\n float alpha = texture2D(uTexture, vTexCoord).a;\\n gl_FragColor = color;\\n gl_FragColor.a = alpha;\\n }\\n \",Convolute_7_1:\"\\n precision highp float;\\n uniform sampler2D uTexture;\\n uniform float uMatrix[49];\\n uniform float uStepW;\\n uniform float uStepH;\\n varying vec2 vTexCoord;\\n void main() {\\n vec4 color = vec4(0, 0, 0, 0);\\n for (float h = 0.0; h < 7.0; h+=1.0) {\\n for (float w = 0.0; w < 7.0; w+=1.0) {\\n vec2 matrixPos = vec2(uStepW * (w - 3.0), uStepH * (h - 3.0));\\n color += texture2D(uTexture, vTexCoord + matrixPos) * uMatrix[int(h * 7.0 + w)];\\n }\\n }\\n gl_FragColor = color;\\n }\\n \",Convolute_7_0:\"\\n precision highp float;\\n uniform sampler2D uTexture;\\n uniform float uMatrix[49];\\n uniform float uStepW;\\n uniform float uStepH;\\n varying vec2 vTexCoord;\\n void main() {\\n vec4 color = vec4(0, 0, 0, 1);\\n for (float h = 0.0; h < 7.0; h+=1.0) {\\n for (float w = 0.0; w < 7.0; w+=1.0) {\\n vec2 matrixPos = vec2(uStepW * (w - 3.0), uStepH * (h - 3.0));\\n color.rgb += texture2D(uTexture, vTexCoord + matrixPos).rgb * uMatrix[int(h * 7.0 + w)];\\n }\\n }\\n float alpha = texture2D(uTexture, vTexCoord).a;\\n gl_FragColor = color;\\n gl_FragColor.a = alpha;\\n }\\n \",Convolute_9_1:\"\\n precision highp float;\\n uniform sampler2D uTexture;\\n uniform float uMatrix[81];\\n uniform float uStepW;\\n uniform float uStepH;\\n varying vec2 vTexCoord;\\n void main() {\\n vec4 color = vec4(0, 0, 0, 0);\\n for (float h = 0.0; h < 9.0; h+=1.0) {\\n for (float w = 0.0; w < 9.0; w+=1.0) {\\n vec2 matrixPos = vec2(uStepW * (w - 4.0), uStepH * (h - 4.0));\\n color += texture2D(uTexture, vTexCoord + matrixPos) * uMatrix[int(h * 9.0 + w)];\\n }\\n }\\n gl_FragColor = color;\\n }\\n \",Convolute_9_0:\"\\n precision highp float;\\n uniform sampler2D uTexture;\\n uniform float uMatrix[81];\\n uniform float uStepW;\\n uniform float uStepH;\\n varying vec2 vTexCoord;\\n void main() {\\n vec4 color = vec4(0, 0, 0, 1);\\n for (float h = 0.0; h < 9.0; h+=1.0) {\\n for (float w = 0.0; w < 9.0; w+=1.0) {\\n vec2 matrixPos = vec2(uStepW * (w - 4.0), uStepH * (h - 4.0));\\n color.rgb += texture2D(uTexture, vTexCoord + matrixPos).rgb * uMatrix[int(h * 9.0 + w)];\\n }\\n }\\n float alpha = texture2D(uTexture, vTexCoord).a;\\n gl_FragColor = color;\\n gl_FragColor.a = alpha;\\n }\\n \"};class Oa extends oa{getCacheKey(){return`${this.type}_${Math.sqrt(this.matrix.length)}_${this.opaque?1:0}`}getFragmentSource(){return Ta[this.getCacheKey()]}applyTo2d(t){const e=t.imageData,s=e.data,i=this.matrix,r=Math.round(Math.sqrt(i.length)),n=Math.floor(r/2),o=e.width,a=e.height,h=t.ctx.createImageData(o,a),l=h.data,c=this.opaque?1:0;let u,d,g,f,p,m,v,y,_,x,C,b,S;for(C=0;C<a;C++)for(x=0;x<o;x++){for(p=4*(C*o+x),u=0,d=0,g=0,f=0,S=0;S<r;S++)for(b=0;b<r;b++)v=C+S-n,m=x+b-n,v<0||v>=a||m<0||m>=o||(y=4*(v*o+m),_=i[S*r+b],u+=s[y]*_,d+=s[y+1]*_,g+=s[y+2]*_,c||(f+=s[y+3]*_));l[p]=u,l[p+1]=d,l[p+2]=g,l[p+3]=c?s[p+3]:f}t.imageData=h}sendUniformData(t,e){t.uniform1fv(e.uMatrix,this.matrix)}toObject(){return{...super.toObject(),opaque:this.opaque,matrix:[...this.matrix]}}}t(Oa,\"type\",\"Convolute\"),t(Oa,\"defaults\",{opaque:!1,matrix:[0,0,0,0,1,0,0,0,0]}),t(Oa,\"uniformLocations\",[\"uMatrix\",\"uOpaque\",\"uHalfSize\",\"uSize\"]),tt.setClass(Oa);const ka=\"Gamma\";class Da extends oa{getFragmentSource(){return\"\\n precision highp float;\\n uniform sampler2D uTexture;\\n uniform vec3 uGamma;\\n varying vec2 vTexCoord;\\n void main() {\\n vec4 color = texture2D(uTexture, vTexCoord);\\n vec3 correction = (1.0 / uGamma);\\n color.r = pow(color.r, correction.r);\\n color.g = pow(color.g, correction.g);\\n color.b = pow(color.b, correction.b);\\n gl_FragColor = color;\\n gl_FragColor.rgb *= color.a;\\n }\\n\"}constructor(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super(t),this.gamma=t.gamma||this.constructor.defaults.gamma.concat()}applyTo2d(t){let{imageData:{data:e}}=t;const s=this.gamma,i=1/s[0],r=1/s[1],n=1/s[2];this.rgbValues||(this.rgbValues={r:new Uint8Array(256),g:new Uint8Array(256),b:new Uint8Array(256)});const o=this.rgbValues;for(let t=0;t<256;t++)o.r[t]=255*Math.pow(t/255,i),o.g[t]=255*Math.pow(t/255,r),o.b[t]=255*Math.pow(t/255,n);for(let t=0;t<e.length;t+=4)e[t]=o.r[e[t]],e[t+1]=o.g[e[t+1]],e[t+2]=o.b[e[t+2]]}sendUniformData(t,e){t.uniform3fv(e.uGamma,this.gamma)}isNeutralState(){const{gamma:t}=this;return 1===t[0]&&1===t[1]&&1===t[2]}toObject(){return{type:ka,gamma:this.gamma.concat()}}}t(Da,\"type\",ka),t(Da,\"defaults\",{gamma:[1,1,1]}),t(Da,\"uniformLocations\",[\"uGamma\"]),tt.setClass(Da);const Ma={average:\"\\n precision highp float;\\n uniform sampler2D uTexture;\\n varying vec2 vTexCoord;\\n void main() {\\n vec4 color = texture2D(uTexture, vTexCoord);\\n float average = (color.r + color.b + color.g) / 3.0;\\n gl_FragColor = vec4(average, average, average, color.a);\\n }\\n \",lightness:\"\\n precision highp float;\\n uniform sampler2D uTexture;\\n uniform int uMode;\\n varying vec2 vTexCoord;\\n void main() {\\n vec4 col = texture2D(uTexture, vTexCoord);\\n float average = (max(max(col.r, col.g),col.b) + min(min(col.r, col.g),col.b)) / 2.0;\\n gl_FragColor = vec4(average, average, average, col.a);\\n }\\n \",luminosity:\"\\n precision highp float;\\n uniform sampler2D uTexture;\\n uniform int uMode;\\n varying vec2 vTexCoord;\\n void main() {\\n vec4 col = texture2D(uTexture, vTexCoord);\\n float average = 0.21 * col.r + 0.72 * col.g + 0.07 * col.b;\\n gl_FragColor = vec4(average, average, average, col.a);\\n }\\n \"};class Pa extends oa{applyTo2d(t){let{imageData:{data:e}}=t;for(let t,s=0;s<e.length;s+=4){const i=e[s],r=e[s+1],n=e[s+2];switch(this.mode){case\"average\":t=(i+r+n)/3;break;case\"lightness\":t=(Math.min(i,r,n)+Math.max(i,r,n))/2;break;case\"luminosity\":t=.21*i+.72*r+.07*n}e[s+2]=e[s+1]=e[s]=t}}getCacheKey(){return`${this.type}_${this.mode}`}getFragmentSource(){return Ma[this.mode]}sendUniformData(t,e){t.uniform1i(e.uMode,1)}isNeutralState(){return!1}}t(Pa,\"type\",\"Grayscale\"),t(Pa,\"defaults\",{mode:\"average\"}),t(Pa,\"uniformLocations\",[\"uMode\"]),tt.setClass(Pa);const Ea={...ga,rotation:0};class Aa extends fa{calculateMatrix(){const t=this.rotation*Math.PI,e=rt(t),s=nt(t),i=1/3,r=Math.sqrt(i)*s,n=1-e;this.matrix=[e+n/3,i*n-r,i*n+r,0,0,i*n+r,e+i*n,i*n-r,0,0,i*n-r,i*n+r,e+i*n,0,0,0,0,0,1,0]}isNeutralState(){return 0===this.rotation}applyTo(t){this.calculateMatrix(),super.applyTo(t)}toObject(){return{type:this.type,rotation:this.rotation}}}t(Aa,\"type\",\"HueRotation\"),t(Aa,\"defaults\",Ea),tt.setClass(Aa);class ja extends oa{applyTo2d(t){let{imageData:{data:e}}=t;for(let t=0;t<e.length;t+=4)e[t]=255-e[t],e[t+1]=255-e[t+1],e[t+2]=255-e[t+2],this.alpha&&(e[t+3]=255-e[t+3])}getFragmentSource(){return\"\\n precision highp float;\\n uniform sampler2D uTexture;\\n uniform int uInvert;\\n uniform int uAlpha;\\n varying vec2 vTexCoord;\\n void main() {\\n vec4 color = texture2D(uTexture, vTexCoord);\\n if (uInvert == 1) {\\n if (uAlpha == 1) {\\n gl_FragColor = vec4(1.0 - color.r,1.0 -color.g,1.0 -color.b,1.0 -color.a);\\n } else {\\n gl_FragColor = vec4(1.0 - color.r,1.0 -color.g,1.0 -color.b,color.a);\\n }\\n } else {\\n gl_FragColor = color;\\n }\\n }\\n\"}isNeutralState(){return!this.invert}sendUniformData(t,e){t.uniform1i(e.uInvert,Number(this.invert)),t.uniform1i(e.uAlpha,Number(this.alpha))}}t(ja,\"type\",\"Invert\"),t(ja,\"defaults\",{alpha:!1,invert:!0}),t(ja,\"uniformLocations\",[\"uInvert\",\"uAlpha\"]),tt.setClass(ja);class Fa extends oa{getFragmentSource(){return\"\\n precision highp float;\\n uniform sampler2D uTexture;\\n uniform float uStepH;\\n uniform float uNoise;\\n uniform float uSeed;\\n varying vec2 vTexCoord;\\n float rand(vec2 co, float seed, float vScale) {\\n return fract(sin(dot(co.xy * vScale ,vec2(12.9898 , 78.233))) * 43758.5453 * (seed + 0.01) / 2.0);\\n }\\n void main() {\\n vec4 color = texture2D(uTexture, vTexCoord);\\n color.rgb += (0.5 - rand(vTexCoord, uSeed, 0.1 / uStepH)) * uNoise;\\n gl_FragColor = color;\\n }\\n\"}applyTo2d(t){let{imageData:{data:e}}=t;const s=this.noise;for(let t=0;t<e.length;t+=4){const i=(.5-Math.random())*s;e[t]+=i,e[t+1]+=i,e[t+2]+=i}}sendUniformData(t,e){t.uniform1f(e.uNoise,this.noise/255),t.uniform1f(e.uSeed,Math.random())}isNeutralState(){return 0===this.noise}}t(Fa,\"type\",\"Noise\"),t(Fa,\"defaults\",{noise:0}),t(Fa,\"uniformLocations\",[\"uNoise\",\"uSeed\"]),tt.setClass(Fa);class La extends oa{applyTo2d(t){let{imageData:{data:e,width:s,height:i}}=t;for(let t=0;t<i;t+=this.blocksize)for(let r=0;r<s;r+=this.blocksize){const n=4*t*s+4*r,o=e[n],a=e[n+1],h=e[n+2],l=e[n+3];for(let n=t;n<Math.min(t+this.blocksize,i);n++)for(let t=r;t<Math.min(r+this.blocksize,s);t++){const i=4*n*s+4*t;e[i]=o,e[i+1]=a,e[i+2]=h,e[i+3]=l}}}isNeutralState(){return 1===this.blocksize}getFragmentSource(){return\"\\n precision highp float;\\n uniform sampler2D uTexture;\\n uniform float uBlocksize;\\n uniform float uStepW;\\n uniform float uStepH;\\n varying vec2 vTexCoord;\\n void main() {\\n float blockW = uBlocksize * uStepW;\\n float blockH = uBlocksize * uStepH;\\n int posX = int(vTexCoord.x / blockW);\\n int posY = int(vTexCoord.y / blockH);\\n float fposX = float(posX);\\n float fposY = float(posY);\\n vec2 squareCoords = vec2(fposX * blockW, fposY * blockH);\\n vec4 color = texture2D(uTexture, squareCoords);\\n gl_FragColor = color;\\n }\\n\"}sendUniformData(t,e){t.uniform1f(e.uBlocksize,this.blocksize)}}t(La,\"type\",\"Pixelate\"),t(La,\"defaults\",{blocksize:4}),t(La,\"uniformLocations\",[\"uBlocksize\"]),tt.setClass(La);class Ba extends oa{getFragmentSource(){return\"\\nprecision highp float;\\nuniform sampler2D uTexture;\\nuniform vec4 uLow;\\nuniform vec4 uHigh;\\nvarying vec2 vTexCoord;\\nvoid main() {\\n gl_FragColor = texture2D(uTexture, vTexCoord);\\n if(all(greaterThan(gl_FragColor.rgb,uLow.rgb)) && all(greaterThan(uHigh.rgb,gl_FragColor.rgb))) {\\n gl_FragColor.a = 0.0;\\n }\\n}\\n\"}applyTo2d(t){let{imageData:{data:e}}=t;const s=255*this.distance,i=new Je(this.color).getSource(),r=[i[0]-s,i[1]-s,i[2]-s],n=[i[0]+s,i[1]+s,i[2]+s];for(let t=0;t<e.length;t+=4){const s=e[t],i=e[t+1],o=e[t+2];s>r[0]&&i>r[1]&&o>r[2]&&s<n[0]&&i<n[1]&&o<n[2]&&(e[t+3]=0)}}sendUniformData(t,e){const s=new Je(this.color).getSource(),i=this.distance,r=[0+s[0]/255-i,0+s[1]/255-i,0+s[2]/255-i,1],n=[s[0]/255+i,s[1]/255+i,s[2]/255+i,1];t.uniform4fv(e.uLow,r),t.uniform4fv(e.uHigh,n)}}t(Ba,\"type\",\"RemoveColor\"),t(Ba,\"defaults\",{color:\"#FFFFFF\",distance:.02,useAlpha:!1}),t(Ba,\"uniformLocations\",[\"uLow\",\"uHigh\"]),tt.setClass(Ba);class Ra extends oa{sendUniformData(t,e){t.uniform2fv(e.uDelta,this.horizontal?[1/this.width,0]:[0,1/this.height]),t.uniform1fv(e.uTaps,this.taps)}getFilterWindow(){const t=this.tempScale;return Math.ceil(this.lanczosLobes/t)}getCacheKey(){const t=this.getFilterWindow();return`${this.type}_${t}`}getFragmentSource(){const t=this.getFilterWindow();return this.generateShader(t)}getTaps(){const t=this.lanczosCreate(this.lanczosLobes),e=this.tempScale,s=this.getFilterWindow(),i=new Array(s);for(let r=1;r<=s;r++)i[r-1]=t(r*e);return i}generateShader(t){const e=new Array(t);for(let s=1;s<=t;s++)e[s-1]=`${s}.0 * uDelta`;return`\\n precision highp float;\\n uniform sampler2D uTexture;\\n uniform vec2 uDelta;\\n varying vec2 vTexCoord;\\n uniform float uTaps[${t}];\\n void main() {\\n vec4 color = texture2D(uTexture, vTexCoord);\\n float sum = 1.0;\\n ${e.map((t,e)=>`\\n color += texture2D(uTexture, vTexCoord + ${t}) * uTaps[${e}] + texture2D(uTexture, vTexCoord - ${t}) * uTaps[${e}];\\n sum += 2.0 * uTaps[${e}];\\n `).join(\"\\n\")}\\n gl_FragColor = color / sum;\\n }\\n `}applyToForWebgl(t){t.passes++,this.width=t.sourceWidth,this.horizontal=!0,this.dW=Math.round(this.width*this.scaleX),this.dH=t.sourceHeight,this.tempScale=this.dW/this.width,this.taps=this.getTaps(),t.destinationWidth=this.dW,super.applyTo(t),t.sourceWidth=t.destinationWidth,this.height=t.sourceHeight,this.horizontal=!1,this.dH=Math.round(this.height*this.scaleY),this.tempScale=this.dH/this.height,this.taps=this.getTaps(),t.destinationHeight=this.dH,super.applyTo(t),t.sourceHeight=t.destinationHeight}applyTo(t){ea(t)?this.applyToForWebgl(t):this.applyTo2d(t)}isNeutralState(){return 1===this.scaleX&&1===this.scaleY}lanczosCreate(t){return e=>{if(e>=t||e<=-t)return 0;if(e<1.1920929e-7&&e>-1.1920929e-7)return 1;const s=(e*=Math.PI)/t;return Math.sin(e)/e*Math.sin(s)/s}}applyTo2d(t){const e=t.imageData,s=this.scaleX,i=this.scaleY;this.rcpScaleX=1/s,this.rcpScaleY=1/i;const r=e.width,n=e.height,o=Math.round(r*s),a=Math.round(n*i);let h;h=\"sliceHack\"===this.resizeType?this.sliceByTwo(t,r,n,o,a):\"hermite\"===this.resizeType?this.hermiteFastResize(t,r,n,o,a):\"bilinear\"===this.resizeType?this.bilinearFiltering(t,r,n,o,a):\"lanczos\"===this.resizeType?this.lanczosResize(t,r,n,o,a):new ImageData(o,a),t.imageData=h}sliceByTwo(t,e,s,i,r){const n=t.imageData,o=.5;let a=!1,h=!1,l=e*o,c=s*o;const u=t.filterBackend.resources;let d=0,g=0;const f=e;let p=0;u.sliceByTwo||(u.sliceByTwo=pt());const m=u.sliceByTwo;(m.width<1.5*e||m.height<s)&&(m.width=1.5*e,m.height=s);const v=m.getContext(\"2d\");for(v.clearRect(0,0,1.5*e,s),v.putImageData(n,0,0),i=Math.floor(i),r=Math.floor(r);!a||!h;)e=l,s=c,i<Math.floor(l*o)?l=Math.floor(l*o):(l=i,a=!0),r<Math.floor(c*o)?c=Math.floor(c*o):(c=r,h=!0),v.drawImage(m,d,g,e,s,f,p,l,c),d=f,g=p,p+=c;return v.getImageData(d,g,i,r)}lanczosResize(t,e,s,i,r){const n=t.imageData.data,o=t.ctx.createImageData(i,r),a=o.data,h=this.lanczosCreate(this.lanczosLobes),l=this.rcpScaleX,c=this.rcpScaleY,u=2/this.rcpScaleX,d=2/this.rcpScaleY,g=Math.ceil(l*this.lanczosLobes/2),f=Math.ceil(c*this.lanczosLobes/2),p={},m={x:0,y:0},v={x:0,y:0};return function t(y){let _,x,C,b,S,w,T,O,k,D,M;for(m.x=(y+.5)*l,v.x=Math.floor(m.x),_=0;_<r;_++){for(m.y=(_+.5)*c,v.y=Math.floor(m.y),S=0,w=0,T=0,O=0,k=0,x=v.x-g;x<=v.x+g;x++)if(!(x<0||x>=e)){D=Math.floor(1e3*Math.abs(x-m.x)),p[D]||(p[D]={});for(let t=v.y-f;t<=v.y+f;t++)t<0||t>=s||(M=Math.floor(1e3*Math.abs(t-m.y)),p[D][M]||(p[D][M]=h(Math.sqrt(Math.pow(D*u,2)+Math.pow(M*d,2))/1e3)),C=p[D][M],C>0&&(b=4*(t*e+x),S+=C,w+=C*n[b],T+=C*n[b+1],O+=C*n[b+2],k+=C*n[b+3]))}b=4*(_*i+y),a[b]=w/S,a[b+1]=T/S,a[b+2]=O/S,a[b+3]=k/S}return++y<i?t(y):o}(0)}bilinearFiltering(t,e,s,i,r){let n,o,a,h,l,c,u,d,g,f,p,m,v,y=0;const _=this.rcpScaleX,x=this.rcpScaleY,C=4*(e-1),b=t.imageData.data,S=t.ctx.createImageData(i,r),w=S.data;for(u=0;u<r;u++)for(d=0;d<i;d++)for(l=Math.floor(_*d),c=Math.floor(x*u),g=_*d-l,f=x*u-c,v=4*(c*e+l),p=0;p<4;p++)n=b[v+p],o=b[v+4+p],a=b[v+C+p],h=b[v+C+4+p],m=n*(1-g)*(1-f)+o*g*(1-f)+a*f*(1-g)+h*g*f,w[y++]=m;return S}hermiteFastResize(t,e,s,i,r){const n=this.rcpScaleX,o=this.rcpScaleY,a=Math.ceil(n/2),h=Math.ceil(o/2),l=t.imageData.data,c=t.ctx.createImageData(i,r),u=c.data;for(let t=0;t<r;t++)for(let s=0;s<i;s++){const r=4*(s+t*i);let c=0,d=0,g=0,f=0,p=0,m=0,v=0;const y=(t+.5)*o;for(let i=Math.floor(t*o);i<(t+1)*o;i++){const t=Math.abs(y-(i+.5))/h,r=(s+.5)*n,o=t*t;for(let t=Math.floor(s*n);t<(s+1)*n;t++){let s=Math.abs(r-(t+.5))/a;const n=Math.sqrt(o+s*s);n>1&&n<-1||(c=2*n*n*n-3*n*n+1,c>0&&(s=4*(t+i*e),v+=c*l[s+3],g+=c,l[s+3]<255&&(c=c*l[s+3]/250),f+=c*l[s],p+=c*l[s+1],m+=c*l[s+2],d+=c))}}u[r]=f/d,u[r+1]=p/d,u[r+2]=m/d,u[r+3]=v/g}return c}}t(Ra,\"type\",\"Resize\"),t(Ra,\"defaults\",{resizeType:\"hermite\",scaleX:1,scaleY:1,lanczosLobes:3}),t(Ra,\"uniformLocations\",[\"uDelta\",\"uTaps\"]),tt.setClass(Ra);class Ia extends oa{getFragmentSource(){return\"\\n precision highp float;\\n uniform sampler2D uTexture;\\n uniform float uSaturation;\\n varying vec2 vTexCoord;\\n void main() {\\n vec4 color = texture2D(uTexture, vTexCoord);\\n float rgMax = max(color.r, color.g);\\n float rgbMax = max(rgMax, color.b);\\n color.r += rgbMax != color.r ? (rgbMax - color.r) * uSaturation : 0.00;\\n color.g += rgbMax != color.g ? (rgbMax - color.g) * uSaturation : 0.00;\\n color.b += rgbMax != color.b ? (rgbMax - color.b) * uSaturation : 0.00;\\n gl_FragColor = color;\\n }\\n\"}applyTo2d(t){let{imageData:{data:e}}=t;const s=-this.saturation;for(let t=0;t<e.length;t+=4){const i=e[t],r=e[t+1],n=e[t+2],o=Math.max(i,r,n);e[t]+=o!==i?(o-i)*s:0,e[t+1]+=o!==r?(o-r)*s:0,e[t+2]+=o!==n?(o-n)*s:0}}sendUniformData(t,e){t.uniform1f(e.uSaturation,-this.saturation)}isNeutralState(){return 0===this.saturation}}t(Ia,\"type\",\"Saturation\"),t(Ia,\"defaults\",{saturation:0}),t(Ia,\"uniformLocations\",[\"uSaturation\"]),tt.setClass(Ia);class $a extends oa{getFragmentSource(){return\"\\n precision highp float;\\n uniform sampler2D uTexture;\\n uniform float uVibrance;\\n varying vec2 vTexCoord;\\n void main() {\\n vec4 color = texture2D(uTexture, vTexCoord);\\n float max = max(color.r, max(color.g, color.b));\\n float avg = (color.r + color.g + color.b) / 3.0;\\n float amt = (abs(max - avg) * 2.0) * uVibrance;\\n color.r += max != color.r ? (max - color.r) * amt : 0.00;\\n color.g += max != color.g ? (max - color.g) * amt : 0.00;\\n color.b += max != color.b ? (max - color.b) * amt : 0.00;\\n gl_FragColor = color;\\n }\\n\"}applyTo2d(t){let{imageData:{data:e}}=t;const s=-this.vibrance;for(let t=0;t<e.length;t+=4){const i=e[t],r=e[t+1],n=e[t+2],o=Math.max(i,r,n),a=(i+r+n)/3,h=2*Math.abs(o-a)/255*s;e[t]+=o!==i?(o-i)*h:0,e[t+1]+=o!==r?(o-r)*h:0,e[t+2]+=o!==n?(o-n)*h:0}}sendUniformData(t,e){t.uniform1f(e.uVibrance,-this.vibrance)}isNeutralState(){return 0===this.vibrance}}t($a,\"type\",\"Vibrance\"),t($a,\"defaults\",{vibrance:0}),t($a,\"uniformLocations\",[\"uVibrance\"]),tt.setClass($a);var Xa=Object.freeze({__proto__:null,BaseFilter:oa,BlackWhite:ba,BlendColor:ha,BlendImage:ca,Blur:ua,Brightness:da,Brownie:ma,ColorMatrix:fa,Composed:Sa,Contrast:wa,Convolute:Oa,Gamma:Da,Grayscale:Pa,HueRotation:Aa,Invert:ja,Kodachrome:ya,Noise:Fa,Pixelate:La,Polaroid:xa,RemoveColor:Ba,Resize:Ra,Saturation:Ia,Sepia:Ca,Technicolor:_a,Vibrance:$a,Vintage:va});export{Ao as ActiveSelection,Gn as BaseBrush,qs as BaseFabricObject,Mn as Canvas,jo as Canvas2dFilterBackend,hn as CanvasDOMManager,qn as Circle,Kn as CircleBrush,Mo as ClipPathLayout,Je as Color,oi as Control,io as Ellipse,Xo as FabricImage,ji as FabricObject,go as FabricText,br as FitContentLayout,Po as FixedLayout,Vn as Gradient,Or as Group,ko as IText,Xo as Image,Ei as InteractiveFabricObject,Ns as Intersection,wr as LayoutManager,Cr as LayoutStrategy,to as Line,ji as Object,st as Observable,Hn as Path,zn as Pattern,Qn as PatternBrush,Nn as PencilBrush,ot as Point,oo as Polygon,no as Polyline,pr as Rect,ks as Shadow,Jn as SprayBrush,he as StaticCanvas,te as StaticCanvasDOMManager,go as Text,Do as Textbox,eo as Triangle,Fo as WebGLFilterBackend,p as cache,tt as classRegistry,s as config,Cn as controlsUtils,lt as createCollectionMixin,Xa as filters,u as getEnv,d as getFabricDocument,g as getFabricWindow,Ro as getFilterBackend,b as iMatrix,Bo as initFilterBackend,sa as isPutImageFaster,ea as isWebGLPipelineState,Zo as loadSVGFromString,ta as loadSVGFromURL,Qo as parseSVGDocument,et as runningAnimations,c as setEnv,Io as setFilterBackend,on as util,m as version};\n//# sourceMappingURL=index.min.mjs.map\n","import { defineProperty as _defineProperty, inherits as _inherits, createClass as _createClass, classCallCheck as _classCallCheck, callSuper as _callSuper, objectSpread2 as _objectSpread2, assertThisInitialized as _assertThisInitialized } from '../../_virtual/_rollupPluginBabelHelpers.js';\nimport { classRegistry, LayoutManager, FixedLayout, Path, Group } from 'fabric';\n\nvar ClippingGroup = /*#__PURE__*/function (_Group) {\n _inherits(ClippingGroup, _Group);\n function ClippingGroup(objects, options) {\n var _this;\n _classCallCheck(this, ClippingGroup);\n _this = _callSuper(this, ClippingGroup, [objects, _objectSpread2({\n originX: 'center',\n originY: 'center',\n left: 0,\n top: 0,\n layoutManager: new LayoutManager(new FixedLayout())\n }, options)]);\n _defineProperty(_assertThisInitialized(_this), \"blockErasing\", false);\n return _this;\n }\n _createClass(ClippingGroup, [{\n key: \"drawObject\",\n value: function drawObject(ctx) {\n var paths = [];\n var objects = [];\n this._objects.forEach(function (object) {\n return (object instanceof Path ? paths : objects).push(object);\n });\n ctx.save();\n ctx.fillStyle = 'black';\n ctx.fillRect(-this.width / 2, -this.height / 2, this.width, this.height);\n ctx.restore();\n !this.blockErasing && paths.forEach(function (path) {\n path.render(ctx);\n });\n objects.forEach(function (object) {\n object.globalCompositeOperation = object.inverted ? 'destination-out' : 'source-in';\n object.render(ctx);\n });\n }\n }]);\n return ClippingGroup;\n}(Group);\n_defineProperty(ClippingGroup, \"type\", 'clipping');\nclassRegistry.setClass(ClippingGroup);\n\nexport { ClippingGroup };\n//# sourceMappingURL=ClippingGroup.js.map\n","var drawImage = function drawImage(destination, source) {\n var globalCompositeOperation = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'source-over';\n destination.save();\n destination.imageSmoothingEnabled = true;\n destination.imageSmoothingQuality = 'high';\n destination.globalCompositeOperation = globalCompositeOperation;\n destination.resetTransform();\n destination.drawImage(source.canvas, 0, 0);\n destination.restore();\n};\n\n/**\n *\n * @param destination context to erase\n * @param source context on which the path is drawn upon\n * @param erasingEffect effect to apply to {@link source} after clipping {@link destination}:\n * - drawing all non erasable visuals to achieve a selective erasing effect.\n * - drawing all erasable visuals without their erasers to achieve an undo erasing effect.\n */\nvar erase = function erase(destination, source, erasingEffect) {\n // clip destination\n drawImage(destination, source, 'destination-out');\n\n // draw erasing effect\n if (erasingEffect) {\n drawImage(source, erasingEffect, 'source-in');\n } else {\n source.save();\n source.resetTransform();\n source.clearRect(0, 0, source.canvas.width, source.canvas.height);\n source.restore();\n }\n};\n\nexport { drawImage, erase };\n//# sourceMappingURL=erase.js.map\n","import { toConsumableArray as _toConsumableArray } from '../../_virtual/_rollupPluginBabelHelpers.js';\nimport { Group } from 'fabric';\nimport { ClippingGroup } from './ClippingGroup.js';\n\nfunction walk(objects) {\n return objects.flatMap(function (object) {\n if (!object.erasable || object.isNotVisible()) {\n return [];\n } else if (object instanceof Group && object.erasable === 'deep') {\n return walk(object.getObjects());\n } else {\n return [object];\n }\n });\n}\nfunction drawCanvas(ctx, canvas, objects) {\n canvas.clearContext(ctx);\n ctx.imageSmoothingEnabled = canvas.imageSmoothingEnabled;\n ctx.imageSmoothingQuality = 'high';\n // @ts-expect-error node-canvas stuff\n ctx.patternQuality = 'best';\n canvas._renderBackground(ctx);\n ctx.save();\n ctx.transform.apply(ctx, _toConsumableArray(canvas.viewportTransform));\n objects.forEach(function (object) {\n return object.render(ctx);\n });\n ctx.restore();\n var clipPath = canvas.clipPath;\n if (clipPath) {\n // fabric crap\n clipPath._set('canvas', canvas);\n clipPath.shouldCache();\n clipPath._transformDone = true;\n // @ts-expect-error fabric type crap\n clipPath.renderCache({\n forClipping: true\n });\n canvas.drawClipPathOnCanvas(ctx, clipPath);\n }\n canvas._renderOverlay(ctx);\n}\n\n/**\n * Prepare the pattern for the erasing brush\n * This pattern will be drawn on the top context after clipping the main context,\n * achieving a visual effect of erasing only erasable objects.\n *\n * This is designed to support erasing a collection with both erasable and non-erasable objects while maintaining object stacking.\\\n * Iterates over collections to allow nested selective erasing.\\\n * Prepares objects before rendering the pattern brush.\\\n * If brush is **NOT** inverted render all non-erasable objects.\\\n * If brush is inverted render all objects, erasable objects without their eraser.\n * This will render the erased parts as if they were not erased in the first place, achieving an undo effect.\n *\n * Caveat:\n * Does not support erasing effects of shadows\n *\n */\nfunction draw(ctx, _ref, _ref2) {\n var inverted = _ref.inverted,\n opacity = _ref.opacity;\n var canvas = _ref2.canvas,\n _ref2$objects = _ref2.objects,\n objects = _ref2$objects === void 0 ? canvas._objectsToRender || canvas._objects : _ref2$objects,\n _ref2$background = _ref2.background,\n background = _ref2$background === void 0 ? canvas.backgroundImage : _ref2$background,\n _ref2$overlay = _ref2.overlay,\n overlay = _ref2$overlay === void 0 ? canvas.overlayImage : _ref2$overlay;\n // prepare tree\n var alpha = 1 - opacity;\n var restore = walk([].concat(_toConsumableArray(objects), _toConsumableArray([background, overlay].filter(function (d) {\n return !!d;\n })))).map(function (object) {\n if (!inverted) {\n var _object$parent;\n // render only non-erasable objects\n var _opacity = object.opacity;\n object.opacity *= alpha;\n (_object$parent = object.parent) === null || _object$parent === void 0 || _object$parent.set('dirty', true);\n return {\n object: object,\n opacity: _opacity\n };\n } else if (object.clipPath instanceof ClippingGroup) {\n // render all objects without eraser\n object.clipPath['blockErasing'] = true;\n object.clipPath.set('dirty', true);\n object.set('dirty', true);\n return {\n object: object,\n clipPath: object.clipPath\n };\n }\n });\n\n // draw\n drawCanvas(ctx, canvas, objects);\n\n // restore\n restore.forEach(function (entry) {\n if (!entry) {\n return;\n }\n if (entry.opacity) {\n var _entry$object$parent;\n entry.object.opacity = entry.opacity;\n (_entry$object$parent = entry.object.parent) === null || _entry$object$parent === void 0 || _entry$object$parent.set('dirty', true);\n } else if (entry.clipPath) {\n entry.clipPath['blockErasing'] = false;\n entry.clipPath.set('dirty', true);\n entry.object.set('dirty', true);\n }\n });\n}\n\nexport { draw };\n//# sourceMappingURL=ErasingEffect.js.map\n","import { inherits as _inherits, classCallCheck as _classCallCheck, callSuper as _callSuper, defineProperty as _defineProperty, assertThisInitialized as _assertThisInitialized, createClass as _createClass, get as _get, getPrototypeOf as _getPrototypeOf, asyncToGenerator as _asyncToGenerator, regeneratorRuntime as _regeneratorRuntime, toConsumableArray as _toConsumableArray, slicedToArray as _slicedToArray } from '../../_virtual/_rollupPluginBabelHelpers.js';\nimport { erase } from '../../core/dist/src/erase.js';\nimport * as fabric from 'fabric';\nimport { Group } from 'fabric';\nimport { ClippingGroup } from './ClippingGroup.js';\nimport { draw } from './ErasingEffect.js';\n\nfunction walk(objects, path) {\n return objects.flatMap(function (object) {\n if (!object.erasable || !object.intersectsWithObject(path)) {\n return [];\n } else if (object instanceof Group && object.erasable === 'deep') {\n return walk(object.getObjects(), path);\n } else {\n return [object];\n }\n });\n}\nvar assertClippingGroup = function assertClippingGroup(object) {\n var curr = object.clipPath;\n if (curr instanceof ClippingGroup) {\n return curr;\n }\n var strokeWidth = object.strokeWidth;\n var strokeWidthFactor = new fabric.Point(strokeWidth, strokeWidth);\n var strokeVector = object.strokeUniform ? strokeWidthFactor.divide(object.getObjectScaling()) : strokeWidthFactor;\n var next = new ClippingGroup([], {\n width: object.width + strokeVector.x,\n height: object.height + strokeVector.y\n });\n if (curr) {\n var _curr$translateToOrig = curr.translateToOriginPoint(new fabric.Point(), curr.originX, curr.originY),\n x = _curr$translateToOrig.x,\n y = _curr$translateToOrig.y;\n curr.originX = curr.originY = 'center';\n fabric.util.sendObjectToPlane(curr, undefined, fabric.util.createTranslateMatrix(x, y));\n next.add(curr);\n }\n return object.clipPath = next;\n};\nfunction commitErasing(object, sourceInObjectPlane) {\n var clipPath = assertClippingGroup(object);\n clipPath.add(sourceInObjectPlane);\n clipPath.set('dirty', true);\n object.set('dirty', true);\n}\nfunction eraseObject(_x, _x2) {\n return _eraseObject.apply(this, arguments);\n}\nfunction _eraseObject() {\n _eraseObject = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4(object, source) {\n var clone;\n return _regeneratorRuntime().wrap(function _callee4$(_context4) {\n while (1) switch (_context4.prev = _context4.next) {\n case 0:\n _context4.next = 2;\n return source.clone();\n case 2:\n clone = _context4.sent;\n fabric.util.sendObjectToPlane(clone, undefined, object.calcTransformMatrix());\n commitErasing(object, clone);\n return _context4.abrupt(\"return\", clone);\n case 6:\n case \"end\":\n return _context4.stop();\n }\n }, _callee4);\n }));\n return _eraseObject.apply(this, arguments);\n}\nfunction eraseCanvasDrawable(_x3, _x4, _x5) {\n return _eraseCanvasDrawable.apply(this, arguments);\n}\nfunction _eraseCanvasDrawable() {\n _eraseCanvasDrawable = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5(object, vpt, source) {\n var clone, d;\n return _regeneratorRuntime().wrap(function _callee5$(_context5) {\n while (1) switch (_context5.prev = _context5.next) {\n case 0:\n _context5.next = 2;\n return source.clone();\n case 2:\n clone = _context5.sent;\n d = vpt && object.translateToOriginPoint(new fabric.Point(), object.originX, object.originY);\n fabric.util.sendObjectToPlane(clone, undefined, d ? fabric.util.multiplyTransformMatrixArray([[1, 0, 0, 1, d.x, d.y],\n // apply vpt from center of drawable\n vpt, [1, 0, 0, 1, -d.x, -d.y], object.calcTransformMatrix()]) : object.calcTransformMatrix());\n commitErasing(object, clone);\n return _context5.abrupt(\"return\", clone);\n case 7:\n case \"end\":\n return _context5.stop();\n }\n }, _callee5);\n }));\n return _eraseCanvasDrawable.apply(this, arguments);\n}\nvar setCanvasDimensions = function setCanvasDimensions(el, ctx, _ref) {\n var width = _ref.width,\n height = _ref.height;\n var retinaScaling = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 1;\n el.width = width;\n el.height = height;\n if (retinaScaling > 1) {\n el.setAttribute('width', (width * retinaScaling).toString());\n el.setAttribute('height', (height * retinaScaling).toString());\n ctx.scale(retinaScaling, retinaScaling);\n }\n};\n\n/**\n * Supports **selective** erasing: only erasable objects are affected by the eraser brush.\n *\n * Supports **{@link inverted}** erasing: the brush can \"undo\" erasing.\n *\n * Supports **alpha** erasing: setting the alpha channel of the `color` property controls the eraser intensity.\n *\n * In order to support selective erasing, the brush clips the entire canvas and\n * masks all non-erasable objects over the erased path, see {@link draw}.\n *\n * If **{@link inverted}** draws all objects, erasable objects without their eraser, over the erased path.\n * This achieves the desired effect of seeming to erase or undo erasing on erasable objects only.\n *\n * After erasing is done the `end` event {@link ErasingEndEvent} is fired, after which erasing will be committed to the tree.\n * @example\n * canvas = new Canvas();\n * const eraser = new EraserBrush(canvas);\n * canvas.freeDrawingBrush = eraser;\n * canvas.isDrawingMode = true;\n * eraser.on('start', (e) => {\n * console.log('started erasing');\n * // prevent erasing\n * e.preventDefault();\n * });\n * eraser.on('end', (e) => {\n * const { targets: erasedTargets, path } = e.detail;\n * e.preventDefault(); // prevent erasing being committed to the tree\n * eraser.commit({ targets: erasedTargets, path }); // commit manually since default was prevented\n * });\n *\n * In case of performance issues trace {@link drawEffect} calls and consider preventing it from executing\n * @example\n * const eraser = new EraserBrush(canvas);\n * eraser.on('redraw', (e) => {\n * // prevent effect redraw on pointer down (e.g. useful if canvas didn't change)\n * e.detail.type === 'start' && e.preventDefault());\n * // prevent effect redraw after canvas has rendered (effect will become stale)\n * e.detail.type === 'render' && e.preventDefault());\n * });\n */\nvar EraserBrush = /*#__PURE__*/function (_fabric$PencilBrush) {\n _inherits(EraserBrush, _fabric$PencilBrush);\n function EraserBrush(canvas) {\n var _this;\n _classCallCheck(this, EraserBrush);\n _this = _callSuper(this, EraserBrush, [canvas]);\n /**\n * When set to `true` the brush will create a visual effect of undoing erasing\n */\n _defineProperty(_assertThisInitialized(_this), \"inverted\", false);\n _defineProperty(_assertThisInitialized(_this), \"active\", false);\n var el = document.createElement('canvas');\n var ctx = el.getContext('2d');\n if (!ctx) {\n throw new Error('Failed to get context');\n }\n setCanvasDimensions(el, ctx, canvas, _this.canvas.getRetinaScaling());\n _this.effectContext = ctx;\n _this.eventEmitter = new EventTarget();\n return _this;\n }\n\n /**\n * @returns disposer make sure to call it to avoid memory leaks\n */\n _createClass(EraserBrush, [{\n key: \"on\",\n value: function on(type, cb, options) {\n var _this2 = this;\n this.eventEmitter.addEventListener(type, cb, options);\n return function () {\n return _this2.eventEmitter.removeEventListener(type, cb, options);\n };\n }\n }, {\n key: \"drawEffect\",\n value: function drawEffect() {\n draw(this.effectContext, {\n opacity: new fabric.Color(this.color).getAlpha(),\n inverted: this.inverted\n }, {\n canvas: this.canvas\n });\n }\n\n /**\n * @override\n */\n }, {\n key: \"_setBrushStyles\",\n value: function _setBrushStyles() {\n var ctx = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.canvas.contextTop;\n _get(_getPrototypeOf(EraserBrush.prototype), \"_setBrushStyles\", this).call(this, ctx);\n ctx.strokeStyle = 'black';\n }\n\n /**\n * @override strictly speaking the eraser needs a full render only if it has opacity set.\n * However since {@link PencilBrush} is designed for subclassing that is what we have to work with.\n */\n }, {\n key: \"needsFullRender\",\n value: function needsFullRender() {\n return true;\n }\n\n /**\n * @override erase\n */\n }, {\n key: \"_render\",\n value: function _render() {\n var ctx = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.canvas.getTopContext();\n _get(_getPrototypeOf(EraserBrush.prototype), \"_render\", this).call(this, ctx);\n erase(this.canvas.getContext(), ctx, this.effectContext);\n }\n\n /**\n * @override {@link drawEffect}\n */\n }, {\n key: \"onMouseDown\",\n value: function onMouseDown(pointer, context) {\n var _this3 = this;\n if (!this.eventEmitter.dispatchEvent(new CustomEvent('start', {\n detail: context,\n cancelable: true\n }))) {\n return;\n }\n this.active = true;\n this.eventEmitter.dispatchEvent(new CustomEvent('redraw', {\n detail: {\n type: 'start'\n },\n cancelable: true\n })) && this.drawEffect();\n\n // consider a different approach\n this._disposer = this.canvas.on('after:render', function (_ref2) {\n var ctx = _ref2.ctx;\n if (ctx !== _this3.canvas.getContext()) {\n return;\n }\n _this3.eventEmitter.dispatchEvent(new CustomEvent('redraw', {\n detail: {\n type: 'render'\n },\n cancelable: true\n })) && _this3.drawEffect();\n _this3._render();\n });\n _get(_getPrototypeOf(EraserBrush.prototype), \"onMouseDown\", this).call(this, pointer, context);\n }\n\n /**\n * @override run if active\n */\n }, {\n key: \"onMouseMove\",\n value: function onMouseMove(pointer, context) {\n this.active && this.eventEmitter.dispatchEvent(new CustomEvent('move', {\n detail: context,\n cancelable: true\n })) && _get(_getPrototypeOf(EraserBrush.prototype), \"onMouseMove\", this).call(this, pointer, context);\n }\n\n /**\n * @override run if active, dispose of {@link drawEffect} listener\n */\n }, {\n key: \"onMouseUp\",\n value: function onMouseUp(context) {\n var _this$_disposer;\n this.active && _get(_getPrototypeOf(EraserBrush.prototype), \"onMouseUp\", this).call(this, context);\n this.active = false;\n (_this$_disposer = this._disposer) === null || _this$_disposer === void 0 || _this$_disposer.call(this);\n delete this._disposer;\n return false;\n }\n\n /**\n * @override {@link fabric.PencilBrush} logic\n */\n }, {\n key: \"convertPointsToSVGPath\",\n value: function convertPointsToSVGPath(points) {\n return _get(_getPrototypeOf(EraserBrush.prototype), \"convertPointsToSVGPath\", this).call(this, this.decimate ? this.decimatePoints(points, this.decimate) : points);\n }\n\n /**\n * @override\n */\n }, {\n key: \"createPath\",\n value: function createPath(pathData) {\n var path = _get(_getPrototypeOf(EraserBrush.prototype), \"createPath\", this).call(this, pathData);\n path.set(this.inverted ? {\n globalCompositeOperation: 'source-over',\n stroke: 'white'\n } : {\n globalCompositeOperation: 'destination-out',\n stroke: 'black',\n opacity: new fabric.Color(this.color).getAlpha()\n });\n return path;\n }\n }, {\n key: \"commit\",\n value: function () {\n var _commit = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(_ref3) {\n var path, targets;\n return _regeneratorRuntime().wrap(function _callee3$(_context3) {\n while (1) switch (_context3.prev = _context3.next) {\n case 0:\n path = _ref3.path, targets = _ref3.targets;\n _context3.t0 = Map;\n _context3.next = 4;\n return Promise.all([].concat(_toConsumableArray(targets.map( /*#__PURE__*/function () {\n var _ref4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(object) {\n return _regeneratorRuntime().wrap(function _callee$(_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n _context.t0 = object;\n _context.next = 3;\n return eraseObject(object, path);\n case 3:\n _context.t1 = _context.sent;\n return _context.abrupt(\"return\", [_context.t0, _context.t1]);\n case 5:\n case \"end\":\n return _context.stop();\n }\n }, _callee);\n }));\n return function (_x7) {\n return _ref4.apply(this, arguments);\n };\n }())), _toConsumableArray([[this.canvas.backgroundImage, !this.canvas.backgroundVpt ? this.canvas.viewportTransform : undefined], [this.canvas.overlayImage, !this.canvas.overlayVpt ? this.canvas.viewportTransform : undefined]].filter(function (_ref5) {\n var _ref6 = _slicedToArray(_ref5, 1),\n object = _ref6[0];\n return !!(object !== null && object !== void 0 && object.erasable);\n }).map( /*#__PURE__*/function () {\n var _ref8 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(_ref7) {\n var _ref9, object, vptFlag;\n return _regeneratorRuntime().wrap(function _callee2$(_context2) {\n while (1) switch (_context2.prev = _context2.next) {\n case 0:\n _ref9 = _slicedToArray(_ref7, 2), object = _ref9[0], vptFlag = _ref9[1];\n _context2.t0 = object;\n _context2.next = 4;\n return eraseCanvasDrawable(object, vptFlag, path);\n case 4:\n _context2.t1 = _context2.sent;\n return _context2.abrupt(\"return\", [_context2.t0, _context2.t1]);\n case 6:\n case \"end\":\n return _context2.stop();\n }\n }, _callee2);\n }));\n return function (_x8) {\n return _ref8.apply(this, arguments);\n };\n }()))));\n case 4:\n _context3.t1 = _context3.sent;\n return _context3.abrupt(\"return\", new _context3.t0(_context3.t1));\n case 6:\n case \"end\":\n return _context3.stop();\n }\n }, _callee3, this);\n }));\n function commit(_x6) {\n return _commit.apply(this, arguments);\n }\n return commit;\n }()\n /**\n * @override handle events\n */\n }, {\n key: \"_finalizeAndAddPath\",\n value: function _finalizeAndAddPath() {\n var points = this['_points'];\n if (points.length < 2) {\n this.eventEmitter.dispatchEvent(new CustomEvent('cancel', {\n cancelable: false\n }));\n return;\n }\n var path = this.createPath(this.convertPointsToSVGPath(points));\n var targets = walk(this.canvas.getObjects(), path);\n this.eventEmitter.dispatchEvent(new CustomEvent('end', {\n detail: {\n path: path,\n targets: targets\n },\n cancelable: true\n })) && this.commit({\n path: path,\n targets: targets\n });\n this.canvas.clearContext(this.canvas.contextTop);\n this.canvas.requestRenderAll();\n this._resetShadow();\n }\n }, {\n key: \"dispose\",\n value: function dispose() {\n var canvas = this.effectContext.canvas;\n // prompt GC\n canvas.width = canvas.height = 0;\n // release ref?\n // delete this.effectContext\n }\n }]);\n return EraserBrush;\n}(fabric.PencilBrush);\n\nexport { EraserBrush, commitErasing, eraseCanvasDrawable, eraseObject };\n//# sourceMappingURL=EraserBrush.js.map\n","function clamp(v, min, max) {\n return Math.max(min, Math.min(v, max));\n}\nconst V = {\n toVector(v, fallback) {\n if (v === undefined) v = fallback;\n return Array.isArray(v) ? v : [v, v];\n },\n add(v1, v2) {\n return [v1[0] + v2[0], v1[1] + v2[1]];\n },\n sub(v1, v2) {\n return [v1[0] - v2[0], v1[1] - v2[1]];\n },\n addTo(v1, v2) {\n v1[0] += v2[0];\n v1[1] += v2[1];\n },\n subTo(v1, v2) {\n v1[0] -= v2[0];\n v1[1] -= v2[1];\n }\n};\nfunction rubberband(distance, dimension, constant) {\n if (dimension === 0 || Math.abs(dimension) === Infinity) return Math.pow(distance, constant * 5);\n return distance * dimension * constant / (dimension + constant * distance);\n}\nfunction rubberbandIfOutOfBounds(position, min, max, constant = 0.15) {\n if (constant === 0) return clamp(position, min, max);\n if (position < min) return -rubberband(min - position, max - min, constant) + min;\n if (position > max) return +rubberband(position - max, max - min, constant) + max;\n return position;\n}\nfunction computeRubberband(bounds, [Vx, Vy], [Rx, Ry]) {\n const [[X0, X1], [Y0, Y1]] = bounds;\n return [rubberbandIfOutOfBounds(Vx, X0, X1, Rx), rubberbandIfOutOfBounds(Vy, Y0, Y1, Ry)];\n}\n\nexport { V, computeRubberband as c, rubberbandIfOutOfBounds as r };\n","import { V, c as computeRubberband } from './maths-0ab39ae9.esm.js';\n\nfunction _toPrimitive(input, hint) {\n if (typeof input !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (typeof res !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n}\n\nfunction _toPropertyKey(arg) {\n var key = _toPrimitive(arg, \"string\");\n return typeof key === \"symbol\" ? key : String(key);\n}\n\nfunction _defineProperty(obj, key, value) {\n key = _toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\n\nfunction ownKeys(e, r) {\n var t = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r && (o = o.filter(function (r) {\n return Object.getOwnPropertyDescriptor(e, r).enumerable;\n })), t.push.apply(t, o);\n }\n return t;\n}\nfunction _objectSpread2(e) {\n for (var r = 1; r < arguments.length; r++) {\n var t = null != arguments[r] ? arguments[r] : {};\n r % 2 ? ownKeys(Object(t), !0).forEach(function (r) {\n _defineProperty(e, r, t[r]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {\n Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));\n });\n }\n return e;\n}\n\nconst EVENT_TYPE_MAP = {\n pointer: {\n start: 'down',\n change: 'move',\n end: 'up'\n },\n mouse: {\n start: 'down',\n change: 'move',\n end: 'up'\n },\n touch: {\n start: 'start',\n change: 'move',\n end: 'end'\n },\n gesture: {\n start: 'start',\n change: 'change',\n end: 'end'\n }\n};\nfunction capitalize(string) {\n if (!string) return '';\n return string[0].toUpperCase() + string.slice(1);\n}\nconst actionsWithoutCaptureSupported = ['enter', 'leave'];\nfunction hasCapture(capture = false, actionKey) {\n return capture && !actionsWithoutCaptureSupported.includes(actionKey);\n}\nfunction toHandlerProp(device, action = '', capture = false) {\n const deviceProps = EVENT_TYPE_MAP[device];\n const actionKey = deviceProps ? deviceProps[action] || action : action;\n return 'on' + capitalize(device) + capitalize(actionKey) + (hasCapture(capture, actionKey) ? 'Capture' : '');\n}\nconst pointerCaptureEvents = ['gotpointercapture', 'lostpointercapture'];\nfunction parseProp(prop) {\n let eventKey = prop.substring(2).toLowerCase();\n const passive = !!~eventKey.indexOf('passive');\n if (passive) eventKey = eventKey.replace('passive', '');\n const captureKey = pointerCaptureEvents.includes(eventKey) ? 'capturecapture' : 'capture';\n const capture = !!~eventKey.indexOf(captureKey);\n if (capture) eventKey = eventKey.replace('capture', '');\n return {\n device: eventKey,\n capture,\n passive\n };\n}\nfunction toDomEventType(device, action = '') {\n const deviceProps = EVENT_TYPE_MAP[device];\n const actionKey = deviceProps ? deviceProps[action] || action : action;\n return device + actionKey;\n}\nfunction isTouch(event) {\n return 'touches' in event;\n}\nfunction getPointerType(event) {\n if (isTouch(event)) return 'touch';\n if ('pointerType' in event) return event.pointerType;\n return 'mouse';\n}\nfunction getCurrentTargetTouchList(event) {\n return Array.from(event.touches).filter(e => {\n var _event$currentTarget, _event$currentTarget$;\n return e.target === event.currentTarget || ((_event$currentTarget = event.currentTarget) === null || _event$currentTarget === void 0 || (_event$currentTarget$ = _event$currentTarget.contains) === null || _event$currentTarget$ === void 0 ? void 0 : _event$currentTarget$.call(_event$currentTarget, e.target));\n });\n}\nfunction getTouchList(event) {\n return event.type === 'touchend' || event.type === 'touchcancel' ? event.changedTouches : event.targetTouches;\n}\nfunction getValueEvent(event) {\n return isTouch(event) ? getTouchList(event)[0] : event;\n}\nfunction distanceAngle(P1, P2) {\n try {\n const dx = P2.clientX - P1.clientX;\n const dy = P2.clientY - P1.clientY;\n const cx = (P2.clientX + P1.clientX) / 2;\n const cy = (P2.clientY + P1.clientY) / 2;\n const distance = Math.hypot(dx, dy);\n const angle = -(Math.atan2(dx, dy) * 180) / Math.PI;\n const origin = [cx, cy];\n return {\n angle,\n distance,\n origin\n };\n } catch (_unused) {}\n return null;\n}\nfunction touchIds(event) {\n return getCurrentTargetTouchList(event).map(touch => touch.identifier);\n}\nfunction touchDistanceAngle(event, ids) {\n const [P1, P2] = Array.from(event.touches).filter(touch => ids.includes(touch.identifier));\n return distanceAngle(P1, P2);\n}\nfunction pointerId(event) {\n const valueEvent = getValueEvent(event);\n return isTouch(event) ? valueEvent.identifier : valueEvent.pointerId;\n}\nfunction pointerValues(event) {\n const valueEvent = getValueEvent(event);\n return [valueEvent.clientX, valueEvent.clientY];\n}\nconst LINE_HEIGHT = 40;\nconst PAGE_HEIGHT = 800;\nfunction wheelValues(event) {\n let {\n deltaX,\n deltaY,\n deltaMode\n } = event;\n if (deltaMode === 1) {\n deltaX *= LINE_HEIGHT;\n deltaY *= LINE_HEIGHT;\n } else if (deltaMode === 2) {\n deltaX *= PAGE_HEIGHT;\n deltaY *= PAGE_HEIGHT;\n }\n return [deltaX, deltaY];\n}\nfunction scrollValues(event) {\n var _ref, _ref2;\n const {\n scrollX,\n scrollY,\n scrollLeft,\n scrollTop\n } = event.currentTarget;\n return [(_ref = scrollX !== null && scrollX !== void 0 ? scrollX : scrollLeft) !== null && _ref !== void 0 ? _ref : 0, (_ref2 = scrollY !== null && scrollY !== void 0 ? scrollY : scrollTop) !== null && _ref2 !== void 0 ? _ref2 : 0];\n}\nfunction getEventDetails(event) {\n const payload = {};\n if ('buttons' in event) payload.buttons = event.buttons;\n if ('shiftKey' in event) {\n const {\n shiftKey,\n altKey,\n metaKey,\n ctrlKey\n } = event;\n Object.assign(payload, {\n shiftKey,\n altKey,\n metaKey,\n ctrlKey\n });\n }\n return payload;\n}\n\nfunction call(v, ...args) {\n if (typeof v === 'function') {\n return v(...args);\n } else {\n return v;\n }\n}\nfunction noop() {}\nfunction chain(...fns) {\n if (fns.length === 0) return noop;\n if (fns.length === 1) return fns[0];\n return function () {\n let result;\n for (const fn of fns) {\n result = fn.apply(this, arguments) || result;\n }\n return result;\n };\n}\nfunction assignDefault(value, fallback) {\n return Object.assign({}, fallback, value || {});\n}\n\nconst BEFORE_LAST_KINEMATICS_DELAY = 32;\nclass Engine {\n constructor(ctrl, args, key) {\n this.ctrl = ctrl;\n this.args = args;\n this.key = key;\n if (!this.state) {\n this.state = {};\n this.computeValues([0, 0]);\n this.computeInitial();\n if (this.init) this.init();\n this.reset();\n }\n }\n get state() {\n return this.ctrl.state[this.key];\n }\n set state(state) {\n this.ctrl.state[this.key] = state;\n }\n get shared() {\n return this.ctrl.state.shared;\n }\n get eventStore() {\n return this.ctrl.gestureEventStores[this.key];\n }\n get timeoutStore() {\n return this.ctrl.gestureTimeoutStores[this.key];\n }\n get config() {\n return this.ctrl.config[this.key];\n }\n get sharedConfig() {\n return this.ctrl.config.shared;\n }\n get handler() {\n return this.ctrl.handlers[this.key];\n }\n reset() {\n const {\n state,\n shared,\n ingKey,\n args\n } = this;\n shared[ingKey] = state._active = state.active = state._blocked = state._force = false;\n state._step = [false, false];\n state.intentional = false;\n state._movement = [0, 0];\n state._distance = [0, 0];\n state._direction = [0, 0];\n state._delta = [0, 0];\n state._bounds = [[-Infinity, Infinity], [-Infinity, Infinity]];\n state.args = args;\n state.axis = undefined;\n state.memo = undefined;\n state.elapsedTime = state.timeDelta = 0;\n state.direction = [0, 0];\n state.distance = [0, 0];\n state.overflow = [0, 0];\n state._movementBound = [false, false];\n state.velocity = [0, 0];\n state.movement = [0, 0];\n state.delta = [0, 0];\n state.timeStamp = 0;\n }\n start(event) {\n const state = this.state;\n const config = this.config;\n if (!state._active) {\n this.reset();\n this.computeInitial();\n state._active = true;\n state.target = event.target;\n state.currentTarget = event.currentTarget;\n state.lastOffset = config.from ? call(config.from, state) : state.offset;\n state.offset = state.lastOffset;\n state.startTime = state.timeStamp = event.timeStamp;\n }\n }\n computeValues(values) {\n const state = this.state;\n state._values = values;\n state.values = this.config.transform(values);\n }\n computeInitial() {\n const state = this.state;\n state._initial = state._values;\n state.initial = state.values;\n }\n compute(event) {\n const {\n state,\n config,\n shared\n } = this;\n state.args = this.args;\n let dt = 0;\n if (event) {\n state.event = event;\n if (config.preventDefault && event.cancelable) state.event.preventDefault();\n state.type = event.type;\n shared.touches = this.ctrl.pointerIds.size || this.ctrl.touchIds.size;\n shared.locked = !!document.pointerLockElement;\n Object.assign(shared, getEventDetails(event));\n shared.down = shared.pressed = shared.buttons % 2 === 1 || shared.touches > 0;\n dt = event.timeStamp - state.timeStamp;\n state.timeStamp = event.timeStamp;\n state.elapsedTime = state.timeStamp - state.startTime;\n }\n if (state._active) {\n const _absoluteDelta = state._delta.map(Math.abs);\n V.addTo(state._distance, _absoluteDelta);\n }\n if (this.axisIntent) this.axisIntent(event);\n const [_m0, _m1] = state._movement;\n const [t0, t1] = config.threshold;\n const {\n _step,\n values\n } = state;\n if (config.hasCustomTransform) {\n if (_step[0] === false) _step[0] = Math.abs(_m0) >= t0 && values[0];\n if (_step[1] === false) _step[1] = Math.abs(_m1) >= t1 && values[1];\n } else {\n if (_step[0] === false) _step[0] = Math.abs(_m0) >= t0 && Math.sign(_m0) * t0;\n if (_step[1] === false) _step[1] = Math.abs(_m1) >= t1 && Math.sign(_m1) * t1;\n }\n state.intentional = _step[0] !== false || _step[1] !== false;\n if (!state.intentional) return;\n const movement = [0, 0];\n if (config.hasCustomTransform) {\n const [v0, v1] = values;\n movement[0] = _step[0] !== false ? v0 - _step[0] : 0;\n movement[1] = _step[1] !== false ? v1 - _step[1] : 0;\n } else {\n movement[0] = _step[0] !== false ? _m0 - _step[0] : 0;\n movement[1] = _step[1] !== false ? _m1 - _step[1] : 0;\n }\n if (this.restrictToAxis && !state._blocked) this.restrictToAxis(movement);\n const previousOffset = state.offset;\n const gestureIsActive = state._active && !state._blocked || state.active;\n if (gestureIsActive) {\n state.first = state._active && !state.active;\n state.last = !state._active && state.active;\n state.active = shared[this.ingKey] = state._active;\n if (event) {\n if (state.first) {\n if ('bounds' in config) state._bounds = call(config.bounds, state);\n if (this.setup) this.setup();\n }\n state.movement = movement;\n this.computeOffset();\n }\n }\n const [ox, oy] = state.offset;\n const [[x0, x1], [y0, y1]] = state._bounds;\n state.overflow = [ox < x0 ? -1 : ox > x1 ? 1 : 0, oy < y0 ? -1 : oy > y1 ? 1 : 0];\n state._movementBound[0] = state.overflow[0] ? state._movementBound[0] === false ? state._movement[0] : state._movementBound[0] : false;\n state._movementBound[1] = state.overflow[1] ? state._movementBound[1] === false ? state._movement[1] : state._movementBound[1] : false;\n const rubberband = state._active ? config.rubberband || [0, 0] : [0, 0];\n state.offset = computeRubberband(state._bounds, state.offset, rubberband);\n state.delta = V.sub(state.offset, previousOffset);\n this.computeMovement();\n if (gestureIsActive && (!state.last || dt > BEFORE_LAST_KINEMATICS_DELAY)) {\n state.delta = V.sub(state.offset, previousOffset);\n const absoluteDelta = state.delta.map(Math.abs);\n V.addTo(state.distance, absoluteDelta);\n state.direction = state.delta.map(Math.sign);\n state._direction = state._delta.map(Math.sign);\n if (!state.first && dt > 0) {\n state.velocity = [absoluteDelta[0] / dt, absoluteDelta[1] / dt];\n state.timeDelta = dt;\n }\n }\n }\n emit() {\n const state = this.state;\n const shared = this.shared;\n const config = this.config;\n if (!state._active) this.clean();\n if ((state._blocked || !state.intentional) && !state._force && !config.triggerAllEvents) return;\n const memo = this.handler(_objectSpread2(_objectSpread2(_objectSpread2({}, shared), state), {}, {\n [this.aliasKey]: state.values\n }));\n if (memo !== undefined) state.memo = memo;\n }\n clean() {\n this.eventStore.clean();\n this.timeoutStore.clean();\n }\n}\n\nfunction selectAxis([dx, dy], threshold) {\n const absDx = Math.abs(dx);\n const absDy = Math.abs(dy);\n if (absDx > absDy && absDx > threshold) {\n return 'x';\n }\n if (absDy > absDx && absDy > threshold) {\n return 'y';\n }\n return undefined;\n}\nclass CoordinatesEngine extends Engine {\n constructor(...args) {\n super(...args);\n _defineProperty(this, \"aliasKey\", 'xy');\n }\n reset() {\n super.reset();\n this.state.axis = undefined;\n }\n init() {\n this.state.offset = [0, 0];\n this.state.lastOffset = [0, 0];\n }\n computeOffset() {\n this.state.offset = V.add(this.state.lastOffset, this.state.movement);\n }\n computeMovement() {\n this.state.movement = V.sub(this.state.offset, this.state.lastOffset);\n }\n axisIntent(event) {\n const state = this.state;\n const config = this.config;\n if (!state.axis && event) {\n const threshold = typeof config.axisThreshold === 'object' ? config.axisThreshold[getPointerType(event)] : config.axisThreshold;\n state.axis = selectAxis(state._movement, threshold);\n }\n state._blocked = (config.lockDirection || !!config.axis) && !state.axis || !!config.axis && config.axis !== state.axis;\n }\n restrictToAxis(v) {\n if (this.config.axis || this.config.lockDirection) {\n switch (this.state.axis) {\n case 'x':\n v[1] = 0;\n break;\n case 'y':\n v[0] = 0;\n break;\n }\n }\n }\n}\n\nconst identity = v => v;\nconst DEFAULT_RUBBERBAND = 0.15;\nconst commonConfigResolver = {\n enabled(value = true) {\n return value;\n },\n eventOptions(value, _k, config) {\n return _objectSpread2(_objectSpread2({}, config.shared.eventOptions), value);\n },\n preventDefault(value = false) {\n return value;\n },\n triggerAllEvents(value = false) {\n return value;\n },\n rubberband(value = 0) {\n switch (value) {\n case true:\n return [DEFAULT_RUBBERBAND, DEFAULT_RUBBERBAND];\n case false:\n return [0, 0];\n default:\n return V.toVector(value);\n }\n },\n from(value) {\n if (typeof value === 'function') return value;\n if (value != null) return V.toVector(value);\n },\n transform(value, _k, config) {\n const transform = value || config.shared.transform;\n this.hasCustomTransform = !!transform;\n if (process.env.NODE_ENV === 'development') {\n const originalTransform = transform || identity;\n return v => {\n const r = originalTransform(v);\n if (!isFinite(r[0]) || !isFinite(r[1])) {\n console.warn(`[@use-gesture]: config.transform() must produce a valid result, but it was: [${r[0]},${[1]}]`);\n }\n return r;\n };\n }\n return transform || identity;\n },\n threshold(value) {\n return V.toVector(value, 0);\n }\n};\nif (process.env.NODE_ENV === 'development') {\n Object.assign(commonConfigResolver, {\n domTarget(value) {\n if (value !== undefined) {\n throw Error(`[@use-gesture]: \\`domTarget\\` option has been renamed to \\`target\\`.`);\n }\n return NaN;\n },\n lockDirection(value) {\n if (value !== undefined) {\n throw Error(`[@use-gesture]: \\`lockDirection\\` option has been merged with \\`axis\\`. Use it as in \\`{ axis: 'lock' }\\``);\n }\n return NaN;\n },\n initial(value) {\n if (value !== undefined) {\n throw Error(`[@use-gesture]: \\`initial\\` option has been renamed to \\`from\\`.`);\n }\n return NaN;\n }\n });\n}\n\nconst DEFAULT_AXIS_THRESHOLD = 0;\nconst coordinatesConfigResolver = _objectSpread2(_objectSpread2({}, commonConfigResolver), {}, {\n axis(_v, _k, {\n axis\n }) {\n this.lockDirection = axis === 'lock';\n if (!this.lockDirection) return axis;\n },\n axisThreshold(value = DEFAULT_AXIS_THRESHOLD) {\n return value;\n },\n bounds(value = {}) {\n if (typeof value === 'function') {\n return state => coordinatesConfigResolver.bounds(value(state));\n }\n if ('current' in value) {\n return () => value.current;\n }\n if (typeof HTMLElement === 'function' && value instanceof HTMLElement) {\n return value;\n }\n const {\n left = -Infinity,\n right = Infinity,\n top = -Infinity,\n bottom = Infinity\n } = value;\n return [[left, right], [top, bottom]];\n }\n});\n\nconst KEYS_DELTA_MAP = {\n ArrowRight: (displacement, factor = 1) => [displacement * factor, 0],\n ArrowLeft: (displacement, factor = 1) => [-1 * displacement * factor, 0],\n ArrowUp: (displacement, factor = 1) => [0, -1 * displacement * factor],\n ArrowDown: (displacement, factor = 1) => [0, displacement * factor]\n};\nclass DragEngine extends CoordinatesEngine {\n constructor(...args) {\n super(...args);\n _defineProperty(this, \"ingKey\", 'dragging');\n }\n reset() {\n super.reset();\n const state = this.state;\n state._pointerId = undefined;\n state._pointerActive = false;\n state._keyboardActive = false;\n state._preventScroll = false;\n state._delayed = false;\n state.swipe = [0, 0];\n state.tap = false;\n state.canceled = false;\n state.cancel = this.cancel.bind(this);\n }\n setup() {\n const state = this.state;\n if (state._bounds instanceof HTMLElement) {\n const boundRect = state._bounds.getBoundingClientRect();\n const targetRect = state.currentTarget.getBoundingClientRect();\n const _bounds = {\n left: boundRect.left - targetRect.left + state.offset[0],\n right: boundRect.right - targetRect.right + state.offset[0],\n top: boundRect.top - targetRect.top + state.offset[1],\n bottom: boundRect.bottom - targetRect.bottom + state.offset[1]\n };\n state._bounds = coordinatesConfigResolver.bounds(_bounds);\n }\n }\n cancel() {\n const state = this.state;\n if (state.canceled) return;\n state.canceled = true;\n state._active = false;\n setTimeout(() => {\n this.compute();\n this.emit();\n }, 0);\n }\n setActive() {\n this.state._active = this.state._pointerActive || this.state._keyboardActive;\n }\n clean() {\n this.pointerClean();\n this.state._pointerActive = false;\n this.state._keyboardActive = false;\n super.clean();\n }\n pointerDown(event) {\n const config = this.config;\n const state = this.state;\n if (event.buttons != null && (Array.isArray(config.pointerButtons) ? !config.pointerButtons.includes(event.buttons) : config.pointerButtons !== -1 && config.pointerButtons !== event.buttons)) return;\n const ctrlIds = this.ctrl.setEventIds(event);\n if (config.pointerCapture) {\n event.target.setPointerCapture(event.pointerId);\n }\n if (ctrlIds && ctrlIds.size > 1 && state._pointerActive) return;\n this.start(event);\n this.setupPointer(event);\n state._pointerId = pointerId(event);\n state._pointerActive = true;\n this.computeValues(pointerValues(event));\n this.computeInitial();\n if (config.preventScrollAxis && getPointerType(event) !== 'mouse') {\n state._active = false;\n this.setupScrollPrevention(event);\n } else if (config.delay > 0) {\n this.setupDelayTrigger(event);\n if (config.triggerAllEvents) {\n this.compute(event);\n this.emit();\n }\n } else {\n this.startPointerDrag(event);\n }\n }\n startPointerDrag(event) {\n const state = this.state;\n state._active = true;\n state._preventScroll = true;\n state._delayed = false;\n this.compute(event);\n this.emit();\n }\n pointerMove(event) {\n const state = this.state;\n const config = this.config;\n if (!state._pointerActive) return;\n const id = pointerId(event);\n if (state._pointerId !== undefined && id !== state._pointerId) return;\n const _values = pointerValues(event);\n if (document.pointerLockElement === event.target) {\n state._delta = [event.movementX, event.movementY];\n } else {\n state._delta = V.sub(_values, state._values);\n this.computeValues(_values);\n }\n V.addTo(state._movement, state._delta);\n this.compute(event);\n if (state._delayed && state.intentional) {\n this.timeoutStore.remove('dragDelay');\n state.active = false;\n this.startPointerDrag(event);\n return;\n }\n if (config.preventScrollAxis && !state._preventScroll) {\n if (state.axis) {\n if (state.axis === config.preventScrollAxis || config.preventScrollAxis === 'xy') {\n state._active = false;\n this.clean();\n return;\n } else {\n this.timeoutStore.remove('startPointerDrag');\n this.startPointerDrag(event);\n return;\n }\n } else {\n return;\n }\n }\n this.emit();\n }\n pointerUp(event) {\n this.ctrl.setEventIds(event);\n try {\n if (this.config.pointerCapture && event.target.hasPointerCapture(event.pointerId)) {\n ;\n event.target.releasePointerCapture(event.pointerId);\n }\n } catch (_unused) {\n if (process.env.NODE_ENV === 'development') {\n console.warn(`[@use-gesture]: If you see this message, it's likely that you're using an outdated version of \\`@react-three/fiber\\`. \\n\\nPlease upgrade to the latest version.`);\n }\n }\n const state = this.state;\n const config = this.config;\n if (!state._active || !state._pointerActive) return;\n const id = pointerId(event);\n if (state._pointerId !== undefined && id !== state._pointerId) return;\n this.state._pointerActive = false;\n this.setActive();\n this.compute(event);\n const [dx, dy] = state._distance;\n state.tap = dx <= config.tapsThreshold && dy <= config.tapsThreshold;\n if (state.tap && config.filterTaps) {\n state._force = true;\n } else {\n const [_dx, _dy] = state._delta;\n const [_mx, _my] = state._movement;\n const [svx, svy] = config.swipe.velocity;\n const [sx, sy] = config.swipe.distance;\n const sdt = config.swipe.duration;\n if (state.elapsedTime < sdt) {\n const _vx = Math.abs(_dx / state.timeDelta);\n const _vy = Math.abs(_dy / state.timeDelta);\n if (_vx > svx && Math.abs(_mx) > sx) state.swipe[0] = Math.sign(_dx);\n if (_vy > svy && Math.abs(_my) > sy) state.swipe[1] = Math.sign(_dy);\n }\n }\n this.emit();\n }\n pointerClick(event) {\n if (!this.state.tap && event.detail > 0) {\n event.preventDefault();\n event.stopPropagation();\n }\n }\n setupPointer(event) {\n const config = this.config;\n const device = config.device;\n if (process.env.NODE_ENV === 'development') {\n try {\n if (device === 'pointer' && config.preventScrollDelay === undefined) {\n const currentTarget = 'uv' in event ? event.sourceEvent.currentTarget : event.currentTarget;\n const style = window.getComputedStyle(currentTarget);\n if (style.touchAction === 'auto') {\n console.warn(`[@use-gesture]: The drag target has its \\`touch-action\\` style property set to \\`auto\\`. It is recommended to add \\`touch-action: 'none'\\` so that the drag gesture behaves correctly on touch-enabled devices. For more information read this: https://use-gesture.netlify.app/docs/extras/#touch-action.\\n\\nThis message will only show in development mode. It won't appear in production. If this is intended, you can ignore it.`, currentTarget);\n }\n }\n } catch (_unused2) {}\n }\n if (config.pointerLock) {\n event.currentTarget.requestPointerLock();\n }\n if (!config.pointerCapture) {\n this.eventStore.add(this.sharedConfig.window, device, 'change', this.pointerMove.bind(this));\n this.eventStore.add(this.sharedConfig.window, device, 'end', this.pointerUp.bind(this));\n this.eventStore.add(this.sharedConfig.window, device, 'cancel', this.pointerUp.bind(this));\n }\n }\n pointerClean() {\n if (this.config.pointerLock && document.pointerLockElement === this.state.currentTarget) {\n document.exitPointerLock();\n }\n }\n preventScroll(event) {\n if (this.state._preventScroll && event.cancelable) {\n event.preventDefault();\n }\n }\n setupScrollPrevention(event) {\n this.state._preventScroll = false;\n persistEvent(event);\n const remove = this.eventStore.add(this.sharedConfig.window, 'touch', 'change', this.preventScroll.bind(this), {\n passive: false\n });\n this.eventStore.add(this.sharedConfig.window, 'touch', 'end', remove);\n this.eventStore.add(this.sharedConfig.window, 'touch', 'cancel', remove);\n this.timeoutStore.add('startPointerDrag', this.startPointerDrag.bind(this), this.config.preventScrollDelay, event);\n }\n setupDelayTrigger(event) {\n this.state._delayed = true;\n this.timeoutStore.add('dragDelay', () => {\n this.state._step = [0, 0];\n this.startPointerDrag(event);\n }, this.config.delay);\n }\n keyDown(event) {\n const deltaFn = KEYS_DELTA_MAP[event.key];\n if (deltaFn) {\n const state = this.state;\n const factor = event.shiftKey ? 10 : event.altKey ? 0.1 : 1;\n this.start(event);\n state._delta = deltaFn(this.config.keyboardDisplacement, factor);\n state._keyboardActive = true;\n V.addTo(state._movement, state._delta);\n this.compute(event);\n this.emit();\n }\n }\n keyUp(event) {\n if (!(event.key in KEYS_DELTA_MAP)) return;\n this.state._keyboardActive = false;\n this.setActive();\n this.compute(event);\n this.emit();\n }\n bind(bindFunction) {\n const device = this.config.device;\n bindFunction(device, 'start', this.pointerDown.bind(this));\n if (this.config.pointerCapture) {\n bindFunction(device, 'change', this.pointerMove.bind(this));\n bindFunction(device, 'end', this.pointerUp.bind(this));\n bindFunction(device, 'cancel', this.pointerUp.bind(this));\n bindFunction('lostPointerCapture', '', this.pointerUp.bind(this));\n }\n if (this.config.keys) {\n bindFunction('key', 'down', this.keyDown.bind(this));\n bindFunction('key', 'up', this.keyUp.bind(this));\n }\n if (this.config.filterTaps) {\n bindFunction('click', '', this.pointerClick.bind(this), {\n capture: true,\n passive: false\n });\n }\n }\n}\nfunction persistEvent(event) {\n 'persist' in event && typeof event.persist === 'function' && event.persist();\n}\n\nconst isBrowser = typeof window !== 'undefined' && window.document && window.document.createElement;\nfunction supportsTouchEvents() {\n return isBrowser && 'ontouchstart' in window;\n}\nfunction isTouchScreen() {\n return supportsTouchEvents() || isBrowser && window.navigator.maxTouchPoints > 1;\n}\nfunction supportsPointerEvents() {\n return isBrowser && 'onpointerdown' in window;\n}\nfunction supportsPointerLock() {\n return isBrowser && 'exitPointerLock' in window.document;\n}\nfunction supportsGestureEvents() {\n try {\n return 'constructor' in GestureEvent;\n } catch (e) {\n return false;\n }\n}\nconst SUPPORT = {\n isBrowser,\n gesture: supportsGestureEvents(),\n touch: supportsTouchEvents(),\n touchscreen: isTouchScreen(),\n pointer: supportsPointerEvents(),\n pointerLock: supportsPointerLock()\n};\n\nconst DEFAULT_PREVENT_SCROLL_DELAY = 250;\nconst DEFAULT_DRAG_DELAY = 180;\nconst DEFAULT_SWIPE_VELOCITY = 0.5;\nconst DEFAULT_SWIPE_DISTANCE = 50;\nconst DEFAULT_SWIPE_DURATION = 250;\nconst DEFAULT_KEYBOARD_DISPLACEMENT = 10;\nconst DEFAULT_DRAG_AXIS_THRESHOLD = {\n mouse: 0,\n touch: 0,\n pen: 8\n};\nconst dragConfigResolver = _objectSpread2(_objectSpread2({}, coordinatesConfigResolver), {}, {\n device(_v, _k, {\n pointer: {\n touch = false,\n lock = false,\n mouse = false\n } = {}\n }) {\n this.pointerLock = lock && SUPPORT.pointerLock;\n if (SUPPORT.touch && touch) return 'touch';\n if (this.pointerLock) return 'mouse';\n if (SUPPORT.pointer && !mouse) return 'pointer';\n if (SUPPORT.touch) return 'touch';\n return 'mouse';\n },\n preventScrollAxis(value, _k, {\n preventScroll\n }) {\n this.preventScrollDelay = typeof preventScroll === 'number' ? preventScroll : preventScroll || preventScroll === undefined && value ? DEFAULT_PREVENT_SCROLL_DELAY : undefined;\n if (!SUPPORT.touchscreen || preventScroll === false) return undefined;\n return value ? value : preventScroll !== undefined ? 'y' : undefined;\n },\n pointerCapture(_v, _k, {\n pointer: {\n capture = true,\n buttons = 1,\n keys = true\n } = {}\n }) {\n this.pointerButtons = buttons;\n this.keys = keys;\n return !this.pointerLock && this.device === 'pointer' && capture;\n },\n threshold(value, _k, {\n filterTaps = false,\n tapsThreshold = 3,\n axis = undefined\n }) {\n const threshold = V.toVector(value, filterTaps ? tapsThreshold : axis ? 1 : 0);\n this.filterTaps = filterTaps;\n this.tapsThreshold = tapsThreshold;\n return threshold;\n },\n swipe({\n velocity = DEFAULT_SWIPE_VELOCITY,\n distance = DEFAULT_SWIPE_DISTANCE,\n duration = DEFAULT_SWIPE_DURATION\n } = {}) {\n return {\n velocity: this.transform(V.toVector(velocity)),\n distance: this.transform(V.toVector(distance)),\n duration\n };\n },\n delay(value = 0) {\n switch (value) {\n case true:\n return DEFAULT_DRAG_DELAY;\n case false:\n return 0;\n default:\n return value;\n }\n },\n axisThreshold(value) {\n if (!value) return DEFAULT_DRAG_AXIS_THRESHOLD;\n return _objectSpread2(_objectSpread2({}, DEFAULT_DRAG_AXIS_THRESHOLD), value);\n },\n keyboardDisplacement(value = DEFAULT_KEYBOARD_DISPLACEMENT) {\n return value;\n }\n});\nif (process.env.NODE_ENV === 'development') {\n Object.assign(dragConfigResolver, {\n useTouch(value) {\n if (value !== undefined) {\n throw Error(`[@use-gesture]: \\`useTouch\\` option has been renamed to \\`pointer.touch\\`. Use it as in \\`{ pointer: { touch: true } }\\`.`);\n }\n return NaN;\n },\n experimental_preventWindowScrollY(value) {\n if (value !== undefined) {\n throw Error(`[@use-gesture]: \\`experimental_preventWindowScrollY\\` option has been renamed to \\`preventScroll\\`.`);\n }\n return NaN;\n },\n swipeVelocity(value) {\n if (value !== undefined) {\n throw Error(`[@use-gesture]: \\`swipeVelocity\\` option has been renamed to \\`swipe.velocity\\`. Use it as in \\`{ swipe: { velocity: 0.5 } }\\`.`);\n }\n return NaN;\n },\n swipeDistance(value) {\n if (value !== undefined) {\n throw Error(`[@use-gesture]: \\`swipeDistance\\` option has been renamed to \\`swipe.distance\\`. Use it as in \\`{ swipe: { distance: 50 } }\\`.`);\n }\n return NaN;\n },\n swipeDuration(value) {\n if (value !== undefined) {\n throw Error(`[@use-gesture]: \\`swipeDuration\\` option has been renamed to \\`swipe.duration\\`. Use it as in \\`{ swipe: { duration: 250 } }\\`.`);\n }\n return NaN;\n }\n });\n}\n\nfunction clampStateInternalMovementToBounds(state) {\n const [ox, oy] = state.overflow;\n const [dx, dy] = state._delta;\n const [dirx, diry] = state._direction;\n if (ox < 0 && dx > 0 && dirx < 0 || ox > 0 && dx < 0 && dirx > 0) {\n state._movement[0] = state._movementBound[0];\n }\n if (oy < 0 && dy > 0 && diry < 0 || oy > 0 && dy < 0 && diry > 0) {\n state._movement[1] = state._movementBound[1];\n }\n}\n\nconst SCALE_ANGLE_RATIO_INTENT_DEG = 30;\nconst PINCH_WHEEL_RATIO = 100;\nclass PinchEngine extends Engine {\n constructor(...args) {\n super(...args);\n _defineProperty(this, \"ingKey\", 'pinching');\n _defineProperty(this, \"aliasKey\", 'da');\n }\n init() {\n this.state.offset = [1, 0];\n this.state.lastOffset = [1, 0];\n this.state._pointerEvents = new Map();\n }\n reset() {\n super.reset();\n const state = this.state;\n state._touchIds = [];\n state.canceled = false;\n state.cancel = this.cancel.bind(this);\n state.turns = 0;\n }\n computeOffset() {\n const {\n type,\n movement,\n lastOffset\n } = this.state;\n if (type === 'wheel') {\n this.state.offset = V.add(movement, lastOffset);\n } else {\n this.state.offset = [(1 + movement[0]) * lastOffset[0], movement[1] + lastOffset[1]];\n }\n }\n computeMovement() {\n const {\n offset,\n lastOffset\n } = this.state;\n this.state.movement = [offset[0] / lastOffset[0], offset[1] - lastOffset[1]];\n }\n axisIntent() {\n const state = this.state;\n const [_m0, _m1] = state._movement;\n if (!state.axis) {\n const axisMovementDifference = Math.abs(_m0) * SCALE_ANGLE_RATIO_INTENT_DEG - Math.abs(_m1);\n if (axisMovementDifference < 0) state.axis = 'angle';else if (axisMovementDifference > 0) state.axis = 'scale';\n }\n }\n restrictToAxis(v) {\n if (this.config.lockDirection) {\n if (this.state.axis === 'scale') v[1] = 0;else if (this.state.axis === 'angle') v[0] = 0;\n }\n }\n cancel() {\n const state = this.state;\n if (state.canceled) return;\n setTimeout(() => {\n state.canceled = true;\n state._active = false;\n this.compute();\n this.emit();\n }, 0);\n }\n touchStart(event) {\n this.ctrl.setEventIds(event);\n const state = this.state;\n const ctrlTouchIds = this.ctrl.touchIds;\n if (state._active) {\n if (state._touchIds.every(id => ctrlTouchIds.has(id))) return;\n }\n if (ctrlTouchIds.size < 2) return;\n this.start(event);\n state._touchIds = Array.from(ctrlTouchIds).slice(0, 2);\n const payload = touchDistanceAngle(event, state._touchIds);\n if (!payload) return;\n this.pinchStart(event, payload);\n }\n pointerStart(event) {\n if (event.buttons != null && event.buttons % 2 !== 1) return;\n this.ctrl.setEventIds(event);\n event.target.setPointerCapture(event.pointerId);\n const state = this.state;\n const _pointerEvents = state._pointerEvents;\n const ctrlPointerIds = this.ctrl.pointerIds;\n if (state._active) {\n if (Array.from(_pointerEvents.keys()).every(id => ctrlPointerIds.has(id))) return;\n }\n if (_pointerEvents.size < 2) {\n _pointerEvents.set(event.pointerId, event);\n }\n if (state._pointerEvents.size < 2) return;\n this.start(event);\n const payload = distanceAngle(...Array.from(_pointerEvents.values()));\n if (!payload) return;\n this.pinchStart(event, payload);\n }\n pinchStart(event, payload) {\n const state = this.state;\n state.origin = payload.origin;\n this.computeValues([payload.distance, payload.angle]);\n this.computeInitial();\n this.compute(event);\n this.emit();\n }\n touchMove(event) {\n if (!this.state._active) return;\n const payload = touchDistanceAngle(event, this.state._touchIds);\n if (!payload) return;\n this.pinchMove(event, payload);\n }\n pointerMove(event) {\n const _pointerEvents = this.state._pointerEvents;\n if (_pointerEvents.has(event.pointerId)) {\n _pointerEvents.set(event.pointerId, event);\n }\n if (!this.state._active) return;\n const payload = distanceAngle(...Array.from(_pointerEvents.values()));\n if (!payload) return;\n this.pinchMove(event, payload);\n }\n pinchMove(event, payload) {\n const state = this.state;\n const prev_a = state._values[1];\n const delta_a = payload.angle - prev_a;\n let delta_turns = 0;\n if (Math.abs(delta_a) > 270) delta_turns += Math.sign(delta_a);\n this.computeValues([payload.distance, payload.angle - 360 * delta_turns]);\n state.origin = payload.origin;\n state.turns = delta_turns;\n state._movement = [state._values[0] / state._initial[0] - 1, state._values[1] - state._initial[1]];\n this.compute(event);\n this.emit();\n }\n touchEnd(event) {\n this.ctrl.setEventIds(event);\n if (!this.state._active) return;\n if (this.state._touchIds.some(id => !this.ctrl.touchIds.has(id))) {\n this.state._active = false;\n this.compute(event);\n this.emit();\n }\n }\n pointerEnd(event) {\n const state = this.state;\n this.ctrl.setEventIds(event);\n try {\n event.target.releasePointerCapture(event.pointerId);\n } catch (_unused) {}\n if (state._pointerEvents.has(event.pointerId)) {\n state._pointerEvents.delete(event.pointerId);\n }\n if (!state._active) return;\n if (state._pointerEvents.size < 2) {\n state._active = false;\n this.compute(event);\n this.emit();\n }\n }\n gestureStart(event) {\n if (event.cancelable) event.preventDefault();\n const state = this.state;\n if (state._active) return;\n this.start(event);\n this.computeValues([event.scale, event.rotation]);\n state.origin = [event.clientX, event.clientY];\n this.compute(event);\n this.emit();\n }\n gestureMove(event) {\n if (event.cancelable) event.preventDefault();\n if (!this.state._active) return;\n const state = this.state;\n this.computeValues([event.scale, event.rotation]);\n state.origin = [event.clientX, event.clientY];\n const _previousMovement = state._movement;\n state._movement = [event.scale - 1, event.rotation];\n state._delta = V.sub(state._movement, _previousMovement);\n this.compute(event);\n this.emit();\n }\n gestureEnd(event) {\n if (!this.state._active) return;\n this.state._active = false;\n this.compute(event);\n this.emit();\n }\n wheel(event) {\n const modifierKey = this.config.modifierKey;\n if (modifierKey && (Array.isArray(modifierKey) ? !modifierKey.find(k => event[k]) : !event[modifierKey])) return;\n if (!this.state._active) this.wheelStart(event);else this.wheelChange(event);\n this.timeoutStore.add('wheelEnd', this.wheelEnd.bind(this));\n }\n wheelStart(event) {\n this.start(event);\n this.wheelChange(event);\n }\n wheelChange(event) {\n const isR3f = ('uv' in event);\n if (!isR3f) {\n if (event.cancelable) {\n event.preventDefault();\n }\n if (process.env.NODE_ENV === 'development' && !event.defaultPrevented) {\n console.warn(`[@use-gesture]: To properly support zoom on trackpads, try using the \\`target\\` option.\\n\\nThis message will only appear in development mode.`);\n }\n }\n const state = this.state;\n state._delta = [-wheelValues(event)[1] / PINCH_WHEEL_RATIO * state.offset[0], 0];\n V.addTo(state._movement, state._delta);\n clampStateInternalMovementToBounds(state);\n this.state.origin = [event.clientX, event.clientY];\n this.compute(event);\n this.emit();\n }\n wheelEnd() {\n if (!this.state._active) return;\n this.state._active = false;\n this.compute();\n this.emit();\n }\n bind(bindFunction) {\n const device = this.config.device;\n if (!!device) {\n bindFunction(device, 'start', this[device + 'Start'].bind(this));\n bindFunction(device, 'change', this[device + 'Move'].bind(this));\n bindFunction(device, 'end', this[device + 'End'].bind(this));\n bindFunction(device, 'cancel', this[device + 'End'].bind(this));\n bindFunction('lostPointerCapture', '', this[device + 'End'].bind(this));\n }\n if (this.config.pinchOnWheel) {\n bindFunction('wheel', '', this.wheel.bind(this), {\n passive: false\n });\n }\n }\n}\n\nconst pinchConfigResolver = _objectSpread2(_objectSpread2({}, commonConfigResolver), {}, {\n device(_v, _k, {\n shared,\n pointer: {\n touch = false\n } = {}\n }) {\n const sharedConfig = shared;\n if (sharedConfig.target && !SUPPORT.touch && SUPPORT.gesture) return 'gesture';\n if (SUPPORT.touch && touch) return 'touch';\n if (SUPPORT.touchscreen) {\n if (SUPPORT.pointer) return 'pointer';\n if (SUPPORT.touch) return 'touch';\n }\n },\n bounds(_v, _k, {\n scaleBounds = {},\n angleBounds = {}\n }) {\n const _scaleBounds = state => {\n const D = assignDefault(call(scaleBounds, state), {\n min: -Infinity,\n max: Infinity\n });\n return [D.min, D.max];\n };\n const _angleBounds = state => {\n const A = assignDefault(call(angleBounds, state), {\n min: -Infinity,\n max: Infinity\n });\n return [A.min, A.max];\n };\n if (typeof scaleBounds !== 'function' && typeof angleBounds !== 'function') return [_scaleBounds(), _angleBounds()];\n return state => [_scaleBounds(state), _angleBounds(state)];\n },\n threshold(value, _k, config) {\n this.lockDirection = config.axis === 'lock';\n const threshold = V.toVector(value, this.lockDirection ? [0.1, 3] : 0);\n return threshold;\n },\n modifierKey(value) {\n if (value === undefined) return 'ctrlKey';\n return value;\n },\n pinchOnWheel(value = true) {\n return value;\n }\n});\n\nclass MoveEngine extends CoordinatesEngine {\n constructor(...args) {\n super(...args);\n _defineProperty(this, \"ingKey\", 'moving');\n }\n move(event) {\n if (this.config.mouseOnly && event.pointerType !== 'mouse') return;\n if (!this.state._active) this.moveStart(event);else this.moveChange(event);\n this.timeoutStore.add('moveEnd', this.moveEnd.bind(this));\n }\n moveStart(event) {\n this.start(event);\n this.computeValues(pointerValues(event));\n this.compute(event);\n this.computeInitial();\n this.emit();\n }\n moveChange(event) {\n if (!this.state._active) return;\n const values = pointerValues(event);\n const state = this.state;\n state._delta = V.sub(values, state._values);\n V.addTo(state._movement, state._delta);\n this.computeValues(values);\n this.compute(event);\n this.emit();\n }\n moveEnd(event) {\n if (!this.state._active) return;\n this.state._active = false;\n this.compute(event);\n this.emit();\n }\n bind(bindFunction) {\n bindFunction('pointer', 'change', this.move.bind(this));\n bindFunction('pointer', 'leave', this.moveEnd.bind(this));\n }\n}\n\nconst moveConfigResolver = _objectSpread2(_objectSpread2({}, coordinatesConfigResolver), {}, {\n mouseOnly: (value = true) => value\n});\n\nclass ScrollEngine extends CoordinatesEngine {\n constructor(...args) {\n super(...args);\n _defineProperty(this, \"ingKey\", 'scrolling');\n }\n scroll(event) {\n if (!this.state._active) this.start(event);\n this.scrollChange(event);\n this.timeoutStore.add('scrollEnd', this.scrollEnd.bind(this));\n }\n scrollChange(event) {\n if (event.cancelable) event.preventDefault();\n const state = this.state;\n const values = scrollValues(event);\n state._delta = V.sub(values, state._values);\n V.addTo(state._movement, state._delta);\n this.computeValues(values);\n this.compute(event);\n this.emit();\n }\n scrollEnd() {\n if (!this.state._active) return;\n this.state._active = false;\n this.compute();\n this.emit();\n }\n bind(bindFunction) {\n bindFunction('scroll', '', this.scroll.bind(this));\n }\n}\n\nconst scrollConfigResolver = coordinatesConfigResolver;\n\nclass WheelEngine extends CoordinatesEngine {\n constructor(...args) {\n super(...args);\n _defineProperty(this, \"ingKey\", 'wheeling');\n }\n wheel(event) {\n if (!this.state._active) this.start(event);\n this.wheelChange(event);\n this.timeoutStore.add('wheelEnd', this.wheelEnd.bind(this));\n }\n wheelChange(event) {\n const state = this.state;\n state._delta = wheelValues(event);\n V.addTo(state._movement, state._delta);\n clampStateInternalMovementToBounds(state);\n this.compute(event);\n this.emit();\n }\n wheelEnd() {\n if (!this.state._active) return;\n this.state._active = false;\n this.compute();\n this.emit();\n }\n bind(bindFunction) {\n bindFunction('wheel', '', this.wheel.bind(this));\n }\n}\n\nconst wheelConfigResolver = coordinatesConfigResolver;\n\nclass HoverEngine extends CoordinatesEngine {\n constructor(...args) {\n super(...args);\n _defineProperty(this, \"ingKey\", 'hovering');\n }\n enter(event) {\n if (this.config.mouseOnly && event.pointerType !== 'mouse') return;\n this.start(event);\n this.computeValues(pointerValues(event));\n this.compute(event);\n this.emit();\n }\n leave(event) {\n if (this.config.mouseOnly && event.pointerType !== 'mouse') return;\n const state = this.state;\n if (!state._active) return;\n state._active = false;\n const values = pointerValues(event);\n state._movement = state._delta = V.sub(values, state._values);\n this.computeValues(values);\n this.compute(event);\n state.delta = state.movement;\n this.emit();\n }\n bind(bindFunction) {\n bindFunction('pointer', 'enter', this.enter.bind(this));\n bindFunction('pointer', 'leave', this.leave.bind(this));\n }\n}\n\nconst hoverConfigResolver = _objectSpread2(_objectSpread2({}, coordinatesConfigResolver), {}, {\n mouseOnly: (value = true) => value\n});\n\nconst EngineMap = new Map();\nconst ConfigResolverMap = new Map();\nfunction registerAction(action) {\n EngineMap.set(action.key, action.engine);\n ConfigResolverMap.set(action.key, action.resolver);\n}\nconst dragAction = {\n key: 'drag',\n engine: DragEngine,\n resolver: dragConfigResolver\n};\nconst hoverAction = {\n key: 'hover',\n engine: HoverEngine,\n resolver: hoverConfigResolver\n};\nconst moveAction = {\n key: 'move',\n engine: MoveEngine,\n resolver: moveConfigResolver\n};\nconst pinchAction = {\n key: 'pinch',\n engine: PinchEngine,\n resolver: pinchConfigResolver\n};\nconst scrollAction = {\n key: 'scroll',\n engine: ScrollEngine,\n resolver: scrollConfigResolver\n};\nconst wheelAction = {\n key: 'wheel',\n engine: WheelEngine,\n resolver: wheelConfigResolver\n};\n\nexport { ConfigResolverMap as C, EngineMap as E, SUPPORT as S, _objectSpread2 as _, _defineProperty as a, touchIds as b, chain as c, toHandlerProp as d, dragAction as e, pinchAction as f, hoverAction as h, isTouch as i, moveAction as m, parseProp as p, registerAction as r, scrollAction as s, toDomEventType as t, wheelAction as w };\n","import { S as SUPPORT, C as ConfigResolverMap, _ as _objectSpread2, a as _defineProperty, t as toDomEventType, i as isTouch, b as touchIds, E as EngineMap, c as chain, p as parseProp, d as toHandlerProp } from './actions-fe213e88.esm.js';\nimport './maths-0ab39ae9.esm.js';\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = _objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n return target;\n}\n\nconst sharedConfigResolver = {\n target(value) {\n if (value) {\n return () => 'current' in value ? value.current : value;\n }\n return undefined;\n },\n enabled(value = true) {\n return value;\n },\n window(value = SUPPORT.isBrowser ? window : undefined) {\n return value;\n },\n eventOptions({\n passive = true,\n capture = false\n } = {}) {\n return {\n passive,\n capture\n };\n },\n transform(value) {\n return value;\n }\n};\n\nconst _excluded = [\"target\", \"eventOptions\", \"window\", \"enabled\", \"transform\"];\nfunction resolveWith(config = {}, resolvers) {\n const result = {};\n for (const [key, resolver] of Object.entries(resolvers)) {\n switch (typeof resolver) {\n case 'function':\n if (process.env.NODE_ENV === 'development') {\n const r = resolver.call(result, config[key], key, config);\n if (!Number.isNaN(r)) result[key] = r;\n } else {\n result[key] = resolver.call(result, config[key], key, config);\n }\n break;\n case 'object':\n result[key] = resolveWith(config[key], resolver);\n break;\n case 'boolean':\n if (resolver) result[key] = config[key];\n break;\n }\n }\n return result;\n}\nfunction parse(newConfig, gestureKey, _config = {}) {\n const _ref = newConfig,\n {\n target,\n eventOptions,\n window,\n enabled,\n transform\n } = _ref,\n rest = _objectWithoutProperties(_ref, _excluded);\n _config.shared = resolveWith({\n target,\n eventOptions,\n window,\n enabled,\n transform\n }, sharedConfigResolver);\n if (gestureKey) {\n const resolver = ConfigResolverMap.get(gestureKey);\n _config[gestureKey] = resolveWith(_objectSpread2({\n shared: _config.shared\n }, rest), resolver);\n } else {\n for (const key in rest) {\n const resolver = ConfigResolverMap.get(key);\n if (resolver) {\n _config[key] = resolveWith(_objectSpread2({\n shared: _config.shared\n }, rest[key]), resolver);\n } else if (process.env.NODE_ENV === 'development') {\n if (!['drag', 'pinch', 'scroll', 'wheel', 'move', 'hover'].includes(key)) {\n if (key === 'domTarget') {\n throw Error(`[@use-gesture]: \\`domTarget\\` option has been renamed to \\`target\\`.`);\n }\n console.warn(`[@use-gesture]: Unknown config key \\`${key}\\` was used. Please read the documentation for further information.`);\n }\n }\n }\n }\n return _config;\n}\n\nclass EventStore {\n constructor(ctrl, gestureKey) {\n _defineProperty(this, \"_listeners\", new Set());\n this._ctrl = ctrl;\n this._gestureKey = gestureKey;\n }\n add(element, device, action, handler, options) {\n const listeners = this._listeners;\n const type = toDomEventType(device, action);\n const _options = this._gestureKey ? this._ctrl.config[this._gestureKey].eventOptions : {};\n const eventOptions = _objectSpread2(_objectSpread2({}, _options), options);\n element.addEventListener(type, handler, eventOptions);\n const remove = () => {\n element.removeEventListener(type, handler, eventOptions);\n listeners.delete(remove);\n };\n listeners.add(remove);\n return remove;\n }\n clean() {\n this._listeners.forEach(remove => remove());\n this._listeners.clear();\n }\n}\n\nclass TimeoutStore {\n constructor() {\n _defineProperty(this, \"_timeouts\", new Map());\n }\n add(key, callback, ms = 140, ...args) {\n this.remove(key);\n this._timeouts.set(key, window.setTimeout(callback, ms, ...args));\n }\n remove(key) {\n const timeout = this._timeouts.get(key);\n if (timeout) window.clearTimeout(timeout);\n }\n clean() {\n this._timeouts.forEach(timeout => void window.clearTimeout(timeout));\n this._timeouts.clear();\n }\n}\n\nclass Controller {\n constructor(handlers) {\n _defineProperty(this, \"gestures\", new Set());\n _defineProperty(this, \"_targetEventStore\", new EventStore(this));\n _defineProperty(this, \"gestureEventStores\", {});\n _defineProperty(this, \"gestureTimeoutStores\", {});\n _defineProperty(this, \"handlers\", {});\n _defineProperty(this, \"config\", {});\n _defineProperty(this, \"pointerIds\", new Set());\n _defineProperty(this, \"touchIds\", new Set());\n _defineProperty(this, \"state\", {\n shared: {\n shiftKey: false,\n metaKey: false,\n ctrlKey: false,\n altKey: false\n }\n });\n resolveGestures(this, handlers);\n }\n setEventIds(event) {\n if (isTouch(event)) {\n this.touchIds = new Set(touchIds(event));\n return this.touchIds;\n } else if ('pointerId' in event) {\n if (event.type === 'pointerup' || event.type === 'pointercancel') this.pointerIds.delete(event.pointerId);else if (event.type === 'pointerdown') this.pointerIds.add(event.pointerId);\n return this.pointerIds;\n }\n }\n applyHandlers(handlers, nativeHandlers) {\n this.handlers = handlers;\n this.nativeHandlers = nativeHandlers;\n }\n applyConfig(config, gestureKey) {\n this.config = parse(config, gestureKey, this.config);\n }\n clean() {\n this._targetEventStore.clean();\n for (const key of this.gestures) {\n this.gestureEventStores[key].clean();\n this.gestureTimeoutStores[key].clean();\n }\n }\n effect() {\n if (this.config.shared.target) this.bind();\n return () => this._targetEventStore.clean();\n }\n bind(...args) {\n const sharedConfig = this.config.shared;\n const props = {};\n let target;\n if (sharedConfig.target) {\n target = sharedConfig.target();\n if (!target) return;\n }\n if (sharedConfig.enabled) {\n for (const gestureKey of this.gestures) {\n const gestureConfig = this.config[gestureKey];\n const bindFunction = bindToProps(props, gestureConfig.eventOptions, !!target);\n if (gestureConfig.enabled) {\n const Engine = EngineMap.get(gestureKey);\n new Engine(this, args, gestureKey).bind(bindFunction);\n }\n }\n const nativeBindFunction = bindToProps(props, sharedConfig.eventOptions, !!target);\n for (const eventKey in this.nativeHandlers) {\n nativeBindFunction(eventKey, '', event => this.nativeHandlers[eventKey](_objectSpread2(_objectSpread2({}, this.state.shared), {}, {\n event,\n args\n })), undefined, true);\n }\n }\n for (const handlerProp in props) {\n props[handlerProp] = chain(...props[handlerProp]);\n }\n if (!target) return props;\n for (const handlerProp in props) {\n const {\n device,\n capture,\n passive\n } = parseProp(handlerProp);\n this._targetEventStore.add(target, device, '', props[handlerProp], {\n capture,\n passive\n });\n }\n }\n}\nfunction setupGesture(ctrl, gestureKey) {\n ctrl.gestures.add(gestureKey);\n ctrl.gestureEventStores[gestureKey] = new EventStore(ctrl, gestureKey);\n ctrl.gestureTimeoutStores[gestureKey] = new TimeoutStore();\n}\nfunction resolveGestures(ctrl, internalHandlers) {\n if (internalHandlers.drag) setupGesture(ctrl, 'drag');\n if (internalHandlers.wheel) setupGesture(ctrl, 'wheel');\n if (internalHandlers.scroll) setupGesture(ctrl, 'scroll');\n if (internalHandlers.move) setupGesture(ctrl, 'move');\n if (internalHandlers.pinch) setupGesture(ctrl, 'pinch');\n if (internalHandlers.hover) setupGesture(ctrl, 'hover');\n}\nconst bindToProps = (props, eventOptions, withPassiveOption) => (device, action, handler, options = {}, isNative = false) => {\n var _options$capture, _options$passive;\n const capture = (_options$capture = options.capture) !== null && _options$capture !== void 0 ? _options$capture : eventOptions.capture;\n const passive = (_options$passive = options.passive) !== null && _options$passive !== void 0 ? _options$passive : eventOptions.passive;\n let handlerProp = isNative ? device : toHandlerProp(device, action, capture);\n if (withPassiveOption && passive) handlerProp += 'Passive';\n props[handlerProp] = props[handlerProp] || [];\n props[handlerProp].push(handler);\n};\n\nconst RE_NOT_NATIVE = /^on(Drag|Wheel|Scroll|Move|Pinch|Hover)/;\nfunction sortHandlers(_handlers) {\n const native = {};\n const handlers = {};\n const actions = new Set();\n for (let key in _handlers) {\n if (RE_NOT_NATIVE.test(key)) {\n actions.add(RegExp.lastMatch);\n handlers[key] = _handlers[key];\n } else {\n native[key] = _handlers[key];\n }\n }\n return [handlers, native, actions];\n}\nfunction registerGesture(actions, handlers, handlerKey, key, internalHandlers, config) {\n if (!actions.has(handlerKey)) return;\n if (!EngineMap.has(key)) {\n if (process.env.NODE_ENV === 'development') {\n console.warn(`[@use-gesture]: You've created a custom handler that that uses the \\`${key}\\` gesture but isn't properly configured.\\n\\nPlease add \\`${key}Action\\` when creating your handler.`);\n }\n return;\n }\n const startKey = handlerKey + 'Start';\n const endKey = handlerKey + 'End';\n const fn = state => {\n let memo = undefined;\n if (state.first && startKey in handlers) handlers[startKey](state);\n if (handlerKey in handlers) memo = handlers[handlerKey](state);\n if (state.last && endKey in handlers) handlers[endKey](state);\n return memo;\n };\n internalHandlers[key] = fn;\n config[key] = config[key] || {};\n}\nfunction parseMergedHandlers(mergedHandlers, mergedConfig) {\n const [handlers, nativeHandlers, actions] = sortHandlers(mergedHandlers);\n const internalHandlers = {};\n registerGesture(actions, handlers, 'onDrag', 'drag', internalHandlers, mergedConfig);\n registerGesture(actions, handlers, 'onWheel', 'wheel', internalHandlers, mergedConfig);\n registerGesture(actions, handlers, 'onScroll', 'scroll', internalHandlers, mergedConfig);\n registerGesture(actions, handlers, 'onPinch', 'pinch', internalHandlers, mergedConfig);\n registerGesture(actions, handlers, 'onMove', 'move', internalHandlers, mergedConfig);\n registerGesture(actions, handlers, 'onHover', 'hover', internalHandlers, mergedConfig);\n return {\n handlers: internalHandlers,\n config: mergedConfig,\n nativeHandlers\n };\n}\n\nexport { Controller, parseMergedHandlers };\n","import { registerAction, dragAction, pinchAction, wheelAction, scrollAction, moveAction, hoverAction } from '@use-gesture/core/actions';\nexport * from '@use-gesture/core/actions';\nimport React from 'react';\nimport { Controller, parseMergedHandlers } from '@use-gesture/core';\nexport * from '@use-gesture/core/utils';\nexport * from '@use-gesture/core/types';\n\nfunction useRecognizers(handlers, config = {}, gestureKey, nativeHandlers) {\n const ctrl = React.useMemo(() => new Controller(handlers), []);\n ctrl.applyHandlers(handlers, nativeHandlers);\n ctrl.applyConfig(config, gestureKey);\n React.useEffect(ctrl.effect.bind(ctrl));\n React.useEffect(() => {\n return ctrl.clean.bind(ctrl);\n }, []);\n if (config.target === undefined) {\n return ctrl.bind.bind(ctrl);\n }\n return undefined;\n}\n\nfunction useDrag(handler, config) {\n registerAction(dragAction);\n return useRecognizers({\n drag: handler\n }, config || {}, 'drag');\n}\n\nfunction usePinch(handler, config) {\n registerAction(pinchAction);\n return useRecognizers({\n pinch: handler\n }, config || {}, 'pinch');\n}\n\nfunction useWheel(handler, config) {\n registerAction(wheelAction);\n return useRecognizers({\n wheel: handler\n }, config || {}, 'wheel');\n}\n\nfunction useScroll(handler, config) {\n registerAction(scrollAction);\n return useRecognizers({\n scroll: handler\n }, config || {}, 'scroll');\n}\n\nfunction useMove(handler, config) {\n registerAction(moveAction);\n return useRecognizers({\n move: handler\n }, config || {}, 'move');\n}\n\nfunction useHover(handler, config) {\n registerAction(hoverAction);\n return useRecognizers({\n hover: handler\n }, config || {}, 'hover');\n}\n\nfunction createUseGesture(actions) {\n actions.forEach(registerAction);\n return function useGesture(_handlers, _config) {\n const {\n handlers,\n nativeHandlers,\n config\n } = parseMergedHandlers(_handlers, _config || {});\n return useRecognizers(handlers, config, undefined, nativeHandlers);\n };\n}\n\nfunction useGesture(handlers, config) {\n const hook = createUseGesture([dragAction, pinchAction, scrollAction, wheelAction, moveAction, hoverAction]);\n return hook(handlers, config || {});\n}\n\nexport { createUseGesture, useDrag, useGesture, useHover, useMove, usePinch, useScroll, useWheel };\n","import styled from \"styled-components\";\n\nexport const Wrapper = styled.div`\n\twidth: 100%;\n\theight: 100%;\n\toverflow: hidden;\n\ttouch-action: none;\n`;\n\nexport const Canvas = styled.canvas<{ $canDraw: boolean }>`\n\t${({ $canDraw }) => $canDraw && \"cursor: crosshair;\"};\n`;\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { EraserBrush } from \"@erase2d/fabric\";\nimport { useDrag, usePinch } from \"@use-gesture/react\";\nimport { Canvas as FabricCanvas, FabricImage, FabricObject, Path, PencilBrush, Point, Rect, TEvent } from \"fabric\";\nimport { ForwardedRef, forwardRef, useEffect, useImperativeHandle, useRef } from \"react\";\nimport { FileHelper, TestHelper } from \"../../../../../utils\";\nimport { Canvas, Wrapper } from \"./image-editor.styles\";\nimport { IImageEditorProps, IImageEditorRef } from \"./types\";\nimport { useWindowHelper } from \"../../../../../utils/hooks\";\n\nconst MAX_ZOOM = 5;\nconst PENCIL_BRUSH_SIZE = 10;\n\nexport const ImageEditor = forwardRef((props: IImageEditorProps, ref: ForwardedRef<IImageEditorRef>) => {\n\t// =============================================================================\n\t// CONST, STATE, REFS\n\t// =============================================================================\n\tconst { maxSizeInKb, baseImageDataURL, drawing, color, erase } = props;\n\tconst wrapperRef = useRef<HTMLDivElement>(null);\n\tconst canvasRef = useRef<HTMLCanvasElement>(null);\n\tconst fabricCanvas = useRef<FabricCanvas>();\n\tconst fabricBackground = useRef<FabricImage>();\n\tconst fittedImageBounds = useRef<{ left: number; top: number; width: number; height: number }>();\n\tconst pencilBrush = useRef<PencilBrush>();\n\tconst eraserBrush = useRef<EraserBrush>();\n\tconst gestures = useRef({\n\t\tpinchStartAmount: 0,\n\t\tpan: new Point(0, 0),\n\t});\n\tconst isMobileView = useWindowHelper();\n\n\tconst syncCanvasDimensions = () => {\n\t\tif (!wrapperRef.current || !fabricCanvas.current) return;\n\n\t\tfabricCanvas.current.setDimensions({\n\t\t\twidth: wrapperRef.current.clientWidth,\n\t\t\theight: wrapperRef.current.clientHeight,\n\t\t});\n\t};\n\n\tuseImperativeHandle(ref, () => ({\n\t\tclearDrawing,\n\t\texport: () => {\n\t\t\tif (fabricCanvas.current) {\n\t\t\t\tresetZoomAndPosition();\n\t\t\t\treturn {\n\t\t\t\t\tdrawing: fabricCanvas.current\n\t\t\t\t\t\t.getObjects()\n\t\t\t\t\t\t.map((obj) => (obj.type !== \"image\" ? obj : undefined))\n\t\t\t\t\t\t.filter((obj) => obj) as FabricObject[],\n\t\t\t\t\tdataURL: toDataURLWithLimit(),\n\t\t\t\t};\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tdrawing: [],\n\t\t\t\tdataURL: \"\",\n\t\t\t};\n\t\t},\n\t}));\n\n\t// recursively compress image until it fits limit\n\tconst toDataURLWithLimit = (limit = maxSizeInKb, quality = 1): string => {\n\t\tif (fabricBackground.current) {\n\t\t\tconst backgroundBounds = fabricBackground.current.getBoundingRect();\n\t\t\tconst dataURL =\n\t\t\t\tfabricCanvas.current?.toDataURL({\n\t\t\t\t\tformat: \"jpeg\",\n\t\t\t\t\tmultiplier: (fabricBackground.current.width || 0) / backgroundBounds.width,\n\t\t\t\t\tquality,\n\t\t\t\t\ttop: backgroundBounds.top,\n\t\t\t\t\tleft: backgroundBounds.left,\n\t\t\t\t\theight: backgroundBounds.height,\n\t\t\t\t\twidth: backgroundBounds.width,\n\t\t\t\t}) || \"\";\n\n\t\t\tconst reducedQuality = quality - 0.05;\n\t\t\tif (reducedQuality < 0) return dataURL;\n\n\t\t\tconst filesizeInB = FileHelper.getFilesizeFromBase64(dataURL);\n\t\t\tconst maxSizeInB = limit * 1024;\n\t\t\tif (maxSizeInB && filesizeInB > maxSizeInB) return toDataURLWithLimit(limit, reducedQuality);\n\n\t\t\treturn dataURL;\n\t\t}\n\t\treturn \"\";\n\t};\n\n\t// initialise fabric and brushes\n\tuseEffect(() => {\n\t\tlet canvas: FabricCanvas;\n\t\tif (wrapperRef.current && canvasRef.current) {\n\t\t\tcanvas = new FabricCanvas(canvasRef.current);\n\t\t\tfabricCanvas.current = canvas;\n\t\t\tsyncCanvasDimensions();\n\t\t\tfabricCanvas.current.selection = false;\n\t\t\tpencilBrush.current = new PencilBrush(fabricCanvas.current);\n\t\t\teraserBrush.current = new EraserBrush(fabricCanvas.current);\n\t\t\tfabricCanvas.current.freeDrawingBrush = pencilBrush.current;\n\t\t}\n\n\t\treturn () => {\n\t\t\tif (canvas) {\n\t\t\t\tcanvas.dispose();\n\t\t\t}\n\t\t};\n\t}, []);\n\n\t// when screen resizes\n\tuseEffect(() => {\n\t\tconst handleResize = async () => {\n\t\t\tif (wrapperRef.current && canvasRef.current && fabricCanvas.current && fabricBackground.current) {\n\t\t\t\t// slight delay because fabricjs cannot redraw in time during orientation change\n\t\t\t\tawait new Promise((resolve) => setTimeout(resolve));\n\n\t\t\t\tresetZoomAndPosition();\n\n\t\t\t\tconst canvasWidth = wrapperRef.current.clientWidth;\n\t\t\t\tconst canvasHeight = wrapperRef.current.clientHeight;\n\t\t\t\tconst oldBackgroundLeft = fabricBackground.current.left || 0;\n\t\t\t\tconst oldBackgroundTop = fabricBackground.current.top || 0;\n\n\t\t\t\tsyncCanvasDimensions();\n\n\t\t\t\tconst backgroundBounds = fabricBackground.current.getBoundingRect();\n\t\t\t\tconst scale = Math.min(canvasWidth / backgroundBounds.width, canvasHeight / backgroundBounds.height);\n\n\t\t\t\tfitImageToCanvas();\n\n\t\t\t\tconst canvasObjects = fabricCanvas.current.getObjects();\n\t\t\t\tcanvasObjects.forEach((obj) => {\n\t\t\t\t\t// only images have cacheKey\n\t\t\t\t\tif (!(obj as any).cacheKey) {\n\t\t\t\t\t\tobj.scaleX = (obj.scaleX || 1) * scale;\n\t\t\t\t\t\tobj.scaleY = (obj.scaleY || 1) * scale;\n\t\t\t\t\t\tobj.left =\n\t\t\t\t\t\t\t(fabricBackground.current?.left || 0) + ((obj.left || 0) - oldBackgroundLeft) * scale;\n\t\t\t\t\t\tobj.top = (fabricBackground.current?.top || 0) + ((obj.top || 0) - oldBackgroundTop) * scale;\n\t\t\t\t\t}\n\t\t\t\t\tobj.setCoords();\n\t\t\t\t});\n\t\t\t}\n\t\t};\n\t\twindow.addEventListener(\"resize\", handleResize);\n\t\tscreen.orientation?.addEventListener(\"change\", handleResize);\n\t\treturn () => {\n\t\t\twindow.removeEventListener(\"resize\", handleResize);\n\t\t\tscreen.orientation?.removeEventListener(\"change\", handleResize);\n\t\t};\n\t}, []);\n\n\t// reset back to default view\n\tconst resetZoomAndPosition = () => {\n\t\tif (fabricCanvas.current) {\n\t\t\tfabricCanvas.current.setZoom(1);\n\t\t\tgestures.current.pinchStartAmount = 0;\n\t\t\tgestures.current.pan = new Point(0, 0);\n\t\t\tfabricCanvas.current.absolutePan(new Point(0, 0));\n\t\t\tfabricCanvas.current.requestRenderAll();\n\t\t}\n\t};\n\n\tconst clampPanToImageBounds = (pan: Point, zoom = fabricCanvas.current?.getZoom() || 1) => {\n\t\tif (!fabricCanvas.current || !fabricBackground.current || zoom <= 1) return new Point(0, 0);\n\n\t\tconst imageBounds = fittedImageBounds.current || fabricBackground.current.getBoundingRect();\n\t\tconst canvasWidth = fabricCanvas.current.getWidth();\n\t\tconst canvasHeight = fabricCanvas.current.getHeight();\n\n\t\tconst clampAxis = (value: number, imageStart: number, imageSize: number, canvasSize: number) => {\n\t\t\tconst minPan = imageStart * zoom;\n\t\t\tconst maxPan = (imageStart + imageSize) * zoom - canvasSize;\n\n\t\t\tif (minPan >= maxPan) return (minPan + maxPan) / 2;\n\n\t\t\treturn Math.min(Math.max(value, minPan), maxPan);\n\t\t};\n\n\t\treturn new Point(\n\t\t\tclampAxis(pan.x, imageBounds.left, imageBounds.width, canvasWidth),\n\t\t\tclampAxis(pan.y, imageBounds.top, imageBounds.height, canvasHeight)\n\t\t);\n\t};\n\n\tconst applyPan = (pan: Point, zoom?: number) => {\n\t\tif (!fabricCanvas.current) return;\n\n\t\tgestures.current.pan = clampPanToImageBounds(pan, zoom);\n\t\tfabricCanvas.current.absolutePan(gestures.current.pan);\n\t};\n\n\t// =============================================================================\n\t// PHOTO AND DRAWINGS\n\t// =============================================================================\n\tconst clearDrawing = () => {\n\t\tif (fabricCanvas.current) {\n\t\t\tfabricCanvas.current.getObjects().forEach((obj) => {\n\t\t\t\tif (!obj.isType(\"image\")) fabricCanvas.current?.remove(obj);\n\t\t\t});\n\t\t}\n\t};\n\n\tconst fitImageToCanvas = () => {\n\t\tif (fabricCanvas.current && fabricBackground.current) {\n\t\t\tconst img = fabricBackground.current;\n\t\t\tconst canvasRatio = fabricCanvas.current.getWidth() / fabricCanvas.current.getHeight();\n\t\t\tconst imgRatio = (img.width || 1) / (img.height || 1);\n\t\t\tif (imgRatio <= canvasRatio) {\n\t\t\t\timg.scaleToHeight(fabricCanvas.current?.getHeight() || 1);\n\t\t\t} else {\n\t\t\t\timg.scaleToWidth(fabricCanvas.current?.getWidth() || 1);\n\t\t\t}\n\t\t\tfabricCanvas.current.centerObject(img);\n\n\t\t\t// extra logic to zoom in to fit image to canvas width in mobile landscape orientation\n\n\t\t\tif (isMobileView() && canvasRatio > 1) {\n\t\t\t\tconst intendedZoom = Math.min((fabricCanvas.current.width || 0) / img.getScaledWidth() + 0.1, MAX_ZOOM);\n\t\t\t\tfabricCanvas.current.zoomToPoint(\n\t\t\t\t\tnew Point((fabricCanvas.current.width || 0) / 2, (fabricCanvas.current.height || 0) / 2),\n\t\t\t\t\tintendedZoom\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tfabricCanvas.current.clipPath = new Rect({\n\t\t\t\tleft: img.left,\n\t\t\t\ttop: img.top,\n\t\t\t\twidth: img.getScaledWidth(),\n\t\t\t\theight: img.getScaledHeight(),\n\t\t\t});\n\n\t\t\tif (pencilBrush.current && eraserBrush.current) {\n\t\t\t\tpencilBrush.current.width = PENCIL_BRUSH_SIZE * (img.scaleX || 1);\n\t\t\t\teraserBrush.current.width = PENCIL_BRUSH_SIZE * (img.scaleX || 1) * 2;\n\t\t\t}\n\n\t\t\timg.setCoords(); // Ensures the internal coordinate system matches the visual state after scaling\n\t\t\tfittedImageBounds.current = img.getBoundingRect();\n\t\t\tfabricCanvas.current.requestRenderAll();\n\t\t}\n\t};\n\n\t// update image\n\tuseEffect(() => {\n\t\tconst handleUpdateImage = async () => {\n\t\t\tif (baseImageDataURL) {\n\t\t\t\tconst img = await FabricImage.fromURL(baseImageDataURL);\n\t\t\t\tif (fabricCanvas.current) {\n\t\t\t\t\tsyncCanvasDimensions();\n\t\t\t\t\tif (fabricBackground.current) {\n\t\t\t\t\t\tfabricCanvas.current.remove(fabricBackground.current);\n\t\t\t\t\t}\n\t\t\t\t\timg.selectable = false;\n\t\t\t\t\timg.hoverCursor = \"default\";\n\t\t\t\t\timg.erasable = false;\n\t\t\t\t\tfabricCanvas.current.insertAt(0, img); // Insert the image as the lowest object so we can draw on top of it\n\t\t\t\t\tfabricBackground.current = img;\n\t\t\t\t\tresetZoomAndPosition();\n\t\t\t\t\tfitImageToCanvas();\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t\thandleUpdateImage();\n\t}, [baseImageDataURL]);\n\n\t// update drawing\n\tuseEffect(() => {\n\t\tif (fabricCanvas.current) {\n\t\t\tfabricCanvas.current.getObjects().forEach((obj) => {\n\t\t\t\tif (obj.type !== \"image\") {\n\t\t\t\t\tfabricCanvas.current.remove(obj);\n\t\t\t\t}\n\t\t\t});\n\t\t\tdrawing?.forEach((d: Path) => {\n\t\t\t\tfabricCanvas.current.add(d);\n\t\t\t});\n\t\t\tfabricCanvas.current.requestRenderAll();\n\t\t}\n\t}, [drawing]);\n\n\t// =============================================================================\n\t// DRAWING MODES\n\t// =============================================================================\n\t// toggle drawing mode\n\t// fires when user clicks draw or save\n\tuseEffect(() => {\n\t\tif (fabricCanvas.current) {\n\t\t\tif (color || erase) {\n\t\t\t\tfabricCanvas.current.isDrawingMode = true;\n\t\t\t} else if (fabricCanvas.current.isDrawingMode) {\n\t\t\t\tfabricCanvas.current.isDrawingMode = false;\n\t\t\t\tresetZoomAndPosition();\n\t\t\t}\n\t\t}\n\t}, [color, erase]);\n\n\tuseEffect(() => {\n\t\tif (pencilBrush.current && color) {\n\t\t\tpencilBrush.current.color = color;\n\t\t}\n\t}, [color]);\n\n\tuseEffect(() => {\n\t\tif (fabricCanvas.current) {\n\t\t\tif (erase) {\n\t\t\t\tfabricCanvas.current.freeDrawingBrush = eraserBrush.current;\n\t\t\t} else if (pencilBrush.current) {\n\t\t\t\tfabricCanvas.current.freeDrawingBrush = pencilBrush.current;\n\t\t\t}\n\t\t}\n\t}, [erase]);\n\n\t// =============================================================================\n\t// GESTURES\n\t// =============================================================================\n\tconst handleMouseDown = (e: TEvent) => {\n\t\tif (typeof TouchEvent !== \"undefined\" && e.e instanceof TouchEvent && e.e.touches.length === 2) {\n\t\t\tif (typeof TouchEvent !== \"undefined\" && fabricCanvas.current && fabricCanvas.current.isDrawingMode) {\n\t\t\t\tfabricCanvas.current.isDrawingMode = false;\n\n\t\t\t\t// prevent drawing when gesturing\n\t\t\t\t// clear accidental drawings while gesturing\n\t\t\t\ttry {\n\t\t\t\t\t(fabricCanvas.current.freeDrawingBrush as any).onMouseUp({ e: {} });\n\t\t\t\t} catch (e) {}\n\t\t\t\tconst canvasObjects = fabricCanvas.current.getObjects();\n\t\t\t\tif (canvasObjects.length > 1) {\n\t\t\t\t\tfabricCanvas.current.remove(canvasObjects[canvasObjects.length - 1]);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n\n\tconst handleMouseUp = (e: TEvent) => {\n\t\tif (typeof TouchEvent !== \"undefined\" && e.e instanceof TouchEvent && e.e.touches.length === 0) {\n\t\t\tgestures.current.pinchStartAmount = 0;\n\t\t\tif (fabricCanvas.current && (color || erase)) {\n\t\t\t\tfabricCanvas.current.isDrawingMode = true;\n\t\t\t}\n\t\t}\n\n\t\tfabricCanvas.current?.getObjects().forEach((obj) => {\n\t\t\tobj.selectable = false;\n\t\t\tobj.hoverCursor = \"default\";\n\t\t});\n\t};\n\n\tconst handlePencilErasable = (e: any) => {\n\t\tconst path = e.path as Path;\n\t\tpath.erasable = true; // Important for @erase2d/fabric\n\t};\n\n\tuseEffect(() => {\n\t\tif (fabricCanvas.current) {\n\t\t\tfabricCanvas.current.on(\"mouse:down\", handleMouseDown);\n\t\t\tfabricCanvas.current.on(\"mouse:up\", handleMouseUp);\n\t\t\tfabricCanvas.current.on(\"path:created\", handlePencilErasable);\n\t\t}\n\n\t\treturn () => {\n\t\t\tif (fabricCanvas.current) {\n\t\t\t\tfabricCanvas.current.off(\"mouse:down\", handleMouseDown);\n\t\t\t\tfabricCanvas.current.off(\"mouse:up\", handleMouseUp);\n\t\t\t\tfabricCanvas.current.off(\"path:created\", handlePencilErasable);\n\t\t\t}\n\t\t};\n\t}, [fabricCanvas.current, color, erase]);\n\n\tusePinch(\n\t\t({ offset, origin, touches }) => {\n\t\t\tif (color || erase) {\n\t\t\t\tif (fabricCanvas.current && touches === 2) {\n\t\t\t\t\tif (gestures.current.pinchStartAmount === 0) {\n\t\t\t\t\t\tgestures.current.pinchStartAmount = fabricCanvas.current.getZoom();\n\t\t\t\t\t} else {\n\t\t\t\t\t\tconst scale = offset[0];\n\t\t\t\t\t\tlet zoom = gestures.current.pinchStartAmount * scale;\n\t\t\t\t\t\tif (zoom < 1) zoom = 1;\n\t\t\t\t\t\telse if (zoom > MAX_ZOOM) zoom = MAX_ZOOM;\n\t\t\t\t\t\tconst oldZoom = fabricCanvas.current.getZoom();\n\t\t\t\t\t\tconst [ox, oy] = origin;\n\t\t\t\t\t\tconst nextPan = new Point(\n\t\t\t\t\t\t\t((gestures.current.pan.x + ox) / oldZoom) * zoom - ox,\n\t\t\t\t\t\t\t((gestures.current.pan.y + oy) / oldZoom) * zoom - oy\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\tfabricCanvas.current.setZoom(zoom);\n\t\t\t\t\t\tapplyPan(nextPan, zoom);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t{ target: wrapperRef, pointer: { touch: true } }\n\t);\n\n\tuseDrag(\n\t\t({ delta: [dx, dy], touches }) => {\n\t\t\tif (color || erase) {\n\t\t\t\tif (fabricCanvas.current && touches === 2) {\n\t\t\t\t\tapplyPan(new Point(gestures.current.pan.x - dx, gestures.current.pan.y - dy));\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t{ target: wrapperRef, pointer: { touch: true } }\n\t);\n\n\treturn (\n\t\t<Wrapper ref={wrapperRef}>\n\t\t\t<Canvas id={TestHelper.generateId(\"imageEditor\")} ref={canvasRef} $canDraw={!!(color || erase)} />\n\t\t</Wrapper>\n\t);\n});\n"],"names":["_OverloadYield","e","d","this","v","k","_arrayLikeToArray","r","a","length","n","Array","_assertThisInitialized","ReferenceError","asyncGeneratorStep","t","o","c","i","u","value","done","Promise","resolve","then","_asyncToGenerator","arguments","apply","_next","_throw","_callSuper","_getPrototypeOf","TypeError","_possibleConstructorReturn","_isNativeReflectConstruct","Reflect","construct","constructor","_classCallCheck","_createClass","enumerable","configurable","writable","Object","defineProperty","_toPropertyKey","key","_defineProperties","prototype","_defineProperty","_get","get","bind","p","hasOwnProperty","call","_superPropBase","getOwnPropertyDescriptor","setPrototypeOf","getPrototypeOf","__proto__","_inherits","create","_setPrototypeOf","Boolean","valueOf","ownKeys","keys","getOwnPropertySymbols","filter","push","_objectSpread2","forEach","getOwnPropertyDescriptors","defineProperties","_regenerator","Symbol","iterator","toStringTag","Generator","_regeneratorDefine","f","y","G","l","return","GeneratorFunction","GeneratorFunctionPrototype","displayName","w","m","_regeneratorAsync","_regeneratorAsyncGen","next","_regeneratorAsyncIterator","asyncIterator","_invoke","_regeneratorKeys","unshift","pop","_regeneratorValues","isNaN","_slicedToArray","isArray","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","_toConsumableArray","_arrayWithoutHoles","from","_iterableToArray","_nonIterableSpread","toPrimitive","String","Number","_toPrimitive","toString","slice","name","test","_regeneratorRuntime","throw","break","continue","stop","catch","abrupt","delegateYield","resultName","finish","prev","sent","wrap","reverse","isGeneratorFunction","mark","awrap","AsyncIterator","async","values","s","window","devicePixelRatio","super","configure","assign","addFonts","fontPaths","removeFonts","clearFonts","restoreDefaults","reduce","console","Error","testPrecision","createShader","FRAGMENT_SHADER","shaderSource","compileShader","getShaderParameter","COMPILE_STATUS","queryWebGL","getContext","maxTextureSize","getParameter","MAX_TEXTURE_SIZE","GLPrecision","find","getExtension","loseContext","isSupported","h","document","isTouchSupported","navigator","maxTouchPoints","WebGLProbe","dispose","copyPasteData","g","Math","max","charWidthsCache","Map","getFontCache","fontFamily","fontStyle","fontWeight","toLowerCase","has","set","clearFontCache","delete","limitDimsByArea","perfLimitSizeTotal","sqrt","floor","PI","_","x","C","b","freeze","S","T","O","D","M","P","E","A","j","F","L","B","R","I","$","X","Y","W","V","z","H","N","U","q","K","J","Q","Z","tt","getClass","setClass","type","getSVGClass","setSVGClass","et","remove","indexOf","splice","cancelAll","abort","cancelByCanvas","target","canvas","cancelByTarget","st","on","__eventListeners","entries","off","once","_removeEventListener","fire","concat","it","rt","abs","cos","nt","sign","sin","ot","add","addEquals","scalarAdd","scalarAddEquals","subtract","subtractEquals","scalarSubtract","scalarSubtractEquals","multiply","scalarMultiply","scalarMultiplyEquals","divide","scalarDivide","scalarDivideEquals","eq","lt","lte","gt","gte","lerp","min","distanceFrom","midPointFrom","setXY","setX","setY","setFromPoint","swap","clone","rotate","at","transform","ht","_objects","_onObjectAdded","_onObjectRemoved","_onStackOrderChanged","insertAt","forEachObject","getObjects","isType","item","isEmpty","size","contains","includes","some","complexity","sendObjectToBack","bringObjectToFront","sendObjectBackwards","findNewLowerIndex","bringObjectForward","findNewUpperIndex","moveObjectTo","isOverlapping","collectObjects","left","top","width","height","includeIntersecting","selectable","visible","intersectsWithRect","isContainedWithinRect","containsPoint","ct","_setOptions","_setObject","_set","toggle","ut","requestAnimationFrame","dt","cancelAnimationFrame","ft","pt","createElement","mt","vt","yt","toDataURL","_t","toBlob","xt","Ct","bt","every","St","wt","Tt","Ot","reduceRight","kt","atan2","Dt","pow","angle","scaleX","scaleY","skewX","skewY","translateX","translateY","Mt","Pt","Et","At","tan","jt","Ft","Lt","flipX","flipY","Bt","Rt","signal","crossOrigin","aborted","src","addEventListener","onload","onerror","removeEventListener","It","reviver","all","map","fromObject","finally","$t","Xt","Yt","Wt","parseFloat","toFixed","Vt","NUM_FRACTION_DIGITS","join","zt","toLive","Gt","toObject","Ht","offsetX","Nt","Ut","qt","documentElement","body","scrollLeft","scrollTop","parentNode","host","nodeType","style","position","ownerDocument","Kt","defaultView","Jt","setAttribute","scale","Qt","Zt","onselectstart","userSelect","te","createLowerCanvas","lower","el","ctx","getElementById","hasAttribute","_originalCanvasStyle","cssText","classList","cleanupDOM","removeAttribute","setDimensions","setCSSDimensions","calcOffset","getComputedStyle","parseInt","borderLeftWidth","borderTopWidth","paddingLeft","paddingTop","getBoundingClientRect","clientLeft","clientTop","ee","backgroundVpt","backgroundColor","overlayVpt","overlayColor","includeDefaultValues","svgViewportTransformation","renderOnAddRemove","skipOffscreen","enableRetinaScaling","imageSmoothingEnabled","controlsAboveOverlay","allowTouchScrolling","viewportTransform","patternQuality","se","replace","ie","re","Intl","Segmenter","granularity","segment","ne","oe","charCodeAt","charAt","ae","capitalize","toUpperCase","escapeXml","graphemeSplit","he","lowerCanvasEl","elements","contextContainer","getDefaults","ownDefaults","initElements","_setDimensionsImpl","skipControlsDrawing","calcViewportBoundaries","requestRenderAll","setCoords","getRetinaScaling","_offset","getWidth","getHeight","cssOnly","backstoreOnly","hasLostContext","getZoom","setViewportTransform","zoomToPoint","setZoom","absolutePan","relativePan","getElement","clearContext","clearRect","clear","backgroundImage","overlayImage","renderAll","cancelRequestedRender","destroyed","renderCanvas","renderAndReset","nextRenderHandle","disposed","vptCoords","tl","tr","bl","br","drawControls","clipPath","_renderBackground","save","_renderObjects","restore","shouldCache","_transformDone","renderCache","forClipping","drawClipPathOnCanvas","_renderOverlay","__cleanupTask","globalCompositeOperation","zoomX","zoomY","drawImage","_cacheCanvas","cacheTranslationX","cacheTranslationY","render","_renderBackgroundOrOverlay","beginPath","moveTo","lineTo","closePath","fillStyle","offsetY","gradientTransform","patternTransform","fill","getCenterPoint","centerObjectH","_centerObject","centerObjectV","centerObject","viewportCenterObject","getVpCenter","viewportCenterObjectH","viewportCenterObjectV","toDatalessJSON","toDatalessObject","_toObjectMethod","toJSON","excludeFromExport","_toObject","version","objects","__serializeBgOverlay","background","overlay","toSVG","_setSVGPreamble","_setSVGHeader","clipPathId","_setSVGBgOverlayColor","_setSVGBgOverlayImage","_setSVGObjects","suppressPreamble","encoding","viewBox","createSVGFontFacesMarkup","createSVGRefElementsMarkup","createSVGClipPathMarkup","toClipPathSVG","additionalTransform","_renderText","styles","_setSVGObject","repeat","source","id","loadFromJSON","reject","JSON","parse","cloneWithoutData","format","quality","multiplier","toCanvasElement","destroy","kill","le","ce","changedTouches","clientX","clientY","ue","pointerType","de","preventDefault","stopPropagation","ge","fe","pe","calcOwnMatrix","setPositionByOrigin","me","ve","ye","_e","xe","Ce","be","Se","center","bottom","right","we","Te","Oe","ke","De","Me","Pe","Fe","Le","Ee","Ae","je","Be","Re","Ie","originX","originY","$e","Xe","Ye","pointer","We","round","Ve","corner","controls","padding","getRelativeCenterPoint","translateToGivenOrigin","ze","Ge","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgrey","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","grey","green","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgrey","lightgreen","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen","He","Ne","Ue","endsWith","qe","padStart","Ke","Je","setSource","_source","_tryParsingColor","sourceFromHex","sourceFromRgb","sourceFromHsl","isUnrecognised","getSource","toRgb","toRgba","toHsl","toHsla","toHex","toHexa","getAlpha","setAlpha","toGrayscale","toBlackWhite","overlayWith","fromRgb","fromRgba","match","fromHsl","fromHsla","parseAngletoDegrees","fromHex","split","Qe","exec","DPI","Ze","trim","meetOrSlice","alignX","alignY","ts","es","getSvgStyles","fillRule","strokeWidth","strokeDashArray","strokeDashOffset","strokeLineCap","strokeLineJoin","strokeMiterLimit","opacity","getSvgFilter","stroke","shadow","getSvgCommons","getSvgTransform","calcTransformMatrix","_toSVG","_createBaseSVGMarkup","_createBaseClipPathSVGMarkup","noStyle","withShadow","strokeUniform","absolutePositioned","addPaintOrder","paintFirst","ss","RegExp","is","rs","ns","os","as","hs","ls","_reNewline","_reSpacesAndTabs","_reSpaceAndTab","_reWords","fontSize","underline","overline","linethrough","textAlign","lineHeight","textBackgroundColor","path","pathStartOffset","pathSide","pathAlign","charSpacing","deltaY","direction","CACHE_FONT_SIZE","MIN_TEXT_WIDTH","superscript","baseline","subscript","_fontSizeFraction","offsets","_fontSizeMult","cs","us","ds","gs","fs","raw","vs","ys","cx","cy","display","visibility","_s","xs","Ss","Ts","Os","ks","parseShadow","color","blur","affectStroke","nonScaling","Ds","Ms","Ps","Es","minScaleLimit","objectCaching","inverted","centeredRotation","centeredScaling","dirty","As","asin","js","Fs","Ls","Bs","Rs","defaultEasing","easeInBack","easeInBounce","easeInCirc","easeInCubic","easeInElastic","easeInExpo","easeInOutBack","easeInOutBounce","easeInOutCirc","easeInOutCubic","easeInOutElastic","easeInOutExpo","easeInOutQuad","easeInOutQuart","easeInOutQuint","easeInOutSine","easeInQuad","easeInQuart","easeInQuint","easeInSine","easeOutBack","easeOutBounce","easeOutCirc","easeOutCubic","easeOutElastic","easeOutExpo","easeOutQuad","easeOutQuart","easeOutQuint","easeOutSine","Is","$s","startValue","byValue","duration","delay","easing","onStart","onChange","onComplete","tick","_onStart","_onChange","_onComplete","_abort","endValue","calculate","state","_state","isDone","start","startTime","Date","register","setTimeout","durationProgress","valueProgress","unregister","Xs","Ys","Ws","Vs","zs","Gs","Hs","Ns","status","points","append","isPointContained","isPointInPolygon","intersectSegmentSegment","intersectLineLine","intersectSegmentLine","intersectLinePolygon","intersectSegmentPolygon","intersectPolygonPolygon","intersectPolygonRectangle","Us","getX","getXY","getY","getRelativeX","setRelativeX","getRelativeY","setRelativeY","getRelativeXY","group","setRelativeXY","isStrokeAccountedForInDimensions","getCoords","aCoords","calcACoords","intersectsWithObject","isContainedWithinObject","getBoundingRect","isOnScreen","isPartiallyOnScreen","getScaledWidth","_getTransformedDimensions","getScaledHeight","scaleToWidth","scaleToHeight","getCanvasRetinaScaling","getTotalAngle","getViewportTransform","transformMatrixKey","matrixCache","ownMatrixCache","_getNonTransformedDimensions","_calculateCurrentDimensions","translateToCenterPoint","translateToOriginPoint","getPointByOrigin","getPositionByOrigin","_getLeftTopCoords","positionByLeftTop","qs","setOptions","_createCacheCanvas","_cacheContext","_updateCacheCanvas","_limitCacheSize","maxCacheSideLimit","minCacheSideLimit","capped","_getCacheCanvasDimensions","getTotalObjectScaling","ceil","setTransform","translate","contextTop","getObjectScaling","getObjectOpacity","_constrainScale","cacheProperties","parent","stateProperties","isNotVisible","_setupCompositeOperation","drawSelectionBackground","_setOpacity","_setShadow","drawCacheOnCanvas","_removeCacheCanvas","drawObject","isCacheDirty","parentClipPaths","hasStroke","hasFill","needsItsOwnCache","ownCaching","isOnACache","willDrawShadow","drawClipPathOnCache","_setClippingProperties","_render","_drawClipPath","createClipPathLayer","fillRect","_removeShadow","globalAlpha","_setStrokeStyles","lineWidth","lineCap","lineDashOffset","lineJoin","miterLimit","gradientUnits","_applyPatternForTransformedGradient","strokeStyle","_applyPatternGradientTransform","_setFillStyles","_setLineDash","setLineDash","shadowColor","shadowBlur","browserShadowBlurConstant","shadowOffsetX","shadowOffsetY","_renderPaintInOrder","_renderStroke","_renderFill","createPattern","_findCenterFromElement","cloneAsImage","canvasProvider","withoutTransform","withoutShadow","setOnGroup","animate","_animate","colorProperties","isDescendantOf","getAncestors","findCommonAncestors","fork","otherFork","common","hasCommonAncestors","isInFrontOf","customProperties","_removeDefaultValues","_fromObject","extraParam","Ks","Js","Qs","Zs","ti","ei","si","ii","ri","xSize","ySize","opName","commonRenderProps","arc","ni","strokeRect","oi","getTransformAnchorPoint","transformAnchorPoint","shouldActivate","getActiveObject","isControlVisible","getActionHandler","actionHandler","getMouseDownHandler","mouseDownHandler","getMouseUpHandler","mouseUpHandler","cursorStyleHandler","cursorStyle","getActionName","actionName","getVisibility","_controlsVisibility","setVisibility","positionHandler","calcCornerCoords","touchSizeX","sizeX","touchSizeY","sizeY","cornerSize","cornerColor","transparentCorners","cornerStrokeColor","cornerStyle","ai","lockRotation","hi","ex","ey","theta","snapAngle","snapThreshold","li","uniScaleKey","uniformScaling","ci","ui","di","gi","by","gestureScale","signX","signY","original","fi","pi","mi","vi","counterAxis","skew","lockSkewing","origin","flip","yi","_i","xi","skewingSide","atan","Ci","bi","Si","altActionKey","wi","Ti","Oi","ki","Di","ml","mr","mb","mtr","withConnection","Mi","Pi","Ei","createControls","noScaleCache","_currentTransform","action","startsWith","getActiveControl","__corner","control","coord","oCoords","findControl","hasControls","touchCorner","calcOCoords","forEachControl","_calcCornerCoords","touchCornerSize","selectionBackgroundColor","_activeObject","strokeBorders","_drawBorders","borderColor","borderDashArray","drawControlsConnectingLines","_renderControls","hasBorders","borderScaleFactor","isMoving","borderOpacityWhenMoving","drawBorders","forActiveSelection","cornerDashArray","setControlVisible","setControlsVisibility","clearContextTop","onDeselect","onSelect","shouldStartDragging","onDragStart","canDrop","renderDragSourceEffect","renderDropTargetEffect","Ai","getOwnPropertyNames","lockMovementX","lockMovementY","lockScalingX","lockScalingY","lockSkewingX","lockSkewingY","lockScalingFlip","evented","perPixelTargetFind","activeOn","hoverCursor","moveCursor","ji","Fi","data","getImageData","Li","options","strokeProjectionMagnitude","strokeUniformScalar","createSideVector","projectOrthogonally","applySkew","calcOrthogonalProjection","isSkewed","scaleUnitVector","Bi","Ri","getOrthogonalRotationFactor","AB","AC","alpha","bisector","projectBevel","projectMiter","projectRoundNoSkew","projectRoundWithSkew","projectRound","projectPoints","project","originPoint","projectedPoint","Ii","projectButt","projectSquare","$i","Xi","Yi","textDecorationThickness","Wi","end","Vi","zi","Gi","nodeName","getAttribute","Hi","parentElement","Ni","Ui","qi","Ki","Ji","Qi","Zi","er","sr","ir","rr","nr","or","ar","hr","matchAll","lr","transformMatrix","ur","cr","dr","gr","font","fr","pr","_initRxRy","rx","ry","bezierCurveTo","fromElement","ATTRIBUTE_NAMES","vr","yr","_r","xr","Cr","calcLayoutResult","shouldPerformLayout","calcBoundingBox","prevStrategy","strategy","shouldLayoutClipPath","getInitialSize","overrides","relativeCorrection","Sr","wr","_subscriptions","performLayout","bubbles","_prevLayoutStrategy","onBeforeLayout","getLayoutResult","commitLayout","onAfterLayout","attachHandlers","trigger","subscribe","unsubscribe","unsubscribeTargets","targets","subscribeTargets","context","deep","layoutManager","correction","result","prevCenter","nextCenter","offset","layoutObjects","layoutObject","Tr","Or","groupInit","__objectSelectionTracker","__objectSelectionMonitor","__objectSelectionDisposer","enterGroup","canEnterGroup","_filterObjectsBeforeEnteringGroup","_onAfterObjectsChange","exitGroup","_shouldSetNestedCoords","subTargetCheck","removeAll","_activeObjects","_watchObject","_enterGroup","_exitGroup","preserveObjectStacking","triggerLayout","__serializeObjects","_createSVGBgRect","interactive","kr","Dr","Mr","Pr","Er","Ar","jr","Fr","Lr","cachesBoundsOfCurve","boundsOfCurveCache","$r","Br","Rr","Ir","Xr","Yr","Wr","Vr","zr","Gr","Hr","Ur","command","angleFinder","destX","destY","qr","Nr","Kr","Jr","Qr","Zr","tn","lastIndex","en","sn","addTransformToObject","animateColor","applyTransformToObject","calcAngleBetweenVectors","calcDimensionsMatrix","calcPlaneChangeMatrix","calcVectorRotation","cancelAnimFrame","capValue","composeMatrix","copyCanvasElement","createCanvasElement","createImage","createRotateMatrix","createScaleMatrix","createSkewXMatrix","createSkewYMatrix","createTranslateMatrix","createVector","crossProduct","degreesToRadians","dotProduct","ease","enlivenObjectEnlivables","enlivenObjects","findScaleToCover","findScaleToFit","getBoundsOfCurve","getOrthonormalVector","getPathSegmentsInfo","getPointOnPath","getPointer","getRandomInt","random","getRegularPolygonPath","getSmoothPathFromPoints","getSvgAttributes","getUnitVector","groupSVGElements","hasStyleChanged","invertTransform","isBetweenVectors","isIdentityMatrix","isTouchEvent","isTransparent","joinPath","loadImage","magnitude","makeBoundingBoxFromPoints","makePathSimpler","matrixToSVG","mergeClipPaths","multiplyTransformMatrices","multiplyTransformMatrixArray","parsePath","parsePreserveAspectRatioAttribute","parseUnit","pick","projectStrokeOnPoints","qrDecompose","radiansToDegrees","removeFromArray","removeTransformFromObject","removeTransformMatrixForSvgParsing","cropX","cropY","offsetLeft","offsetTop","requestAnimFrame","resetObjectTransform","rotateVector","saveObjectTransform","sendObjectToPlane","sendPointToPlane","sendVectorToPlane","sizeAfterTransform","string","stylesFromArray","stylesToArray","transformPath","transformPoint","an","setProperty","hn","containerClass","createUpperCanvas","upper","applyCanvasStyle","createContainerElement","replaceChild","container","className","removeChild","ln","cn","un","pathOffset","dn","pointIndex","gn","fn","pn","mn","commandIndex","vn","yn","controlFill","controlStroke","_n","connectToCommandIndex","connectToPointIndex","connectionDashArray","xn","controlPointStyle","pointStyle","changeHeight","changeObjectHeight","changeObjectWidth","changeWidth","createObjectDefaultControls","createPathControls","createPolyActionHandler","createPolyControls","createPolyPositionHandler","createResizeControls","createTextboxDefaultControls","dragHandler","factoryPolyActionHandler","getLocalPoint","polyActionHandler","renderCircleControl","renderSquareControl","rotationStyleHandler","rotationWithSnapping","scaleCursorStyleHandler","scaleOrSkewActionName","scaleSkewCursorStyleHandler","scalingEqually","scalingX","scalingXOrSkewingY","scalingY","scalingYOrSkewingX","skewCursorStyleHandler","skewHandlerX","skewHandlerY","wrapWithFireEvent","wrapWithFixedAnchor","bn","upperCanvasEl","wrapperEl","_objectsToRender","deselected","_discardActiveObject","_hoveredTarget","_hoveredTargets","_chooseObjectsToRender","contextTopDirty","_groupSelector","isDrawingMode","renderTopLayer","_isCurrentlyDrawing","freeDrawingBrush","selection","_drawSelection","renderTop","setTargetFindTolerance","targetFindTolerance","pixelFindCanvasEl","pixelFindContext","isTargetTransparent","_isSelectionKeyPressed","selectionKey","_shouldClearSelection","getActiveObjects","_shouldCenterTransform","_getOriginFromCorner","_setupCurrentTransform","getScenePoint","centeredKey","actionPerformed","lastX","lastY","shiftKey","altKey","setCursor","cursor","deltaX","selectionLineWidth","selectionColor","selectionBorderColor","selectionDashArray","findTarget","_targetInfo","skipTargetFind","subTargets","currentSubTargets","searchPossibleTargets","currentContainer","currentTarget","getViewportPoint","altSelectionKey","_pointIsInObjectSelectionArea","_checkTarget","isEditing","_searchPossibleTargets","_viewportPoint","_getPointerImpl","_scenePoint","_resetTransformEventData","_setBrushStyles","willReadFrequently","getTopContext","getSelectionContext","getSelectionElement","_fireSelectionEvents","selected","setActiveObject","_setActiveObject","object","endCurrentTransform","discardActiveObject","_finalizeCurrentTransform","_scaling","_realizeGroupTransformOnObject","selectionFullyContained","defaultCursor","freeDrawingCursor","notAllowedCursor","stopContextMenu","fireRightClick","fireMiddleClick","enablePointerEvents","Sn","hiddenTextarea","focus","__disposer","exitTextEditing","exitEditing","onMouseMove","updateSelectionOnMouseMove","wn","passive","Tn","viewportPoint","scenePoint","On","kn","Dn","mouse","in","out","targetIn","targetOut","canvasIn","canvasOut","drag","Mn","addOrRemove","_getEventPrefix","_onResize","_onMouseDown","_onMouseMove","_onMouseOut","_onMouseEnter","_onMouseWheel","_onContextMenu","_onClick","_onDragStart","_onDragEnd","_onDragOver","_onDragEnter","_onDragLeave","_onDrop","_onTouchStart","removeListeners","_onMouseUp","_onTouchEnd","clearTimeout","_willAddMouseDown","_cacheTransformEventData","_handleEvent","_isClick","_dragSource","_onDragProgress","_renderDragEffects","_dropTarget","dataTransfer","dropEffect","dragSource","didDrop","dropTarget","_draggedoverTarget","_fireEnterLeaveEvents","_basicEventHandler","detail","fireEventFromPointerEvent","getPointerId","identifier","pointerId","_isMainEvent","isPrimary","touches","mainTouchId","__onMouseDown","__onMouseUp","__onMouseMove","_shouldRender","button","_onMouseUpInDrawingMode","handleSelection","_setCursorFromEvent","isClick","_onMouseDownInDrawingMode","onMouseDown","alreadySelected","_onMouseMoveInDrawingMode","onMouseUp","handleMultiSelection","_transformObject","_fireOverOutEvents","textEditingManager","fireSyntheticInOutEvents","oldTarget","fireCanvas","nextTarget","previousTarget","_performTransformAction","multiSelectAdd","Pn","x1","y1","x2","y2","En","r1","r2","An","jn","isFinite","Fn","NaN","Ln","Bn","Rn","In","getElementsByTagName","$n","Xn","Yn","Wn","Vn","coords","colorStops","addColorStop","sort","_renderPathCommands","createLinearGradient","createRadialGradient","viewBoxWidth","viewBoxHeight","zn","isImageSource","isCanvasSource","sourceToString","complete","naturalWidth","naturalHeight","Gn","_saveAndTransform","needsFullRender","_resetShadow","_isOutSideCanvas","Hn","_setPath","setBoundingBox","_calcBoundsFromPath","quadraticCurveTo","sourcePath","_getOffsetTransform","_calcDimensions","Nn","_points","_hasStraightLine","drawSegment","drawStraightLine","straightLineKey","_prepareForDrawing","_addPoint","limitedToCanvasSize","oldEnd","_finalizeAndAddPath","_reset","convertPointsToSVGPath","createPath","decimatePoints","decimate","Un","qn","setRadius","radius","startAngle","endAngle","counterClockwise","getRadiusX","getRadiusY","Zn","to","_setWidthHeight","calcLinePoints","eo","so","io","getRx","getRy","ro","exactBoundingBox","no","initialized","isOpen","_projectStrokeOnPoints","strokeOffset","strokeDiff","layoutProperties","oo","ao","isEmptyStyles","line","styleHas","cleanStyle","_textLines","removeStyle","_extendStyles","lineIndex","charIndex","get2DCursorLocation","_getLineStyle","_setLineStyle","_getStyleDeclaration","_setStyleDeclaration","getSelectionStyles","getStyleAtPosition","getCompleteStyleDeclaration","setSelectionStyles","_forceClearCache","_styleProperties","_deleteStyleDeclaration","_deleteLineStyle","ho","lo","co","uo","go","text","setPathInfo","initDimensions","segmentsInfo","_splitText","_splitTextIntoLines","textLines","lines","graphemeLines","_unwrappedTextLines","_unwrappedLines","_text","graphemeText","_clearCache","calcTextWidth","cursorWidth","calcTextHeight","enlargeSpaces","isEndOfWrapping","getLineWidth","__charBounds","kernedWidth","missingNewlineOffset","_setTextStyles","_renderTextLinesBackground","_renderTextDecoration","_renderTextStroke","_renderTextFill","textBaseline","_getFontDeclaration","_renderTextLine","_renderChars","_getLeftOffset","_getTopOffset","getHeightOfLine","_getLineLeftOffset","getValueOfPropertyAt","getHeightOfLineImpl","renderLeft","_measureChar","measureText","getHeightOfChar","measureLine","_measureLine","_getWidthOfCharSpacing","_getGraphemeBox","_setGraphemeOnPath","numOfSpaces","__lineHeights","_renderTextCommon","_renderChar","_applyPatternGradientTransformText","handleFiller","fillText","strokeText","setSuperscript","_setScript","setSubscript","__lineWidths","genericFonts","textLayoutProperties","textAnchor","textDecoration","dx","dy","textContent","_getSVGLeftTopOffsets","_getSVGTextAndBg","textTop","textLeft","_wrapSVGTextAndBg","lineTop","textBgRects","textSpans","getSvgTextDecoration","_setSVGTextLineBg","_setSVGTextLineText","_createTextCharSpan","getSvgSpanStyles","fo","dragEnterHandler","dragOverHandler","dragLeaveHandler","dragEndHandler","dropHandler","_dispose","isPointerOverSelection","getSelectionStartFromPointer","selectionStart","selectionEnd","__mouseDownInPlace","isActive","__dragStartFired","setCursorByClick","initDelayedCursor","__isDraggingOver","getDragStartSelection","__dragStartSelection","setDragImage","_getCursorBoundaries","leftOffset","topOffset","border","__dragImageDisposer","appendChild","setData","stringify","effectAllowed","abortCursorAnimation","editable","defaultPrevented","targetCanDrop","getData","types","removeChars","trimEnd","insertChars","enterEditing","_updateTextarea","index","po","mo","initBehavior","_tick","_onTickComplete","_animateCursor","toValue","_currentCursorOpacity","renderCursorOrSelection","_currentTickState","cursorDuration","_currentTickCompleteState","cursorDelay","restartCursorIfNeeded","selectAll","_fireSelectionChanged","cmdAll","getSelectedText","findWordBoundaryLeft","_reSpace","findWordBoundaryRight","findLineBoundaryLeft","findLineBoundaryRight","searchWordBoundary","selectWord","selectLine","enterEditingImpl","initHiddenTextarea","_saveEditingProps","_setEditingProps","_textBeforeEdit","activeElement","__selectionStartOnMouseDown","editingBorderColor","fromStringToGraphemeSelection","fromGraphemeToStringSelection","cursorOffsetCache","inCompositionMode","updateTextareaPosition","updateFromTextArea","_calcTextareaPosition","compositionStart","clientWidth","clientHeight","charHeight","_savedProps","_restoreEditingProps","exitEditingImpl","_removeExtraneousStyles","removeStyleFromTo","shiftLineStyles","insertNewlineStyleObject","insertCharStyleObject","insertNewStyleBlock","setSelectionStartEndWithShift","_selectionDirection","vo","autocapitalize","autocorrect","autocomplete","spellcheck","hiddenTextareaContainer","keydown","keyup","input","copy","cut","paste","compositionstart","compositionupdate","compositionend","onKeyDown","keysMapRtl","keysMap","keyCode","ctrlKeysMapDown","ctrlKey","metaKey","stopImmediatePropagation","onKeyUp","_copyDone","ctrlKeysMapUp","onInput","fromPaste","copiedText","disableStyleCopyPaste","copiedTextStyle","onCompositionStart","onCompositionEnd","onCompositionUpdate","compositionEnd","_getWidthBeforeCursor","getDownCursorOffset","_getSelectionForOffset","_getIndexOnLine","getUpCursorOffset","moveCursorDown","_moveCursorUpOrDown","moveCursorUp","moveCursorWithShift","moveCursorWithoutShift","moveCursorLeft","_moveCursorLeftOrRight","_move","_moveLeft","_moveRight","moveCursorLeftWithoutShift","moveCursorLeftWithShift","moveCursorRight","moveCursorRightWithShift","moveCursorRightWithoutShift","yo","_o","_mouseDownHandler","doubleClickHandler","tripleClickHandler","draggableTextDelegate","xo","Co","bo","So","wo","To","Oo","cursorColor","caching","ko","setSelectionStart","_updateAndFire","setSelectionEnd","findAncestorsWithClipPath","renderSelection","renderCursor","_getCursorBoundariesOffsets","__getCursorBoundariesOffsets","renderCursorAt","_renderCursor","getCursorRenderingData","_renderSelection","compositionColor","getCurrentCharFontSize","_getCurrentCharIndex","getCurrentCharColor","Do","dynamicMinWidth","_styleMap","_generateStyleMap","splitByGrapheme","isWrapping","_wrapText","getGraphemeDataForRender","wordsData","_wrapLine","wordSplit","word","_measureWord","largestWordWidth","_wordJoiners","getMinWidth","minWidth","Mo","Po","Eo","Set","Ao","multiSelectionStacking","findIndex","jo","applyFilters","desynchronized","sourceWidth","sourceHeight","imageData","originalEl","originalImageData","canvasEl","filterBackend","applyTo","putImageData","Fo","tileSize","textureSize","Float32Array","setupGLContext","captureGPUInfo","createWebGLCanvas","premultipliedAlpha","depth","stencil","antialias","clearColor","gl","getCachedTexture","originalWidth","originalHeight","destinationWidth","destinationHeight","sourceTexture","createTexture","targetTexture","originalTexture","passes","webgl","aPosition","programCache","pass","targetCanvas","createFramebuffer","bindFramebuffer","FRAMEBUFFER","copyGLTo2D","bindTexture","TEXTURE_2D","deleteTexture","deleteFramebuffer","clearWebGLCaches","textureCache","NEAREST","RGBA","UNSIGNED_BYTE","CLAMP_TO_EDGE","TEXTURE_MAG_FILTER","TEXTURE_MIN_FILTER","TEXTURE_WRAP_S","TEXTURE_WRAP_T","texParameteri","texImage2D","evictCachesForKey","copyGLTo2DPutImageData","Uint8Array","imageBuffer","Uint8ClampedArray","readPixels","ImageData","gpuInfo","renderer","vendor","UNMASKED_RENDERER_WEBGL","UNMASKED_VENDOR_WEBGL","Lo","Ro","enableGLFiltering","Bo","$o","Xo","filters","cacheKey","setElement","_element","removeTexture","_originalElement","resizeFilter","applyResizeFilters","getCrossOrigin","getOriginalSize","_stroke","getSrc","hasCrop","imageSmoothing","srcFromAttribute","getSvgSrc","setSrc","minimumScaleTrigger","_filteredEl","_filterScalingX","_filterScalingY","_lastScaleX","_lastScaleY","isNeutralState","_needsResize","_resetWidthHeight","preserveAspectRatio","fromURL","href","ea","ia","ra","na","oa","defaults","getFragmentSource","getVertexSource","createProgram","VERTEX_SHADER","getShaderInfoLog","attachShader","linkProgram","getProgramParameter","LINK_STATUS","getProgramInfoLog","getUniformLocations","uStepW","getUniformLocation","uStepH","program","attributeLocations","getAttributeLocations","uniformLocations","getAttribLocation","sendAttributeData","createBuffer","bindBuffer","ARRAY_BUFFER","enableVertexAttribArray","vertexAttribPointer","FLOAT","bufferData","STATIC_DRAW","_setupFrameBuffer","framebufferTexture2D","COLOR_ATTACHMENT0","_swapTextures","applyToWebGL","applyTo2d","getCacheKey","retrieveShader","useProgram","uniform1f","sendUniformData","viewport","drawArrays","TRIANGLE_STRIP","bindAdditionalTexture","activeTexture","TEXTURE0","unbindAdditionalTexture","createHelpLayer","helpLayer","aa","screen","difference","lighten","darken","exclusion","tint","ha","mode","uniform4fv","uColor","la","mask","ca","image","TEXTURE1","calculateMatrix","resources","blendImage","uniform1i","uImage","uniformMatrix3fv","uTransformMatrix","ua","aspectRatio","horizontal","getBlurValue","chooseRightDelta","uniform2fv","uDelta","da","brightness","uBrightness","ga","matrix","colorsOnly","fa","uniformMatrix4fv","uColorMatrix","uConstants","pa","ma","va","ya","_a","xa","Ca","ba","Sa","subFilters","wa","contrast","uContrast","Ta","Convolute_3_1","Convolute_3_0","Convolute_5_1","Convolute_5_0","Convolute_7_1","Convolute_7_0","Convolute_9_1","Convolute_9_0","Oa","opaque","createImageData","uniform1fv","uMatrix","ka","Da","gamma","rgbValues","uniform3fv","uGamma","Ma","average","lightness","luminosity","Pa","uMode","Ea","rotation","Aa","ja","invert","uInvert","uAlpha","Fa","noise","uNoise","uSeed","La","blocksize","uBlocksize","Ba","distance","uLow","uHigh","useAlpha","Ra","uTaps","taps","getFilterWindow","tempScale","lanczosLobes","generateShader","getTaps","lanczosCreate","applyToForWebgl","dW","dH","rcpScaleX","rcpScaleY","resizeType","sliceByTwo","hermiteFastResize","bilinearFiltering","lanczosResize","Ia","saturation","uSaturation","$a","vibrance","uVibrance","BaseFilter","BlackWhite","BlendColor","BlendImage","Blur","Brightness","Brownie","ColorMatrix","Composed","Contrast","Convolute","Gamma","Grayscale","HueRotation","Invert","Kodachrome","Noise","Pixelate","Polaroid","RemoveColor","Resize","Saturation","Sepia","Technicolor","Vibrance","Vintage","ClippingGroup","_this","LayoutManager","FixedLayout","Group","paths","Path","blockErasing","classRegistry","destination","undefined","imageSmoothingQuality","resetTransform","walk","flatMap","erasable","draw","_ref","_ref2","_ref2$objects","_ref2$background","_ref2$overlay","_object$parent","_opacity","drawCanvas","entry","_entry$object$parent","commitErasing","sourceInObjectPlane","curr","strokeWidthFactor","fabric.Point","strokeVector","_curr$translateToOrig","fabric.util","assertClippingGroup","eraseObject","_x","_x2","_eraseObject","_callee4","_context4","eraseCanvasDrawable","_x3","_x4","_x5","_eraseCanvasDrawable","_callee5","vpt","_context5","EraserBrush","retinaScaling","setCanvasDimensions","effectContext","eventEmitter","EventTarget","_commit","fabric.PencilBrush","cb","_this2","fabric.Color","erasingEffect","_this3","dispatchEvent","CustomEvent","cancelable","active","drawEffect","_disposer","_this$_disposer","pathData","_callee3","_ref3","_context3","t0","_ref4","_callee","_context","t1","_x7","_ref5","_ref8","_callee2","_ref7","_ref9","vptFlag","_context2","_x8","_x6","commit","toVector","fallback","v1","v2","sub","addTo","subTo","rubberband","dimension","constant","Infinity","rubberbandIfOutOfBounds","clamp","arg","hint","prim","res","obj","EVENT_TYPE_MAP","change","touch","gesture","actionsWithoutCaptureSupported","toHandlerProp","device","capture","deviceProps","actionKey","hasCapture","pointerCaptureEvents","parseProp","prop","eventKey","substring","captureKey","isTouch","event","getPointerType","getValueEvent","targetTouches","getTouchList","distanceAngle","P1","P2","hypot","_unused","touchIds","_event$currentTarget","_event$currentTarget$","getCurrentTargetTouchList","touchDistanceAngle","ids","valueEvent","pointerValues","wheelValues","deltaMode","args","noop","chain","fns","assignDefault","Engine","ctrl","computeValues","computeInitial","init","reset","shared","eventStore","gestureEventStores","timeoutStore","gestureTimeoutStores","config","sharedConfig","handler","handlers","ingKey","_active","_blocked","_force","_step","intentional","_movement","_distance","_direction","_delta","_bounds","axis","memo","elapsedTime","timeDelta","overflow","_movementBound","velocity","movement","delta","timeStamp","lastOffset","_values","_initial","initial","compute","pointerIds","locked","pointerLockElement","payload","buttons","getEventDetails","down","pressed","_absoluteDelta","axisIntent","_m0","_m1","threshold","hasCustomTransform","v0","restrictToAxis","previousOffset","gestureIsActive","first","last","bounds","setup","computeOffset","ox","oy","x0","y0","Vx","Vy","Rx","Ry","X0","X1","Y0","Y1","computeRubberband","computeMovement","absoluteDelta","emit","clean","triggerAllEvents","aliasKey","CoordinatesEngine","axisThreshold","absDx","absDy","selectAxis","lockDirection","identity","commonConfigResolver","enabled","eventOptions","_k","process","env","NODE_ENV","originalTransform","warn","domTarget","coordinatesConfigResolver","_v","current","HTMLElement","KEYS_DELTA_MAP","ArrowRight","displacement","factor","ArrowLeft","ArrowUp","ArrowDown","isBrowser","supportsTouchEvents","SUPPORT","GestureEvent","supportsGestureEvents","touchscreen","pointerLock","DEFAULT_DRAG_AXIS_THRESHOLD","pen","dragConfigResolver","lock","preventScrollAxis","preventScroll","preventScrollDelay","pointerCapture","pointerButtons","filterTaps","tapsThreshold","swipe","keyboardDisplacement","useTouch","experimental_preventWindowScrollY","swipeVelocity","swipeDistance","swipeDuration","pinchConfigResolver","scaleBounds","angleBounds","_scaleBounds","_angleBounds","modifierKey","pinchOnWheel","mouseOnly","EngineMap","ConfigResolverMap","registerAction","engine","resolver","dragAction","_pointerId","_pointerActive","_keyboardActive","_preventScroll","_delayed","tap","canceled","cancel","boundRect","targetRect","setActive","pointerClean","pointerDown","ctrlIds","setEventIds","setPointerCapture","setupPointer","setupScrollPrevention","setupDelayTrigger","startPointerDrag","pointerMove","movementX","movementY","pointerUp","hasPointerCapture","releasePointerCapture","_dx","_dy","_mx","_my","svx","svy","sx","sy","sdt","_vx","_vy","pointerClick","sourceEvent","touchAction","_unused2","requestPointerLock","exitPointerLock","persist","persistEvent","keyDown","deltaFn","keyUp","bindFunction","pinchAction","_pointerEvents","_touchIds","turns","axisMovementDifference","touchStart","ctrlTouchIds","pinchStart","pointerStart","ctrlPointerIds","touchMove","pinchMove","prev_a","delta_a","delta_turns","touchEnd","pointerEnd","gestureStart","gestureMove","_previousMovement","gestureEnd","wheel","wheelChange","wheelStart","wheelEnd","dirx","diry","clampStateInternalMovementToBounds","_objectWithoutProperties","excluded","sourceKeys","_objectWithoutPropertiesLoose","sourceSymbolKeys","propertyIsEnumerable","sharedConfigResolver","_excluded","resolveWith","resolvers","EventStore","gestureKey","_ctrl","_gestureKey","element","listeners","_listeners","toDomEventType","TimeoutStore","callback","ms","_timeouts","timeout","Controller","internalHandlers","setupGesture","scroll","move","pinch","hover","resolveGestures","applyHandlers","nativeHandlers","applyConfig","newConfig","_config","rest","_targetEventStore","gestures","effect","props","gestureConfig","bindToProps","nativeBindFunction","handlerProp","withPassiveOption","isNative","_options$capture","_options$passive","useRecognizers","React","useMemo","useEffect","Wrapper","styled","div","Canvas","$canDraw","ImageEditor","forwardRef","ref","maxSizeInKb","baseImageDataURL","drawing","erase","wrapperRef","useRef","canvasRef","fabricCanvas","fabricBackground","fittedImageBounds","pencilBrush","eraserBrush","pinchStartAmount","pan","Point","isMobileView","useWindowHelper","syncCanvasDimensions","useImperativeHandle","clearDrawing","export","resetZoomAndPosition","dataURL","toDataURLWithLimit","limit","backgroundBounds","reducedQuality","filesizeInB","FileHelper","getFilesizeFromBase64","maxSizeInB","FabricCanvas","PencilBrush","handleResize","canvasWidth","canvasHeight","oldBackgroundLeft","oldBackgroundTop","fitImageToCanvas","orientation","applyPan","zoom","imageBounds","clampAxis","imageStart","imageSize","canvasSize","minPan","maxPan","clampPanToImageBounds","img","canvasRatio","intendedZoom","Rect","FabricImage","handleUpdateImage","handleMouseDown","TouchEvent","canvasObjects","handleMouseUp","handlePencilErasable","oldZoom","nextPan","useDrag","_jsx","jsx","children","TestHelper","generateId"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.efc005fc.js","sources":["../../../node_modules/@erase2d/fabric/dist/_virtual/_rollupPluginBabelHelpers.js","../../../node_modules/fabric/dist/index.min.mjs","../../../node_modules/@erase2d/fabric/dist/fabric/src/ClippingGroup.js","../../../node_modules/@erase2d/fabric/dist/core/dist/src/erase.js","../../../node_modules/@erase2d/fabric/dist/fabric/src/ErasingEffect.js","../../../node_modules/@erase2d/fabric/dist/fabric/src/EraserBrush.js","../../../node_modules/@use-gesture/core/dist/maths-0ab39ae9.esm.js","../../../node_modules/@use-gesture/core/dist/actions-fe213e88.esm.js","../../../node_modules/@use-gesture/core/dist/use-gesture-core.esm.js","../../../node_modules/@use-gesture/react/dist/use-gesture-react.esm.js","../../../src/components/fields/image-upload/image-review/image-editor/image-editor.styles.ts","../../../src/components/fields/image-upload/image-review/image-editor/image-editor.tsx"],"sourcesContent":["function _OverloadYield(e, d) {\n this.v = e, this.k = d;\n}\nfunction _arrayLikeToArray(r, a) {\n (null == a || a > r.length) && (a = r.length);\n for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];\n return n;\n}\nfunction _arrayWithHoles(r) {\n if (Array.isArray(r)) return r;\n}\nfunction _arrayWithoutHoles(r) {\n if (Array.isArray(r)) return _arrayLikeToArray(r);\n}\nfunction _assertThisInitialized(e) {\n if (void 0 === e) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n return e;\n}\nfunction asyncGeneratorStep(n, t, e, r, o, a, c) {\n try {\n var i = n[a](c),\n u = i.value;\n } catch (n) {\n return void e(n);\n }\n i.done ? t(u) : Promise.resolve(u).then(r, o);\n}\nfunction _asyncToGenerator(n) {\n return function () {\n var t = this,\n e = arguments;\n return new Promise(function (r, o) {\n var a = n.apply(t, e);\n function _next(n) {\n asyncGeneratorStep(a, r, o, _next, _throw, \"next\", n);\n }\n function _throw(n) {\n asyncGeneratorStep(a, r, o, _next, _throw, \"throw\", n);\n }\n _next(void 0);\n });\n };\n}\nfunction _callSuper(t, o, e) {\n return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));\n}\nfunction _classCallCheck(a, n) {\n if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\");\n}\nfunction _defineProperties(e, r) {\n for (var t = 0; t < r.length; t++) {\n var o = r[t];\n o.enumerable = o.enumerable || false, o.configurable = true, \"value\" in o && (o.writable = true), Object.defineProperty(e, _toPropertyKey(o.key), o);\n }\n}\nfunction _createClass(e, r, t) {\n return r && _defineProperties(e.prototype, r), Object.defineProperty(e, \"prototype\", {\n writable: false\n }), e;\n}\nfunction _defineProperty(e, r, t) {\n return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: true,\n configurable: true,\n writable: true\n }) : e[r] = t, e;\n}\nfunction _get() {\n return _get = \"undefined\" != typeof Reflect && Reflect.get ? Reflect.get.bind() : function (e, t, r) {\n var p = _superPropBase(e, t);\n if (p) {\n var n = Object.getOwnPropertyDescriptor(p, t);\n return n.get ? n.get.call(arguments.length < 3 ? e : r) : n.value;\n }\n }, _get.apply(null, arguments);\n}\nfunction _getPrototypeOf(t) {\n return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) {\n return t.__proto__ || Object.getPrototypeOf(t);\n }, _getPrototypeOf(t);\n}\nfunction _inherits(t, e) {\n if (\"function\" != typeof e && null !== e) throw new TypeError(\"Super expression must either be null or a function\");\n t.prototype = Object.create(e && e.prototype, {\n constructor: {\n value: t,\n writable: true,\n configurable: true\n }\n }), Object.defineProperty(t, \"prototype\", {\n writable: false\n }), e && _setPrototypeOf(t, e);\n}\nfunction _isNativeReflectConstruct() {\n try {\n var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n } catch (t) {}\n return (_isNativeReflectConstruct = function () {\n return !!t;\n })();\n}\nfunction _iterableToArray(r) {\n if (\"undefined\" != typeof Symbol && null != r[Symbol.iterator] || null != r[\"@@iterator\"]) return Array.from(r);\n}\nfunction _iterableToArrayLimit(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = true,\n o = false;\n try {\n if (i = (t = t.call(r)).next, 0 === l) {\n if (Object(t) !== t) return;\n f = !1;\n } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = true, n = r;\n } finally {\n try {\n if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\n }\n}\nfunction _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction ownKeys(e, r) {\n var t = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r && (o = o.filter(function (r) {\n return Object.getOwnPropertyDescriptor(e, r).enumerable;\n })), t.push.apply(t, o);\n }\n return t;\n}\nfunction _objectSpread2(e) {\n for (var r = 1; r < arguments.length; r++) {\n var t = null != arguments[r] ? arguments[r] : {};\n r % 2 ? ownKeys(Object(t), true).forEach(function (r) {\n _defineProperty(e, r, t[r]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {\n Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));\n });\n }\n return e;\n}\nfunction _possibleConstructorReturn(t, e) {\n if (e && (\"object\" == typeof e || \"function\" == typeof e)) return e;\n if (void 0 !== e) throw new TypeError(\"Derived constructors may only return object or undefined\");\n return _assertThisInitialized(t);\n}\nfunction _regenerator() {\n /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */\n var e,\n t,\n r = \"function\" == typeof Symbol ? Symbol : {},\n n = r.iterator || \"@@iterator\",\n o = r.toStringTag || \"@@toStringTag\";\n function i(r, n, o, i) {\n var c = n && n.prototype instanceof Generator ? n : Generator,\n u = Object.create(c.prototype);\n return _regeneratorDefine(u, \"_invoke\", function (r, n, o) {\n var i,\n c,\n u,\n f = 0,\n p = o || [],\n y = false,\n G = {\n p: 0,\n n: 0,\n v: e,\n a: d,\n f: d.bind(e, 4),\n d: function (t, r) {\n return i = t, c = 0, u = e, G.n = r, a;\n }\n };\n function d(r, n) {\n for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) {\n var o,\n i = p[t],\n d = G.p,\n l = i[2];\n r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0));\n }\n if (o || r > 1) return a;\n throw y = true, n;\n }\n return function (o, p, l) {\n if (f > 1) throw TypeError(\"Generator is already running\");\n for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) {\n i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u);\n try {\n if (f = 2, i) {\n if (c || (o = \"next\"), t = i[o]) {\n if (!(t = t.call(i, u))) throw TypeError(\"iterator result is not an object\");\n if (!t.done) return t;\n u = t.value, c < 2 && (c = 0);\n } else 1 === c && (t = i.return) && t.call(i), c < 2 && (u = TypeError(\"The iterator does not provide a '\" + o + \"' method\"), c = 1);\n i = e;\n } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break;\n } catch (t) {\n i = e, c = 1, u = t;\n } finally {\n f = 1;\n }\n }\n return {\n value: t,\n done: y\n };\n };\n }(r, o, i), true), u;\n }\n var a = {};\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n t = Object.getPrototypeOf;\n var c = [][n] ? t(t([][n]())) : (_regeneratorDefine(t = {}, n, function () {\n return this;\n }), t),\n u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c);\n function f(e) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine(e, o, \"GeneratorFunction\")), e.prototype = Object.create(u), e;\n }\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine(u, \"constructor\", GeneratorFunctionPrototype), _regeneratorDefine(GeneratorFunctionPrototype, \"constructor\", GeneratorFunction), GeneratorFunction.displayName = \"GeneratorFunction\", _regeneratorDefine(GeneratorFunctionPrototype, o, \"GeneratorFunction\"), _regeneratorDefine(u), _regeneratorDefine(u, o, \"Generator\"), _regeneratorDefine(u, n, function () {\n return this;\n }), _regeneratorDefine(u, \"toString\", function () {\n return \"[object Generator]\";\n }), (_regenerator = function () {\n return {\n w: i,\n m: f\n };\n })();\n}\nfunction _regeneratorAsync(n, e, r, t, o) {\n var a = _regeneratorAsyncGen(n, e, r, t, o);\n return a.next().then(function (n) {\n return n.done ? n.value : a.next();\n });\n}\nfunction _regeneratorAsyncGen(r, e, t, o, n) {\n return new _regeneratorAsyncIterator(_regenerator().w(r, e, t, o), n || Promise);\n}\nfunction _regeneratorAsyncIterator(t, e) {\n function n(r, o, i, f) {\n try {\n var c = t[r](o),\n u = c.value;\n return u instanceof _OverloadYield ? e.resolve(u.v).then(function (t) {\n n(\"next\", t, i, f);\n }, function (t) {\n n(\"throw\", t, i, f);\n }) : e.resolve(u).then(function (t) {\n c.value = t, i(c);\n }, function (t) {\n return n(\"throw\", t, i, f);\n });\n } catch (t) {\n f(t);\n }\n }\n var r;\n this.next || (_regeneratorDefine(_regeneratorAsyncIterator.prototype), _regeneratorDefine(_regeneratorAsyncIterator.prototype, \"function\" == typeof Symbol && Symbol.asyncIterator || \"@asyncIterator\", function () {\n return this;\n })), _regeneratorDefine(this, \"_invoke\", function (t, o, i) {\n function f() {\n return new e(function (e, r) {\n n(t, i, e, r);\n });\n }\n return r = r ? r.then(f, f) : f();\n }, true);\n}\nfunction _regeneratorDefine(e, r, n, t) {\n var i = Object.defineProperty;\n try {\n i({}, \"\", {});\n } catch (e) {\n i = 0;\n }\n _regeneratorDefine = function (e, r, n, t) {\n function o(r, n) {\n _regeneratorDefine(e, r, function (e) {\n return this._invoke(r, n, e);\n });\n }\n r ? i ? i(e, r, {\n value: n,\n enumerable: !t,\n configurable: !t,\n writable: !t\n }) : e[r] = n : (o(\"next\", 0), o(\"throw\", 1), o(\"return\", 2));\n }, _regeneratorDefine(e, r, n, t);\n}\nfunction _regeneratorKeys(e) {\n var n = Object(e),\n r = [];\n for (var t in n) r.unshift(t);\n return function e() {\n for (; r.length;) if ((t = r.pop()) in n) return e.value = t, e.done = false, e;\n return e.done = true, e;\n };\n}\nfunction _regeneratorValues(e) {\n if (null != e) {\n var t = e[\"function\" == typeof Symbol && Symbol.iterator || \"@@iterator\"],\n r = 0;\n if (t) return t.call(e);\n if (\"function\" == typeof e.next) return e;\n if (!isNaN(e.length)) return {\n next: function () {\n return e && r >= e.length && (e = void 0), {\n value: e && e[r++],\n done: !e\n };\n }\n };\n }\n throw new TypeError(typeof e + \" is not iterable\");\n}\nfunction _setPrototypeOf(t, e) {\n return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) {\n return t.__proto__ = e, t;\n }, _setPrototypeOf(t, e);\n}\nfunction _slicedToArray(r, e) {\n return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest();\n}\nfunction _superPropBase(t, o) {\n for (; !{}.hasOwnProperty.call(t, o) && null !== (t = _getPrototypeOf(t)););\n return t;\n}\nfunction _toConsumableArray(r) {\n return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread();\n}\nfunction _toPrimitive(t, r) {\n if (\"object\" != typeof t || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r);\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nfunction _toPropertyKey(t) {\n var i = _toPrimitive(t, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n}\nfunction _unsupportedIterableToArray(r, a) {\n if (r) {\n if (\"string\" == typeof r) return _arrayLikeToArray(r, a);\n var t = {}.toString.call(r).slice(8, -1);\n return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0;\n }\n}\nfunction _regeneratorRuntime() {\n\n var r = _regenerator(),\n e = r.m(_regeneratorRuntime),\n t = (Object.getPrototypeOf ? Object.getPrototypeOf(e) : e.__proto__).constructor;\n function n(r) {\n var e = \"function\" == typeof r && r.constructor;\n return !!e && (e === t || \"GeneratorFunction\" === (e.displayName || e.name));\n }\n var o = {\n throw: 1,\n return: 2,\n break: 3,\n continue: 3\n };\n function a(r) {\n var e, t;\n return function (n) {\n e || (e = {\n stop: function () {\n return t(n.a, 2);\n },\n catch: function () {\n return n.v;\n },\n abrupt: function (r, e) {\n return t(n.a, o[r], e);\n },\n delegateYield: function (r, o, a) {\n return e.resultName = o, t(n.d, _regeneratorValues(r), a);\n },\n finish: function (r) {\n return t(n.f, r);\n }\n }, t = function (r, t, o) {\n n.p = e.prev, n.n = e.next;\n try {\n return r(t, o);\n } finally {\n e.next = n.n;\n }\n }), e.resultName && (e[e.resultName] = n.v, e.resultName = void 0), e.sent = n.v, e.next = n.n;\n try {\n return r.call(this, e);\n } finally {\n n.p = e.prev, n.n = e.next;\n }\n };\n }\n return (_regeneratorRuntime = function () {\n return {\n wrap: function (e, t, n, o) {\n return r.w(a(e), t, n, o && o.reverse());\n },\n isGeneratorFunction: n,\n mark: r.m,\n awrap: function (r, e) {\n return new _OverloadYield(r, e);\n },\n AsyncIterator: _regeneratorAsyncIterator,\n async: function (r, e, t, o, u) {\n return (n(e) ? _regeneratorAsyncGen : _regeneratorAsync)(a(r), e, t, o, u);\n },\n keys: _regeneratorKeys,\n values: _regeneratorValues\n };\n })();\n}\n\nexport { _OverloadYield as OverloadYield, _arrayLikeToArray as arrayLikeToArray, _arrayWithHoles as arrayWithHoles, _arrayWithoutHoles as arrayWithoutHoles, _assertThisInitialized as assertThisInitialized, _asyncToGenerator as asyncToGenerator, _callSuper as callSuper, _classCallCheck as classCallCheck, _createClass as createClass, _defineProperty as defineProperty, _get as get, _getPrototypeOf as getPrototypeOf, _inherits as inherits, _isNativeReflectConstruct as isNativeReflectConstruct, _iterableToArray as iterableToArray, _iterableToArrayLimit as iterableToArrayLimit, _nonIterableRest as nonIterableRest, _nonIterableSpread as nonIterableSpread, _objectSpread2 as objectSpread2, _possibleConstructorReturn as possibleConstructorReturn, _regenerator as regenerator, _regeneratorAsync as regeneratorAsync, _regeneratorAsyncGen as regeneratorAsyncGen, _regeneratorAsyncIterator as regeneratorAsyncIterator, _regeneratorDefine as regeneratorDefine, _regeneratorKeys as regeneratorKeys, _regeneratorRuntime as regeneratorRuntime, _regeneratorValues as regeneratorValues, _setPrototypeOf as setPrototypeOf, _slicedToArray as slicedToArray, _superPropBase as superPropBase, _toConsumableArray as toConsumableArray, _toPrimitive as toPrimitive, _toPropertyKey as toPropertyKey, _unsupportedIterableToArray as unsupportedIterableToArray };\n//# sourceMappingURL=_rollupPluginBabelHelpers.js.map\n","function t(t,e,s){return(e=function(t){var e=function(t,e){if(\"object\"!=typeof t||!t)return t;var s=t[Symbol.toPrimitive];if(void 0!==s){var i=s.call(t,e);if(\"object\"!=typeof i)return i;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===e?String:Number)(t)}(t,\"string\");return\"symbol\"==typeof e?e:e+\"\"}(e))in t?Object.defineProperty(t,e,{value:s,enumerable:!0,configurable:!0,writable:!0}):t[e]=s,t}class e{constructor(){t(this,\"browserShadowBlurConstant\",1),t(this,\"DPI\",96),t(this,\"devicePixelRatio\",\"undefined\"!=typeof window?window.devicePixelRatio:1),t(this,\"perfLimitSizeTotal\",2097152),t(this,\"maxCacheSideLimit\",4096),t(this,\"minCacheSideLimit\",256),t(this,\"disableStyleCopyPaste\",!1),t(this,\"enableGLFiltering\",!0),t(this,\"textureSize\",4096),t(this,\"forceGLPutImageData\",!1),t(this,\"cachesBoundsOfCurve\",!1),t(this,\"fontPaths\",{}),t(this,\"NUM_FRACTION_DIGITS\",4)}}const s=new class extends e{constructor(t){super(),this.configure(t)}configure(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};Object.assign(this,t)}addFonts(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.fontPaths={...this.fontPaths,...t}}removeFonts(){(arguments.length>0&&void 0!==arguments[0]?arguments[0]:[]).forEach(t=>{delete this.fontPaths[t]})}clearFonts(){this.fontPaths={}}restoreDefaults(t){const s=new e,i=(null==t?void 0:t.reduce((t,e)=>(t[e]=s[e],t),{}))||s;this.configure(i)}},i=function(t){for(var e=arguments.length,s=new Array(e>1?e-1:0),i=1;i<e;i++)s[i-1]=arguments[i];return console[t](\"fabric\",...s)};class r extends Error{constructor(t,e){super(`fabric: ${t}`,e)}}class n extends r{constructor(t){super(`${t} 'options.signal' is in 'aborted' state`)}}class o{}class a extends o{testPrecision(t,e){const s=`precision ${e} float;\\nvoid main(){}`,i=t.createShader(t.FRAGMENT_SHADER);return!!i&&(t.shaderSource(i,s),t.compileShader(i),!!t.getShaderParameter(i,t.COMPILE_STATUS))}queryWebGL(t){const e=t.getContext(\"webgl\");e&&(this.maxTextureSize=e.getParameter(e.MAX_TEXTURE_SIZE),this.GLPrecision=[\"highp\",\"mediump\",\"lowp\"].find(t=>this.testPrecision(e,t)),e.getExtension(\"WEBGL_lose_context\").loseContext(),i(\"log\",`WebGL: max texture size ${this.maxTextureSize}`))}isSupported(t){return!!this.maxTextureSize&&this.maxTextureSize>=t}}const h={};let l;const c=t=>{l=t},u=()=>l||(l={document:document,window:window,isTouchSupported:\"ontouchstart\"in window||\"ontouchstart\"in document||window&&window.navigator&&window.navigator.maxTouchPoints>0,WebGLProbe:new a,dispose(){},copyPasteData:h}),d=()=>u().document,g=()=>u().window,f=()=>{var t;return Math.max(null!==(t=s.devicePixelRatio)&&void 0!==t?t:g().devicePixelRatio,1)};const p=new class{constructor(){t(this,\"boundsOfCurveCache\",{}),this.charWidthsCache=new Map}getFontCache(t){let{fontFamily:e,fontStyle:s,fontWeight:i}=t;e=e.toLowerCase();const r=this.charWidthsCache;r.has(e)||r.set(e,new Map);const n=r.get(e),o=`${s.toLowerCase()}_${(i+\"\").toLowerCase()}`;return n.has(o)||n.set(o,new Map),n.get(o)}clearFontCache(t){t?this.charWidthsCache.delete((t||\"\").toLowerCase()):this.charWidthsCache=new Map}limitDimsByArea(t){const{perfLimitSizeTotal:e}=s,i=Math.sqrt(e*t);return[Math.floor(i),Math.floor(e/i)]}};const m=\"7.2.0\";function v(){}const y=Math.PI/2,_=Math.PI/4,x=2*Math.PI,C=Math.PI/180,b=Object.freeze([1,0,0,1,0,0]),S=16,w=.4477152502,T=\"center\",O=\"left\",k=\"top\",D=\"bottom\",M=\"right\",P=\"none\",E=/\\r?\\n/,A=\"moving\",j=\"scaling\",F=\"rotating\",L=\"rotate\",B=\"skewing\",R=\"resizing\",I=\"modifyPoly\",$=\"modifyPath\",X=\"changed\",Y=\"scale\",W=\"scaleX\",V=\"scaleY\",z=\"skewX\",G=\"skewY\",H=\"fill\",N=\"stroke\",U=\"modified\",q=\"ltr\",K=\"rtl\",J=\"normal\",Q=\"json\",Z=\"svg\";const tt=new class{constructor(){this[Q]=new Map,this[Z]=new Map}has(t){return this[Q].has(t)}getClass(t){const e=this[Q].get(t);if(!e)throw new r(`No class registered for ${t}`);return e}setClass(t,e){e?this[Q].set(e,t):(this[Q].set(t.type,t),this[Q].set(t.type.toLowerCase(),t))}getSVGClass(t){return this[Z].get(t)}setSVGClass(t,e){this[Z].set(null!=e?e:t.type.toLowerCase(),t)}};const et=new class extends Array{remove(t){const e=this.indexOf(t);e>-1&&this.splice(e,1)}cancelAll(){const t=this.splice(0);return t.forEach(t=>t.abort()),t}cancelByCanvas(t){if(!t)return[];const e=this.filter(e=>{var s;return e.target===t||\"object\"==typeof e.target&&(null===(s=e.target)||void 0===s?void 0:s.canvas)===t});return e.forEach(t=>t.abort()),e}cancelByTarget(t){if(!t)return[];const e=this.filter(e=>e.target===t);return e.forEach(t=>t.abort()),e}};class st{constructor(){t(this,\"__eventListeners\",{})}on(t,e){if(this.__eventListeners||(this.__eventListeners={}),\"object\"==typeof t)return Object.entries(t).forEach(t=>{let[e,s]=t;this.on(e,s)}),()=>this.off(t);if(e){const s=t;return this.__eventListeners[s]||(this.__eventListeners[s]=[]),this.__eventListeners[s].push(e),()=>this.off(s,e)}return()=>!1}once(t,e){if(\"object\"==typeof t){const e=[];return Object.entries(t).forEach(t=>{let[s,i]=t;e.push(this.once(s,i))}),()=>e.forEach(t=>t())}if(e){const s=this.on(t,function(){for(var t=arguments.length,i=new Array(t),r=0;r<t;r++)i[r]=arguments[r];e.call(this,...i),s()});return s}return()=>!1}_removeEventListener(t,e){if(this.__eventListeners[t])if(e){const s=this.__eventListeners[t],i=s.indexOf(e);i>-1&&s.splice(i,1)}else this.__eventListeners[t]=[]}off(t,e){if(this.__eventListeners)if(void 0===t)for(const t in this.__eventListeners)this._removeEventListener(t);else\"object\"==typeof t?Object.entries(t).forEach(t=>{let[e,s]=t;this._removeEventListener(e,s)}):this._removeEventListener(t,e)}fire(t,e){var s;if(!this.__eventListeners)return;const i=null===(s=this.__eventListeners[t])||void 0===s?void 0:s.concat();if(i)for(let t=0;t<i.length;t++)i[t].call(this,e||{})}}const it=(t,e)=>{const s=t.indexOf(e);return-1!==s&&t.splice(s,1),t},rt=t=>{if(0===t)return 1;switch(Math.abs(t)/y){case 1:case 3:return 0;case 2:return-1}return Math.cos(t)},nt=t=>{if(0===t)return 0;const e=t/y,s=Math.sign(t);switch(e){case 1:return s;case 2:return 0;case 3:return-s}return Math.sin(t)};class ot{constructor(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;\"object\"==typeof t?(this.x=t.x,this.y=t.y):(this.x=t,this.y=e)}add(t){return new ot(this.x+t.x,this.y+t.y)}addEquals(t){return this.x+=t.x,this.y+=t.y,this}scalarAdd(t){return new ot(this.x+t,this.y+t)}scalarAddEquals(t){return this.x+=t,this.y+=t,this}subtract(t){return new ot(this.x-t.x,this.y-t.y)}subtractEquals(t){return this.x-=t.x,this.y-=t.y,this}scalarSubtract(t){return new ot(this.x-t,this.y-t)}scalarSubtractEquals(t){return this.x-=t,this.y-=t,this}multiply(t){return new ot(this.x*t.x,this.y*t.y)}scalarMultiply(t){return new ot(this.x*t,this.y*t)}scalarMultiplyEquals(t){return this.x*=t,this.y*=t,this}divide(t){return new ot(this.x/t.x,this.y/t.y)}scalarDivide(t){return new ot(this.x/t,this.y/t)}scalarDivideEquals(t){return this.x/=t,this.y/=t,this}eq(t){return this.x===t.x&&this.y===t.y}lt(t){return this.x<t.x&&this.y<t.y}lte(t){return this.x<=t.x&&this.y<=t.y}gt(t){return this.x>t.x&&this.y>t.y}gte(t){return this.x>=t.x&&this.y>=t.y}lerp(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:.5;return e=Math.max(Math.min(1,e),0),new ot(this.x+(t.x-this.x)*e,this.y+(t.y-this.y)*e)}distanceFrom(t){const e=this.x-t.x,s=this.y-t.y;return Math.sqrt(e*e+s*s)}midPointFrom(t){return this.lerp(t)}min(t){return new ot(Math.min(this.x,t.x),Math.min(this.y,t.y))}max(t){return new ot(Math.max(this.x,t.x),Math.max(this.y,t.y))}toString(){return`${this.x},${this.y}`}setXY(t,e){return this.x=t,this.y=e,this}setX(t){return this.x=t,this}setY(t){return this.y=t,this}setFromPoint(t){return this.x=t.x,this.y=t.y,this}swap(t){const e=this.x,s=this.y;this.x=t.x,this.y=t.y,t.x=e,t.y=s}clone(){return new ot(this.x,this.y)}rotate(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:at;const s=nt(t),i=rt(t),r=this.subtract(e);return new ot(r.x*i-r.y*s,r.x*s+r.y*i).add(e)}transform(t){let e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return new ot(t[0]*this.x+t[2]*this.y+(e?0:t[4]),t[1]*this.x+t[3]*this.y+(e?0:t[5]))}}const at=new ot(0,0),ht=t=>!!t&&Array.isArray(t._objects);function lt(e){class s extends e{constructor(){super(...arguments),t(this,\"_objects\",[])}_onObjectAdded(t){}_onObjectRemoved(t){}_onStackOrderChanged(t){}add(){for(var t=arguments.length,e=new Array(t),s=0;s<t;s++)e[s]=arguments[s];const i=this._objects.push(...e);return e.forEach(t=>this._onObjectAdded(t)),i}insertAt(t){for(var e=arguments.length,s=new Array(e>1?e-1:0),i=1;i<e;i++)s[i-1]=arguments[i];return this._objects.splice(t,0,...s),s.forEach(t=>this._onObjectAdded(t)),this._objects.length}remove(){const t=this._objects,e=[];for(var s=arguments.length,i=new Array(s),r=0;r<s;r++)i[r]=arguments[r];return i.forEach(s=>{const i=t.indexOf(s);-1!==i&&(t.splice(i,1),e.push(s),this._onObjectRemoved(s))}),e}forEachObject(t){this.getObjects().forEach((e,s,i)=>t(e,s,i))}getObjects(){for(var t=arguments.length,e=new Array(t),s=0;s<t;s++)e[s]=arguments[s];return 0===e.length?[...this._objects]:this._objects.filter(t=>t.isType(...e))}item(t){return this._objects[t]}isEmpty(){return 0===this._objects.length}size(){return this._objects.length}contains(t,e){return!!this._objects.includes(t)||!!e&&this._objects.some(e=>e instanceof s&&e.contains(t,!0))}complexity(){return this._objects.reduce((t,e)=>t+=e.complexity?e.complexity():0,0)}sendObjectToBack(t){return!(!t||t===this._objects[0])&&(it(this._objects,t),this._objects.unshift(t),this._onStackOrderChanged(t),!0)}bringObjectToFront(t){return!(!t||t===this._objects[this._objects.length-1])&&(it(this._objects,t),this._objects.push(t),this._onStackOrderChanged(t),!0)}sendObjectBackwards(t,e){if(!t)return!1;const s=this._objects.indexOf(t);if(0!==s){const i=this.findNewLowerIndex(t,s,e);return it(this._objects,t),this._objects.splice(i,0,t),this._onStackOrderChanged(t),!0}return!1}bringObjectForward(t,e){if(!t)return!1;const s=this._objects.indexOf(t);if(s!==this._objects.length-1){const i=this.findNewUpperIndex(t,s,e);return it(this._objects,t),this._objects.splice(i,0,t),this._onStackOrderChanged(t),!0}return!1}moveObjectTo(t,e){return t!==this._objects[e]&&(it(this._objects,t),this._objects.splice(e,0,t),this._onStackOrderChanged(t),!0)}findNewLowerIndex(t,e,s){let i;if(s){i=e;for(let s=e-1;s>=0;--s)if(t.isOverlapping(this._objects[s])){i=s;break}}else i=e-1;return i}findNewUpperIndex(t,e,s){let i;if(s){i=e;for(let s=e+1;s<this._objects.length;++s)if(t.isOverlapping(this._objects[s])){i=s;break}}else i=e+1;return i}collectObjects(t){let{left:e,top:s,width:i,height:r}=t,{includeIntersecting:n=!0}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const o=[],a=new ot(e,s),h=a.add(new ot(i,r));for(let t=this._objects.length-1;t>=0;t--){const e=this._objects[t];e.selectable&&e.visible&&(n&&e.intersectsWithRect(a,h)||e.isContainedWithinRect(a,h)||n&&e.containsPoint(a)||n&&e.containsPoint(h))&&o.push(e)}return o}}return s}class ct extends st{_setOptions(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};for(const e in t)this.set(e,t[e])}_setObject(t){for(const e in t)this._set(e,t[e])}set(t,e){return\"object\"==typeof t?this._setObject(t):this._set(t,e),this}_set(t,e){this[t]=e}toggle(t){const e=this.get(t);return\"boolean\"==typeof e&&this.set(t,!e),this}get(t){return this[t]}}function ut(t){return g().requestAnimationFrame(t)}function dt(t){return g().cancelAnimationFrame(t)}let gt=0;const ft=()=>gt++,pt=()=>{const t=d().createElement(\"canvas\");if(!t||void 0===t.getContext)throw new r(\"Failed to create `canvas` element\");return t},mt=()=>d().createElement(\"img\"),vt=t=>{const e=pt();return e.width=t.width,e.height=t.height,e},yt=(t,e,s)=>t.toDataURL(`image/${e}`,s),_t=(t,e,s)=>new Promise((i,r)=>{t.toBlob(i,`image/${e}`,s)}),xt=t=>t*C,Ct=t=>t/C,bt=t=>t.every((t,e)=>t===b[e]),St=(t,e,s)=>new ot(t).transform(e,s),wt=t=>{const e=1/(t[0]*t[3]-t[1]*t[2]),s=[e*t[3],-e*t[1],-e*t[2],e*t[0],0,0],{x:i,y:r}=new ot(t[4],t[5]).transform(s,!0);return s[4]=-i,s[5]=-r,s},Tt=(t,e,s)=>[t[0]*e[0]+t[2]*e[1],t[1]*e[0]+t[3]*e[1],t[0]*e[2]+t[2]*e[3],t[1]*e[2]+t[3]*e[3],s?0:t[0]*e[4]+t[2]*e[5]+t[4],s?0:t[1]*e[4]+t[3]*e[5]+t[5]],Ot=(t,e)=>t.reduceRight((t,s)=>s&&t?Tt(s,t,e):s||t,void 0)||b.concat(),kt=t=>{let[e,s]=t;return Math.atan2(s,e)},Dt=t=>{const e=kt(t),s=Math.pow(t[0],2)+Math.pow(t[1],2),i=Math.sqrt(s),r=(t[0]*t[3]-t[2]*t[1])/i,n=Math.atan2(t[0]*t[2]+t[1]*t[3],s);return{angle:Ct(e),scaleX:i,scaleY:r,skewX:Ct(n),skewY:0,translateX:t[4]||0,translateY:t[5]||0}},Mt=function(t){return[1,0,0,1,t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:0]};function Pt(){let{angle:t=0}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{x:e=0,y:s=0}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const i=xt(t),r=rt(i),n=nt(i);return[r,n,-n,r,e?e-(r*e-n*s):0,s?s-(n*e+r*s):0]}const Et=function(t){return[t,0,0,arguments.length>1&&void 0!==arguments[1]?arguments[1]:t,0,0]},At=t=>Math.tan(xt(t)),jt=t=>[1,0,At(t),1,0,0],Ft=t=>[1,At(t),0,1,0,0],Lt=t=>{let{scaleX:e=1,scaleY:s=1,flipX:i=!1,flipY:r=!1,skewX:n=0,skewY:o=0}=t,a=Et(i?-e:e,r?-s:s);return n&&(a=Tt(a,jt(n),!0)),o&&(a=Tt(a,Ft(o),!0)),a},Bt=t=>{const{translateX:e=0,translateY:s=0,angle:i=0}=t;let r=Mt(e,s);i&&(r=Tt(r,Pt({angle:i})));const n=Lt(t);return bt(n)||(r=Tt(r,n)),r},Rt=function(t){let{signal:e,crossOrigin:s=null}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return new Promise(function(i,o){if(e&&e.aborted)return o(new n(\"loadImage\"));const a=mt();let h;e&&(h=function(t){a.src=\"\",o(t)},e.addEventListener(\"abort\",h,{once:!0}));const l=function(){a.onload=a.onerror=null,h&&(null==e||e.removeEventListener(\"abort\",h)),i(a)};t?(a.onload=l,a.onerror=function(){h&&(null==e||e.removeEventListener(\"abort\",h)),o(new r(`Error loading ${a.src}`))},s&&(a.crossOrigin=s),a.src=t):l()})},It=function(t){let{signal:e,reviver:s=v}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return new Promise((i,r)=>{const n=[];e&&e.addEventListener(\"abort\",r,{once:!0}),Promise.all(t.map(t=>tt.getClass(t.type).fromObject(t,{signal:e}).then(e=>(s(t,e),n.push(e),e)))).then(i).catch(t=>{n.forEach(t=>{t.dispose&&t.dispose()}),r(t)}).finally(()=>{e&&e.removeEventListener(\"abort\",r)})})},$t=function(t){let{signal:e}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return new Promise((s,i)=>{const r=[];e&&e.addEventListener(\"abort\",i,{once:!0});const n=Object.values(t).map(t=>t&&t.type&&tt.has(t.type)?It([t],{signal:e}).then(t=>{let[e]=t;return r.push(e),e}):t),o=Object.keys(t);Promise.all(n).then(t=>t.reduce((t,e,s)=>(t[o[s]]=e,t),{})).then(s).catch(t=>{r.forEach(t=>{t.dispose&&t.dispose()}),i(t)}).finally(()=>{e&&e.removeEventListener(\"abort\",i)})})},Xt=function(t){return(arguments.length>1&&void 0!==arguments[1]?arguments[1]:[]).reduce((e,s)=>(s in t&&(e[s]=t[s]),e),{})},Yt=(t,e)=>Object.keys(t).reduce((s,i)=>(e(t[i],i,t)&&(s[i]=t[i]),s),{}),Wt=(t,e)=>parseFloat(Number(t).toFixed(e)),Vt=t=>\"matrix(\"+t.map(t=>Wt(t,s.NUM_FRACTION_DIGITS)).join(\" \")+\")\",zt=t=>!!t&&void 0!==t.toLive,Gt=t=>!!t&&\"function\"==typeof t.toObject,Ht=t=>!!t&&void 0!==t.offsetX&&\"source\"in t,Nt=t=>!!t&&\"multiSelectionStacking\"in t;function Ut(t){const e=t&&qt(t);let s=0,i=0;if(!t||!e)return{left:s,top:i};let r=t;const n=e.documentElement,o=e.body||{scrollLeft:0,scrollTop:0};for(;r&&(r.parentNode||r.host)&&(r=r.parentNode||r.host,r===e?(s=o.scrollLeft||n.scrollLeft||0,i=o.scrollTop||n.scrollTop||0):(s+=r.scrollLeft||0,i+=r.scrollTop||0),1!==r.nodeType||\"fixed\"!==r.style.position););return{left:s,top:i}}const qt=t=>t.ownerDocument||null,Kt=t=>{var e;return(null===(e=t.ownerDocument)||void 0===e?void 0:e.defaultView)||null},Jt=function(t,e,s){let{width:i,height:r}=s,n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1;t.width=i,t.height=r,n>1&&(t.setAttribute(\"width\",(i*n).toString()),t.setAttribute(\"height\",(r*n).toString()),e.scale(n,n))},Qt=(t,e)=>{let{width:s,height:i}=e;s&&(t.style.width=\"number\"==typeof s?`${s}px`:s),i&&(t.style.height=\"number\"==typeof i?`${i}px`:i)};function Zt(t){return void 0!==t.onselectstart&&(t.onselectstart=()=>!1),t.style.userSelect=P,t}class te{constructor(e){t(this,\"_originalCanvasStyle\",void 0),t(this,\"lower\",void 0);const s=this.createLowerCanvas(e);this.lower={el:s,ctx:s.getContext(\"2d\")}}createLowerCanvas(t){const e=(s=t)&&void 0!==s.getContext?t:t&&d().getElementById(t)||pt();var s;if(e.hasAttribute(\"data-fabric\"))throw new r(\"Trying to initialize a canvas that has already been initialized. Did you forget to dispose the canvas?\");return this._originalCanvasStyle=e.style.cssText,e.setAttribute(\"data-fabric\",\"main\"),e.classList.add(\"lower-canvas\"),e}cleanupDOM(t){let{width:e,height:s}=t;const{el:i}=this.lower;i.classList.remove(\"lower-canvas\"),i.removeAttribute(\"data-fabric\"),i.setAttribute(\"width\",`${e}`),i.setAttribute(\"height\",`${s}`),i.style.cssText=this._originalCanvasStyle||\"\",this._originalCanvasStyle=void 0}setDimensions(t,e){const{el:s,ctx:i}=this.lower;Jt(s,i,t,e)}setCSSDimensions(t){Qt(this.lower.el,t)}calcOffset(){return function(t){var e;const s=t&&qt(t),i={left:0,top:0};if(!s)return i;const r=(null===(e=Kt(t))||void 0===e?void 0:e.getComputedStyle(t,null))||{};i.left+=parseInt(r.borderLeftWidth,10)||0,i.top+=parseInt(r.borderTopWidth,10)||0,i.left+=parseInt(r.paddingLeft,10)||0,i.top+=parseInt(r.paddingTop,10)||0;let n={left:0,top:0};const o=s.documentElement;void 0!==t.getBoundingClientRect&&(n=t.getBoundingClientRect());const a=Ut(t);return{left:n.left+a.left-(o.clientLeft||0)+i.left,top:n.top+a.top-(o.clientTop||0)+i.top}}(this.lower.el)}dispose(){u().dispose(this.lower.el),delete this.lower}}const ee={backgroundVpt:!0,backgroundColor:\"\",overlayVpt:!0,overlayColor:\"\",includeDefaultValues:!0,svgViewportTransformation:!0,renderOnAddRemove:!0,skipOffscreen:!0,enableRetinaScaling:!0,imageSmoothingEnabled:!0,controlsAboveOverlay:!1,allowTouchScrolling:!1,viewportTransform:[...b],patternQuality:\"best\"},se=t=>t.toString().replace(/&/g,\"&\").replace(/\"/g,\""\").replace(/'/g,\"'\").replace(/</g,\"<\").replace(/>/g,\">\");let ie;const re=t=>{if(ie||ie||(ie=\"Intl\"in g()&&\"Segmenter\"in Intl&&new Intl.Segmenter(void 0,{granularity:\"grapheme\"})),ie){const e=ie.segment(t);return Array.from(e).map(t=>{let{segment:e}=t;return e})}return ne(t)},ne=t=>{const e=[];for(let s,i=0;i<t.length;i++)!1!==(s=oe(t,i))&&e.push(s);return e},oe=(t,e)=>{const s=t.charCodeAt(e);if(isNaN(s))return\"\";if(s<55296||s>57343)return t.charAt(e);if(55296<=s&&s<=56319){if(t.length<=e+1)throw\"High surrogate without following low surrogate\";const s=t.charCodeAt(e+1);if(56320>s||s>57343)throw\"High surrogate without following low surrogate\";return t.charAt(e)+t.charAt(e+1)}if(0===e)throw\"Low surrogate without preceding high surrogate\";const i=t.charCodeAt(e-1);if(55296>i||i>56319)throw\"Low surrogate without preceding high surrogate\";return!1};var ae=Object.freeze({__proto__:null,capitalize:function(t){let e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return`${t.charAt(0).toUpperCase()}${e?t.slice(1):t.slice(1).toLowerCase()}`},escapeXml:se,graphemeSplit:re});class he extends(lt(ct)){get lowerCanvasEl(){var t;return null===(t=this.elements.lower)||void 0===t?void 0:t.el}get contextContainer(){var t;return null===(t=this.elements.lower)||void 0===t?void 0:t.ctx}static getDefaults(){return he.ownDefaults}constructor(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};super(),Object.assign(this,this.constructor.getDefaults()),this.set(e),this.initElements(t),this._setDimensionsImpl({width:this.width||this.elements.lower.el.width||0,height:this.height||this.elements.lower.el.height||0}),this.skipControlsDrawing=!1,this.viewportTransform=[...this.viewportTransform],this.calcViewportBoundaries()}initElements(t){this.elements=new te(t)}add(){const t=super.add(...arguments);return arguments.length>0&&this.renderOnAddRemove&&this.requestRenderAll(),t}insertAt(t){for(var e=arguments.length,s=new Array(e>1?e-1:0),i=1;i<e;i++)s[i-1]=arguments[i];const r=super.insertAt(t,...s);return s.length>0&&this.renderOnAddRemove&&this.requestRenderAll(),r}remove(){const t=super.remove(...arguments);return t.length>0&&this.renderOnAddRemove&&this.requestRenderAll(),t}_onObjectAdded(t){t.canvas&&t.canvas!==this&&(i(\"warn\",\"Canvas is trying to add an object that belongs to a different canvas.\\nResulting to default behavior: removing object from previous canvas and adding to new canvas\"),t.canvas.remove(t)),t._set(\"canvas\",this),t.setCoords(),this.fire(\"object:added\",{target:t}),t.fire(\"added\",{target:this})}_onObjectRemoved(t){t._set(\"canvas\",void 0),this.fire(\"object:removed\",{target:t}),t.fire(\"removed\",{target:this})}_onStackOrderChanged(){this.renderOnAddRemove&&this.requestRenderAll()}getRetinaScaling(){return this.enableRetinaScaling?f():1}calcOffset(){return this._offset=this.elements.calcOffset()}getWidth(){return this.width}getHeight(){return this.height}_setDimensionsImpl(t){let{cssOnly:e=!1,backstoreOnly:s=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!e){const e={width:this.width,height:this.height,...t};this.elements.setDimensions(e,this.getRetinaScaling()),this.hasLostContext=!0,this.width=e.width,this.height=e.height}s||this.elements.setCSSDimensions(t),this.calcOffset()}setDimensions(t,e){this._setDimensionsImpl(t,e),e&&e.cssOnly||this.requestRenderAll()}getZoom(){return this.viewportTransform[0]}setViewportTransform(t){this.viewportTransform=t,this.calcViewportBoundaries(),this.renderOnAddRemove&&this.requestRenderAll()}zoomToPoint(t,e){const s=t,i=[...this.viewportTransform],r=St(t,wt(i));i[0]=e,i[3]=e;const n=St(r,i);i[4]+=s.x-n.x,i[5]+=s.y-n.y,this.setViewportTransform(i)}setZoom(t){this.zoomToPoint(new ot(0,0),t)}absolutePan(t){const e=[...this.viewportTransform];return e[4]=-t.x,e[5]=-t.y,this.setViewportTransform(e)}relativePan(t){return this.absolutePan(new ot(-t.x-this.viewportTransform[4],-t.y-this.viewportTransform[5]))}getElement(){return this.elements.lower.el}clearContext(t){t.clearRect(0,0,this.width,this.height)}getContext(){return this.elements.lower.ctx}clear(){this.remove(...this.getObjects()),this.backgroundImage=void 0,this.overlayImage=void 0,this.backgroundColor=\"\",this.overlayColor=\"\",this.clearContext(this.getContext()),this.fire(\"canvas:cleared\"),this.renderOnAddRemove&&this.requestRenderAll()}renderAll(){this.cancelRequestedRender(),this.destroyed||this.renderCanvas(this.getContext(),this._objects)}renderAndReset(){this.nextRenderHandle=0,this.renderAll()}requestRenderAll(){this.nextRenderHandle||this.disposed||this.destroyed||(this.nextRenderHandle=ut(()=>this.renderAndReset()))}calcViewportBoundaries(){const t=this.width,e=this.height,s=wt(this.viewportTransform),i=St({x:0,y:0},s),r=St({x:t,y:e},s),n=i.min(r),o=i.max(r);return this.vptCoords={tl:n,tr:new ot(o.x,n.y),bl:new ot(n.x,o.y),br:o}}cancelRequestedRender(){this.nextRenderHandle&&(dt(this.nextRenderHandle),this.nextRenderHandle=0)}drawControls(t){}renderCanvas(t,e){if(this.destroyed)return;const s=this.viewportTransform,i=this.clipPath;this.calcViewportBoundaries(),this.clearContext(t),t.imageSmoothingEnabled=this.imageSmoothingEnabled,t.patternQuality=this.patternQuality,this.fire(\"before:render\",{ctx:t}),this._renderBackground(t),t.save(),t.transform(s[0],s[1],s[2],s[3],s[4],s[5]),this._renderObjects(t,e),t.restore(),this.controlsAboveOverlay||this.skipControlsDrawing||this.drawControls(t),i&&(i._set(\"canvas\",this),i.shouldCache(),i._transformDone=!0,i.renderCache({forClipping:!0}),this.drawClipPathOnCanvas(t,i)),this._renderOverlay(t),this.controlsAboveOverlay&&!this.skipControlsDrawing&&this.drawControls(t),this.fire(\"after:render\",{ctx:t}),this.__cleanupTask&&(this.__cleanupTask(),this.__cleanupTask=void 0)}drawClipPathOnCanvas(t,e){const s=this.viewportTransform;t.save(),t.transform(...s),t.globalCompositeOperation=\"destination-in\",e.transform(t),t.scale(1/e.zoomX,1/e.zoomY),t.drawImage(e._cacheCanvas,-e.cacheTranslationX,-e.cacheTranslationY),t.restore()}_renderObjects(t,e){for(let s=0,i=e.length;s<i;++s)e[s]&&e[s].render(t)}_renderBackgroundOrOverlay(t,e){const s=this[`${e}Color`],i=this[`${e}Image`],r=this.viewportTransform,n=this[`${e}Vpt`];if(!s&&!i)return;const o=zt(s);if(s){if(t.save(),t.beginPath(),t.moveTo(0,0),t.lineTo(this.width,0),t.lineTo(this.width,this.height),t.lineTo(0,this.height),t.closePath(),t.fillStyle=o?s.toLive(t):s,n&&t.transform(...r),o){t.transform(1,0,0,1,s.offsetX||0,s.offsetY||0);const e=s.gradientTransform||s.patternTransform;e&&t.transform(...e)}t.fill(),t.restore()}if(i){t.save();const{skipOffscreen:e}=this;this.skipOffscreen=n,n&&t.transform(...r),i.render(t),this.skipOffscreen=e,t.restore()}}_renderBackground(t){this._renderBackgroundOrOverlay(t,\"background\")}_renderOverlay(t){this._renderBackgroundOrOverlay(t,\"overlay\")}getCenterPoint(){return new ot(this.width/2,this.height/2)}centerObjectH(t){return this._centerObject(t,new ot(this.getCenterPoint().x,t.getCenterPoint().y))}centerObjectV(t){return this._centerObject(t,new ot(t.getCenterPoint().x,this.getCenterPoint().y))}centerObject(t){return this._centerObject(t,this.getCenterPoint())}viewportCenterObject(t){return this._centerObject(t,this.getVpCenter())}viewportCenterObjectH(t){return this._centerObject(t,new ot(this.getVpCenter().x,t.getCenterPoint().y))}viewportCenterObjectV(t){return this._centerObject(t,new ot(t.getCenterPoint().x,this.getVpCenter().y))}getVpCenter(){return St(this.getCenterPoint(),wt(this.viewportTransform))}_centerObject(t,e){t.setXY(e,T,T),t.setCoords(),this.renderOnAddRemove&&this.requestRenderAll()}toDatalessJSON(t){return this.toDatalessObject(t)}toObject(t){return this._toObjectMethod(\"toObject\",t)}toJSON(){return this.toObject()}toDatalessObject(t){return this._toObjectMethod(\"toDatalessObject\",t)}_toObjectMethod(t,e){const s=this.clipPath,i=s&&!s.excludeFromExport?this._toObject(s,t,e):null;return{version:m,...Xt(this,e),objects:this._objects.filter(t=>!t.excludeFromExport).map(s=>this._toObject(s,t,e)),...this.__serializeBgOverlay(t,e),...i?{clipPath:i}:null}}_toObject(t,e,s){let i;this.includeDefaultValues||(i=t.includeDefaultValues,t.includeDefaultValues=!1);const r=t[e](s);return this.includeDefaultValues||(t.includeDefaultValues=!!i),r}__serializeBgOverlay(t,e){const s={},i=this.backgroundImage,r=this.overlayImage,n=this.backgroundColor,o=this.overlayColor;return zt(n)?n.excludeFromExport||(s.background=n.toObject(e)):n&&(s.background=n),zt(o)?o.excludeFromExport||(s.overlay=o.toObject(e)):o&&(s.overlay=o),i&&!i.excludeFromExport&&(s.backgroundImage=this._toObject(i,t,e)),r&&!r.excludeFromExport&&(s.overlayImage=this._toObject(r,t,e)),s}toSVG(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1?arguments[1]:void 0;t.reviver=e;const s=[];var i;(this._setSVGPreamble(s,t),this._setSVGHeader(s,t),this.clipPath)&&s.push(`<g clip-path=\"url(#${se(null!==(i=this.clipPath.clipPathId)&&void 0!==i?i:\"\")})\" >\\n`);return this._setSVGBgOverlayColor(s,\"background\"),this._setSVGBgOverlayImage(s,\"backgroundImage\",e),this._setSVGObjects(s,e),this.clipPath&&s.push(\"</g>\\n\"),this._setSVGBgOverlayColor(s,\"overlay\"),this._setSVGBgOverlayImage(s,\"overlayImage\",e),s.push(\"</svg>\"),s.join(\"\")}_setSVGPreamble(t,e){e.suppressPreamble||t.push('<?xml version=\"1.0\" encoding=\"',e.encoding||\"UTF-8\",'\" standalone=\"no\" ?>\\n','<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\" ','\"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\\n')}_setSVGHeader(t,e){const i=e.width||`${this.width}`,r=e.height||`${this.height}`,n=s.NUM_FRACTION_DIGITS,o=e.viewBox;let a;if(o)a=`viewBox=\"${o.x} ${o.y} ${o.width} ${o.height}\" `;else if(this.svgViewportTransformation){const t=this.viewportTransform;a=`viewBox=\"${Wt(-t[4]/t[0],n)} ${Wt(-t[5]/t[3],n)} ${Wt(this.width/t[0],n)} ${Wt(this.height/t[3],n)}\" `}else a=`viewBox=\"0 0 ${this.width} ${this.height}\" `;t.push(\"<svg \",'xmlns=\"http://www.w3.org/2000/svg\" ','xmlns:xlink=\"http://www.w3.org/1999/xlink\" ','version=\"1.1\" ','width=\"',i,'\" ','height=\"',r,'\" ',a,'xml:space=\"preserve\">\\n',\"<desc>Created with Fabric.js \",m,\"</desc>\\n\",\"<defs>\\n\",this.createSVGFontFacesMarkup(),this.createSVGRefElementsMarkup(),this.createSVGClipPathMarkup(e),\"</defs>\\n\")}createSVGClipPathMarkup(t){const e=this.clipPath;return e?(e.clipPathId=`CLIPPATH_${ft()}`,`<clipPath id=\"${e.clipPathId}\" >\\n${e.toClipPathSVG(t.reviver)}</clipPath>\\n`):\"\"}createSVGRefElementsMarkup(){return[\"background\",\"overlay\"].map(t=>{const e=this[`${t}Color`];if(zt(e)){const s=this[`${t}Vpt`],i=this.viewportTransform,r={isType:()=>!1,width:this.width/(s?i[0]:1),height:this.height/(s?i[3]:1)};return e.toSVG(r,{additionalTransform:s?Vt(i):\"\"})}}).join(\"\")}createSVGFontFacesMarkup(){const t=[],e={},i=s.fontPaths;this._objects.forEach(function e(s){t.push(s),ht(s)&&s._objects.forEach(e)}),t.forEach(t=>{if(!(s=t)||\"function\"!=typeof s._renderText)return;var s;const{styles:r,fontFamily:n}=t;!e[n]&&i[n]&&(e[n]=!0,r&&Object.values(r).forEach(t=>{Object.values(t).forEach(t=>{let{fontFamily:s=\"\"}=t;!e[s]&&i[s]&&(e[s]=!0)})}))});const r=Object.keys(e).map(t=>`\\t\\t@font-face {\\n\\t\\t\\tfont-family: '${t}';\\n\\t\\t\\tsrc: url('${i[t]}');\\n\\t\\t}\\n`).join(\"\");return r?`\\t<style type=\"text/css\"><![CDATA[\\n${r}]]></style>\\n`:\"\"}_setSVGObjects(t,e){this.forEachObject(s=>{s.excludeFromExport||this._setSVGObject(t,s,e)})}_setSVGObject(t,e,s){t.push(e.toSVG(s))}_setSVGBgOverlayImage(t,e,s){const i=this[e];i&&!i.excludeFromExport&&i.toSVG&&t.push(i.toSVG(s))}_setSVGBgOverlayColor(t,e){const s=this[`${e}Color`];if(s)if(zt(s)){const i=s.repeat||\"\",r=this.width,n=this.height,o=this[`${e}Vpt`]?Vt(wt(this.viewportTransform)):\"\";t.push(`<rect transform=\"${o} translate(${r/2},${n/2})\" x=\"${s.offsetX-r/2}\" y=\"${s.offsetY-n/2}\" width=\"${\"repeat-y\"!==i&&\"no-repeat\"!==i||!Ht(s)?r:s.source.width}\" height=\"${\"repeat-x\"!==i&&\"no-repeat\"!==i||!Ht(s)?n:s.source.height}\" fill=\"url(#SVGID_${s.id})\"></rect>\\n`)}else t.push('<rect x=\"0\" y=\"0\" width=\"100%\" height=\"100%\" ','fill=\"',s,'\"',\"></rect>\\n\")}loadFromJSON(t,e){let{signal:s}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!t)return Promise.reject(new r(\"`json` is undefined\"));const{objects:i=[],...n}=\"string\"==typeof t?JSON.parse(t):t,{backgroundImage:o,background:a,overlayImage:h,overlay:l,clipPath:c}=n,u=this.renderOnAddRemove;return this.renderOnAddRemove=!1,Promise.all([It(i,{reviver:e,signal:s}),$t({backgroundImage:o,backgroundColor:a,overlayImage:h,overlayColor:l,clipPath:c},{signal:s})]).then(t=>{let[e,s]=t;return this.clear(),this.add(...e),this.set(n),this.set(s),this.renderOnAddRemove=u,this})}clone(t){const e=this.toObject(t);return this.cloneWithoutData().loadFromJSON(e)}cloneWithoutData(){const t=vt(this);return new this.constructor(t)}toDataURL(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const{format:e=\"png\",quality:s=1,multiplier:i=1,enableRetinaScaling:r=!1}=t,n=i*(r?this.getRetinaScaling():1);return yt(this.toCanvasElement(n,t),e,s)}toBlob(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const{format:e=\"png\",quality:s=1,multiplier:i=1,enableRetinaScaling:r=!1}=t,n=i*(r?this.getRetinaScaling():1);return _t(this.toCanvasElement(n,t),e,s)}toCanvasElement(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,{width:e,height:s,left:i,top:r,filter:n}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const o=(e||this.width)*t,a=(s||this.height)*t,h=this.getZoom(),l=this.width,c=this.height,u=this.skipControlsDrawing,d=h*t,g=this.viewportTransform,f=[d,0,0,d,(g[4]-(i||0))*t,(g[5]-(r||0))*t],p=this.enableRetinaScaling,m=vt({width:o,height:a}),v=n?this._objects.filter(t=>n(t)):this._objects;return this.enableRetinaScaling=!1,this.viewportTransform=f,this.width=o,this.height=a,this.skipControlsDrawing=!0,this.calcViewportBoundaries(),this.renderCanvas(m.getContext(\"2d\"),v),this.viewportTransform=g,this.width=l,this.height=c,this.calcViewportBoundaries(),this.enableRetinaScaling=p,this.skipControlsDrawing=u,m}dispose(){return!this.disposed&&this.elements.cleanupDOM({width:this.width,height:this.height}),et.cancelByCanvas(this),this.disposed=!0,new Promise((t,e)=>{const s=()=>{this.destroy(),t(!0)};s.kill=e,this.__cleanupTask&&this.__cleanupTask.kill(\"aborted\"),this.destroyed?t(!1):this.nextRenderHandle?this.__cleanupTask=s:s()})}destroy(){this.destroyed=!0,this.cancelRequestedRender(),this.forEachObject(t=>t.dispose()),this._objects=[],this.backgroundImage&&this.backgroundImage.dispose(),this.backgroundImage=void 0,this.overlayImage&&this.overlayImage.dispose(),this.overlayImage=void 0,this.elements.dispose()}toString(){return`#<Canvas (${this.complexity()}): { objects: ${this._objects.length} }>`}}t(he,\"ownDefaults\",ee);const le=[\"touchstart\",\"touchmove\",\"touchend\"];const ce=t=>{const e=Ut(t.target),s=function(t){const e=t.changedTouches;return e&&e[0]?e[0]:t}(t);return new ot(s.clientX+e.left,s.clientY+e.top)},ue=t=>le.includes(t.type)||\"touch\"===t.pointerType,de=t=>{t.preventDefault(),t.stopPropagation()},ge=t=>{let e=0,s=0,i=0,r=0;for(let n=0,o=t.length;n<o;n++){const{x:o,y:a}=t[n];(o>i||!n)&&(i=o),(o<e||!n)&&(e=o),(a>r||!n)&&(r=a),(a<s||!n)&&(s=a)}return{left:e,top:s,width:i-e,height:r-s}},fe=(t,e)=>pe(t,Tt(e,t.calcOwnMatrix())),pe=(t,e)=>{const{translateX:s,translateY:i,scaleX:r,scaleY:n,...o}=Dt(e),a=new ot(s,i);t.flipX=!1,t.flipY=!1,Object.assign(t,o),t.set({scaleX:r,scaleY:n}),t.setPositionByOrigin(a,T,T)},me=t=>{t.scaleX=1,t.scaleY=1,t.skewX=0,t.skewY=0,t.flipX=!1,t.flipY=!1,t.rotate(0)},ve=t=>({scaleX:t.scaleX,scaleY:t.scaleY,skewX:t.skewX,skewY:t.skewY,angle:t.angle,left:t.left,flipX:t.flipX,flipY:t.flipY,top:t.top}),ye=(t,e,s)=>{const i=t/2,r=e/2,n=[new ot(-i,-r),new ot(i,-r),new ot(-i,r),new ot(i,r)].map(t=>t.transform(s)),o=ge(n);return new ot(o.width,o.height)},_e=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:b;return Tt(wt(arguments.length>1&&void 0!==arguments[1]?arguments[1]:b),t)},xe=function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:b,s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:b;return t.transform(_e(e,s))},Ce=function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:b,s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:b;return t.transform(_e(e,s),!0)},be=(t,e,s)=>{const i=_e(e,s);return pe(t,Tt(i,t.calcOwnMatrix())),i},Se={left:-.5,top:-.5,center:0,bottom:.5,right:.5},we=t=>\"string\"==typeof t?Se[t]:t-.5,Te=new ot(1,0),Oe=new ot,ke=(t,e)=>t.rotate(e),De=(t,e)=>new ot(e).subtract(t),Me=t=>t.distanceFrom(Oe),Pe=(t,e)=>Math.atan2(Fe(t,e),Le(t,e)),Ee=t=>Pe(Te,t),Ae=t=>t.eq(Oe)?t:t.scalarDivide(Me(t)),je=function(t){let e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return Ae(new ot(-t.y,t.x).scalarMultiply(e?1:-1))},Fe=(t,e)=>t.x*e.y-t.y*e.x,Le=(t,e)=>t.x*e.x+t.y*e.y,Be=(t,e,s)=>{if(t.eq(e)||t.eq(s))return!0;const i=Fe(e,s),r=Fe(e,t),n=Fe(s,t);return i>=0?r>=0&&n<=0:!(r<=0&&n>=0)},Re=\"not-allowed\";function Ie(t){return we(t.originX)===we(T)&&we(t.originY)===we(T)}function $e(t){return.5-we(t)}const Xe=(t,e)=>t[e],Ye=(t,e,s,i)=>({e:t,transform:e,pointer:new ot(s,i)});function We(t,e,s){const i=s,r=xe(t.getCenterPoint(),t.canvas.viewportTransform,void 0),n=Ee(De(r,i))+x;return Math.round(n%x/_)}function Ve(t,e,s,i,r){var n;let{target:o,corner:a}=t;const h=o.controls[a],l=(null===(n=o.canvas)||void 0===n?void 0:n.getZoom())||1,c=o.padding/l,u=function(t,e,s,i){const r=t.getRelativeCenterPoint(),n=void 0!==s&&void 0!==i?t.translateToGivenOrigin(r,T,T,s,i):new ot(t.left,t.top);return(t.angle?e.rotate(-xt(t.angle),r):e).subtract(n)}(o,new ot(i,r),e,s);return u.x>=c&&(u.x-=c),u.x<=-c&&(u.x+=c),u.y>=c&&(u.y-=c),u.y<=c&&(u.y+=c),u.x-=h.offsetX,u.y-=h.offsetY,u}const ze=t=>t.replace(/\\s+/g,\" \"),Ge={aliceblue:\"#F0F8FF\",antiquewhite:\"#FAEBD7\",aqua:\"#0FF\",aquamarine:\"#7FFFD4\",azure:\"#F0FFFF\",beige:\"#F5F5DC\",bisque:\"#FFE4C4\",black:\"#000\",blanchedalmond:\"#FFEBCD\",blue:\"#00F\",blueviolet:\"#8A2BE2\",brown:\"#A52A2A\",burlywood:\"#DEB887\",cadetblue:\"#5F9EA0\",chartreuse:\"#7FFF00\",chocolate:\"#D2691E\",coral:\"#FF7F50\",cornflowerblue:\"#6495ED\",cornsilk:\"#FFF8DC\",crimson:\"#DC143C\",cyan:\"#0FF\",darkblue:\"#00008B\",darkcyan:\"#008B8B\",darkgoldenrod:\"#B8860B\",darkgray:\"#A9A9A9\",darkgrey:\"#A9A9A9\",darkgreen:\"#006400\",darkkhaki:\"#BDB76B\",darkmagenta:\"#8B008B\",darkolivegreen:\"#556B2F\",darkorange:\"#FF8C00\",darkorchid:\"#9932CC\",darkred:\"#8B0000\",darksalmon:\"#E9967A\",darkseagreen:\"#8FBC8F\",darkslateblue:\"#483D8B\",darkslategray:\"#2F4F4F\",darkslategrey:\"#2F4F4F\",darkturquoise:\"#00CED1\",darkviolet:\"#9400D3\",deeppink:\"#FF1493\",deepskyblue:\"#00BFFF\",dimgray:\"#696969\",dimgrey:\"#696969\",dodgerblue:\"#1E90FF\",firebrick:\"#B22222\",floralwhite:\"#FFFAF0\",forestgreen:\"#228B22\",fuchsia:\"#F0F\",gainsboro:\"#DCDCDC\",ghostwhite:\"#F8F8FF\",gold:\"#FFD700\",goldenrod:\"#DAA520\",gray:\"#808080\",grey:\"#808080\",green:\"#008000\",greenyellow:\"#ADFF2F\",honeydew:\"#F0FFF0\",hotpink:\"#FF69B4\",indianred:\"#CD5C5C\",indigo:\"#4B0082\",ivory:\"#FFFFF0\",khaki:\"#F0E68C\",lavender:\"#E6E6FA\",lavenderblush:\"#FFF0F5\",lawngreen:\"#7CFC00\",lemonchiffon:\"#FFFACD\",lightblue:\"#ADD8E6\",lightcoral:\"#F08080\",lightcyan:\"#E0FFFF\",lightgoldenrodyellow:\"#FAFAD2\",lightgray:\"#D3D3D3\",lightgrey:\"#D3D3D3\",lightgreen:\"#90EE90\",lightpink:\"#FFB6C1\",lightsalmon:\"#FFA07A\",lightseagreen:\"#20B2AA\",lightskyblue:\"#87CEFA\",lightslategray:\"#789\",lightslategrey:\"#789\",lightsteelblue:\"#B0C4DE\",lightyellow:\"#FFFFE0\",lime:\"#0F0\",limegreen:\"#32CD32\",linen:\"#FAF0E6\",magenta:\"#F0F\",maroon:\"#800000\",mediumaquamarine:\"#66CDAA\",mediumblue:\"#0000CD\",mediumorchid:\"#BA55D3\",mediumpurple:\"#9370DB\",mediumseagreen:\"#3CB371\",mediumslateblue:\"#7B68EE\",mediumspringgreen:\"#00FA9A\",mediumturquoise:\"#48D1CC\",mediumvioletred:\"#C71585\",midnightblue:\"#191970\",mintcream:\"#F5FFFA\",mistyrose:\"#FFE4E1\",moccasin:\"#FFE4B5\",navajowhite:\"#FFDEAD\",navy:\"#000080\",oldlace:\"#FDF5E6\",olive:\"#808000\",olivedrab:\"#6B8E23\",orange:\"#FFA500\",orangered:\"#FF4500\",orchid:\"#DA70D6\",palegoldenrod:\"#EEE8AA\",palegreen:\"#98FB98\",paleturquoise:\"#AFEEEE\",palevioletred:\"#DB7093\",papayawhip:\"#FFEFD5\",peachpuff:\"#FFDAB9\",peru:\"#CD853F\",pink:\"#FFC0CB\",plum:\"#DDA0DD\",powderblue:\"#B0E0E6\",purple:\"#800080\",rebeccapurple:\"#639\",red:\"#F00\",rosybrown:\"#BC8F8F\",royalblue:\"#4169E1\",saddlebrown:\"#8B4513\",salmon:\"#FA8072\",sandybrown:\"#F4A460\",seagreen:\"#2E8B57\",seashell:\"#FFF5EE\",sienna:\"#A0522D\",silver:\"#C0C0C0\",skyblue:\"#87CEEB\",slateblue:\"#6A5ACD\",slategray:\"#708090\",slategrey:\"#708090\",snow:\"#FFFAFA\",springgreen:\"#00FF7F\",steelblue:\"#4682B4\",tan:\"#D2B48C\",teal:\"#008080\",thistle:\"#D8BFD8\",tomato:\"#FF6347\",turquoise:\"#40E0D0\",violet:\"#EE82EE\",wheat:\"#F5DEB3\",white:\"#FFF\",whitesmoke:\"#F5F5F5\",yellow:\"#FF0\",yellowgreen:\"#9ACD32\"},He=(t,e,s)=>(s<0&&(s+=1),s>1&&(s-=1),s<1/6?t+6*(e-t)*s:s<.5?e:s<2/3?t+(e-t)*(2/3-s)*6:t),Ne=(t,e,s,i)=>{t/=255,e/=255,s/=255;const r=Math.max(t,e,s),n=Math.min(t,e,s);let o,a;const h=(r+n)/2;if(r===n)o=a=0;else{const i=r-n;switch(a=h>.5?i/(2-r-n):i/(r+n),r){case t:o=(e-s)/i+(e<s?6:0);break;case e:o=(s-t)/i+2;break;case s:o=(t-e)/i+4}o/=6}return[Math.round(360*o),Math.round(100*a),Math.round(100*h),i]},Ue=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"1\";return parseFloat(t)/(t.endsWith(\"%\")?100:1)},qe=t=>Math.min(Math.round(t),255).toString(16).toUpperCase().padStart(2,\"0\"),Ke=t=>{let[e,s,i,r=1]=t;const n=Math.round(.3*e+.59*s+.11*i);return[n,n,n,r]};class Je{constructor(e){if(t(this,\"isUnrecognised\",!1),e)if(e instanceof Je)this.setSource([...e._source]);else if(Array.isArray(e)){const[t,s,i,r=1]=e;this.setSource([t,s,i,r])}else this.setSource(this._tryParsingColor(e));else this.setSource([0,0,0,1])}_tryParsingColor(t){return(t=t.toLowerCase())in Ge&&(t=Ge[t]),\"transparent\"===t?[255,255,255,0]:Je.sourceFromHex(t)||Je.sourceFromRgb(t)||Je.sourceFromHsl(t)||(this.isUnrecognised=!0)&&[0,0,0,1]}getSource(){return this._source}setSource(t){this._source=t}toRgb(){const[t,e,s]=this.getSource();return`rgb(${t},${e},${s})`}toRgba(){return`rgba(${this.getSource().join(\",\")})`}toHsl(){const[t,e,s]=Ne(...this.getSource());return`hsl(${t},${e}%,${s}%)`}toHsla(){const[t,e,s,i]=Ne(...this.getSource());return`hsla(${t},${e}%,${s}%,${i})`}toHex(){return this.toHexa().slice(0,6)}toHexa(){const[t,e,s,i]=this.getSource();return`${qe(t)}${qe(e)}${qe(s)}${qe(Math.round(255*i))}`}getAlpha(){return this.getSource()[3]}setAlpha(t){return this._source[3]=t,this}toGrayscale(){return this.setSource(Ke(this.getSource())),this}toBlackWhite(t){const[e,,,s]=Ke(this.getSource()),i=e<(t||127)?0:255;return this.setSource([i,i,i,s]),this}overlayWith(t){t instanceof Je||(t=new Je(t));const e=this.getSource(),s=t.getSource(),[i,r,n]=e.map((t,e)=>Math.round(.5*t+.5*s[e]));return this.setSource([i,r,n,e[3]]),this}static fromRgb(t){return Je.fromRgba(t)}static fromRgba(t){return new Je(Je.sourceFromRgb(t))}static sourceFromRgb(t){const e=ze(t).match(/^rgba?\\(\\s?(\\d{0,3}(?:\\.\\d+)?%?)\\s?[\\s|,]\\s?(\\d{0,3}(?:\\.\\d+)?%?)\\s?[\\s|,]\\s?(\\d{0,3}(?:\\.\\d+)?%?)\\s?(?:\\s?[,/]\\s?(\\d{0,3}(?:\\.\\d+)?%?)\\s?)?\\)$/i);if(e){const[t,s,i]=e.slice(1,4).map(t=>{const e=parseFloat(t);return t.endsWith(\"%\")?Math.round(2.55*e):e});return[t,s,i,Ue(e[4])]}}static fromHsl(t){return Je.fromHsla(t)}static fromHsla(t){return new Je(Je.sourceFromHsl(t))}static sourceFromHsl(t){const e=ze(t).match(/^hsla?\\(\\s?([+-]?\\d{0,3}(?:\\.\\d+)?(?:deg|turn|rad)?)\\s?[\\s|,]\\s?(\\d{0,3}(?:\\.\\d+)?%?)\\s?[\\s|,]\\s?(\\d{0,3}(?:\\.\\d+)?%?)\\s?(?:\\s?[,/]\\s?(\\d*(?:\\.\\d+)?%?)\\s?)?\\)$/i);if(!e)return;const s=(Je.parseAngletoDegrees(e[1])%360+360)%360/360,i=parseFloat(e[2])/100,r=parseFloat(e[3])/100;let n,o,a;if(0===i)n=o=a=r;else{const t=r<=.5?r*(i+1):r+i-r*i,e=2*r-t;n=He(e,t,s+1/3),o=He(e,t,s),a=He(e,t,s-1/3)}return[Math.round(255*n),Math.round(255*o),Math.round(255*a),Ue(e[4])]}static fromHex(t){return new Je(Je.sourceFromHex(t))}static sourceFromHex(t){if(t.match(/^#?(([0-9a-f]){3,4}|([0-9a-f]{2}){3,4})$/i)){const e=t.slice(t.indexOf(\"#\")+1);let s;s=e.length<=4?e.split(\"\").map(t=>t+t):e.match(/.{2}/g);const[i,r,n,o=255]=s.map(t=>parseInt(t,16));return[i,r,n,o/255]}}static parseAngletoDegrees(t){const e=t.toLowerCase(),s=parseFloat(e);return e.includes(\"rad\")?Ct(s):e.includes(\"turn\")?360*s:s}}const Qe=function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:S;const i=/\\D{0,2}$/.exec(t),r=parseFloat(t),n=s.DPI;switch(null==i?void 0:i[0]){case\"mm\":return r*n/25.4;case\"cm\":return r*n/2.54;case\"in\":return r*n;case\"pt\":return r*n/72;case\"pc\":return r*n/72*12;case\"em\":return r*e;default:return r}},Ze=t=>{const[e,s]=t.trim().split(\" \"),[i,r]=(n=e)&&n!==P?[n.slice(1,4),n.slice(5,8)]:n===P?[n,n]:[\"Mid\",\"Mid\"];var n;return{meetOrSlice:s||\"meet\",alignX:i,alignY:r}},ts=function(t,e){let s,i,r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(e)if(e.toLive)s=`url(#SVGID_${se(e.id)})`;else{const t=new Je(e),r=t.getAlpha();s=t.toRgb(),1!==r&&(i=r.toString())}else s=\"none\";return r?`${t}: ${s}; ${i?`${t}-opacity: ${i}; `:\"\"}`:`${t}=\"${s}\" ${i?`${t}-opacity=\"${i}\" `:\"\"}`};class es{getSvgStyles(t){const e=this.fillRule?this.fillRule:\"nonzero\",s=this.strokeWidth?this.strokeWidth:\"0\",i=this.strokeDashArray?this.strokeDashArray.join(\" \"):P,r=this.strokeDashOffset?this.strokeDashOffset:\"0\",n=this.strokeLineCap?this.strokeLineCap:\"butt\",o=this.strokeLineJoin?this.strokeLineJoin:\"miter\",a=this.strokeMiterLimit?this.strokeMiterLimit:\"4\",h=void 0!==this.opacity?this.opacity:\"1\",l=this.visible?\"\":\" visibility: hidden;\",c=t?\"\":this.getSvgFilter(),u=ts(H,this.fill);return[ts(N,this.stroke),\"stroke-width: \",s,\"; \",\"stroke-dasharray: \",i,\"; \",\"stroke-linecap: \",n,\"; \",\"stroke-dashoffset: \",r,\"; \",\"stroke-linejoin: \",o,\"; \",\"stroke-miterlimit: \",a,\"; \",u,\"fill-rule: \",e,\"; \",\"opacity: \",h,\";\",c,l].map(t=>se(t)).join(\"\")}getSvgFilter(){return this.shadow?`filter: url(#SVGID_${se(this.shadow.id)});`:\"\"}getSvgCommons(){return[this.id?`id=\"${se(String(this.id))}\" `:\"\",this.clipPath?`clip-path=\"url(#${this.clipPath.clipPathId})\" `:\"\"].join(\"\")}getSvgTransform(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"\";const s=t?this.calcTransformMatrix():this.calcOwnMatrix();return`${`transform=\"${Vt(s)}`}${e}\" `}_toSVG(t){return[\"\"]}toSVG(t){return this._createBaseSVGMarkup(this._toSVG(t),{reviver:t})}toClipPathSVG(t){return\"\\t\"+this._createBaseClipPathSVGMarkup(this._toSVG(t),{reviver:t})}_createBaseClipPathSVGMarkup(t){let{reviver:e,additionalTransform:s=\"\"}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const i=[this.getSvgTransform(!0,s),this.getSvgCommons()].join(\"\"),r=t.indexOf(\"COMMON_PARTS\");return t[r]=i,e?e(t.join(\"\")):t.join(\"\")}_createBaseSVGMarkup(t){let{noStyle:e,reviver:s,withShadow:i,additionalTransform:r}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n=e?\"\":`style=\"${this.getSvgStyles()}\" `,o=i?`style=\"${this.getSvgFilter()}\" `:\"\",a=this.clipPath,h=this.strokeUniform?'vector-effect=\"non-scaling-stroke\" ':\"\",l=a&&a.absolutePositioned,c=this.stroke,u=this.fill,d=this.shadow,g=[],f=t.indexOf(\"COMMON_PARTS\");let p;a&&(a.clipPathId=`CLIPPATH_${ft()}`,p=`<clipPath id=\"${a.clipPathId}\" >\\n${a.toClipPathSVG(s)}</clipPath>\\n`),l&&g.push(\"<g \",o,this.getSvgCommons(),\" >\\n\"),g.push(\"<g \",this.getSvgTransform(!1),l?\"\":o+this.getSvgCommons(),\" >\\n\");const m=[n,h,e?\"\":this.addPaintOrder(),\" \",r?`transform=\"${r}\" `:\"\"].join(\"\");return t[f]=m,zt(u)&&g.push(u.toSVG(this)),zt(c)&&g.push(c.toSVG(this)),d&&g.push(d.toSVG(this)),a&&g.push(p),g.push(t.join(\"\")),g.push(\"</g>\\n\"),l&&g.push(\"</g>\\n\"),s?s(g.join(\"\")):g.join(\"\")}addPaintOrder(){return this.paintFirst!==H?` paint-order=\"${se(this.paintFirst)}\" `:\"\"}}function ss(t){return new RegExp(\"^(\"+t.join(\"|\")+\")\\\\b\",\"i\")}const is=\"textDecorationThickness\",rs=[\"fontSize\",\"fontWeight\",\"fontFamily\",\"fontStyle\"],ns=[\"underline\",\"overline\",\"linethrough\"],os=[...rs,\"lineHeight\",\"text\",\"charSpacing\",\"textAlign\",\"styles\",\"path\",\"pathStartOffset\",\"pathSide\",\"pathAlign\"],as=[...os,...ns,\"textBackgroundColor\",\"direction\",is],hs=[...rs,...ns,N,\"strokeWidth\",H,\"deltaY\",\"textBackgroundColor\",is],ls={_reNewline:E,_reSpacesAndTabs:/[ \\t\\r]/g,_reSpaceAndTab:/[ \\t\\r]/,_reWords:/\\S+/g,fontSize:40,fontWeight:J,fontFamily:\"Times New Roman\",underline:!1,overline:!1,linethrough:!1,textAlign:O,fontStyle:J,lineHeight:1.16,textBackgroundColor:\"\",stroke:null,shadow:null,path:void 0,pathStartOffset:0,pathSide:O,pathAlign:\"baseline\",charSpacing:0,deltaY:0,direction:q,CACHE_FONT_SIZE:400,MIN_TEXT_WIDTH:2,superscript:{size:.6,baseline:-.35},subscript:{size:.6,baseline:.11},_fontSizeFraction:.222,offsets:{underline:.1,linethrough:-.28167,overline:-.81333},_fontSizeMult:1.13,[is]:66.667},cs=\"justify\",us=\"justify-left\",ds=\"justify-right\",gs=\"justify-center\",fs=String.raw`[-+]?(?:\\d*\\.\\d+|\\d+\\.?)(?:[eE][-+]?\\d+)?`,ps=String.raw`(?:\\s*,?\\s+|\\s*,\\s*)`,ms=\"http://www.w3.org/2000/svg\",vs=new RegExp(\"(normal|italic)?\\\\s*(normal|small-caps)?\\\\s*(normal|bold|bolder|lighter|100|200|300|400|500|600|700|800|900)?\\\\s*(\"+fs+\"(?:px|cm|mm|em|pt|pc|in)*)(?:\\\\/(normal|\"+fs+\"))?\\\\s+(.*)\"),ys={cx:O,x:O,r:\"radius\",cy:k,y:k,display:\"visible\",visibility:\"visible\",transform:\"transformMatrix\",\"fill-opacity\":\"fillOpacity\",\"fill-rule\":\"fillRule\",\"font-family\":\"fontFamily\",\"font-size\":\"fontSize\",\"font-style\":\"fontStyle\",\"font-weight\":\"fontWeight\",\"letter-spacing\":\"charSpacing\",\"paint-order\":\"paintFirst\",\"stroke-dasharray\":\"strokeDashArray\",\"stroke-dashoffset\":\"strokeDashOffset\",\"stroke-linecap\":\"strokeLineCap\",\"stroke-linejoin\":\"strokeLineJoin\",\"stroke-miterlimit\":\"strokeMiterLimit\",\"stroke-opacity\":\"strokeOpacity\",\"stroke-width\":\"strokeWidth\",\"text-decoration\":\"textDecoration\",\"text-anchor\":\"textAnchor\",opacity:\"opacity\",\"clip-path\":\"clipPath\",\"clip-rule\":\"clipRule\",\"vector-effect\":\"strokeUniform\",\"image-rendering\":\"imageSmoothing\",\"text-decoration-thickness\":is},_s=\"font-size\",xs=\"clip-path\",Cs=ss([\"path\",\"circle\",\"polygon\",\"polyline\",\"ellipse\",\"rect\",\"line\",\"image\",\"text\"]),bs=ss([\"symbol\",\"image\",\"marker\",\"pattern\",\"view\",\"svg\"]),Ss=ss([\"symbol\",\"g\",\"a\",\"svg\",\"clipPath\",\"defs\"]),ws=new RegExp(String.raw`^\\s*(${fs})${ps}(${fs})${ps}(${fs})${ps}(${fs})\\s*$`),Ts=\"(-?\\\\d+(?:\\\\.\\\\d*)?(?:px)?(?:\\\\s?|$))?\",Os=new RegExp(\"(?:\\\\s|^)\"+Ts+Ts+\"(\"+fs+\"?(?:px)?)?(?:\\\\s?|$)(?:$|\\\\s)\");class ks{constructor(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const e=\"string\"==typeof t?ks.parseShadow(t):t;Object.assign(this,ks.ownDefaults,e),this.id=ft()}static parseShadow(t){const e=t.trim(),[,s=0,i=0,r=0]=(Os.exec(e)||[]).map(t=>parseFloat(t)||0);return{color:(e.replace(Os,\"\")||\"rgb(0,0,0)\").trim(),offsetX:s,offsetY:i,blur:r}}toString(){return[this.offsetX,this.offsetY,this.blur,this.color].join(\"px \")}toSVG(t){const e=ke(new ot(this.offsetX,this.offsetY),xt(-t.angle)),i=s.NUM_FRACTION_DIGITS,r=new Je(this.color);let n=40,o=40;return t.width&&t.height&&(n=100*Wt((Math.abs(e.x)+this.blur)/t.width,i)+20,o=100*Wt((Math.abs(e.y)+this.blur)/t.height,i)+20),t.flipX&&(e.x*=-1),t.flipY&&(e.y*=-1),`<filter id=\"SVGID_${se(this.id)}\" y=\"-${o}%\" height=\"${100+2*o}%\" x=\"-${n}%\" width=\"${100+2*n}%\" >\\n\\t<feGaussianBlur in=\"SourceAlpha\" stdDeviation=\"${Wt(this.blur?this.blur/2:0,i)}\"></feGaussianBlur>\\n\\t<feOffset dx=\"${Wt(e.x,i)}\" dy=\"${Wt(e.y,i)}\" result=\"oBlur\" ></feOffset>\\n\\t<feFlood flood-color=\"${r.toRgb()}\" flood-opacity=\"${r.getAlpha()}\"/>\\n\\t<feComposite in2=\"oBlur\" operator=\"in\" />\\n\\t<feMerge>\\n\\t\\t<feMergeNode></feMergeNode>\\n\\t\\t<feMergeNode in=\"SourceGraphic\"></feMergeNode>\\n\\t</feMerge>\\n</filter>\\n`}toObject(){const t={color:this.color,blur:this.blur,offsetX:this.offsetX,offsetY:this.offsetY,affectStroke:this.affectStroke,nonScaling:this.nonScaling,type:this.constructor.type},e=ks.ownDefaults;return this.includeDefaultValues?t:Yt(t,(t,s)=>t!==e[s])}static async fromObject(t){return new this(t)}}t(ks,\"ownDefaults\",{color:\"rgb(0,0,0)\",blur:0,offsetX:0,offsetY:0,affectStroke:!1,includeDefaultValues:!0,nonScaling:!1}),t(ks,\"type\",\"shadow\"),tt.setClass(ks,\"shadow\");const Ds=(t,e,s)=>Math.max(t,Math.min(e,s)),Ms=[k,O,W,V,\"flipX\",\"flipY\",\"originX\",\"originY\",\"angle\",\"opacity\",\"globalCompositeOperation\",\"shadow\",\"visible\",z,G],Ps=[H,N,\"strokeWidth\",\"strokeDashArray\",\"width\",\"height\",\"paintFirst\",\"strokeUniform\",\"strokeLineCap\",\"strokeDashOffset\",\"strokeLineJoin\",\"strokeMiterLimit\",\"backgroundColor\",\"clipPath\"],Es={top:0,left:0,width:0,height:0,angle:0,flipX:!1,flipY:!1,scaleX:1,scaleY:1,minScaleLimit:0,skewX:0,skewY:0,originX:T,originY:T,strokeWidth:1,strokeUniform:!1,padding:0,opacity:1,paintFirst:H,fill:\"rgb(0,0,0)\",fillRule:\"nonzero\",stroke:null,strokeDashArray:null,strokeDashOffset:0,strokeLineCap:\"butt\",strokeLineJoin:\"miter\",strokeMiterLimit:4,globalCompositeOperation:\"source-over\",backgroundColor:\"\",shadow:null,visible:!0,includeDefaultValues:!0,excludeFromExport:!1,objectCaching:!0,clipPath:void 0,inverted:!1,absolutePositioned:!1,centeredRotation:!0,centeredScaling:!1,dirty:!0},As=(t,e,s,i)=>(t<Math.abs(e)?(t=e,i=s/4):i=0===e&&0===t?s/x*Math.asin(1):s/x*Math.asin(e/t),{a:t,c:e,p:s,s:i}),js=(t,e,s,i,r)=>t*Math.pow(2,10*(i-=1))*Math.sin((i*r-e)*x/s),Fs=(t,e,s,i)=>-s*Math.cos(t/i*y)+s+e,Ls=(t,e,s,i)=>(t/=i)<1/2.75?s*(7.5625*t*t)+e:t<2/2.75?s*(7.5625*(t-=1.5/2.75)*t+.75)+e:t<2.5/2.75?s*(7.5625*(t-=2.25/2.75)*t+.9375)+e:s*(7.5625*(t-=2.625/2.75)*t+.984375)+e,Bs=(t,e,s,i)=>s-Ls(i-t,0,s,i)+e;var Rs=Object.freeze({__proto__:null,defaultEasing:Fs,easeInBack:function(t,e,s,i){let r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:1.70158;return s*(t/=i)*t*((r+1)*t-r)+e},easeInBounce:Bs,easeInCirc:(t,e,s,i)=>-s*(Math.sqrt(1-(t/=i)*t)-1)+e,easeInCubic:(t,e,s,i)=>s*(t/i)**3+e,easeInElastic:(t,e,s,i)=>{const r=s;let n=0;if(0===t)return e;if(1===(t/=i))return e+s;n||(n=.3*i);const{a:o,s:a,p:h}=As(r,s,n,1.70158);return-js(o,a,h,t,i)+e},easeInExpo:(t,e,s,i)=>0===t?e:s*2**(10*(t/i-1))+e,easeInOutBack:function(t,e,s,i){let r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:1.70158;return(t/=i/2)<1?s/2*(t*t*((1+(r*=1.525))*t-r))+e:s/2*((t-=2)*t*((1+(r*=1.525))*t+r)+2)+e},easeInOutBounce:(t,e,s,i)=>t<i/2?.5*Bs(2*t,0,s,i)+e:.5*Ls(2*t-i,0,s,i)+.5*s+e,easeInOutCirc:(t,e,s,i)=>(t/=i/2)<1?-s/2*(Math.sqrt(1-t**2)-1)+e:s/2*(Math.sqrt(1-(t-=2)*t)+1)+e,easeInOutCubic:(t,e,s,i)=>(t/=i/2)<1?s/2*t**3+e:s/2*((t-2)**3+2)+e,easeInOutElastic:(t,e,s,i)=>{const r=s;let n=0;if(0===t)return e;if(2===(t/=i/2))return e+s;n||(n=i*(.3*1.5));const{a:o,s:a,p:h,c:l}=As(r,s,n,1.70158);return t<1?-.5*js(o,a,h,t,i)+e:o*Math.pow(2,-10*(t-=1))*Math.sin((t*i-a)*x/h)*.5+l+e},easeInOutExpo:(t,e,s,i)=>0===t?e:t===i?e+s:(t/=i/2)<1?s/2*2**(10*(t-1))+e:s/2*-(2**(-10*--t)+2)+e,easeInOutQuad:(t,e,s,i)=>(t/=i/2)<1?s/2*t**2+e:-s/2*(--t*(t-2)-1)+e,easeInOutQuart:(t,e,s,i)=>(t/=i/2)<1?s/2*t**4+e:-s/2*((t-=2)*t**3-2)+e,easeInOutQuint:(t,e,s,i)=>(t/=i/2)<1?s/2*t**5+e:s/2*((t-2)**5+2)+e,easeInOutSine:(t,e,s,i)=>-s/2*(Math.cos(Math.PI*t/i)-1)+e,easeInQuad:(t,e,s,i)=>s*(t/=i)*t+e,easeInQuart:(t,e,s,i)=>s*(t/=i)*t**3+e,easeInQuint:(t,e,s,i)=>s*(t/i)**5+e,easeInSine:(t,e,s,i)=>-s*Math.cos(t/i*y)+s+e,easeOutBack:function(t,e,s,i){let r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:1.70158;return s*((t=t/i-1)*t*((r+1)*t+r)+1)+e},easeOutBounce:Ls,easeOutCirc:(t,e,s,i)=>s*Math.sqrt(1-(t=t/i-1)*t)+e,easeOutCubic:(t,e,s,i)=>s*((t/i-1)**3+1)+e,easeOutElastic:(t,e,s,i)=>{const r=s;let n=0;if(0===t)return e;if(1===(t/=i))return e+s;n||(n=.3*i);const{a:o,s:a,p:h,c:l}=As(r,s,n,1.70158);return o*2**(-10*t)*Math.sin((t*i-a)*x/h)+l+e},easeOutExpo:(t,e,s,i)=>t===i?e+s:s*-(2**(-10*t/i)+1)+e,easeOutQuad:(t,e,s,i)=>-s*(t/=i)*(t-2)+e,easeOutQuart:(t,e,s,i)=>-s*((t=t/i-1)*t**3-1)+e,easeOutQuint:(t,e,s,i)=>s*((t/i-1)**5+1)+e,easeOutSine:(t,e,s,i)=>s*Math.sin(t/i*y)+e});const Is=()=>!1;class $s{constructor(e){let{startValue:s,byValue:i,duration:r=500,delay:n=0,easing:o=Fs,onStart:a=v,onChange:h=v,onComplete:l=v,abort:c=Is,target:u}=e;t(this,\"_state\",\"pending\"),t(this,\"durationProgress\",0),t(this,\"valueProgress\",0),this.tick=this.tick.bind(this),this.duration=r,this.delay=n,this.easing=o,this._onStart=a,this._onChange=h,this._onComplete=l,this._abort=c,this.target=u,this.startValue=s,this.byValue=i,this.value=this.startValue,this.endValue=Object.freeze(this.calculate(this.duration).value)}get state(){return this._state}isDone(){return\"aborted\"===this._state||\"completed\"===this._state}start(){const t=t=>{\"pending\"===this._state&&(this.startTime=t||+new Date,this._state=\"running\",this._onStart(),this.tick(this.startTime))};this.register(),this.delay>0?setTimeout(()=>ut(t),this.delay):ut(t)}tick(t){const e=(t||+new Date)-this.startTime,s=Math.min(e,this.duration);this.durationProgress=s/this.duration;const{value:i,valueProgress:r}=this.calculate(s);this.value=Object.freeze(i),this.valueProgress=r,\"aborted\"!==this._state&&(this._abort(this.value,this.valueProgress,this.durationProgress)?(this._state=\"aborted\",this.unregister()):e>=this.duration?(this.durationProgress=this.valueProgress=1,this._onChange(this.endValue,this.valueProgress,this.durationProgress),this._state=\"completed\",this._onComplete(this.endValue,this.valueProgress,this.durationProgress),this.unregister()):(this._onChange(this.value,this.valueProgress,this.durationProgress),ut(this.tick)))}register(){et.push(this)}unregister(){et.remove(this)}abort(){this._state=\"aborted\",this.unregister()}}class Xs extends $s{constructor(t){let{startValue:e=0,endValue:s=100,...i}=t;super({...i,startValue:e,byValue:s-e})}calculate(t){const e=this.easing(t,this.startValue,this.byValue,this.duration);return{value:e,valueProgress:Math.abs((e-this.startValue)/this.byValue)}}}class Ys extends $s{constructor(t){let{startValue:e=[0],endValue:s=[100],...i}=t;super({...i,startValue:e,byValue:s.map((t,s)=>t-e[s])})}calculate(t){const e=this.startValue.map((e,s)=>this.easing(t,e,this.byValue[s],this.duration,s));return{value:e,valueProgress:Math.abs((e[0]-this.startValue[0])/this.byValue[0])}}}const Ws=(t,e,s,i)=>e+s*(1-Math.cos(t/i*y)),Vs=t=>t&&((e,s,i)=>t(new Je(e).toRgba(),s,i));class zs extends $s{constructor(t){let{startValue:e,endValue:s,easing:i=Ws,onChange:r,onComplete:n,abort:o,...a}=t;const h=new Je(e).getSource(),l=new Je(s).getSource();super({...a,startValue:h,byValue:l.map((t,e)=>t-h[e]),easing:i,onChange:Vs(r),onComplete:Vs(n),abort:Vs(o)})}calculate(t){const[e,s,i,r]=this.startValue.map((e,s)=>this.easing(t,e,this.byValue[s],this.duration,s)),n=[...[e,s,i].map(Math.round),Ds(0,r,1)];return{value:n,valueProgress:n.map((t,e)=>0!==this.byValue[e]?Math.abs((t-this.startValue[e])/this.byValue[e]):0).find(t=>0!==t)||0}}}function Gs(t){const e=(t=>Array.isArray(t.startValue)||Array.isArray(t.endValue))(t)?new Ys(t):new Xs(t);return e.start(),e}function Hs(t){const e=new zs(t);return e.start(),e}class Ns{constructor(t){this.status=t,this.points=[]}includes(t){return this.points.some(e=>e.eq(t))}append(){for(var t=arguments.length,e=new Array(t),s=0;s<t;s++)e[s]=arguments[s];return this.points=this.points.concat(e.filter(t=>!this.includes(t))),this}static isPointContained(t,e,s){let i=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(e.eq(s))return t.eq(e);if(e.x===s.x)return t.x===e.x&&(i||t.y>=Math.min(e.y,s.y)&&t.y<=Math.max(e.y,s.y));if(e.y===s.y)return t.y===e.y&&(i||t.x>=Math.min(e.x,s.x)&&t.x<=Math.max(e.x,s.x));{const r=De(e,s),n=De(e,t).divide(r);return i?Math.abs(n.x)===Math.abs(n.y):n.x===n.y&&n.x>=0&&n.x<=1}}static isPointInPolygon(t,e){const s=new ot(t).setX(Math.min(t.x-1,...e.map(t=>t.x)));let i=0;for(let r=0;r<e.length;r++){const n=this.intersectSegmentSegment(e[r],e[(r+1)%e.length],t,s);if(n.includes(t))return!0;i+=Number(\"Intersection\"===n.status)}return i%2==1}static intersectLineLine(t,e,s,i){let r=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],n=!(arguments.length>5&&void 0!==arguments[5])||arguments[5];const o=e.x-t.x,a=e.y-t.y,h=i.x-s.x,l=i.y-s.y,c=t.x-s.x,u=t.y-s.y,d=h*u-l*c,g=o*u-a*c,f=l*o-h*a;if(0!==f){const e=d/f,s=g/f;return(r||0<=e&&e<=1)&&(n||0<=s&&s<=1)?new Ns(\"Intersection\").append(new ot(t.x+e*o,t.y+e*a)):new Ns}if(0===d||0===g){const o=r||n||Ns.isPointContained(t,s,i)||Ns.isPointContained(e,s,i)||Ns.isPointContained(s,t,e)||Ns.isPointContained(i,t,e);return new Ns(o?\"Coincident\":void 0)}return new Ns(\"Parallel\")}static intersectSegmentLine(t,e,s,i){return Ns.intersectLineLine(t,e,s,i,!1,!0)}static intersectSegmentSegment(t,e,s,i){return Ns.intersectLineLine(t,e,s,i,!1,!1)}static intersectLinePolygon(t,e,s){let i=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];const r=new Ns,n=s.length;for(let o,a,h,l=0;l<n;l++){if(o=s[l],a=s[(l+1)%n],h=Ns.intersectLineLine(t,e,o,a,i,!1),\"Coincident\"===h.status)return h;r.append(...h.points)}return r.points.length>0&&(r.status=\"Intersection\"),r}static intersectSegmentPolygon(t,e,s){return Ns.intersectLinePolygon(t,e,s,!1)}static intersectPolygonPolygon(t,e){const s=new Ns,i=t.length,r=[];for(let n=0;n<i;n++){const o=t[n],a=t[(n+1)%i],h=Ns.intersectSegmentPolygon(o,a,e);\"Coincident\"===h.status?(r.push(h),s.append(o,a)):s.append(...h.points)}return r.length>0&&r.length===t.length?new Ns(\"Coincident\"):(s.points.length>0&&(s.status=\"Intersection\"),s)}static intersectPolygonRectangle(t,e,s){const i=e.min(s),r=e.max(s),n=new ot(r.x,i.y),o=new ot(i.x,r.y);return Ns.intersectPolygonPolygon(t,[i,n,r,o])}}class Us extends ct{getX(){return this.getXY().x}setX(t){this.setXY(this.getXY().setX(t))}getY(){return this.getXY().y}setY(t){this.setXY(this.getXY().setY(t))}getRelativeX(){return this.left}setRelativeX(t){this.left=t}getRelativeY(){return this.top}setRelativeY(t){this.top=t}getXY(){const t=this.getRelativeXY();return this.group?St(t,this.group.calcTransformMatrix()):t}setXY(t,e,s){this.group&&(t=St(t,wt(this.group.calcTransformMatrix()))),this.setRelativeXY(t,e,s)}getRelativeXY(){return new ot(this.left,this.top)}setRelativeXY(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.originX,s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.originY;this.setPositionByOrigin(t,e,s)}isStrokeAccountedForInDimensions(){return!1}getCoords(){const{tl:t,tr:e,br:s,bl:i}=this.aCoords||(this.aCoords=this.calcACoords()),r=[t,e,s,i];if(this.group){const t=this.group.calcTransformMatrix();return r.map(e=>St(e,t))}return r}intersectsWithRect(t,e){return\"Intersection\"===Ns.intersectPolygonRectangle(this.getCoords(),t,e).status}intersectsWithObject(t){const e=Ns.intersectPolygonPolygon(this.getCoords(),t.getCoords());return\"Intersection\"===e.status||\"Coincident\"===e.status||t.isContainedWithinObject(this)||this.isContainedWithinObject(t)}isContainedWithinObject(t){return this.getCoords().every(e=>t.containsPoint(e))}isContainedWithinRect(t,e){const{left:s,top:i,width:r,height:n}=this.getBoundingRect();return s>=t.x&&s+r<=e.x&&i>=t.y&&i+n<=e.y}isOverlapping(t){return this.intersectsWithObject(t)||this.isContainedWithinObject(t)||t.isContainedWithinObject(this)}containsPoint(t){return Ns.isPointInPolygon(t,this.getCoords())}isOnScreen(){if(!this.canvas)return!1;const{tl:t,br:e}=this.canvas.vptCoords;return!!this.getCoords().some(s=>s.x<=e.x&&s.x>=t.x&&s.y<=e.y&&s.y>=t.y)||(!!this.intersectsWithRect(t,e)||this.containsPoint(t.midPointFrom(e)))}isPartiallyOnScreen(){if(!this.canvas)return!1;const{tl:t,br:e}=this.canvas.vptCoords;if(this.intersectsWithRect(t,e))return!0;return this.getCoords().every(s=>(s.x>=e.x||s.x<=t.x)&&(s.y>=e.y||s.y<=t.y))&&this.containsPoint(t.midPointFrom(e))}getBoundingRect(){return ge(this.getCoords())}getScaledWidth(){return this._getTransformedDimensions().x}getScaledHeight(){return this._getTransformedDimensions().y}scale(t){this._set(W,t),this._set(V,t),this.setCoords()}scaleToWidth(t){const e=this.getBoundingRect().width/this.getScaledWidth();return this.scale(t/this.width/e)}scaleToHeight(t){const e=this.getBoundingRect().height/this.getScaledHeight();return this.scale(t/this.height/e)}getCanvasRetinaScaling(){var t;return(null===(t=this.canvas)||void 0===t?void 0:t.getRetinaScaling())||1}getTotalAngle(){return this.group?Ct(kt(this.calcTransformMatrix())):this.angle}getViewportTransform(){var t;return(null===(t=this.canvas)||void 0===t?void 0:t.viewportTransform)||b.concat()}calcACoords(){const t=Pt({angle:this.angle}),{x:e,y:s}=this.getRelativeCenterPoint(),i=Mt(e,s),r=Tt(i,t),n=this._getTransformedDimensions(),o=n.x/2,a=n.y/2;return{tl:St({x:-o,y:-a},r),tr:St({x:o,y:-a},r),bl:St({x:-o,y:a},r),br:St({x:o,y:a},r)}}setCoords(){this.aCoords=this.calcACoords()}transformMatrixKey(){let t=arguments.length>0&&void 0!==arguments[0]&&arguments[0],e=[];return!t&&this.group&&(e=this.group.transformMatrixKey(t)),e.push(this.top,this.left,this.width,this.height,this.scaleX,this.scaleY,this.angle,this.strokeWidth,this.skewX,this.skewY,+this.flipX,+this.flipY,we(this.originX),we(this.originY)),e}calcTransformMatrix(){let t=arguments.length>0&&void 0!==arguments[0]&&arguments[0],e=this.calcOwnMatrix();if(t||!this.group)return e;const s=this.transformMatrixKey(t),i=this.matrixCache;return i&&i.key.every((t,e)=>t===s[e])?i.value:(this.group&&(e=Tt(this.group.calcTransformMatrix(!1),e)),this.matrixCache={key:s,value:e},e)}calcOwnMatrix(){const t=this.transformMatrixKey(!0),e=this.ownMatrixCache;if(e&&e.key.every((e,s)=>e===t[s]))return e.value;const s=this.getRelativeCenterPoint(),i={angle:this.angle,translateX:s.x,translateY:s.y,scaleX:this.scaleX,scaleY:this.scaleY,skewX:this.skewX,skewY:this.skewY,flipX:this.flipX,flipY:this.flipY},r=Bt(i);return this.ownMatrixCache={key:t,value:r},r}_getNonTransformedDimensions(){return new ot(this.width,this.height).scalarAdd(this.strokeWidth)}_calculateCurrentDimensions(t){return this._getTransformedDimensions(t).transform(this.getViewportTransform(),!0).scalarAdd(2*this.padding)}_getTransformedDimensions(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const e={scaleX:this.scaleX,scaleY:this.scaleY,skewX:this.skewX,skewY:this.skewY,width:this.width,height:this.height,strokeWidth:this.strokeWidth,...t},s=e.strokeWidth;let i=s,r=0;this.strokeUniform&&(i=0,r=s);const n=e.width+i,o=e.height+i;let a;return a=0===e.skewX&&0===e.skewY?new ot(n*e.scaleX,o*e.scaleY):ye(n,o,Lt(e)),a.scalarAdd(r)}translateToGivenOrigin(t,e,s,i,r){let n=t.x,o=t.y;const a=we(i)-we(e),h=we(r)-we(s);if(a||h){const t=this._getTransformedDimensions();n+=a*t.x,o+=h*t.y}return new ot(n,o)}translateToCenterPoint(t,e,s){if(e===T&&s===T)return t;const i=this.translateToGivenOrigin(t,e,s,T,T);return this.angle?i.rotate(xt(this.angle),t):i}translateToOriginPoint(t,e,s){const i=this.translateToGivenOrigin(t,T,T,e,s);return this.angle?i.rotate(xt(this.angle),t):i}getCenterPoint(){const t=this.getRelativeCenterPoint();return this.group?St(t,this.group.calcTransformMatrix()):t}getRelativeCenterPoint(){return this.translateToCenterPoint(new ot(this.left,this.top),this.originX,this.originY)}getPointByOrigin(t,e){return this.getPositionByOrigin(t,e)}getPositionByOrigin(t,e){return this.translateToOriginPoint(this.getRelativeCenterPoint(),t,e)}setPositionByOrigin(t,e,s){const i=this.translateToCenterPoint(t,e,s),r=this.translateToOriginPoint(i,this.originX,this.originY);this.set({left:r.x,top:r.y})}_getLeftTopCoords(){return this.getPositionByOrigin(O,k)}positionByLeftTop(t){return this.setPositionByOrigin(t,O,k)}}let qs=class e extends Us{static getDefaults(){return e.ownDefaults}get type(){const t=this.constructor.type;return\"FabricObject\"===t?\"object\":t.toLowerCase()}set type(t){i(\"warn\",\"Setting type has no effect\",t)}constructor(s){super(),t(this,\"_cacheContext\",null),Object.assign(this,e.ownDefaults),this.setOptions(s)}_createCacheCanvas(){this._cacheCanvas=pt(),this._cacheContext=this._cacheCanvas.getContext(\"2d\"),this._updateCacheCanvas(),this.dirty=!0}_limitCacheSize(t){const e=t.width,i=t.height,r=s.maxCacheSideLimit,n=s.minCacheSideLimit;if(e<=r&&i<=r&&e*i<=s.perfLimitSizeTotal)return e<n&&(t.width=n),i<n&&(t.height=n),t;const o=e/i,[a,h]=p.limitDimsByArea(o),l=Ds(n,a,r),c=Ds(n,h,r);return e>l&&(t.zoomX/=e/l,t.width=l,t.capped=!0),i>c&&(t.zoomY/=i/c,t.height=c,t.capped=!0),t}_getCacheCanvasDimensions(){const t=this.getTotalObjectScaling(),e=this._getTransformedDimensions({skewX:0,skewY:0}),s=e.x*t.x/this.scaleX,i=e.y*t.y/this.scaleY;return{width:Math.ceil(s+2),height:Math.ceil(i+2),zoomX:t.x,zoomY:t.y,x:s,y:i}}_updateCacheCanvas(){const t=this._cacheCanvas,e=this._cacheContext,{width:s,height:i,zoomX:r,zoomY:n,x:o,y:a}=this._limitCacheSize(this._getCacheCanvasDimensions()),h=s!==t.width||i!==t.height,l=this.zoomX!==r||this.zoomY!==n;if(!t||!e)return!1;if(h||l){s!==t.width||i!==t.height?(t.width=s,t.height=i):(e.setTransform(1,0,0,1,0,0),e.clearRect(0,0,t.width,t.height));const h=o/2,l=a/2;return this.cacheTranslationX=Math.round(t.width/2-h)+h,this.cacheTranslationY=Math.round(t.height/2-l)+l,e.translate(this.cacheTranslationX,this.cacheTranslationY),e.scale(r,n),this.zoomX=r,this.zoomY=n,!0}return!1}setOptions(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this._setOptions(t)}transform(t){const e=this.group&&!this.group._transformDone||this.group&&this.canvas&&t===this.canvas.contextTop,s=this.calcTransformMatrix(!e);t.transform(s[0],s[1],s[2],s[3],s[4],s[5])}getObjectScaling(){if(!this.group)return new ot(Math.abs(this.scaleX),Math.abs(this.scaleY));const t=Dt(this.calcTransformMatrix());return new ot(Math.abs(t.scaleX),Math.abs(t.scaleY))}getTotalObjectScaling(){const t=this.getObjectScaling();if(this.canvas){const e=this.canvas.getZoom(),s=this.getCanvasRetinaScaling();return t.scalarMultiply(e*s)}return t}getObjectOpacity(){let t=this.opacity;return this.group&&(t*=this.group.getObjectOpacity()),t}_constrainScale(t){return Math.abs(t)<this.minScaleLimit?t<0?-this.minScaleLimit:this.minScaleLimit:0===t?1e-4:t}_set(t,e){t!==W&&t!==V||(e=this._constrainScale(e)),t===W&&e<0?(this.flipX=!this.flipX,e*=-1):\"scaleY\"===t&&e<0?(this.flipY=!this.flipY,e*=-1):\"shadow\"!==t||!e||e instanceof ks||(e=new ks(e));const s=this[t]!==e;return this[t]=e,s&&this.constructor.cacheProperties.includes(t)&&(this.dirty=!0),this.parent&&(this.dirty||s&&this.constructor.stateProperties.includes(t))&&this.parent._set(\"dirty\",!0),this}isNotVisible(){return 0===this.opacity||!this.width&&!this.height&&0===this.strokeWidth||!this.visible}render(t){this.isNotVisible()||this.canvas&&this.canvas.skipOffscreen&&!this.group&&!this.isOnScreen()||(t.save(),this._setupCompositeOperation(t),this.drawSelectionBackground(t),this.transform(t),this._setOpacity(t),this._setShadow(t),this.shouldCache()?(this.renderCache(),this.drawCacheOnCanvas(t)):(this._removeCacheCanvas(),this.drawObject(t,!1,{}),this.dirty=!1),t.restore())}drawSelectionBackground(t){}renderCache(t){if(t=t||{},this._cacheCanvas&&this._cacheContext||this._createCacheCanvas(),this.isCacheDirty()&&this._cacheContext){const{zoomX:e,zoomY:s,cacheTranslationX:i,cacheTranslationY:r}=this,{width:n,height:o}=this._cacheCanvas;this.drawObject(this._cacheContext,t.forClipping,{zoomX:e,zoomY:s,cacheTranslationX:i,cacheTranslationY:r,width:n,height:o,parentClipPaths:[]}),this.dirty=!1}}_removeCacheCanvas(){this._cacheCanvas=void 0,this._cacheContext=null}hasStroke(){return!!this.stroke&&\"transparent\"!==this.stroke&&0!==this.strokeWidth}hasFill(){return!!this.fill&&\"transparent\"!==this.fill}needsItsOwnCache(){return!!(this.paintFirst===N&&this.hasFill()&&this.hasStroke()&&this.shadow)||!!this.clipPath}shouldCache(){return this.ownCaching=this.objectCaching&&(!this.parent||!this.parent.isOnACache())||this.needsItsOwnCache(),this.ownCaching}willDrawShadow(){return!!this.shadow&&(0!==this.shadow.offsetX||0!==this.shadow.offsetY)}drawClipPathOnCache(t,e,s){t.save(),e.inverted?t.globalCompositeOperation=\"destination-out\":t.globalCompositeOperation=\"destination-in\",t.setTransform(1,0,0,1,0,0),t.drawImage(s,0,0),t.restore()}drawObject(t,e,s){const i=this.fill,r=this.stroke;e?(this.fill=\"black\",this.stroke=\"\",this._setClippingProperties(t)):this._renderBackground(t),this.fire(\"before:render\",{ctx:t}),this._render(t),this._drawClipPath(t,this.clipPath,s),this.fill=i,this.stroke=r}createClipPathLayer(t,e){const s=vt(e),i=s.getContext(\"2d\");if(i.translate(e.cacheTranslationX,e.cacheTranslationY),i.scale(e.zoomX,e.zoomY),t._cacheCanvas=s,e.parentClipPaths.forEach(t=>{t.transform(i)}),e.parentClipPaths.push(t),t.absolutePositioned){const t=wt(this.calcTransformMatrix());i.transform(t[0],t[1],t[2],t[3],t[4],t[5])}return t.transform(i),t.drawObject(i,!0,e),s}_drawClipPath(t,e,s){if(!e)return;e._transformDone=!0;const i=this.createClipPathLayer(e,s);this.drawClipPathOnCache(t,e,i)}drawCacheOnCanvas(t){t.scale(1/this.zoomX,1/this.zoomY),t.drawImage(this._cacheCanvas,-this.cacheTranslationX,-this.cacheTranslationY)}isCacheDirty(){let t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(this.isNotVisible())return!1;const e=this._cacheCanvas,s=this._cacheContext;return!(!e||!s||t||!this._updateCacheCanvas())||!!(this.dirty||this.clipPath&&this.clipPath.absolutePositioned)&&(e&&s&&!t&&(s.save(),s.setTransform(1,0,0,1,0,0),s.clearRect(0,0,e.width,e.height),s.restore()),!0)}_renderBackground(t){if(!this.backgroundColor)return;const e=this._getNonTransformedDimensions();t.fillStyle=this.backgroundColor,t.fillRect(-e.x/2,-e.y/2,e.x,e.y),this._removeShadow(t)}_setOpacity(t){this.group&&!this.group._transformDone?t.globalAlpha=this.getObjectOpacity():t.globalAlpha*=this.opacity}_setStrokeStyles(t,e){const s=e.stroke;s&&(t.lineWidth=e.strokeWidth,t.lineCap=e.strokeLineCap,t.lineDashOffset=e.strokeDashOffset,t.lineJoin=e.strokeLineJoin,t.miterLimit=e.strokeMiterLimit,zt(s)?\"percentage\"===s.gradientUnits||s.gradientTransform||s.patternTransform?this._applyPatternForTransformedGradient(t,s):(t.strokeStyle=s.toLive(t),this._applyPatternGradientTransform(t,s)):t.strokeStyle=e.stroke)}_setFillStyles(t,e){let{fill:s}=e;s&&(zt(s)?(t.fillStyle=s.toLive(t),this._applyPatternGradientTransform(t,s)):t.fillStyle=s)}_setClippingProperties(t){t.globalAlpha=1,t.strokeStyle=\"transparent\",t.fillStyle=\"#000000\"}_setLineDash(t,e){e&&0!==e.length&&t.setLineDash(e)}_setShadow(t){if(!this.shadow)return;const e=this.shadow,i=this.canvas,r=this.getCanvasRetinaScaling(),[n,,,o]=(null==i?void 0:i.viewportTransform)||b,a=n*r,h=o*r,l=e.nonScaling?new ot(1,1):this.getObjectScaling();t.shadowColor=e.color,t.shadowBlur=e.blur*s.browserShadowBlurConstant*(a+h)*(l.x+l.y)/4,t.shadowOffsetX=e.offsetX*a*l.x,t.shadowOffsetY=e.offsetY*h*l.y}_removeShadow(t){this.shadow&&(t.shadowColor=\"\",t.shadowBlur=t.shadowOffsetX=t.shadowOffsetY=0)}_applyPatternGradientTransform(t,e){if(!zt(e))return{offsetX:0,offsetY:0};const s=e.gradientTransform||e.patternTransform,i=-this.width/2+e.offsetX||0,r=-this.height/2+e.offsetY||0;return\"percentage\"===e.gradientUnits?t.transform(this.width,0,0,this.height,i,r):t.transform(1,0,0,1,i,r),s&&t.transform(s[0],s[1],s[2],s[3],s[4],s[5]),{offsetX:i,offsetY:r}}_renderPaintInOrder(t){this.paintFirst===N?(this._renderStroke(t),this._renderFill(t)):(this._renderFill(t),this._renderStroke(t))}_render(t){}_renderFill(t){this.fill&&(t.save(),this._setFillStyles(t,this),\"evenodd\"===this.fillRule?t.fill(\"evenodd\"):t.fill(),t.restore())}_renderStroke(t){if(this.stroke&&0!==this.strokeWidth){if(this.shadow&&!this.shadow.affectStroke&&this._removeShadow(t),t.save(),this.strokeUniform){const e=this.getObjectScaling();t.scale(1/e.x,1/e.y)}this._setLineDash(t,this.strokeDashArray),this._setStrokeStyles(t,this),t.stroke(),t.restore()}}_applyPatternForTransformedGradient(t,e){var s;const i=this._limitCacheSize(this._getCacheCanvasDimensions()),r=this.getCanvasRetinaScaling(),n=i.x/this.scaleX/r,o=i.y/this.scaleY/r,a=vt({width:Math.ceil(n),height:Math.ceil(o)}),h=a.getContext(\"2d\");h&&(h.beginPath(),h.moveTo(0,0),h.lineTo(n,0),h.lineTo(n,o),h.lineTo(0,o),h.closePath(),h.translate(n/2,o/2),h.scale(i.zoomX/this.scaleX/r,i.zoomY/this.scaleY/r),this._applyPatternGradientTransform(h,e),h.fillStyle=e.toLive(t),h.fill(),t.translate(-this.width/2-this.strokeWidth/2,-this.height/2-this.strokeWidth/2),t.scale(r*this.scaleX/i.zoomX,r*this.scaleY/i.zoomY),t.strokeStyle=null!==(s=h.createPattern(a,\"no-repeat\"))&&void 0!==s?s:\"\")}_findCenterFromElement(){return new ot(this.left+this.width/2,this.top+this.height/2)}clone(t){const e=this.toObject(t);return this.constructor.fromObject(e)}cloneAsImage(t){const e=this.toCanvasElement(t);return new(tt.getClass(\"image\"))(e)}toCanvasElement(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const e=ve(this),s=this.group,i=this.shadow,r=Math.abs,n=t.enableRetinaScaling?f():1,o=(t.multiplier||1)*n,a=t.canvasProvider||(t=>new he(t,{enableRetinaScaling:!1,renderOnAddRemove:!1,skipOffscreen:!1}));delete this.group,t.withoutTransform&&me(this),t.withoutShadow&&(this.shadow=null),t.viewportTransform&&be(this,this.getViewportTransform()),this.setCoords();const h=pt(),l=this.getBoundingRect(),c=this.shadow,u=new ot;if(c){const t=c.blur,e=c.nonScaling?new ot(1,1):this.getObjectScaling();u.x=2*Math.round(r(c.offsetX)+t)*r(e.x),u.y=2*Math.round(r(c.offsetY)+t)*r(e.y)}const d=l.width+u.x,g=l.height+u.y;h.width=Math.ceil(d),h.height=Math.ceil(g);const p=a(h);\"jpeg\"===t.format&&(p.backgroundColor=\"#fff\"),this.setPositionByOrigin(new ot(p.width/2,p.height/2),T,T);const m=this.canvas;p._objects=[this],this.set(\"canvas\",p),this.setCoords();const v=p.toCanvasElement(o||1,t);return this.set(\"canvas\",m),this.shadow=i,s&&(this.group=s),this.set(e),this.setCoords(),p._objects=[],p.destroy(),v}toDataURL(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return yt(this.toCanvasElement(t),t.format||\"png\",t.quality||1)}toBlob(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return _t(this.toCanvasElement(t),t.format||\"png\",t.quality||1)}isType(){for(var t=arguments.length,e=new Array(t),s=0;s<t;s++)e[s]=arguments[s];return e.includes(this.constructor.type)||e.includes(this.type)}complexity(){return 1}toJSON(){return this.toObject()}rotate(t){const{centeredRotation:e,originX:s,originY:i}=this;if(e){const{x:t,y:e}=this.getRelativeCenterPoint();this.originX=T,this.originY=T,this.left=t,this.top=e}if(this.set(\"angle\",t),e){const{x:t,y:e}=this.getPositionByOrigin(s,i);this.left=t,this.top=e,this.originX=s,this.originY=i}}setOnGroup(){}_setupCompositeOperation(t){this.globalCompositeOperation&&(t.globalCompositeOperation=this.globalCompositeOperation)}dispose(){et.cancelByTarget(this),this.off(),this._set(\"canvas\",void 0),this._cacheCanvas&&u().dispose(this._cacheCanvas),this._cacheCanvas=void 0,this._cacheContext=null}animate(t,e){return Object.entries(t).reduce((t,s)=>{let[i,r]=s;return t[i]=this._animate(i,r,e),t},{})}_animate(t,e){let s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const i=t.split(\".\"),r=this.constructor.colorProperties.includes(i[i.length-1]),{abort:n,startValue:o,onChange:a,onComplete:h}=s,l={...s,target:this,startValue:null!=o?o:i.reduce((t,e)=>t[e],this),endValue:e,abort:null==n?void 0:n.bind(this),onChange:(t,e,s)=>{i.reduce((e,s,r)=>(r===i.length-1&&(e[s]=t),e[s]),this),a&&a(t,e,s)},onComplete:(t,e,s)=>{this.setCoords(),h&&h(t,e,s)}};return r?Hs(l):Gs(l)}isDescendantOf(t){const{parent:e,group:s}=this;return e===t||s===t||!!e&&e.isDescendantOf(t)||!!s&&s!==e&&s.isDescendantOf(t)}getAncestors(){const t=[];let e=this;do{e=e.parent,e&&t.push(e)}while(e);return t}findCommonAncestors(t){if(this===t)return{fork:[],otherFork:[],common:[this,...this.getAncestors()]};const e=this.getAncestors(),s=t.getAncestors();if(0===e.length&&s.length>0&&this===s[s.length-1])return{fork:[],otherFork:[t,...s.slice(0,s.length-1)],common:[this]};for(let i,r=0;r<e.length;r++){if(i=e[r],i===t)return{fork:[this,...e.slice(0,r)],otherFork:[],common:e.slice(r)};for(let n=0;n<s.length;n++){if(this===s[n])return{fork:[],otherFork:[t,...s.slice(0,n)],common:[this,...e]};if(i===s[n])return{fork:[this,...e.slice(0,r)],otherFork:[t,...s.slice(0,n)],common:e.slice(r)}}}return{fork:[this,...e],otherFork:[t,...s],common:[]}}hasCommonAncestors(t){const e=this.findCommonAncestors(t);return e&&!!e.common.length}isInFrontOf(t){if(this===t)return;const e=this.findCommonAncestors(t);if(e.fork.includes(t))return!0;if(e.otherFork.includes(this))return!1;const s=e.common[0]||this.canvas;if(!s)return;const i=e.fork.pop(),r=e.otherFork.pop(),n=s._objects.indexOf(i),o=s._objects.indexOf(r);return n>-1&&n>o}toObject(){const t=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:[]).concat(e.customProperties,this.constructor.customProperties||[]);let i;const r=s.NUM_FRACTION_DIGITS,{clipPath:n,fill:o,stroke:a,shadow:h,strokeDashArray:l,left:c,top:u,originX:d,originY:g,width:f,height:p,strokeWidth:v,strokeLineCap:y,strokeDashOffset:_,strokeLineJoin:x,strokeUniform:C,strokeMiterLimit:b,scaleX:S,scaleY:w,angle:T,flipX:O,flipY:k,opacity:D,visible:M,backgroundColor:P,fillRule:E,paintFirst:A,globalCompositeOperation:j,skewX:F,skewY:L}=this;n&&!n.excludeFromExport&&(i=n.toObject(t.concat(\"inverted\",\"absolutePositioned\")));const B=t=>Wt(t,r),R={...Xt(this,t),type:this.constructor.type,version:m,originX:d,originY:g,left:B(c),top:B(u),width:B(f),height:B(p),fill:Gt(o)?o.toObject():o,stroke:Gt(a)?a.toObject():a,strokeWidth:B(v),strokeDashArray:l?l.concat():l,strokeLineCap:y,strokeDashOffset:_,strokeLineJoin:x,strokeUniform:C,strokeMiterLimit:B(b),scaleX:B(S),scaleY:B(w),angle:B(T),flipX:O,flipY:k,opacity:B(D),shadow:h?h.toObject():h,visible:M,backgroundColor:P,fillRule:E,paintFirst:A,globalCompositeOperation:j,skewX:B(F),skewY:B(L),...i?{clipPath:i}:null};return this.includeDefaultValues?R:this._removeDefaultValues(R)}toDatalessObject(t){return this.toObject(t)}_removeDefaultValues(t){const e=this.constructor.getDefaults(),s=Object.keys(e).length>0?e:Object.getPrototypeOf(this);return Yt(t,(t,e)=>{if(e===O||e===k||\"type\"===e)return!0;const i=s[e];return t!==i&&!(Array.isArray(t)&&Array.isArray(i)&&0===t.length&&0===i.length)})}toString(){return`#<${this.constructor.type}>`}static _fromObject(t){let{type:e,...s}=t,{extraParam:i,...r}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return $t(s,r).then(t=>i?(delete t[i],new this(s[i],t)):new this(t))}static fromObject(t,e){return this._fromObject(t,e)}};t(qs,\"stateProperties\",Ms),t(qs,\"cacheProperties\",Ps),t(qs,\"ownDefaults\",Es),t(qs,\"type\",\"FabricObject\"),t(qs,\"colorProperties\",[H,N,\"backgroundColor\"]),t(qs,\"customProperties\",[]),tt.setClass(qs),tt.setClass(qs,\"object\");const Ks=(t,e)=>{var s;const{transform:{target:i}}=e;null===(s=i.canvas)||void 0===s||s.fire(`object:${t}`,{...e,target:i}),i.fire(t,e)},Js=(t,e,s)=>(i,r,n,o)=>{const a=e(i,r,n,o);return a&&Ks(t,{...Ye(i,r,n,o),...s}),a};function Qs(t){return(e,s,i,r)=>{const{target:n,originX:o,originY:a}=s,h=n.getPositionByOrigin(o,a),l=t(e,s,i,r);return n.setPositionByOrigin(h,s.originX,s.originY),l}}const Zs=(t,e,s,i)=>(r,n,o,a)=>{const h=Ve(n,n.originX,n.originY,o,a)[s],l=we(n[e]);if(0===l||l>0&&h<0||l<0&&h>0){const{target:e}=n,s=e.strokeWidth/(e.strokeUniform?e[i]:1),r=Ie(n)?2:1,o=e[t],a=Math.abs(h*r/e[i])-s;return e.set(t,Math.max(a,1)),o!==e[t]}return!1},ti=Zs(\"width\",\"originX\",\"x\",\"scaleX\"),ei=Zs(\"height\",\"originY\",\"y\",\"scaleY\"),si=Js(R,Qs(ti)),ii=Js(R,Qs(ei));function ri(t,e,s,i,r){t.save();const{stroke:n,xSize:o,ySize:a,opName:h}=this.commonRenderProps(t,e,s,r,i);let l=o;o>a?t.scale(1,a/o):a>o&&(l=a,t.scale(o/a,1)),t.beginPath(),t.arc(0,0,l/2,0,x,!1),t[h](),n&&t.stroke(),t.restore()}function ni(t,e,s,i,r){t.save();const{stroke:n,xSize:o,ySize:a,opName:h}=this.commonRenderProps(t,e,s,r,i),l=o/2,c=a/2;t[`${h}Rect`](-l,-c,o,a),n&&t.strokeRect(-l,-c,o,a),t.restore()}class oi{constructor(e){t(this,\"visible\",!0),t(this,\"actionName\",Y),t(this,\"angle\",0),t(this,\"x\",0),t(this,\"y\",0),t(this,\"offsetX\",0),t(this,\"offsetY\",0),t(this,\"sizeX\",0),t(this,\"sizeY\",0),t(this,\"touchSizeX\",0),t(this,\"touchSizeY\",0),t(this,\"cursorStyle\",\"crosshair\"),t(this,\"withConnection\",!1),Object.assign(this,e)}getTransformAnchorPoint(){var t;return null!==(t=this.transformAnchorPoint)&&void 0!==t?t:new ot(.5-this.x,.5-this.y)}shouldActivate(t,e,s,i){var r;let{tl:n,tr:o,br:a,bl:h}=i;return(null===(r=e.canvas)||void 0===r?void 0:r.getActiveObject())===e&&e.isControlVisible(t)&&Ns.isPointInPolygon(s,[n,o,a,h])}getActionHandler(t,e,s){return this.actionHandler}getMouseDownHandler(t,e,s){return this.mouseDownHandler}getMouseUpHandler(t,e,s){return this.mouseUpHandler}cursorStyleHandler(t,e,s,i){return e.cursorStyle}getActionName(t,e,s){return e.actionName}getVisibility(t,e){var s,i;return null!==(s=null===(i=t._controlsVisibility)||void 0===i?void 0:i[e])&&void 0!==s?s:this.visible}setVisibility(t,e,s){this.visible=t}positionHandler(t,e,s,i){return new ot(this.x*t.x+this.offsetX,this.y*t.y+this.offsetY).transform(e)}calcCornerCoords(t,e,s,i,r,n){const o=Ot([Mt(s,i),Pt({angle:t}),Et((r?this.touchSizeX:this.sizeX)||e,(r?this.touchSizeY:this.sizeY)||e)]);return{tl:new ot(-.5,-.5).transform(o),tr:new ot(.5,-.5).transform(o),br:new ot(.5,.5).transform(o),bl:new ot(-.5,.5).transform(o)}}commonRenderProps(t,e,s,i){let r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{};const{cornerSize:n,cornerColor:o,transparentCorners:a,cornerStrokeColor:h}=r,l=n||i.cornerSize,c=this.sizeX||l,u=this.sizeY||l,d=void 0!==a?a:i.transparentCorners,g=d?N:H,f=h||i.cornerStrokeColor,p=!d&&!!f;return t.fillStyle=o||i.cornerColor||\"\",t.strokeStyle=f||\"\",t.translate(e,s),t.rotate(xt(i.getTotalAngle())),{stroke:p,xSize:c,ySize:u,transparentCorners:d,opName:g}}render(t,e,s,i,r){if(\"circle\"===((i=i||{}).cornerStyle||r.cornerStyle))ri.call(this,t,e,s,i,r);else ni.call(this,t,e,s,i,r)}}const ai=(t,e,s)=>s.lockRotation?Re:e.cursorStyle,hi=Js(F,Qs((t,e,s,i)=>{let{target:r,ex:n,ey:o,theta:a,originX:h,originY:l}=e;const c=r.getPositionByOrigin(h,l);if(Xe(r,\"lockRotation\"))return!1;const u=Math.atan2(o-c.y,n-c.x),d=Math.atan2(i-c.y,s-c.x);let g=Ct(d-u+a);if(r.snapAngle&&r.snapAngle>0){const t=r.snapAngle,e=r.snapThreshold||t,s=Math.ceil(g/t)*t,i=Math.floor(g/t)*t;Math.abs(g-i)<e?g=i:Math.abs(g-s)<e&&(g=s)}g<0&&(g=360+g),g%=360;const f=r.angle!==g;return r.angle=g,f}));function li(t,e){const s=e.canvas,i=t[s.uniScaleKey];return s.uniformScaling&&!i||!s.uniformScaling&&i}function ci(t,e,s){const i=Xe(t,\"lockScalingX\"),r=Xe(t,\"lockScalingY\");if(i&&r)return!0;if(!e&&(i||r)&&s)return!0;if(i&&\"x\"===e)return!0;if(r&&\"y\"===e)return!0;const{width:n,height:o,strokeWidth:a}=t;return 0===n&&0===a&&\"y\"!==e||0===o&&0===a&&\"x\"!==e}const ui=[\"e\",\"se\",\"s\",\"sw\",\"w\",\"nw\",\"n\",\"ne\",\"e\"],di=(t,e,s,i)=>{const r=li(t,s);if(ci(s,0!==e.x&&0===e.y?\"x\":0===e.x&&0!==e.y?\"y\":\"\",r))return Re;const n=We(s,0,i);return`${ui[n]}-resize`};function gi(t,e,s,i){let r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{};const n=e.target,o=r.by,a=li(t,n);let h,l,c,u,d,g;if(ci(n,o,a))return!1;if(e.gestureScale)l=e.scaleX*e.gestureScale,c=e.scaleY*e.gestureScale;else{if(h=Ve(e,e.originX,e.originY,s,i),d=\"y\"!==o?Math.sign(h.x||e.signX||1):1,g=\"x\"!==o?Math.sign(h.y||e.signY||1):1,e.signX||(e.signX=d),e.signY||(e.signY=g),Xe(n,\"lockScalingFlip\")&&(e.signX!==d||e.signY!==g))return!1;if(u=n._getTransformedDimensions(),a&&!o){const t=Math.abs(h.x)+Math.abs(h.y),{original:s}=e,i=t/(Math.abs(u.x*s.scaleX/n.scaleX)+Math.abs(u.y*s.scaleY/n.scaleY));l=s.scaleX*i,c=s.scaleY*i}else l=Math.abs(h.x*n.scaleX/u.x),c=Math.abs(h.y*n.scaleY/u.y);Ie(e)&&(l*=2,c*=2),e.signX!==d&&\"y\"!==o&&(e.originX=$e(e.originX),l*=-1,e.signX=d),e.signY!==g&&\"x\"!==o&&(e.originY=$e(e.originY),c*=-1,e.signY=g)}const f=n.scaleX,p=n.scaleY;return o?(\"x\"===o&&n.set(W,l),\"y\"===o&&n.set(V,c)):(!Xe(n,\"lockScalingX\")&&n.set(W,l),!Xe(n,\"lockScalingY\")&&n.set(V,c)),f!==n.scaleX||p!==n.scaleY}const fi=Js(j,Qs((t,e,s,i)=>gi(t,e,s,i))),pi=Js(j,Qs((t,e,s,i)=>gi(t,e,s,i,{by:\"x\"}))),mi=Js(j,Qs((t,e,s,i)=>gi(t,e,s,i,{by:\"y\"}))),vi={x:{counterAxis:\"y\",scale:W,skew:z,lockSkewing:\"lockSkewingX\",origin:\"originX\",flip:\"flipX\"},y:{counterAxis:\"x\",scale:V,skew:G,lockSkewing:\"lockSkewingY\",origin:\"originY\",flip:\"flipY\"}},yi=[\"ns\",\"nesw\",\"ew\",\"nwse\"],_i=(t,e,s,i)=>{if(0!==e.x&&Xe(s,\"lockSkewingY\"))return Re;if(0!==e.y&&Xe(s,\"lockSkewingX\"))return Re;const r=We(s,0,i)%4;return`${yi[r]}-resize`};function xi(t,e,s,i,r){const{target:n}=s,{counterAxis:o,origin:a,lockSkewing:h,skew:l,flip:c}=vi[t];if(Xe(n,h))return!1;const{origin:u,flip:d}=vi[o],g=we(s[u])*(n[d]?-1:1),f=-Math.sign(g)*(n[c]?-1:1),p=.5*-((0===n[l]&&Ve(s,T,T,i,r)[t]>0||n[l]>0?1:-1)*f)+.5,m=Js(B,Qs((e,s,i,r)=>function(t,e,s){let{target:i,ex:r,ey:n,skewingSide:o,...a}=e;const{skew:h}=vi[t],l=s.subtract(new ot(r,n)).divide(new ot(i.scaleX,i.scaleY))[t],c=i[h],u=a[h],d=Math.tan(xt(u)),g=\"y\"===t?i._getTransformedDimensions({scaleX:1,scaleY:1,skewX:0}).x:i._getTransformedDimensions({scaleX:1,scaleY:1}).y,f=2*l*o/Math.max(g,1)+d,p=Ct(Math.atan(f));i.set(h,p);const m=c!==i[h];if(m&&\"y\"===t){const{skewX:t,scaleX:e}=i,s=i._getTransformedDimensions({skewY:c}),r=i._getTransformedDimensions(),n=0!==t?s.x/r.x:1;1!==n&&i.set(W,n*e)}return m}(t,s,new ot(i,r))));return m(e,{...s,[a]:p,skewingSide:f},i,r)}const Ci=(t,e,s,i)=>xi(\"x\",t,e,s,i),bi=(t,e,s,i)=>xi(\"y\",t,e,s,i);function Si(t,e){return t[e.canvas.altActionKey]}const wi=(t,e,s)=>{const i=Si(t,s);return 0===e.x?i?z:V:0===e.y?i?G:W:\"\"},Ti=(t,e,s,i)=>Si(t,s)?_i(0,e,s,i):di(t,e,s,i),Oi=(t,e,s,i)=>Si(t,e.target)?bi(t,e,s,i):pi(t,e,s,i),ki=(t,e,s,i)=>Si(t,e.target)?Ci(t,e,s,i):mi(t,e,s,i),Di=()=>({ml:new oi({x:-.5,y:0,cursorStyleHandler:Ti,actionHandler:Oi,getActionName:wi}),mr:new oi({x:.5,y:0,cursorStyleHandler:Ti,actionHandler:Oi,getActionName:wi}),mb:new oi({x:0,y:.5,cursorStyleHandler:Ti,actionHandler:ki,getActionName:wi}),mt:new oi({x:0,y:-.5,cursorStyleHandler:Ti,actionHandler:ki,getActionName:wi}),tl:new oi({x:-.5,y:-.5,cursorStyleHandler:di,actionHandler:fi}),tr:new oi({x:.5,y:-.5,cursorStyleHandler:di,actionHandler:fi}),bl:new oi({x:-.5,y:.5,cursorStyleHandler:di,actionHandler:fi}),br:new oi({x:.5,y:.5,cursorStyleHandler:di,actionHandler:fi}),mtr:new oi({x:0,y:-.5,actionHandler:hi,cursorStyleHandler:ai,offsetY:-40,withConnection:!0,actionName:L})}),Mi=()=>({mr:new oi({x:.5,y:0,actionHandler:si,cursorStyleHandler:Ti,actionName:R}),ml:new oi({x:-.5,y:0,actionHandler:si,cursorStyleHandler:Ti,actionName:R})}),Pi=()=>({...Di(),...Mi()});class Ei extends qs{static getDefaults(){return{...super.getDefaults(),...Ei.ownDefaults}}constructor(t){super(),Object.assign(this,this.constructor.createControls(),Ei.ownDefaults),this.setOptions(t)}static createControls(){return{controls:Di()}}_updateCacheCanvas(){const t=this.canvas;if(this.noScaleCache&&t&&t._currentTransform){const e=t._currentTransform,s=e.target,i=e.action;if(this===s&&i&&i.startsWith(Y))return!1}return super._updateCacheCanvas()}getActiveControl(){const t=this.__corner;return t?{key:t,control:this.controls[t],coord:this.oCoords[t]}:void 0}findControl(t){let e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(!this.hasControls||!this.canvas)return;this.__corner=void 0;const s=Object.entries(this.oCoords);for(let i=s.length-1;i>=0;i--){const[r,n]=s[i],o=this.controls[r];if(o.shouldActivate(r,this,t,e?n.touchCorner:n.corner))return this.__corner=r,{key:r,control:o,coord:this.oCoords[r]}}}calcOCoords(){const t=this.getViewportTransform(),e=this.getCenterPoint(),s=Mt(e.x,e.y),i=Pt({angle:this.getTotalAngle()-(this.group&&this.flipX?180:0)}),r=Tt(s,i),n=Tt(t,r),o=Tt(n,[1/t[0],0,0,1/t[3],0,0]),a=this.group?Dt(this.calcTransformMatrix()):void 0;a&&(a.scaleX=Math.abs(a.scaleX),a.scaleY=Math.abs(a.scaleY));const h=this._calculateCurrentDimensions(a),l={};return this.forEachControl((t,e)=>{const s=t.positionHandler(h,o,this,t);l[e]=Object.assign(s,this._calcCornerCoords(t,s))}),l}_calcCornerCoords(t,e){const s=this.getTotalAngle();return{corner:t.calcCornerCoords(s,this.cornerSize,e.x,e.y,!1,this),touchCorner:t.calcCornerCoords(s,this.touchCornerSize,e.x,e.y,!0,this)}}setCoords(){super.setCoords(),this.canvas&&(this.oCoords=this.calcOCoords())}forEachControl(t){for(const e in this.controls)t(this.controls[e],e,this)}drawSelectionBackground(t){if(!this.selectionBackgroundColor||this.canvas&&this.canvas._activeObject!==this)return;t.save();const e=this.getRelativeCenterPoint(),s=this._calculateCurrentDimensions(),i=this.getViewportTransform();t.translate(e.x,e.y),t.scale(1/i[0],1/i[3]),t.rotate(xt(this.angle)),t.fillStyle=this.selectionBackgroundColor,t.fillRect(-s.x/2,-s.y/2,s.x,s.y),t.restore()}strokeBorders(t,e){t.strokeRect(-e.x/2,-e.y/2,e.x,e.y)}_drawBorders(t,e){let s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const i={hasControls:this.hasControls,borderColor:this.borderColor,borderDashArray:this.borderDashArray,...s};t.save(),t.strokeStyle=i.borderColor,this._setLineDash(t,i.borderDashArray),this.strokeBorders(t,e),i.hasControls&&this.drawControlsConnectingLines(t,e),t.restore()}_renderControls(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const{hasBorders:s,hasControls:i}=this,r={hasBorders:s,hasControls:i,...e},n=this.getViewportTransform(),o=r.hasBorders,a=r.hasControls,h=Tt(n,this.calcTransformMatrix()),l=Dt(h);t.save(),t.translate(l.translateX,l.translateY),t.lineWidth=this.borderScaleFactor,this.group===this.parent&&(t.globalAlpha=this.isMoving?this.borderOpacityWhenMoving:1),this.flipX&&(l.angle-=180),t.rotate(xt(this.group?l.angle:this.angle)),o&&this.drawBorders(t,l,e),a&&this.drawControls(t,e),t.restore()}drawBorders(t,e,s){let i;if(s&&s.forActiveSelection||this.group){const t=ye(this.width,this.height,Lt(e)),s=this.isStrokeAccountedForInDimensions()?at:(this.strokeUniform?(new ot).scalarAdd(this.canvas?this.canvas.getZoom():1):new ot(e.scaleX,e.scaleY)).scalarMultiply(this.strokeWidth);i=t.add(s).scalarAdd(this.borderScaleFactor).scalarAdd(2*this.padding)}else i=this._calculateCurrentDimensions().scalarAdd(this.borderScaleFactor);this._drawBorders(t,i,s)}drawControlsConnectingLines(t,e){let s=!1;t.beginPath(),this.forEachControl((i,r)=>{i.withConnection&&i.getVisibility(this,r)&&(s=!0,t.moveTo(i.x*e.x,i.y*e.y),t.lineTo(i.x*e.x+i.offsetX,i.y*e.y+i.offsetY))}),s&&t.stroke()}drawControls(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};t.save();const s=this.getCanvasRetinaScaling(),{cornerStrokeColor:i,cornerDashArray:r,cornerColor:n}=this,o={cornerStrokeColor:i,cornerDashArray:r,cornerColor:n,...e};t.setTransform(s,0,0,s,0,0),t.strokeStyle=t.fillStyle=o.cornerColor,this.transparentCorners||(t.strokeStyle=o.cornerStrokeColor),this._setLineDash(t,o.cornerDashArray),this.forEachControl((e,s)=>{if(e.getVisibility(this,s)){const i=this.oCoords[s];e.render(t,i.x,i.y,o,this)}}),t.restore()}isControlVisible(t){return this.controls[t]&&this.controls[t].getVisibility(this,t)}setControlVisible(t,e){this._controlsVisibility||(this._controlsVisibility={}),this._controlsVisibility[t]=e}setControlsVisibility(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};Object.entries(t).forEach(t=>{let[e,s]=t;return this.setControlVisible(e,s)})}clearContextTop(t){if(!this.canvas)return;const e=this.canvas.contextTop;if(!e)return;const s=this.canvas.viewportTransform;e.save(),e.transform(s[0],s[1],s[2],s[3],s[4],s[5]),this.transform(e);const i=this.width+4,r=this.height+4;return e.clearRect(-i/2,-r/2,i,r),t||e.restore(),e}onDeselect(t){return!1}onSelect(t){return!1}shouldStartDragging(t){return!1}onDragStart(t){return!1}canDrop(t){return!1}renderDragSourceEffect(t){}renderDropTargetEffect(t){}}function Ai(t,e){return e.forEach(e=>{Object.getOwnPropertyNames(e.prototype).forEach(s=>{\"constructor\"!==s&&Object.defineProperty(t.prototype,s,Object.getOwnPropertyDescriptor(e.prototype,s)||Object.create(null))})}),t}t(Ei,\"ownDefaults\",{noScaleCache:!0,lockMovementX:!1,lockMovementY:!1,lockRotation:!1,lockScalingX:!1,lockScalingY:!1,lockSkewingX:!1,lockSkewingY:!1,lockScalingFlip:!1,cornerSize:13,touchCornerSize:24,transparentCorners:!0,cornerColor:\"rgb(178,204,255)\",cornerStrokeColor:\"\",cornerStyle:\"rect\",cornerDashArray:null,hasControls:!0,borderColor:\"rgb(178,204,255)\",borderDashArray:null,borderOpacityWhenMoving:.4,borderScaleFactor:1,hasBorders:!0,selectionBackgroundColor:\"\",selectable:!0,evented:!0,perPixelTargetFind:!1,activeOn:\"down\",hoverCursor:null,moveCursor:null});class ji extends Ei{}Ai(ji,[es]),tt.setClass(ji),tt.setClass(ji,\"object\");const Fi=(t,e,s,i)=>{const r=2*(i=Math.round(i))+1,{data:n}=t.getImageData(e-i,s-i,r,r);for(let t=3;t<n.length;t+=4){if(n[t]>0)return!1}return!0};class Li{constructor(t){this.options=t,this.strokeProjectionMagnitude=this.options.strokeWidth/2,this.scale=new ot(this.options.scaleX,this.options.scaleY),this.strokeUniformScalar=this.options.strokeUniform?new ot(1/this.options.scaleX,1/this.options.scaleY):new ot(1,1)}createSideVector(t,e){const s=De(t,e);return this.options.strokeUniform?s.multiply(this.scale):s}projectOrthogonally(t,e,s){return this.applySkew(t.add(this.calcOrthogonalProjection(t,e,s)))}isSkewed(){return 0!==this.options.skewX||0!==this.options.skewY}applySkew(t){const e=new ot(t);return e.y+=e.x*Math.tan(xt(this.options.skewY)),e.x+=e.y*Math.tan(xt(this.options.skewX)),e}scaleUnitVector(t,e){return t.multiply(this.strokeUniformScalar).scalarMultiply(e)}}const Bi=new ot;class Ri extends Li{static getOrthogonalRotationFactor(t,e){const s=e?Pe(t,e):Ee(t);return Math.abs(s)<y?-1:1}constructor(e,s,i,r){super(r),t(this,\"AB\",void 0),t(this,\"AC\",void 0),t(this,\"alpha\",void 0),t(this,\"bisector\",void 0),this.A=new ot(e),this.B=new ot(s),this.C=new ot(i),this.AB=this.createSideVector(this.A,this.B),this.AC=this.createSideVector(this.A,this.C),this.alpha=Pe(this.AB,this.AC),this.bisector=Ae(ke(this.AB.eq(Bi)?this.AC:this.AB,this.alpha/2))}calcOrthogonalProjection(t,e){let s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.strokeProjectionMagnitude;const i=this.createSideVector(t,e),r=je(i),n=Ri.getOrthogonalRotationFactor(r,this.bisector);return this.scaleUnitVector(r,s*n)}projectBevel(){const t=[];return(this.alpha%x===0?[this.B]:[this.B,this.C]).forEach(e=>{t.push(this.projectOrthogonally(this.A,e)),t.push(this.projectOrthogonally(this.A,e,-this.strokeProjectionMagnitude))}),t}projectMiter(){const t=[],e=Math.abs(this.alpha),s=1/Math.sin(e/2),i=this.scaleUnitVector(this.bisector,-this.strokeProjectionMagnitude*s),r=this.options.strokeUniform?Me(this.scaleUnitVector(this.bisector,this.options.strokeMiterLimit)):this.options.strokeMiterLimit;return Me(i)/this.strokeProjectionMagnitude<=r&&t.push(this.applySkew(this.A.add(i))),t.push(...this.projectBevel()),t}projectRoundNoSkew(t,e){const s=[],i=new ot(Ri.getOrthogonalRotationFactor(this.bisector),Ri.getOrthogonalRotationFactor(new ot(this.bisector.y,this.bisector.x)));return[new ot(1,0).scalarMultiply(this.strokeProjectionMagnitude).multiply(this.strokeUniformScalar).multiply(i),new ot(0,1).scalarMultiply(this.strokeProjectionMagnitude).multiply(this.strokeUniformScalar).multiply(i)].forEach(i=>{Be(i,t,e)&&s.push(this.A.add(i))}),s}projectRoundWithSkew(t,e){const s=[],{skewX:i,skewY:r,scaleX:n,scaleY:o,strokeUniform:a}=this.options,h=new ot(Math.tan(xt(i)),Math.tan(xt(r))),l=this.strokeProjectionMagnitude,c=a?l/o/Math.sqrt(1/o**2+1/n**2*h.y**2):l/Math.sqrt(1+h.y**2),u=new ot(Math.sqrt(Math.max(l**2-c**2,0)),c),d=a?l/Math.sqrt(1+h.x**2*(1/o)**2/(1/n+1/n*h.x*h.y)**2):l/Math.sqrt(1+h.x**2/(1+h.x*h.y)**2),g=new ot(d,Math.sqrt(Math.max(l**2-d**2,0)));return[g,g.scalarMultiply(-1),u,u.scalarMultiply(-1)].map(t=>this.applySkew(a?t.multiply(this.strokeUniformScalar):t)).forEach(i=>{Be(i,t,e)&&s.push(this.applySkew(this.A).add(i))}),s}projectRound(){const t=[];t.push(...this.projectBevel());const e=this.alpha%x===0,s=this.applySkew(this.A),i=t[e?0:2].subtract(s),r=t[e?1:0].subtract(s),n=e?this.applySkew(this.AB.scalarMultiply(-1)):this.applySkew(this.bisector.multiply(this.strokeUniformScalar).scalarMultiply(-1)),o=Fe(i,n)>0,a=o?i:r,h=o?r:i;return this.isSkewed()?t.push(...this.projectRoundWithSkew(a,h)):t.push(...this.projectRoundNoSkew(a,h)),t}projectPoints(){switch(this.options.strokeLineJoin){case\"miter\":return this.projectMiter();case\"round\":return this.projectRound();default:return this.projectBevel()}}project(){return this.projectPoints().map(t=>({originPoint:this.A,projectedPoint:t,angle:this.alpha,bisector:this.bisector}))}}class Ii extends Li{constructor(t,e,s){super(s),this.A=new ot(t),this.T=new ot(e)}calcOrthogonalProjection(t,e){let s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.strokeProjectionMagnitude;const i=this.createSideVector(t,e);return this.scaleUnitVector(je(i),s)}projectButt(){return[this.projectOrthogonally(this.A,this.T,this.strokeProjectionMagnitude),this.projectOrthogonally(this.A,this.T,-this.strokeProjectionMagnitude)]}projectRound(){const t=[];if(!this.isSkewed()&&this.A.eq(this.T)){const e=new ot(1,1).scalarMultiply(this.strokeProjectionMagnitude).multiply(this.strokeUniformScalar);t.push(this.applySkew(this.A.add(e)),this.applySkew(this.A.subtract(e)))}else t.push(...new Ri(this.A,this.T,this.T,this.options).projectRound());return t}projectSquare(){const t=[];if(this.A.eq(this.T)){const e=new ot(1,1).scalarMultiply(this.strokeProjectionMagnitude).multiply(this.strokeUniformScalar);t.push(this.A.add(e),this.A.subtract(e))}else{const e=this.calcOrthogonalProjection(this.A,this.T,this.strokeProjectionMagnitude),s=this.scaleUnitVector(Ae(this.createSideVector(this.A,this.T)),-this.strokeProjectionMagnitude),i=this.A.add(s);t.push(i.add(e),i.subtract(e))}return t.map(t=>this.applySkew(t))}projectPoints(){switch(this.options.strokeLineCap){case\"round\":return this.projectRound();case\"square\":return this.projectSquare();default:return this.projectButt()}}project(){return this.projectPoints().map(t=>({originPoint:this.A,projectedPoint:t}))}}const $i=function(t,e){let s=arguments.length>2&&void 0!==arguments[2]&&arguments[2];const i=[];if(0===t.length)return i;const r=t.reduce((t,e)=>(t[t.length-1].eq(e)||t.push(new ot(e)),t),[new ot(t[0])]);if(1===r.length)s=!0;else if(!s){const t=r[0],e=((t,e)=>{for(let s=t.length-1;s>=0;s--)if(e(t[s],s,t))return s;return-1})(r,e=>!e.eq(t));r.splice(e+1)}return r.forEach((t,r,n)=>{let o,a;0===r?(a=n[1],o=s?t:n[n.length-1]):r===n.length-1?(o=n[r-1],a=s?t:n[0]):(o=n[r-1],a=n[r+1]),s&&1===n.length?i.push(...new Ii(t,t,e).project()):!s||0!==r&&r!==n.length-1?i.push(...new Ri(t,o,a,e).project()):i.push(...new Ii(t,0===r?a:o,e).project())}),i},Xi=t=>{const e={};return Object.keys(t).forEach(s=>{e[s]={},Object.keys(t[s]).forEach(i=>{e[s][i]={...t[s][i]}})}),e},Yi=function(t,e){let s=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return t.fill!==e.fill||t.stroke!==e.stroke||t.strokeWidth!==e.strokeWidth||t.fontSize!==e.fontSize||t.fontFamily!==e.fontFamily||t.fontWeight!==e.fontWeight||t.fontStyle!==e.fontStyle||t.textDecorationThickness!==e.textDecorationThickness||t.textBackgroundColor!==e.textBackgroundColor||t.deltaY!==e.deltaY||s&&(t.overline!==e.overline||t.underline!==e.underline||t.linethrough!==e.linethrough)},Wi=(t,e)=>{const s=e.split(\"\\n\"),i=[];let r=-1,n={};t=Xi(t);for(let e=0;e<s.length;e++){const o=re(s[e]);if(t[e])for(let s=0;s<o.length;s++){r++;const o=t[e][s];o&&Object.keys(o).length>0&&(Yi(n,o,!0)?i.push({start:r,end:r+1,style:o}):i[i.length-1].end++),n=o||{}}else r+=o.length,n={}}return i},Vi=(t,e)=>{if(!Array.isArray(t))return Xi(t);const s=e.split(E),i={};let r=-1,n=0;for(let e=0;e<s.length;e++){const o=re(s[e]);for(let s=0;s<o.length;s++)r++,t[n]&&t[n].start<=r&&r<t[n].end&&(i[e]=i[e]||{},i[e][s]={...t[n].style},r===t[n].end-1&&n++)}return i},zi=[\"display\",\"transform\",H,\"fill-opacity\",\"fill-rule\",\"opacity\",N,\"stroke-dasharray\",\"stroke-linecap\",\"stroke-dashoffset\",\"stroke-linejoin\",\"stroke-miterlimit\",\"stroke-opacity\",\"stroke-width\",\"id\",\"paint-order\",\"vector-effect\",\"instantiated_by_use\",\"clip-path\"];function Gi(t,e){const s=t.nodeName,i=t.getAttribute(\"class\"),r=t.getAttribute(\"id\"),n=\"(?![a-zA-Z\\\\-]+)\";let o;if(o=new RegExp(\"^\"+s,\"i\"),e=e.replace(o,\"\"),r&&e.length&&(o=new RegExp(\"#\"+r+n,\"i\"),e=e.replace(o,\"\")),i&&e.length){const t=i.split(\" \");for(let s=t.length;s--;)o=new RegExp(\"\\\\.\"+t[s]+n,\"i\"),e=e.replace(o,\"\")}return 0===e.length}function Hi(t,e){let s=!0;const i=Gi(t,e.pop());return i&&e.length&&(s=function(t,e){let s,i=!0;for(;t.parentElement&&1===t.parentElement.nodeType&&e.length;)i&&(s=e.pop()),i=Gi(t=t.parentElement,s);return 0===e.length}(t,e)),i&&s&&0===e.length}function Ni(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},s={};for(const i in e)Hi(t,i.split(\" \"))&&(s={...s,...e[i]});return s}const Ui=t=>{var e;return null!==(e=ys[t])&&void 0!==e?e:t},qi=new RegExp(`(${fs})`,\"gi\"),Ki=`(${fs})`,Ji=String.raw`(skewX)\\(${Ki}\\)`,Qi=String.raw`(skewY)\\(${Ki}\\)`,Zi=String.raw`(rotate)\\(${Ki}(?: ${Ki} ${Ki})?\\)`,tr=String.raw`(scale)\\(${Ki}(?: ${Ki})?\\)`,er=String.raw`(translate)\\(${Ki}(?: ${Ki})?\\)`,sr=`(?:${String.raw`(matrix)\\(${Ki} ${Ki} ${Ki} ${Ki} ${Ki} ${Ki}\\)`}|${er}|${Zi}|${tr}|${Ji}|${Qi})`,ir=`(?:${sr}*)`,rr=String.raw`^\\s*(?:${ir}?)\\s*$`,nr=new RegExp(rr),or=new RegExp(sr),ar=new RegExp(sr,\"g\");function hr(t){const e=[];if(!(t=(t=>ze(t.replace(qi,\" $1 \").replace(/,/gi,\" \")))(t).replace(/\\s*([()])\\s*/gi,\"$1\"))||t&&!nr.test(t))return[...b];for(const s of t.matchAll(ar)){const t=or.exec(s[0]);if(!t)continue;let i=b;const r=t.filter(t=>!!t),[,n,...o]=r,[a,h,l,c,u,d]=o.map(t=>parseFloat(t));switch(n){case\"translate\":i=Mt(a,h);break;case L:i=Pt({angle:a},{x:h,y:l});break;case Y:i=Et(a,h);break;case z:i=jt(a);break;case G:i=Ft(a);break;case\"matrix\":i=[a,h,l,c,u,d]}e.push(i)}return Ot(e)}function lr(t,e,s,i){const r=Array.isArray(e);let n,o=e;if(t!==H&&t!==N||e!==P){if(\"strokeUniform\"===t)return\"non-scaling-stroke\"===e;if(\"strokeDashArray\"===t)o=e===P?null:e.replace(/,/g,\" \").split(/\\s+/).map(parseFloat);else if(\"transformMatrix\"===t)o=s&&s.transformMatrix?Tt(s.transformMatrix,hr(e)):hr(e);else if(\"visible\"===t)o=e!==P&&\"hidden\"!==e,s&&!1===s.visible&&(o=!1);else if(\"opacity\"===t)o=parseFloat(e),s&&void 0!==s.opacity&&(o*=s.opacity);else if(\"textAnchor\"===t)o=\"start\"===e?O:\"end\"===e?M:T;else if(\"charSpacing\"===t||t===is)n=Qe(e,i)/i*1e3;else if(\"paintFirst\"===t){const t=e.indexOf(H),s=e.indexOf(N);o=H,(t>-1&&s>-1&&s<t||-1===t&&s>-1)&&(o=N)}else{if(\"href\"===t||\"xlink:href\"===t||\"font\"===t||\"id\"===t)return e;if(\"imageSmoothing\"===t)return\"optimizeQuality\"===e;n=r?e.map(Qe):Qe(e,i)}}else o=\"\";return!r&&isNaN(n)?o:n}function cr(t,e){t.replace(/;\\s*$/,\"\").split(\";\").forEach(t=>{if(!t)return;const[s,i]=t.split(\":\");e[s.trim().toLowerCase()]=i.trim()})}function ur(t){const e={},s=t.getAttribute(\"style\");return s?(\"string\"==typeof s?cr(s,e):function(t,e){Object.entries(t).forEach(t=>{let[s,i]=t;void 0!==i&&(e[s.toLowerCase()]=i)})}(s,e),e):e}const dr={stroke:\"strokeOpacity\",fill:\"fillOpacity\"};function gr(t,e,s){if(!t)return{};let i,r={},n=S;t.parentNode&&Ss.test(t.parentNode.nodeName)&&(r=gr(t.parentElement,e,s),r.fontSize&&(i=n=Qe(r.fontSize)));const o={...e.reduce((e,s)=>{const i=t.getAttribute(s);return i&&(e[s]=i),e},{}),...Ni(t,s),...ur(t)};o[xs]&&t.setAttribute(xs,o[xs]),o[_s]&&(i=Qe(o[_s],n),o[_s]=`${i}`);const a={};for(const t in o){const e=Ui(t),s=lr(e,o[t],r,i);a[e]=s}a&&a.font&&function(t,e){const s=t.match(vs);if(!s)return;const i=s[1],r=s[3],n=s[4],o=s[5],a=s[6];i&&(e.fontStyle=i),r&&(e.fontWeight=isNaN(parseFloat(r))?r:parseFloat(r)),n&&(e.fontSize=Qe(n)),a&&(e.fontFamily=a),o&&(e.lineHeight=o===J?1:o)}(a.font,a);const h={...r,...a};return Ss.test(t.nodeName)?h:function(t){const e=ji.getDefaults();return Object.entries(dr).forEach(s=>{let[i,r]=s;if(void 0===t[r]||\"\"===t[i])return;if(void 0===t[i]){if(!e[i])return;t[i]=e[i]}if(0===t[i].indexOf(\"url(\"))return;const n=new Je(t[i]);t[i]=n.setAlpha(Wt(n.getAlpha()*t[r],2)).toRgba()}),t}(h)}const fr=[\"rx\",\"ry\"];class pr extends ji{static getDefaults(){return{...super.getDefaults(),...pr.ownDefaults}}constructor(t){super(),Object.assign(this,pr.ownDefaults),this.setOptions(t),this._initRxRy()}_initRxRy(){const{rx:t,ry:e}=this;t&&!e?this.ry=t:e&&!t&&(this.rx=e)}_render(t){const{width:e,height:s}=this,i=-e/2,r=-s/2,n=this.rx?Math.min(this.rx,e/2):0,o=this.ry?Math.min(this.ry,s/2):0,a=0!==n||0!==o;t.beginPath(),t.moveTo(i+n,r),t.lineTo(i+e-n,r),a&&t.bezierCurveTo(i+e-w*n,r,i+e,r+w*o,i+e,r+o),t.lineTo(i+e,r+s-o),a&&t.bezierCurveTo(i+e,r+s-w*o,i+e-w*n,r+s,i+e-n,r+s),t.lineTo(i+n,r+s),a&&t.bezierCurveTo(i+w*n,r+s,i,r+s-w*o,i,r+s-o),t.lineTo(i,r+o),a&&t.bezierCurveTo(i,r+w*o,i+w*n,r,i+n,r),t.closePath(),this._renderPaintInOrder(t)}toObject(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return super.toObject([...fr,...t])}_toSVG(){const{width:t,height:e,rx:s,ry:i}=this;return[\"<rect \",\"COMMON_PARTS\",`x=\"${-t/2}\" y=\"${-e/2}\" rx=\"${se(s)}\" ry=\"${se(i)}\" width=\"${se(t)}\" height=\"${se(e)}\" />\\n`]}static async fromElement(t,e,s){const{left:i=0,top:r=0,width:n=0,height:o=0,visible:a=!0,...h}=gr(t,this.ATTRIBUTE_NAMES,s);return new this({...e,...h,left:i,top:r,width:n,height:o,visible:Boolean(a&&n&&o)})}}t(pr,\"type\",\"Rect\"),t(pr,\"cacheProperties\",[...Ps,...fr]),t(pr,\"ownDefaults\",{rx:0,ry:0}),t(pr,\"ATTRIBUTE_NAMES\",[...zi,\"x\",\"y\",\"rx\",\"ry\",\"width\",\"height\"]),tt.setClass(pr),tt.setSVGClass(pr);const mr=\"initialization\",vr=\"added\",yr=\"removed\",_r=\"imperative\",xr=(t,e)=>{const{strokeUniform:s,strokeWidth:i,width:r,height:n,group:o}=e,a=o&&o!==t?_e(o.calcTransformMatrix(),t.calcTransformMatrix()):null,h=a?e.getRelativeCenterPoint().transform(a):e.getRelativeCenterPoint(),l=!e.isStrokeAccountedForInDimensions(),c=s&&l?Ce(new ot(i,i),void 0,t.calcTransformMatrix()):at,u=!s&&l?i:0,d=ye(r+u,n+u,Ot([a,e.calcOwnMatrix()],!0)).add(c).scalarDivide(2);return[h.subtract(d),h.add(d)]};class Cr{calcLayoutResult(t,e){if(this.shouldPerformLayout(t))return this.calcBoundingBox(e,t)}shouldPerformLayout(t){let{type:e,prevStrategy:s,strategy:i}=t;return e===mr||e===_r||!!s&&i!==s}shouldLayoutClipPath(t){let{type:e,target:{clipPath:s}}=t;return e!==mr&&s&&!s.absolutePositioned}getInitialSize(t,e){return e.size}calcBoundingBox(t,e){const{type:s,target:i}=e;if(s===_r&&e.overrides)return e.overrides;if(0===t.length)return;const{left:r,top:n,width:o,height:a}=ge(t.map(t=>xr(i,t)).reduce((t,e)=>t.concat(e),[])),h=new ot(o,a),l=new ot(r,n).add(h.scalarDivide(2));if(s===mr){const t=this.getInitialSize(e,{size:h,center:l});return{center:l,relativeCorrection:new ot(0,0),size:t}}return{center:l.transform(i.calcOwnMatrix()),size:h}}}t(Cr,\"type\",\"strategy\");class br extends Cr{shouldPerformLayout(t){return!0}}t(br,\"type\",\"fit-content\"),tt.setClass(br);const Sr=\"layoutManager\";class wr{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new br;t(this,\"strategy\",void 0),this.strategy=e,this._subscriptions=new Map}performLayout(t){const e={bubbles:!0,strategy:this.strategy,...t,prevStrategy:this._prevLayoutStrategy,stopPropagation(){this.bubbles=!1}};this.onBeforeLayout(e);const s=this.getLayoutResult(e);s&&this.commitLayout(e,s),this.onAfterLayout(e,s),this._prevLayoutStrategy=e.strategy}attachHandlers(t,e){const{target:s}=e;return[U,A,R,F,j,B,X,I,$].map(e=>t.on(e,t=>this.performLayout(e===U?{type:\"object_modified\",trigger:e,e:t,target:s}:{type:\"object_modifying\",trigger:e,e:t,target:s})))}subscribe(t,e){this.unsubscribe(t,e);const s=this.attachHandlers(t,e);this._subscriptions.set(t,s)}unsubscribe(t,e){(this._subscriptions.get(t)||[]).forEach(t=>t()),this._subscriptions.delete(t)}unsubscribeTargets(t){t.targets.forEach(e=>this.unsubscribe(e,t))}subscribeTargets(t){t.targets.forEach(e=>this.subscribe(e,t))}onBeforeLayout(t){const{target:e,type:s}=t,{canvas:i}=e;if(s===mr||s===vr?this.subscribeTargets(t):s===yr&&this.unsubscribeTargets(t),e.fire(\"layout:before\",{context:t}),i&&i.fire(\"object:layout:before\",{target:e,context:t}),s===_r&&t.deep){const{strategy:s,...i}=t;e.forEachObject(t=>t.layoutManager&&t.layoutManager.performLayout({...i,bubbles:!1,target:t}))}}getLayoutResult(t){const{target:e,strategy:s,type:i}=t,r=s.calcLayoutResult(t,e.getObjects());if(!r)return;const n=i===mr?new ot:e.getRelativeCenterPoint(),{center:o,correction:a=new ot,relativeCorrection:h=new ot}=r,l=n.subtract(o).add(a).transform(i===mr?b:wt(e.calcOwnMatrix()),!0).add(h);return{result:r,prevCenter:n,nextCenter:o,offset:l}}commitLayout(t,e){const{target:s}=t,{result:{size:i},nextCenter:r}=e;var n,o;(s.set({width:i.x,height:i.y}),this.layoutObjects(t,e),t.type===mr)?s.set({left:null!==(n=t.x)&&void 0!==n?n:r.x+i.x*we(s.originX),top:null!==(o=t.y)&&void 0!==o?o:r.y+i.y*we(s.originY)}):(s.setPositionByOrigin(r,T,T),s.setCoords(),s.set(\"dirty\",!0))}layoutObjects(t,e){const{target:s}=t;s.forEachObject(i=>{i.group===s&&this.layoutObject(t,e,i)}),t.strategy.shouldLayoutClipPath(t)&&this.layoutObject(t,e,s.clipPath)}layoutObject(t,e,s){let{offset:i}=e;s.set({left:s.left+i.x,top:s.top+i.y})}onAfterLayout(t,e){const{target:s,strategy:i,bubbles:r,prevStrategy:n,...o}=t,{canvas:a}=s;s.fire(\"layout:after\",{context:t,result:e}),a&&a.fire(\"object:layout:after\",{context:t,result:e,target:s});const h=s.parent;r&&null!=h&&h.layoutManager&&((o.path||(o.path=[])).push(s),h.layoutManager.performLayout({...o,target:h})),s.set(\"dirty\",!0)}dispose(){const{_subscriptions:t}=this;t.forEach(t=>t.forEach(t=>t())),t.clear()}toObject(){return{type:Sr,strategy:this.strategy.constructor.type}}toJSON(){return this.toObject()}}tt.setClass(wr,Sr);class Tr extends wr{performLayout(){}}class Or extends(lt(ji)){static getDefaults(){return{...super.getDefaults(),...Or.ownDefaults}}constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};super(),t(this,\"_activeObjects\",[]),t(this,\"__objectSelectionTracker\",void 0),t(this,\"__objectSelectionDisposer\",void 0),Object.assign(this,Or.ownDefaults),this.setOptions(s),this.groupInit(e,s)}groupInit(t,e){var s;this._objects=[...t],this.__objectSelectionTracker=this.__objectSelectionMonitor.bind(this,!0),this.__objectSelectionDisposer=this.__objectSelectionMonitor.bind(this,!1),this.forEachObject(t=>{this.enterGroup(t,!1)}),this.layoutManager=null!==(s=e.layoutManager)&&void 0!==s?s:new wr,this.layoutManager.performLayout({type:mr,target:this,targets:[...t],x:e.left,y:e.top})}canEnterGroup(t){return t===this||this.isDescendantOf(t)?(i(\"error\",\"Group: circular object trees are not supported, this call has no effect\"),!1):-1===this._objects.indexOf(t)||(i(\"error\",\"Group: duplicate objects are not supported inside group, this call has no effect\"),!1)}_filterObjectsBeforeEnteringGroup(t){return t.filter((t,e,s)=>this.canEnterGroup(t)&&s.indexOf(t)===e)}add(){for(var t=arguments.length,e=new Array(t),s=0;s<t;s++)e[s]=arguments[s];const i=this._filterObjectsBeforeEnteringGroup(e),r=super.add(...i);return this._onAfterObjectsChange(vr,i),r}insertAt(t){for(var e=arguments.length,s=new Array(e>1?e-1:0),i=1;i<e;i++)s[i-1]=arguments[i];const r=this._filterObjectsBeforeEnteringGroup(s),n=super.insertAt(t,...r);return this._onAfterObjectsChange(vr,r),n}remove(){const t=super.remove(...arguments);return this._onAfterObjectsChange(yr,t),t}_onObjectAdded(t){this.enterGroup(t,!0),this.fire(\"object:added\",{target:t}),t.fire(\"added\",{target:this})}_onObjectRemoved(t,e){this.exitGroup(t,e),this.fire(\"object:removed\",{target:t}),t.fire(\"removed\",{target:this})}_onAfterObjectsChange(t,e){this.layoutManager.performLayout({type:t,targets:e,target:this})}_onStackOrderChanged(){this._set(\"dirty\",!0)}_set(t,e){const s=this[t];return super._set(t,e),\"canvas\"===t&&s!==e&&(this._objects||[]).forEach(s=>{s._set(t,e)}),this}_shouldSetNestedCoords(){return this.subTargetCheck}removeAll(){return this._activeObjects=[],this.remove(...this._objects)}__objectSelectionMonitor(t,e){let{target:s}=e;const i=this._activeObjects;if(t)i.push(s),this._set(\"dirty\",!0);else if(i.length>0){const t=i.indexOf(s);t>-1&&(i.splice(t,1),this._set(\"dirty\",!0))}}_watchObject(t,e){t&&this._watchObject(!1,e),t?(e.on(\"selected\",this.__objectSelectionTracker),e.on(\"deselected\",this.__objectSelectionDisposer)):(e.off(\"selected\",this.__objectSelectionTracker),e.off(\"deselected\",this.__objectSelectionDisposer))}enterGroup(t,e){t.group&&t.group.remove(t),t._set(\"parent\",this),this._enterGroup(t,e)}_enterGroup(t,e){e&&pe(t,Tt(wt(this.calcTransformMatrix()),t.calcTransformMatrix())),this._shouldSetNestedCoords()&&t.setCoords(),t._set(\"group\",this),t._set(\"canvas\",this.canvas),this._watchObject(!0,t);const s=this.canvas&&this.canvas.getActiveObject&&this.canvas.getActiveObject();s&&(s===t||t.isDescendantOf(s))&&this._activeObjects.push(t)}exitGroup(t,e){this._exitGroup(t,e),t._set(\"parent\",void 0),t._set(\"canvas\",void 0)}_exitGroup(t,e){t._set(\"group\",void 0),e||(pe(t,Tt(this.calcTransformMatrix(),t.calcTransformMatrix())),t.setCoords()),this._watchObject(!1,t);const s=this._activeObjects.length>0?this._activeObjects.indexOf(t):-1;s>-1&&this._activeObjects.splice(s,1)}shouldCache(){const t=ji.prototype.shouldCache.call(this);if(t)for(let t=0;t<this._objects.length;t++)if(this._objects[t].willDrawShadow())return this.ownCaching=!1,!1;return t}willDrawShadow(){if(super.willDrawShadow())return!0;for(let t=0;t<this._objects.length;t++)if(this._objects[t].willDrawShadow())return!0;return!1}isOnACache(){return this.ownCaching||!!this.parent&&this.parent.isOnACache()}drawObject(t,e,s){this._renderBackground(t);for(let e=0;e<this._objects.length;e++){var i;const s=this._objects[e];null!==(i=this.canvas)&&void 0!==i&&i.preserveObjectStacking&&s.group!==this?(t.save(),t.transform(...wt(this.calcTransformMatrix())),s.render(t),t.restore()):s.group===this&&s.render(t)}this._drawClipPath(t,this.clipPath,s)}setCoords(){super.setCoords(),this._shouldSetNestedCoords()&&this.forEachObject(t=>t.setCoords())}triggerLayout(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.layoutManager.performLayout({target:this,type:_r,...t})}render(t){this._transformDone=!0,super.render(t),this._transformDone=!1}__serializeObjects(t,e){const s=this.includeDefaultValues;return this._objects.filter(function(t){return!t.excludeFromExport}).map(function(i){const r=i.includeDefaultValues;i.includeDefaultValues=s;const n=i[t||\"toObject\"](e);return i.includeDefaultValues=r,n})}toObject(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];const e=this.layoutManager.toObject();return{...super.toObject([\"subTargetCheck\",\"interactive\",...t]),...\"fit-content\"!==e.strategy||this.includeDefaultValues?{layoutManager:e}:{},objects:this.__serializeObjects(\"toObject\",t)}}toString(){return`#<Group: (${this.complexity()})>`}dispose(){this.layoutManager.unsubscribeTargets({targets:this.getObjects(),target:this}),this._activeObjects=[],this.forEachObject(t=>{this._watchObject(!1,t),t.dispose()}),super.dispose()}_createSVGBgRect(t){if(!this.backgroundColor)return\"\";const e=pr.prototype._toSVG.call(this),s=e.indexOf(\"COMMON_PARTS\");e[s]='for=\"group\" ';const i=e.join(\"\");return t?t(i):i}_toSVG(t){const e=[\"<g \",\"COMMON_PARTS\",\" >\\n\"],s=this._createSVGBgRect(t);s&&e.push(\"\\t\\t\",s);for(let s=0;s<this._objects.length;s++)e.push(\"\\t\\t\",this._objects[s].toSVG(t));return e.push(\"</g>\\n\"),e}getSvgStyles(){const t=void 0!==this.opacity&&1!==this.opacity?`opacity: ${se(this.opacity)};`:\"\",e=this.visible?\"\":\" visibility: hidden;\";return[t,this.getSvgFilter(),e].join(\"\")}toClipPathSVG(t){const e=[],s=this._createSVGBgRect(t);s&&e.push(\"\\t\",s);for(let s=0;s<this._objects.length;s++)e.push(\"\\t\",this._objects[s].toClipPathSVG(t));return this._createBaseClipPathSVGMarkup(e,{reviver:t})}static fromObject(t,e){let{type:s,objects:i=[],layoutManager:r,...n}=t;return Promise.all([It(i,e),$t(n,e)]).then(t=>{let[e,s]=t;const i=new this(e,{...n,...s,layoutManager:new Tr});if(r){const t=tt.getClass(r.type),e=tt.getClass(r.strategy);i.layoutManager=new t(new e)}else i.layoutManager=new wr;return i.layoutManager.subscribeTargets({type:mr,target:i,targets:i.getObjects()}),i.setCoords(),i})}}t(Or,\"type\",\"Group\"),t(Or,\"ownDefaults\",{strokeWidth:0,subTargetCheck:!1,interactive:!1}),tt.setClass(Or);const kr=(t,e)=>Math.min(e.width/t.width,e.height/t.height),Dr=(t,e)=>Math.max(e.width/t.width,e.height/t.height),Mr=\"\\\\s*,?\\\\s*\",Pr=`${Mr}(${fs})`,Er=`${Pr}${Pr}${Pr}${Mr}([01])${Mr}([01])${Pr}${Pr}`,Ar={m:\"l\",M:\"L\"},jr=(t,e,s,i,r,n,o,a,h,l,c)=>{const u=rt(t),d=nt(t),g=rt(e),f=nt(e),p=s*r*g-i*n*f+o,m=i*r*g+s*n*f+a;return[\"C\",l+h*(-s*r*d-i*n*u),c+h*(-i*r*d+s*n*u),p+h*(s*r*f+i*n*g),m+h*(i*r*f-s*n*g),p,m]},Fr=(t,e,s,i)=>{const r=Math.atan2(e,t),n=Math.atan2(i,s);return n>=r?n-r:2*Math.PI-(r-n)};function Lr(t,e,i,r,n,o,a,h){let l;if(s.cachesBoundsOfCurve&&(l=[...arguments].join(),p.boundsOfCurveCache[l]))return p.boundsOfCurveCache[l];const c=Math.sqrt,u=Math.abs,d=[],g=[[0,0],[0,0]];let f=6*t-12*i+6*n,m=-3*t+9*i-9*n+3*a,v=3*i-3*t;for(let t=0;t<2;++t){if(t>0&&(f=6*e-12*r+6*o,m=-3*e+9*r-9*o+3*h,v=3*r-3*e),u(m)<1e-12){if(u(f)<1e-12)continue;const t=-v/f;0<t&&t<1&&d.push(t);continue}const s=f*f-4*v*m;if(s<0)continue;const i=c(s),n=(-f+i)/(2*m);0<n&&n<1&&d.push(n);const a=(-f-i)/(2*m);0<a&&a<1&&d.push(a)}let y=d.length;const _=y,x=$r(t,e,i,r,n,o,a,h);for(;y--;){const{x:t,y:e}=x(d[y]);g[0][y]=t,g[1][y]=e}g[0][_]=t,g[1][_]=e,g[0][_+1]=a,g[1][_+1]=h;const C=[new ot(Math.min(...g[0]),Math.min(...g[1])),new ot(Math.max(...g[0]),Math.max(...g[1]))];return s.cachesBoundsOfCurve&&(p.boundsOfCurveCache[l]=C),C}const Br=(t,e,s)=>{let[i,r,n,o,a,h,l,c]=s;const u=((t,e,s,i,r,n,o)=>{if(0===s||0===i)return[];let a=0,h=0,l=0;const c=Math.PI,u=o*C,d=nt(u),g=rt(u),f=.5*(-g*t-d*e),p=.5*(-g*e+d*t),m=s**2,v=i**2,y=p**2,_=f**2,x=m*v-m*y-v*_;let b=Math.abs(s),S=Math.abs(i);if(x<0){const t=Math.sqrt(1-x/(m*v));b*=t,S*=t}else l=(r===n?-1:1)*Math.sqrt(x/(m*y+v*_));const w=l*b*p/S,T=-l*S*f/b,O=g*w-d*T+.5*t,k=d*w+g*T+.5*e;let D=Fr(1,0,(f-w)/b,(p-T)/S),M=Fr((f-w)/b,(p-T)/S,(-f-w)/b,(-p-T)/S);0===n&&M>0?M-=2*c:1===n&&M<0&&(M+=2*c);const P=Math.ceil(Math.abs(M/c*2)),E=[],A=M/P,j=8/3*Math.sin(A/4)*Math.sin(A/4)/Math.sin(A/2);let F=D+A;for(let t=0;t<P;t++)E[t]=jr(D,F,g,d,b,S,O,k,j,a,h),a=E[t][5],h=E[t][6],D=F,F+=A;return E})(l-t,c-e,r,n,a,h,o);for(let s=0,i=u.length;s<i;s++)u[s][1]+=t,u[s][2]+=e,u[s][3]+=t,u[s][4]+=e,u[s][5]+=t,u[s][6]+=e;return u},Rr=t=>{let e=0,s=0,i=0,r=0;const n=[];let o,a=0,h=0;for(const l of t){const t=[...l];let c;switch(t[0]){case\"l\":t[1]+=e,t[2]+=s;case\"L\":e=t[1],s=t[2],c=[\"L\",e,s];break;case\"h\":t[1]+=e;case\"H\":e=t[1],c=[\"L\",e,s];break;case\"v\":t[1]+=s;case\"V\":s=t[1],c=[\"L\",e,s];break;case\"m\":t[1]+=e,t[2]+=s;case\"M\":e=t[1],s=t[2],i=t[1],r=t[2],c=[\"M\",e,s];break;case\"c\":t[1]+=e,t[2]+=s,t[3]+=e,t[4]+=s,t[5]+=e,t[6]+=s;case\"C\":a=t[3],h=t[4],e=t[5],s=t[6],c=[\"C\",t[1],t[2],a,h,e,s];break;case\"s\":t[1]+=e,t[2]+=s,t[3]+=e,t[4]+=s;case\"S\":\"C\"===o?(a=2*e-a,h=2*s-h):(a=e,h=s),e=t[3],s=t[4],c=[\"C\",a,h,t[1],t[2],e,s],a=c[3],h=c[4];break;case\"q\":t[1]+=e,t[2]+=s,t[3]+=e,t[4]+=s;case\"Q\":a=t[1],h=t[2],e=t[3],s=t[4],c=[\"Q\",a,h,e,s];break;case\"t\":t[1]+=e,t[2]+=s;case\"T\":\"Q\"===o?(a=2*e-a,h=2*s-h):(a=e,h=s),e=t[1],s=t[2],c=[\"Q\",a,h,e,s];break;case\"a\":t[6]+=e,t[7]+=s;case\"A\":Br(e,s,t).forEach(t=>n.push(t)),e=t[6],s=t[7];break;case\"z\":case\"Z\":e=i,s=r,c=[\"Z\"]}c?(n.push(c),o=c[0]):o=\"\"}return n},Ir=(t,e,s,i)=>Math.sqrt((s-t)**2+(i-e)**2),$r=(t,e,s,i,r,n,o,a)=>h=>{const l=h**3,c=(t=>3*t**2*(1-t))(h),u=(t=>3*t*(1-t)**2)(h),d=(t=>(1-t)**3)(h);return new ot(o*l+r*c+s*u+t*d,a*l+n*c+i*u+e*d)},Xr=t=>t**2,Yr=t=>2*t*(1-t),Wr=t=>(1-t)**2,Vr=(t,e,s,i,r,n,o,a)=>h=>{const l=Xr(h),c=Yr(h),u=Wr(h),d=3*(u*(s-t)+c*(r-s)+l*(o-r)),g=3*(u*(i-e)+c*(n-i)+l*(a-n));return Math.atan2(g,d)},zr=(t,e,s,i,r,n)=>o=>{const a=Xr(o),h=Yr(o),l=Wr(o);return new ot(r*a+s*h+t*l,n*a+i*h+e*l)},Gr=(t,e,s,i,r,n)=>o=>{const a=1-o,h=2*(a*(s-t)+o*(r-s)),l=2*(a*(i-e)+o*(n-i));return Math.atan2(l,h)},Hr=(t,e,s)=>{let i=new ot(e,s),r=0;for(let e=1;e<=100;e+=1){const s=t(e/100);r+=Ir(i.x,i.y,s.x,s.y),i=s}return r},Nr=(t,e)=>{let s,i=0,r=0,n={x:t.x,y:t.y},o={...n},a=.01,h=0;const l=t.iterator,c=t.angleFinder;for(;r<e&&a>1e-4;)o=l(i),h=i,s=Ir(n.x,n.y,o.x,o.y),s+r>e?(i-=a,a/=2):(n=o,i+=a,r+=s);return{...o,angle:c(h)}},Ur=t=>{let e,s,i=0,r=0,n=0,o=0,a=0;const h=[];for(const l of t){const t={x:r,y:n,command:l[0],length:0};switch(l[0]){case\"M\":s=t,s.x=o=r=l[1],s.y=a=n=l[2];break;case\"L\":s=t,s.length=Ir(r,n,l[1],l[2]),r=l[1],n=l[2];break;case\"C\":e=$r(r,n,l[1],l[2],l[3],l[4],l[5],l[6]),s=t,s.iterator=e,s.angleFinder=Vr(r,n,l[1],l[2],l[3],l[4],l[5],l[6]),s.length=Hr(e,r,n),r=l[5],n=l[6];break;case\"Q\":e=zr(r,n,l[1],l[2],l[3],l[4]),s=t,s.iterator=e,s.angleFinder=Gr(r,n,l[1],l[2],l[3],l[4]),s.length=Hr(e,r,n),r=l[3],n=l[4];break;case\"Z\":s=t,s.destX=o,s.destY=a,s.length=Ir(r,n,o,a),r=o,n=a}i+=s.length,h.push(s)}return h.push({length:i,x:r,y:n}),h},qr=function(t,e){let s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:Ur(t),i=0;for(;e-s[i].length>0&&i<s.length-2;)e-=s[i].length,i++;const r=s[i],n=e/r.length,o=t[i];switch(r.command){case\"M\":return{x:r.x,y:r.y,angle:0};case\"Z\":return{...new ot(r.x,r.y).lerp(new ot(r.destX,r.destY),n),angle:Math.atan2(r.destY-r.y,r.destX-r.x)};case\"L\":return{...new ot(r.x,r.y).lerp(new ot(o[1],o[2]),n),angle:Math.atan2(o[2]-r.y,o[1]-r.x)};case\"C\":case\"Q\":return Nr(r,e)}},Kr=new RegExp(\"[mzlhvcsqta][^mzlhvcsqta]*\",\"gi\"),Jr=new RegExp(Er,\"g\"),Qr=new RegExp(fs,\"gi\"),Zr={m:2,l:2,h:1,v:1,c:6,s:4,q:4,t:2,a:7},tn=t=>{var e;const s=[],i=null!==(e=t.match(Kr))&&void 0!==e?e:[];for(const t of i){const e=t[0];if(\"z\"===e||\"Z\"===e){s.push([e]);continue}const i=Zr[e.toLowerCase()];let r=[];if(\"a\"===e||\"A\"===e){Jr.lastIndex=0;for(let e=null;e=Jr.exec(t);)r.push(...e.slice(1))}else r=t.match(Qr)||[];for(let t=0;t<r.length;t+=i){const n=new Array(i),o=Ar[e];n[0]=t>0&&o?o:e;for(let e=0;e<i;e++)n[e+1]=parseFloat(r[t+e]);s.push(n)}}return s},en=function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,s=new ot(t[0]),i=new ot(t[1]),r=1,n=0;const o=[],a=t.length,h=a>2;let l;for(h&&(r=t[2].x<i.x?-1:t[2].x===i.x?0:1,n=t[2].y<i.y?-1:t[2].y===i.y?0:1),o.push([\"M\",s.x-r*e,s.y-n*e]),l=1;l<a;l++){if(!s.eq(i)){const t=s.midPointFrom(i);o.push([\"Q\",s.x,s.y,t.x,t.y])}s=t[l],l+1<t.length&&(i=t[l+1])}return h&&(r=s.x>t[l-2].x?1:s.x===t[l-2].x?0:-1,n=s.y>t[l-2].y?1:s.y===t[l-2].y?0:-1),o.push([\"L\",s.x+r*e,s.y+n*e]),o},sn=(t,e)=>t.map(t=>t.map((t,s)=>0===s||void 0===e?t:Wt(t,e)).join(\" \")).join(\" \"),rn=(t,e)=>Math.floor(Math.random()*(e-t+1))+t,nn=(t,e)=>{let s=t._findCenterFromElement();t.transformMatrix&&((t=>{if(t.transformMatrix){const{scaleX:e,scaleY:s,angle:i,skewX:r}=Dt(t.transformMatrix);t.flipX=!1,t.flipY=!1,t.set(W,e),t.set(V,s),t.angle=i,t.skewX=r,t.skewY=0}})(t),s=s.transform(t.transformMatrix)),delete t.transformMatrix,e&&(t.scaleX*=e.scaleX,t.scaleY*=e.scaleY,t.cropX=e.cropX,t.cropY=e.cropY,s.x+=e.offsetLeft,s.y+=e.offsetTop,t.width=e.width,t.height=e.height),t.setPositionByOrigin(s,T,T)};var on=Object.freeze({__proto__:null,addTransformToObject:fe,animate:Gs,animateColor:Hs,applyTransformToObject:pe,calcAngleBetweenVectors:Pe,calcDimensionsMatrix:Lt,calcPlaneChangeMatrix:_e,calcVectorRotation:Ee,cancelAnimFrame:dt,capValue:Ds,composeMatrix:Bt,copyCanvasElement:t=>{var e;const s=vt(t);return null===(e=s.getContext(\"2d\"))||void 0===e||e.drawImage(t,0,0),s},cos:rt,createCanvasElement:pt,createImage:mt,createRotateMatrix:Pt,createScaleMatrix:Et,createSkewXMatrix:jt,createSkewYMatrix:Ft,createTranslateMatrix:Mt,createVector:De,crossProduct:Fe,degreesToRadians:xt,dotProduct:Le,ease:Rs,enlivenObjectEnlivables:$t,enlivenObjects:It,findScaleToCover:Dr,findScaleToFit:kr,getBoundsOfCurve:Lr,getOrthonormalVector:je,getPathSegmentsInfo:Ur,getPointOnPath:qr,getPointer:ce,getRandomInt:rn,getRegularPolygonPath:(t,e)=>{const s=2*Math.PI/t;let i=-y;t%2==0&&(i+=s/2);const r=new Array(t+1);for(let n=0;n<t;n++){const t=n*s+i,{x:o,y:a}=new ot(rt(t),nt(t)).scalarMultiply(e);r[n]=[0===n?\"M\":\"L\",o,a]}return r[t]=[\"Z\"],r},getSmoothPathFromPoints:en,getSvgAttributes:t=>{const e=[\"instantiated_by_use\",\"style\",\"id\",\"class\"];switch(t){case\"linearGradient\":return e.concat([\"x1\",\"y1\",\"x2\",\"y2\",\"gradientUnits\",\"gradientTransform\"]);case\"radialGradient\":return e.concat([\"gradientUnits\",\"gradientTransform\",\"cx\",\"cy\",\"r\",\"fx\",\"fy\",\"fr\"]);case\"stop\":return e.concat([\"offset\",\"stop-color\",\"stop-opacity\"])}return e},getUnitVector:Ae,groupSVGElements:(t,e)=>t&&1===t.length?t[0]:new Or(t,e),hasStyleChanged:Yi,invertTransform:wt,isBetweenVectors:Be,isIdentityMatrix:bt,isTouchEvent:ue,isTransparent:Fi,joinPath:sn,loadImage:Rt,magnitude:Me,makeBoundingBoxFromPoints:ge,makePathSimpler:Rr,matrixToSVG:Vt,mergeClipPaths:(t,e)=>{var s;let i=t,r=e;i.inverted&&!r.inverted&&(i=e,r=t),be(r,null===(s=r.group)||void 0===s?void 0:s.calcTransformMatrix(),i.calcTransformMatrix());const n=i.inverted&&r.inverted;return n&&(i.inverted=r.inverted=!1),new Or([i],{clipPath:r,inverted:n})},multiplyTransformMatrices:Tt,multiplyTransformMatrixArray:Ot,parsePath:tn,parsePreserveAspectRatioAttribute:Ze,parseUnit:Qe,pick:Xt,projectStrokeOnPoints:$i,qrDecompose:Dt,radiansToDegrees:Ct,removeFromArray:it,removeTransformFromObject:(t,e)=>{const s=wt(e),i=Tt(s,t.calcOwnMatrix());pe(t,i)},removeTransformMatrixForSvgParsing:nn,requestAnimFrame:ut,resetObjectTransform:me,rotateVector:ke,saveObjectTransform:ve,sendObjectToPlane:be,sendPointToPlane:xe,sendVectorToPlane:Ce,sin:nt,sizeAfterTransform:ye,string:ae,stylesFromArray:Vi,stylesToArray:Wi,toBlob:_t,toDataURL:yt,toFixed:Wt,transformPath:(t,e,s)=>(s&&(e=Tt(e,[1,0,0,1,-s.x,-s.y])),t.map(t=>{const s=[...t];for(let i=1;i<t.length-1;i+=2){const{x:r,y:n}=St({x:t[i],y:t[i+1]},e);s[i]=r,s[i+1]=n}return s})),transformPoint:St});function an(t,e){const s=t.style;s&&Object.entries(e).forEach(t=>{let[e,i]=t;return s.setProperty(e,i)})}class hn extends te{constructor(e){let{allowTouchScrolling:s=!1,containerClass:i=\"\"}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};super(e),t(this,\"upper\",void 0),t(this,\"container\",void 0);const{el:r}=this.lower,n=this.createUpperCanvas();this.upper={el:n,ctx:n.getContext(\"2d\")},this.applyCanvasStyle(r,{allowTouchScrolling:s}),this.applyCanvasStyle(n,{allowTouchScrolling:s,styles:{position:\"absolute\",left:\"0\",top:\"0\"}});const o=this.createContainerElement();o.classList.add(i),r.parentNode&&r.parentNode.replaceChild(o,r),o.append(r,n),this.container=o}createUpperCanvas(){const{el:t}=this.lower,e=pt();return e.className=t.className,e.classList.remove(\"lower-canvas\"),e.classList.add(\"upper-canvas\"),e.setAttribute(\"data-fabric\",\"top\"),e.style.cssText=t.style.cssText,e.setAttribute(\"draggable\",\"true\"),e}createContainerElement(){const t=d().createElement(\"div\");return t.setAttribute(\"data-fabric\",\"wrapper\"),an(t,{position:\"relative\"}),Zt(t),t}applyCanvasStyle(t,e){const{styles:s,allowTouchScrolling:i}=e;an(t,{...s,\"touch-action\":i?\"manipulation\":P}),Zt(t)}setDimensions(t,e){super.setDimensions(t,e);const{el:s,ctx:i}=this.upper;Jt(s,i,t,e)}setCSSDimensions(t){super.setCSSDimensions(t),Qt(this.upper.el,t),Qt(this.container,t)}cleanupDOM(t){const e=this.container,{el:s}=this.lower,{el:i}=this.upper;super.cleanupDOM(t),e.removeChild(i),e.removeChild(s),e.parentNode&&e.parentNode.replaceChild(s,e)}dispose(){super.dispose(),u().dispose(this.upper.el),delete this.upper,delete this.container}}const ln=(t,e,s,i)=>{const{target:r,offsetX:n,offsetY:o}=e,a=s-n,h=i-o,l=!Xe(r,\"lockMovementX\")&&r.left!==a,c=!Xe(r,\"lockMovementY\")&&r.top!==h;return l&&r.set(O,a),c&&r.set(k,h),(l||c)&&Ks(A,Ye(t,e,s,i)),l||c},cn=I,un=t=>function(e,s,i){const{points:r,pathOffset:n}=i;return new ot(r[t]).subtract(n).transform(Tt(i.getViewportTransform(),i.calcTransformMatrix()))},dn=(t,e,s,i)=>{const{target:r,pointIndex:n}=e,o=r,a=xe(new ot(s,i),void 0,o.calcOwnMatrix());return o.points[n]=a.add(o.pathOffset),o.setDimensions(),o.set(\"dirty\",!0),!0},gn=(t,e)=>function(s,i,r,n){const o=i.target,a=new ot(o.points[(t>0?t:o.points.length)-1]),h=a.subtract(o.pathOffset).transform(o.calcOwnMatrix()),l=e(s,{...i,pointIndex:t},r,n),c=a.subtract(o.pathOffset).transform(o.calcOwnMatrix()).subtract(h);return o.left-=c.x,o.top-=c.y,l},fn=t=>Js(cn,gn(t,dn));const pn=(t,e,s)=>{const{path:i,pathOffset:r}=t,n=i[e];return new ot(n[s]-r.x,n[s+1]-r.y).transform(Tt(t.getViewportTransform(),t.calcTransformMatrix()))};function mn(t,e,s){const{commandIndex:i,pointIndex:r}=this;return pn(s,i,r)}function vn(t,e,s,i){const{target:r}=e,{commandIndex:n,pointIndex:o}=this,a=((t,e,s,i,r)=>{const{path:n,pathOffset:o}=t,a=n[(i>0?i:n.length)-1],h=new ot(a[r],a[r+1]),l=h.subtract(o).transform(t.calcOwnMatrix()),c=xe(new ot(e,s),void 0,t.calcOwnMatrix());n[i][r]=c.x+o.x,n[i][r+1]=c.y+o.y,t.setDimensions();const u=h.subtract(t.pathOffset).transform(t.calcOwnMatrix()).subtract(l);return t.left-=u.x,t.top-=u.y,t.set(\"dirty\",!0),!0})(r,s,i,n,o);return Ks(this.actionName,{...Ye(t,e,s,i),commandIndex:n,pointIndex:o}),a}class yn extends oi{constructor(t){super(t)}render(t,e,s,i,r){const n={...i,cornerColor:this.controlFill,cornerStrokeColor:this.controlStroke,transparentCorners:!this.controlFill};super.render(t,e,s,n,r)}}class _n extends yn{constructor(t){super(t)}render(t,e,s,i,r){const{path:n}=r,{commandIndex:o,pointIndex:a,connectToCommandIndex:h,connectToPointIndex:l}=this;t.save(),t.strokeStyle=this.controlStroke,this.connectionDashArray&&t.setLineDash(this.connectionDashArray);const[c]=n[o],u=pn(r,h,l);if(\"Q\"===c){const i=pn(r,o,a+2);t.moveTo(i.x,i.y),t.lineTo(e,s)}else t.moveTo(e,s);t.lineTo(u.x,u.y),t.stroke(),t.restore(),super.render(t,e,s,i,r)}}const xn=(t,e,s,i,r,n)=>new(s?_n:yn)({commandIndex:t,pointIndex:e,actionName:\"modifyPath\",positionHandler:mn,actionHandler:vn,connectToCommandIndex:r,connectToPointIndex:n,...i,...s?i.controlPointStyle:i.pointStyle});var Cn=Object.freeze({__proto__:null,changeHeight:ii,changeObjectHeight:ei,changeObjectWidth:ti,changeWidth:si,createObjectDefaultControls:Di,createPathControls:function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const s={};let i=\"M\";return t.path.forEach((t,r)=>{const n=t[0];switch(\"Z\"!==n&&(s[`c_${r}_${n}`]=xn(r,t.length-2,!1,e)),n){case\"C\":s[`c_${r}_C_CP_1`]=xn(r,1,!0,e,r-1,(t=>\"C\"===t?5:\"Q\"===t?3:1)(i)),s[`c_${r}_C_CP_2`]=xn(r,3,!0,e,r,5);break;case\"Q\":s[`c_${r}_Q_CP_1`]=xn(r,1,!0,e,r,3)}i=n}),s},createPolyActionHandler:fn,createPolyControls:function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const s={};for(let i=0;i<(\"number\"==typeof t?t:t.points.length);i++)s[`p${i}`]=new oi({actionName:cn,positionHandler:un(i),actionHandler:fn(i),...e});return s},createPolyPositionHandler:un,createResizeControls:Mi,createTextboxDefaultControls:Pi,dragHandler:ln,factoryPolyActionHandler:gn,getLocalPoint:Ve,polyActionHandler:dn,renderCircleControl:ri,renderSquareControl:ni,rotationStyleHandler:ai,rotationWithSnapping:hi,scaleCursorStyleHandler:di,scaleOrSkewActionName:wi,scaleSkewCursorStyleHandler:Ti,scalingEqually:fi,scalingX:pi,scalingXOrSkewingY:Oi,scalingY:mi,scalingYOrSkewingX:ki,skewCursorStyleHandler:_i,skewHandlerX:Ci,skewHandlerY:bi,wrapWithFireEvent:Js,wrapWithFixedAnchor:Qs});class bn extends he{constructor(){super(...arguments),t(this,\"_hoveredTargets\",[]),t(this,\"_currentTransform\",null),t(this,\"_groupSelector\",null),t(this,\"contextTopDirty\",!1)}static getDefaults(){return{...super.getDefaults(),...bn.ownDefaults}}get upperCanvasEl(){var t;return null===(t=this.elements.upper)||void 0===t?void 0:t.el}get contextTop(){var t;return null===(t=this.elements.upper)||void 0===t?void 0:t.ctx}get wrapperEl(){return this.elements.container}initElements(t){this.elements=new hn(t,{allowTouchScrolling:this.allowTouchScrolling,containerClass:this.containerClass}),this._createCacheCanvas()}_onObjectAdded(t){this._objectsToRender=void 0,super._onObjectAdded(t)}_onObjectRemoved(t){this._objectsToRender=void 0,t===this._activeObject&&(this.fire(\"before:selection:cleared\",{deselected:[t]}),this._discardActiveObject(),this.fire(\"selection:cleared\",{deselected:[t]}),t.fire(\"deselected\",{target:t})),t===this._hoveredTarget&&(this._hoveredTarget=void 0,this._hoveredTargets=[]),super._onObjectRemoved(t)}_onStackOrderChanged(){this._objectsToRender=void 0,super._onStackOrderChanged()}_chooseObjectsToRender(){const t=this._activeObject;return!this.preserveObjectStacking&&t?this._objects.filter(e=>!e.group&&e!==t).concat(t):this._objects}renderAll(){this.cancelRequestedRender(),this.destroyed||(!this.contextTopDirty||this._groupSelector||this.isDrawingMode||(this.clearContext(this.contextTop),this.contextTopDirty=!1),this.hasLostContext&&(this.renderTopLayer(this.contextTop),this.hasLostContext=!1),!this._objectsToRender&&(this._objectsToRender=this._chooseObjectsToRender()),this.renderCanvas(this.getContext(),this._objectsToRender))}renderTopLayer(t){t.save(),this.isDrawingMode&&this._isCurrentlyDrawing&&(this.freeDrawingBrush&&this.freeDrawingBrush._render(),this.contextTopDirty=!0),this.selection&&this._groupSelector&&(this._drawSelection(t),this.contextTopDirty=!0),t.restore()}renderTop(){const t=this.contextTop;this.clearContext(t),this.renderTopLayer(t),this.fire(\"after:render\",{ctx:t})}setTargetFindTolerance(t){t=Math.round(t),this.targetFindTolerance=t;const e=this.getRetinaScaling(),s=Math.ceil((2*t+1)*e);this.pixelFindCanvasEl.width=this.pixelFindCanvasEl.height=s,this.pixelFindContext.scale(e,e)}isTargetTransparent(t,e,s){const i=this.targetFindTolerance,r=this.pixelFindContext;this.clearContext(r),r.save(),r.translate(-e+i,-s+i),r.transform(...this.viewportTransform);const n=t.selectionBackgroundColor;t.selectionBackgroundColor=\"\",t.render(r),t.selectionBackgroundColor=n,r.restore();const o=Math.round(i*this.getRetinaScaling());return Fi(r,o,o,o)}_isSelectionKeyPressed(t){const e=this.selectionKey;return!!e&&(Array.isArray(e)?!!e.find(e=>!!e&&!0===t[e]):t[e])}_shouldClearSelection(t,e){const s=this.getActiveObjects(),i=this._activeObject;return!!(!e||e&&i&&s.length>1&&-1===s.indexOf(e)&&i!==e&&!this._isSelectionKeyPressed(t)||e&&!e.evented||e&&!e.selectable&&i&&i!==e)}_shouldCenterTransform(t,e,s){if(!t)return;let i;return e===Y||e===W||e===V||e===R?i=this.centeredScaling||t.centeredScaling:e===L&&(i=this.centeredRotation||t.centeredRotation),i?!s:s}_getOriginFromCorner(t,e){const s=e?t.controls[e].getTransformAnchorPoint():{x:t.originX,y:t.originY};return e?([\"ml\",\"tl\",\"bl\"].includes(e)?s.x=M:[\"mr\",\"tr\",\"br\"].includes(e)&&(s.x=O),[\"tl\",\"mt\",\"tr\"].includes(e)?s.y=D:[\"bl\",\"mb\",\"br\"].includes(e)&&(s.y=k),s):s}_setupCurrentTransform(t,e,s){var i;const r=e.group?xe(this.getScenePoint(t),void 0,e.group.calcTransformMatrix()):this.getScenePoint(t),{key:n=\"\",control:o}=e.getActiveControl()||{},a=s&&o?null===(i=o.getActionHandler(t,e,o))||void 0===i?void 0:i.bind(o):ln,h=((t,e,s,i)=>{if(!e||!t)return\"drag\";const r=i.controls[e];return r.getActionName(s,r,i)})(s,n,t,e),l=t[this.centeredKey],c=this._shouldCenterTransform(e,h,l)?{x:T,y:T}:this._getOriginFromCorner(e,n),{scaleX:u,scaleY:d,skewX:g,skewY:f,left:p,top:m,angle:v,width:y,height:_,cropX:x,cropY:C}=e,b={target:e,action:h,actionHandler:a,actionPerformed:!1,corner:n,scaleX:u,scaleY:d,skewX:g,skewY:f,offsetX:r.x-p,offsetY:r.y-m,originX:c.x,originY:c.y,ex:r.x,ey:r.y,lastX:r.x,lastY:r.y,theta:xt(v),width:y,height:_,shiftKey:t.shiftKey,altKey:l,original:{...ve(e),originX:c.x,originY:c.y,cropX:x,cropY:C}};this._currentTransform=b,this.fire(\"before:transform\",{e:t,transform:b})}setCursor(t){this.upperCanvasEl.style.cursor=t}_drawSelection(t){const{x:e,y:s,deltaX:i,deltaY:r}=this._groupSelector,n=new ot(e,s).transform(this.viewportTransform),o=new ot(e+i,s+r).transform(this.viewportTransform),a=this.selectionLineWidth/2;let h=Math.min(n.x,o.x),l=Math.min(n.y,o.y),c=Math.max(n.x,o.x),u=Math.max(n.y,o.y);this.selectionColor&&(t.fillStyle=this.selectionColor,t.fillRect(h,l,c-h,u-l)),this.selectionLineWidth&&this.selectionBorderColor&&(t.lineWidth=this.selectionLineWidth,t.strokeStyle=this.selectionBorderColor,h+=a,l+=a,c-=a,u-=a,ji.prototype._setLineDash.call(this,t,this.selectionDashArray),t.strokeRect(h,l,c-h,u-l))}findTarget(t){if(this._targetInfo)return this._targetInfo;if(this.skipTargetFind)return{subTargets:[],currentSubTargets:[]};const e=this.getScenePoint(t),s=this._activeObject,i=this.getActiveObjects(),r=this.searchPossibleTargets(this._objects,e),{subTargets:n,container:o,target:a}=r,h={...r,currentSubTargets:n,currentContainer:o,currentTarget:a};if(!s)return h;const l={...this.searchPossibleTargets([s],e),currentSubTargets:n,currentContainer:o,currentTarget:a};if(s.findControl(this.getViewportPoint(t),ue(t)))return{...l,target:s};if(l.target){if(i.length>1)return l;if(!this.preserveObjectStacking)return l;if(this.preserveObjectStacking&&t[this.altSelectionKey])return l}return h}_pointIsInObjectSelectionArea(t,e){let s=t.getCoords();const i=this.getZoom(),r=t.padding/i;if(r){const[t,e,i,n]=s,o=Math.atan2(e.y-t.y,e.x-t.x),a=rt(o)*r,h=nt(o)*r,l=a+h,c=a-h;s=[new ot(t.x-c,t.y-l),new ot(e.x+l,e.y-c),new ot(i.x+c,i.y+l),new ot(n.x-l,n.y+c)]}return Ns.isPointInPolygon(e,s)}_checkTarget(t,e){if(t&&t.visible&&t.evented&&this._pointIsInObjectSelectionArea(t,e)){if(!this.perPixelTargetFind&&!t.perPixelTargetFind||t.isEditing)return!0;{const s=e.transform(this.viewportTransform);if(!this.isTargetTransparent(t,s.x,s.y))return!0}}return!1}_searchPossibleTargets(t,e,s){let i=t.length;for(;i--;){const r=t[i];if(this._checkTarget(r,e)){if(ht(r)&&r.subTargetCheck){const{target:t}=this._searchPossibleTargets(r._objects,e,s);t&&s.push(t)}return{target:r,subTargets:s}}}return{subTargets:[]}}searchPossibleTargets(t,e){const s=this._searchPossibleTargets(t,e,[]);s.container=s.target;const{container:i,subTargets:r}=s;if(i&&ht(i)&&i.interactive&&r[0]){for(let t=r.length-1;t>0;t--){const e=r[t];if(!ht(e)||!e.interactive)return s.target=e,s}return s.target=r[0],s}return s}getViewportPoint(t){return this._viewportPoint?this._viewportPoint:this._getPointerImpl(t,!0)}getScenePoint(t){return this._scenePoint?this._scenePoint:this._getPointerImpl(t)}_getPointerImpl(t){let e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];const s=this.upperCanvasEl,i=s.getBoundingClientRect();let r=ce(t),n=i.width||0,o=i.height||0;n&&o||(k in i&&D in i&&(o=Math.abs(i.top-i.bottom)),M in i&&O in i&&(n=Math.abs(i.right-i.left))),this.calcOffset(),r.x=r.x-this._offset.left,r.y=r.y-this._offset.top,e||(r=xe(r,void 0,this.viewportTransform));const a=this.getRetinaScaling();1!==a&&(r.x/=a,r.y/=a);const h=0===n||0===o?new ot(1,1):new ot(s.width/n,s.height/o);return r.multiply(h)}_setDimensionsImpl(t,e){this._resetTransformEventData(),super._setDimensionsImpl(t,e),this._isCurrentlyDrawing&&this.freeDrawingBrush&&this.freeDrawingBrush._setBrushStyles(this.contextTop)}_createCacheCanvas(){this.pixelFindCanvasEl=pt(),this.pixelFindContext=this.pixelFindCanvasEl.getContext(\"2d\",{willReadFrequently:!0}),this.setTargetFindTolerance(this.targetFindTolerance)}getTopContext(){return this.elements.upper.ctx}getSelectionContext(){return this.elements.upper.ctx}getSelectionElement(){return this.elements.upper.el}getActiveObject(){return this._activeObject}getActiveObjects(){const t=this._activeObject;return Nt(t)?t.getObjects():t?[t]:[]}_fireSelectionEvents(t,e){let s=!1,i=!1;const r=this.getActiveObjects(),n=[],o=[];t.forEach(t=>{r.includes(t)||(s=!0,t.fire(\"deselected\",{e:e,target:t}),o.push(t))}),r.forEach(i=>{t.includes(i)||(s=!0,i.fire(\"selected\",{e:e,target:i}),n.push(i))}),t.length>0&&r.length>0?(i=!0,s&&this.fire(\"selection:updated\",{e:e,selected:n,deselected:o})):r.length>0?(i=!0,this.fire(\"selection:created\",{e:e,selected:n})):t.length>0&&(i=!0,this.fire(\"selection:cleared\",{e:e,deselected:o})),i&&(this._objectsToRender=void 0)}setActiveObject(t,e){const s=this.getActiveObjects(),i=this._setActiveObject(t,e);return this._fireSelectionEvents(s,e),i}_setActiveObject(t,e){const s=this._activeObject;return s!==t&&(!(!this._discardActiveObject(e,t)&&this._activeObject)&&(!t.onSelect({e:e})&&(this._activeObject=t,Nt(t)&&s!==t&&t.set(\"canvas\",this),t.setCoords(),!0)))}_discardActiveObject(t,e){const s=this._activeObject;return!!s&&(!s.onDeselect({e:t,object:e})&&(this._currentTransform&&this._currentTransform.target===s&&this.endCurrentTransform(t),Nt(s)&&s===this._hoveredTarget&&(this._hoveredTarget=void 0),this._activeObject=void 0,!0))}discardActiveObject(t){const e=this.getActiveObjects(),s=this.getActiveObject();e.length&&this.fire(\"before:selection:cleared\",{e:t,deselected:[s]});const i=this._discardActiveObject(t);return this._fireSelectionEvents(e,t),i}endCurrentTransform(t){const e=this._currentTransform;this._finalizeCurrentTransform(t),e&&e.target&&(e.target.isMoving=!1),this._currentTransform=null}_finalizeCurrentTransform(t){const e=this._currentTransform,s=e.target,i={e:t,target:s,transform:e,action:e.action};s._scaling&&(s._scaling=!1),s.setCoords(),e.actionPerformed&&(this.fire(\"object:modified\",i),s.fire(U,i))}setViewportTransform(t){super.setViewportTransform(t);const e=this._activeObject;e&&e.setCoords()}destroy(){const t=this._activeObject;Nt(t)&&(t.removeAll(),t.dispose()),delete this._activeObject,super.destroy(),this.pixelFindContext=null,this.pixelFindCanvasEl=void 0}clear(){this.discardActiveObject(),this._activeObject=void 0,this.clearContext(this.contextTop),super.clear()}drawControls(t){const e=this._activeObject;e&&e._renderControls(t)}_toObject(t,e,s){const i=this._realizeGroupTransformOnObject(t),r=super._toObject(t,e,s);return t.set(i),r}_realizeGroupTransformOnObject(t){const{group:e}=t;if(e&&Nt(e)&&this._activeObject===e){const s=Xt(t,[\"angle\",\"flipX\",\"flipY\",O,W,V,z,G,k]);return fe(t,e.calcOwnMatrix()),s}return{}}_setSVGObject(t,e,s){const i=this._realizeGroupTransformOnObject(e);super._setSVGObject(t,e,s),e.set(i)}}t(bn,\"ownDefaults\",{uniformScaling:!0,uniScaleKey:\"shiftKey\",centeredScaling:!1,centeredRotation:!1,centeredKey:\"altKey\",altActionKey:\"shiftKey\",selection:!0,selectionKey:\"shiftKey\",selectionColor:\"rgba(100, 100, 255, 0.3)\",selectionDashArray:[],selectionBorderColor:\"rgba(255, 255, 255, 0.3)\",selectionLineWidth:1,selectionFullyContained:!1,hoverCursor:\"move\",moveCursor:\"move\",defaultCursor:\"default\",freeDrawingCursor:\"crosshair\",notAllowedCursor:\"not-allowed\",perPixelTargetFind:!1,targetFindTolerance:0,skipTargetFind:!1,stopContextMenu:!0,fireRightClick:!0,fireMiddleClick:!0,enablePointerEvents:!1,containerClass:\"canvas-container\",preserveObjectStacking:!0});class Sn{constructor(e){t(this,\"targets\",[]),t(this,\"__disposer\",void 0);const s=()=>{const{hiddenTextarea:t}=e.getActiveObject()||{};t&&t.focus()},i=e.upperCanvasEl;i.addEventListener(\"click\",s),this.__disposer=()=>i.removeEventListener(\"click\",s)}exitTextEditing(){this.target=void 0,this.targets.forEach(t=>{t.isEditing&&t.exitEditing()})}add(t){this.targets.push(t)}remove(t){this.unregister(t),it(this.targets,t)}register(t){this.target=t}unregister(t){t===this.target&&(this.target=void 0)}onMouseMove(t){var e;(null===(e=this.target)||void 0===e?void 0:e.isEditing)&&this.target.updateSelectionOnMouseMove(t)}clear(){this.targets=[],this.target=void 0}dispose(){this.clear(),this.__disposer(),delete this.__disposer}}const wn={passive:!1},Tn=(t,e)=>({viewportPoint:t.getViewportPoint(e),scenePoint:t.getScenePoint(e)}),On=function(t){for(var e=arguments.length,s=new Array(e>1?e-1:0),i=1;i<e;i++)s[i-1]=arguments[i];return t.addEventListener(...s)},kn=function(t){for(var e=arguments.length,s=new Array(e>1?e-1:0),i=1;i<e;i++)s[i-1]=arguments[i];return t.removeEventListener(...s)},Dn={mouse:{in:\"over\",out:\"out\",targetIn:\"mouseover\",targetOut:\"mouseout\",canvasIn:\"mouse:over\",canvasOut:\"mouse:out\"},drag:{in:\"enter\",out:\"leave\",targetIn:\"dragenter\",targetOut:\"dragleave\",canvasIn:\"drag:enter\",canvasOut:\"drag:leave\"}};class Mn extends bn{constructor(e){super(e,arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}),t(this,\"_isClick\",void 0),t(this,\"textEditingManager\",new Sn(this)),[\"_onMouseDown\",\"_onTouchStart\",\"_onMouseMove\",\"_onMouseUp\",\"_onTouchEnd\",\"_onResize\",\"_onMouseWheel\",\"_onMouseOut\",\"_onMouseEnter\",\"_onContextMenu\",\"_onClick\",\"_onDragStart\",\"_onDragEnd\",\"_onDragProgress\",\"_onDragOver\",\"_onDragEnter\",\"_onDragLeave\",\"_onDrop\"].forEach(t=>{this[t]=this[t].bind(this)}),this.addOrRemove(On)}_getEventPrefix(){return this.enablePointerEvents?\"pointer\":\"mouse\"}addOrRemove(t){let e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];const s=this.upperCanvasEl,i=this._getEventPrefix();t(Kt(s),\"resize\",this._onResize),t(s,i+\"down\",this._onMouseDown),t(s,`${i}move`,this._onMouseMove,wn),t(s,`${i}out`,this._onMouseOut),t(s,`${i}enter`,this._onMouseEnter),t(s,\"wheel\",this._onMouseWheel,{passive:!1}),t(s,\"contextmenu\",this._onContextMenu),e||(t(s,\"click\",this._onClick),t(s,\"dblclick\",this._onClick)),t(s,\"dragstart\",this._onDragStart),t(s,\"dragend\",this._onDragEnd),t(s,\"dragover\",this._onDragOver),t(s,\"dragenter\",this._onDragEnter),t(s,\"dragleave\",this._onDragLeave),t(s,\"drop\",this._onDrop),this.enablePointerEvents||t(s,\"touchstart\",this._onTouchStart,wn)}removeListeners(){this.addOrRemove(kn);const t=this._getEventPrefix(),e=qt(this.upperCanvasEl);kn(e,`${t}up`,this._onMouseUp),kn(e,\"touchend\",this._onTouchEnd,wn),kn(e,`${t}move`,this._onMouseMove,wn),kn(e,\"touchmove\",this._onMouseMove,wn),clearTimeout(this._willAddMouseDown)}_onMouseWheel(t){this._cacheTransformEventData(t),this._handleEvent(t,\"wheel\"),this._resetTransformEventData()}_onMouseOut(t){const e=this._hoveredTarget,s={e:t,...Tn(this,t)};this.fire(\"mouse:out\",{...s,target:e}),this._hoveredTarget=void 0,e&&e.fire(\"mouseout\",{...s}),this._hoveredTargets.forEach(t=>{this.fire(\"mouse:out\",{...s,target:t}),t&&t.fire(\"mouseout\",{...s})}),this._hoveredTargets=[]}_onMouseEnter(t){const{target:e}=this.findTarget(t);this._currentTransform||e||(this.fire(\"mouse:over\",{e:t,...Tn(this,t)}),this._hoveredTarget=void 0,this._hoveredTargets=[])}_onDragStart(t){this._isClick=!1;const e=this.getActiveObject();if(e&&e.onDragStart(t)){this._dragSource=e;const s={e:t,target:e};return this.fire(\"dragstart\",s),e.fire(\"dragstart\",s),void On(this.upperCanvasEl,\"drag\",this._onDragProgress)}de(t)}_renderDragEffects(t,e,s){let i=!1;const r=this._dropTarget;r&&r!==e&&r!==s&&(r.clearContextTop(),i=!0),null==e||e.clearContextTop(),s!==e&&(null==s||s.clearContextTop());const n=this.contextTop;n.save(),n.transform(...this.viewportTransform),e&&(n.save(),e.transform(n),e.renderDragSourceEffect(t),n.restore(),i=!0),s&&(n.save(),s.transform(n),s.renderDropTargetEffect(t),n.restore(),i=!0),n.restore(),i&&(this.contextTopDirty=!0)}_onDragEnd(t){const{currentSubTargets:e}=this.findTarget(t),s=!!t.dataTransfer&&t.dataTransfer.dropEffect!==P,i=s?this._activeObject:void 0,r={e:t,target:this._dragSource,subTargets:e,dragSource:this._dragSource,didDrop:s,dropTarget:i};kn(this.upperCanvasEl,\"drag\",this._onDragProgress),this.fire(\"dragend\",r),this._dragSource&&this._dragSource.fire(\"dragend\",r),delete this._dragSource,this._onMouseUp(t)}_onDragProgress(t){const e={e:t,target:this._dragSource,dragSource:this._dragSource,dropTarget:this._draggedoverTarget};this.fire(\"drag\",e),this._dragSource&&this._dragSource.fire(\"drag\",e)}_onDragOver(t){const e=\"dragover\",{currentContainer:s,currentSubTargets:i}=this.findTarget(t),r=this._dragSource,n={e:t,target:s,subTargets:i,dragSource:r,canDrop:!1,dropTarget:void 0};let o;this.fire(e,n),this._fireEnterLeaveEvents(t,s,n),s&&(s.canDrop(t)&&(o=s),s.fire(e,n));for(let s=0;s<i.length;s++){const r=i[s];r.canDrop(t)&&(o=r),r.fire(e,n)}this._renderDragEffects(t,r,o),this._dropTarget=o}_onDragEnter(t){const{currentContainer:e,currentSubTargets:s}=this.findTarget(t),i={e:t,target:e,subTargets:s,dragSource:this._dragSource};this.fire(\"dragenter\",i),this._fireEnterLeaveEvents(t,e,i)}_onDragLeave(t){const{currentSubTargets:e}=this.findTarget(t),s={e:t,target:this._draggedoverTarget,subTargets:e,dragSource:this._dragSource};this.fire(\"dragleave\",s),this._fireEnterLeaveEvents(t,void 0,s),this._renderDragEffects(t,this._dragSource),this._dropTarget=void 0,this._hoveredTargets=[]}_onDrop(t){const{currentContainer:e,currentSubTargets:s}=this.findTarget(t),i=this._basicEventHandler(\"drop:before\",{e:t,target:e,subTargets:s,dragSource:this._dragSource,...Tn(this,t)});i.didDrop=!1,i.dropTarget=void 0,this._basicEventHandler(\"drop\",i),this.fire(\"drop:after\",i)}_onContextMenu(t){const{target:e,subTargets:s}=this.findTarget(t),i=this._basicEventHandler(\"contextmenu:before\",{e:t,target:e,subTargets:s});return this.stopContextMenu&&de(t),this._basicEventHandler(\"contextmenu\",i),!1}_onClick(t){const e=t.detail;e>3||e<2||(this._cacheTransformEventData(t),2==e&&\"dblclick\"===t.type&&this._handleEvent(t,\"dblclick\"),3==e&&this._handleEvent(t,\"tripleclick\"),this._resetTransformEventData())}fireEventFromPointerEvent(t,e,s){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};this._cacheTransformEventData(t);const{target:r,subTargets:n}=this.findTarget(t),o={e:t,target:r,subTargets:n,...Tn(this,t),transform:this._currentTransform,...i};this.fire(e,o),r&&r.fire(s,o);for(let t=0;t<n.length;t++)n[t]!==r&&n[t].fire(s,o);this._resetTransformEventData()}getPointerId(t){const e=t.changedTouches;return e?e[0]&&e[0].identifier:this.enablePointerEvents?t.pointerId:-1}_isMainEvent(t){return!0===t.isPrimary||!1!==t.isPrimary&&(\"touchend\"===t.type&&0===t.touches.length||(!t.changedTouches||t.changedTouches[0].identifier===this.mainTouchId))}_onTouchStart(t){this._cacheTransformEventData(t);let e=!this.allowTouchScrolling;const s=this._activeObject;void 0===this.mainTouchId&&(this.mainTouchId=this.getPointerId(t)),this.__onMouseDown(t);const{target:i}=this.findTarget(t);(this.isDrawingMode||s&&i===s)&&(e=!0),e&&t.preventDefault();const r=this.upperCanvasEl,n=this._getEventPrefix(),o=qt(r);On(o,\"touchend\",this._onTouchEnd,wn),e&&On(o,\"touchmove\",this._onMouseMove,wn),kn(r,`${n}down`,this._onMouseDown),this._resetTransformEventData()}_onMouseDown(t){this._cacheTransformEventData(t),this.__onMouseDown(t);const e=this.upperCanvasEl,s=this._getEventPrefix();kn(e,`${s}move`,this._onMouseMove,wn);const i=qt(e);On(i,`${s}up`,this._onMouseUp),On(i,`${s}move`,this._onMouseMove,wn),this._resetTransformEventData()}_onTouchEnd(t){if(t.touches.length>0)return;this._cacheTransformEventData(t),this.__onMouseUp(t),this._resetTransformEventData(),delete this.mainTouchId;const e=this._getEventPrefix(),s=qt(this.upperCanvasEl);kn(s,\"touchend\",this._onTouchEnd,wn),kn(s,\"touchmove\",this._onMouseMove,wn),this._willAddMouseDown&&clearTimeout(this._willAddMouseDown),this._willAddMouseDown=setTimeout(()=>{On(this.upperCanvasEl,`${e}down`,this._onMouseDown),this._willAddMouseDown=0},400)}_onMouseUp(t){this._cacheTransformEventData(t),this.__onMouseUp(t);const e=this.upperCanvasEl,s=this._getEventPrefix();if(this._isMainEvent(t)){const t=qt(this.upperCanvasEl);kn(t,`${s}up`,this._onMouseUp),kn(t,`${s}move`,this._onMouseMove,wn),On(e,`${s}move`,this._onMouseMove,wn)}this._resetTransformEventData()}_onMouseMove(t){this._cacheTransformEventData(t);const e=this.getActiveObject();!this.allowTouchScrolling&&(!e||!e.shouldStartDragging(t))&&t.preventDefault&&t.preventDefault(),this.__onMouseMove(t),this._resetTransformEventData()}_onResize(){this.calcOffset(),this._resetTransformEventData()}_shouldRender(t){const e=this.getActiveObject();return!!e!=!!t||e&&t&&e!==t}__onMouseUp(t){var e;this._handleEvent(t,\"up:before\");const s=this._currentTransform,i=this._isClick,{target:r}=this.findTarget(t),{button:n}=t;if(n)return void((this.fireMiddleClick&&1===n||this.fireRightClick&&2===n)&&this._handleEvent(t,\"up\"));if(this.isDrawingMode&&this._isCurrentlyDrawing)return void this._onMouseUpInDrawingMode(t);if(!this._isMainEvent(t))return;let o,a,h=!1;if(s&&(this._finalizeCurrentTransform(t),h=s.actionPerformed),!i){const e=r===this._activeObject;this.handleSelection(t),h||(h=this._shouldRender(r)||!e&&r===this._activeObject)}if(r){const e=r.findControl(this.getViewportPoint(t),ue(t)),{key:i,control:n}=e||{};if(a=i,r.selectable&&r!==this._activeObject&&\"up\"===r.activeOn)this.setActiveObject(r,t),h=!0;else if(n){const e=n.getMouseUpHandler(t,r,n);e&&(o=this.getScenePoint(t),e.call(n,t,s,o.x,o.y))}r.isMoving=!1}if(s&&(s.target!==r||s.corner!==a)){const e=s.target&&s.target.controls[s.corner],i=e&&e.getMouseUpHandler(t,s.target,e);o=o||this.getScenePoint(t),i&&i.call(e,t,s,o.x,o.y)}this._setCursorFromEvent(t,r),this._handleEvent(t,\"up\"),this._groupSelector=null,this._currentTransform=null,r&&(r.__corner=void 0),h?this.requestRenderAll():i||null!==(e=this._activeObject)&&void 0!==e&&e.isEditing||this.renderTop()}_basicEventHandler(t,e){const{target:s,subTargets:i=[]}=e;this.fire(t,e),s&&s.fire(t,e);for(let r=0;r<i.length;r++)i[r]!==s&&i[r].fire(t,e);return e}_handleEvent(t,e,s){const{target:i,subTargets:r}=this.findTarget(t),n={e:t,target:i,subTargets:r,...Tn(this,t),transform:this._currentTransform,...\"down:before\"===e||\"down\"===e?s:{}};\"up:before\"!==e&&\"up\"!==e||(n.isClick=this._isClick),this.fire(`mouse:${e}`,n),i&&i.fire(`mouse${e}`,n);for(let t=0;t<r.length;t++)r[t]!==i&&r[t].fire(`mouse${e}`,n)}_onMouseDownInDrawingMode(t){this._isCurrentlyDrawing=!0,this.getActiveObject()&&(this.discardActiveObject(t),this.requestRenderAll());const e=this.getScenePoint(t);this.freeDrawingBrush&&this.freeDrawingBrush.onMouseDown(e,{e:t,pointer:e}),this._handleEvent(t,\"down\",{alreadySelected:!1})}_onMouseMoveInDrawingMode(t){if(this._isCurrentlyDrawing){const e=this.getScenePoint(t);this.freeDrawingBrush&&this.freeDrawingBrush.onMouseMove(e,{e:t,pointer:e})}this.setCursor(this.freeDrawingCursor),this._handleEvent(t,\"move\")}_onMouseUpInDrawingMode(t){const e=this.getScenePoint(t);this.freeDrawingBrush?this._isCurrentlyDrawing=!!this.freeDrawingBrush.onMouseUp({e:t,pointer:e}):this._isCurrentlyDrawing=!1,this._handleEvent(t,\"up\")}__onMouseDown(t){this._isClick=!0,this._handleEvent(t,\"down:before\");let{target:e}=this.findTarget(t),s=!!e&&e===this._activeObject;const{button:i}=t;if(i)return void((this.fireMiddleClick&&1===i||this.fireRightClick&&2===i)&&this._handleEvent(t,\"down\",{alreadySelected:s}));if(this.isDrawingMode)return void this._onMouseDownInDrawingMode(t);if(!this._isMainEvent(t))return;if(this._currentTransform)return;let r=this._shouldRender(e),n=!1;if(this.handleMultiSelection(t,e)?(e=this._activeObject,n=!0,r=!0):this._shouldClearSelection(t,e)&&this.discardActiveObject(t),this.selection&&(!e||!e.selectable&&!e.isEditing&&e!==this._activeObject)){const e=this.getScenePoint(t);this._groupSelector={x:e.x,y:e.y,deltaY:0,deltaX:0}}if(s=!!e&&e===this._activeObject,e){e.selectable&&\"down\"===e.activeOn&&this.setActiveObject(e,t);const i=e.findControl(this.getViewportPoint(t),ue(t));if(e===this._activeObject&&(i||!n)){this._setupCurrentTransform(t,e,s);const r=i?i.control:void 0,n=this.getScenePoint(t),o=r&&r.getMouseDownHandler(t,e,r);o&&o.call(r,t,this._currentTransform,n.x,n.y)}}r&&(this._objectsToRender=void 0),this._handleEvent(t,\"down\",{alreadySelected:s}),r&&this.requestRenderAll()}_resetTransformEventData(){this._targetInfo=this._viewportPoint=this._scenePoint=void 0}_cacheTransformEventData(t){this._resetTransformEventData(),this._viewportPoint=this.getViewportPoint(t),this._scenePoint=xe(this._viewportPoint,void 0,this.viewportTransform),this._targetInfo=this.findTarget(t),this._currentTransform&&(this._targetInfo.target=this._currentTransform.target)}__onMouseMove(t){if(this._isClick=!1,this._handleEvent(t,\"move:before\"),this.isDrawingMode)return void this._onMouseMoveInDrawingMode(t);if(!this._isMainEvent(t))return;const e=this._groupSelector;if(e){const s=this.getScenePoint(t);e.deltaX=s.x-e.x,e.deltaY=s.y-e.y,this.renderTop()}else if(this._currentTransform)this._transformObject(t);else{const{target:e}=this.findTarget(t);this._setCursorFromEvent(t,e),this._fireOverOutEvents(t,e)}this.textEditingManager.onMouseMove(t),this._handleEvent(t,\"move\")}_fireOverOutEvents(t,e){const{_hoveredTarget:s,_hoveredTargets:i}=this,{subTargets:r}=this.findTarget(t),n=Math.max(i.length,r.length);this.fireSyntheticInOutEvents(\"mouse\",{e:t,target:e,oldTarget:s,fireCanvas:!0});for(let o=0;o<n;o++)r[o]===e||i[o]&&i[o]===s||this.fireSyntheticInOutEvents(\"mouse\",{e:t,target:r[o],oldTarget:i[o]});this._hoveredTarget=e,this._hoveredTargets=r}_fireEnterLeaveEvents(t,e,s){const i=this._draggedoverTarget,r=this._hoveredTargets,{subTargets:n}=this.findTarget(t),o=Math.max(r.length,n.length);this.fireSyntheticInOutEvents(\"drag\",{...s,target:e,oldTarget:i,fireCanvas:!0});for(let t=0;t<o;t++)this.fireSyntheticInOutEvents(\"drag\",{...s,target:n[t],oldTarget:r[t]});this._draggedoverTarget=e}fireSyntheticInOutEvents(t,e){let{target:s,oldTarget:i,fireCanvas:r,e:n,...o}=e;const{targetIn:a,targetOut:h,canvasIn:l,canvasOut:c}=Dn[t],u=i!==s;if(i&&u){const t={...o,e:n,target:i,nextTarget:s,...Tn(this,n)};r&&this.fire(c,t),i.fire(h,t)}if(s&&u){const t={...o,e:n,target:s,previousTarget:i,...Tn(this,n)};r&&this.fire(l,t),s.fire(a,t)}}_transformObject(t){const e=this.getScenePoint(t),s=this._currentTransform,i=s.target,r=i.group?xe(e,void 0,i.group.calcTransformMatrix()):e;s.shiftKey=t.shiftKey,s.altKey=!!this.centeredKey&&t[this.centeredKey],this._performTransformAction(t,s,r),s.actionPerformed&&this.requestRenderAll()}_performTransformAction(t,e,s){const{action:i,actionHandler:r,target:n}=e,o=!!r&&r(t,e,s.x,s.y);o&&n.setCoords(),\"drag\"===i&&o&&(e.target.isMoving=!0,this.setCursor(e.target.moveCursor||this.moveCursor)),e.actionPerformed=e.actionPerformed||o}_setCursorFromEvent(t,e){if(!e)return void this.setCursor(this.defaultCursor);let s=e.hoverCursor||this.hoverCursor;const i=Nt(this._activeObject)?this._activeObject:null,r=(!i||e.group!==i)&&e.findControl(this.getViewportPoint(t));if(r){const{control:s,coord:i}=r;this.setCursor(s.cursorStyleHandler(t,s,e,i))}else{if(e.subTargetCheck){const{subTargets:e}=this.findTarget(t);e.concat().reverse().forEach(t=>{s=t.hoverCursor||s})}this.setCursor(s)}}handleMultiSelection(t,e){const s=this._activeObject,i=Nt(s);if(s&&this._isSelectionKeyPressed(t)&&this.selection&&e&&e.selectable&&(s!==e||i)&&(i||!e.isDescendantOf(s)&&!s.isDescendantOf(e))&&!e.onSelect({e:t})&&!s.getActiveControl()){if(i){const i=s.getObjects();let r=[];if(e===s){const s=this.getScenePoint(t);let n=this.searchPossibleTargets(i,s);if(n.target?(e=n.target,r=n.subTargets):(n=this.searchPossibleTargets(this._objects,s),e=n.target,r=n.subTargets),!e||!e.selectable)return!1}e.group===s?(s.remove(e),this._hoveredTarget=e,this._hoveredTargets=r,1===s.size()&&this._setActiveObject(s.item(0),t)):(s.multiSelectAdd(e),this._hoveredTarget=s,this._hoveredTargets=r),this._fireSelectionEvents(i,t)}else{s.isEditing&&s.exitEditing();const i=new(tt.getClass(\"ActiveSelection\"))([],{canvas:this});i.multiSelectAdd(s,e),this._hoveredTarget=i,this._setActiveObject(i,t),this._fireSelectionEvents([s],t)}return!0}return!1}handleSelection(t){if(!this.selection||!this._groupSelector)return!1;const{x:e,y:s,deltaX:i,deltaY:r}=this._groupSelector,n=new ot(e,s),o=n.add(new ot(i,r)),a=n.min(o),h=n.max(o).subtract(a),l=this.collectObjects({left:a.x,top:a.y,width:h.x,height:h.y},{includeIntersecting:!this.selectionFullyContained}),c=n.eq(o)?l[0]?[l[0]]:[]:l.length>1?l.filter(e=>!e.onSelect({e:t})).reverse():l;if(1===c.length)this.setActiveObject(c[0],t);else if(c.length>1){const e=tt.getClass(\"ActiveSelection\");this.setActiveObject(new e(c,{canvas:this}),t)}return this._groupSelector=null,!0}toCanvasElement(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,e=arguments.length>1?arguments[1]:void 0;const{upper:s}=this.elements;s.ctx=void 0;const i=super.toCanvasElement(t,e);return s.ctx=s.el.getContext(\"2d\"),i}clear(){this.textEditingManager.clear(),super.clear()}destroy(){this.removeListeners(),this.textEditingManager.dispose(),super.destroy()}}const Pn={x1:0,y1:0,x2:0,y2:0},En={...Pn,r1:0,r2:0},An=(t,e)=>isNaN(t)&&\"number\"==typeof e?e:t;function jn(t){return t&&/%$/.test(t)&&Number.isFinite(parseFloat(t))}function Fn(t,e){const s=\"number\"==typeof t?t:\"string\"==typeof t?parseFloat(t)/(jn(t)?100:1):NaN;return Ds(0,An(s,e),1)}const Ln=/\\s*;\\s*/,Bn=/\\s*:\\s*/;function Rn(t,e){let s,i;const r=t.getAttribute(\"style\");if(r){const t=r.split(Ln);\"\"===t[t.length-1]&&t.pop();for(let e=t.length;e--;){const[r,n]=t[e].split(Bn).map(t=>t.trim());\"stop-color\"===r?s=n:\"stop-opacity\"===r&&(i=n)}}s=s||t.getAttribute(\"stop-color\")||\"rgb(0,0,0)\",i=An(parseFloat(i||t.getAttribute(\"stop-opacity\")||\"\"),1);const n=new Je(s);return n.setAlpha(n.getAlpha()*i*e),{offset:Fn(t.getAttribute(\"offset\"),0),color:n.toRgba()}}function In(t,e){const s=[],i=t.getElementsByTagName(\"stop\"),r=Fn(e,1);for(let t=i.length;t--;)s.push(Rn(i[t],r));return s}function $n(t){return\"linearGradient\"===t.nodeName||\"LINEARGRADIENT\"===t.nodeName?\"linear\":\"radial\"}function Xn(t){return\"userSpaceOnUse\"===t.getAttribute(\"gradientUnits\")?\"pixels\":\"percentage\"}function Yn(t,e){return t.getAttribute(e)}function Wn(t,e){return function(t,e){let s,{width:i,height:r,gradientUnits:n}=e;return Object.entries(t).reduce((t,e)=>{let[o,a]=e;if(\"Infinity\"===a)s=1;else if(\"-Infinity\"===a)s=0;else{const t=\"string\"==typeof a;s=t?parseFloat(a):a,t&&jn(a)&&(s*=.01,\"pixels\"===n&&(\"x1\"!==o&&\"x2\"!==o&&\"r2\"!==o||(s*=i),\"y1\"!==o&&\"y2\"!==o||(s*=r)))}return t[o]=s,t},{})}(\"linear\"===$n(t)?function(t){return{x1:Yn(t,\"x1\")||0,y1:Yn(t,\"y1\")||0,x2:Yn(t,\"x2\")||\"100%\",y2:Yn(t,\"y2\")||0}}(t):function(t){return{x1:Yn(t,\"fx\")||Yn(t,\"cx\")||\"50%\",y1:Yn(t,\"fy\")||Yn(t,\"cy\")||\"50%\",r1:0,x2:Yn(t,\"cx\")||\"50%\",y2:Yn(t,\"cy\")||\"50%\",r2:Yn(t,\"r\")||\"50%\"}}(t),{...e,gradientUnits:Xn(t)})}class Vn{constructor(t){const{type:e=\"linear\",gradientUnits:s=\"pixels\",coords:i={},colorStops:r=[],offsetX:n=0,offsetY:o=0,gradientTransform:a,id:h}=t||{};Object.assign(this,{type:e,gradientUnits:s,coords:{...\"radial\"===e?En:Pn,...i},colorStops:r,offsetX:n,offsetY:o,gradientTransform:a,id:h?`${h}_${ft()}`:ft()})}addColorStop(t){for(const e in t)this.colorStops.push({offset:parseFloat(e),color:t[e]});return this}toObject(t){return{...Xt(this,t),type:this.type,coords:{...this.coords},colorStops:this.colorStops.map(t=>({...t})),offsetX:this.offsetX,offsetY:this.offsetY,gradientUnits:this.gradientUnits,gradientTransform:this.gradientTransform?[...this.gradientTransform]:void 0}}toSVG(t){let{additionalTransform:e}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const s=[],i=this.gradientTransform?this.gradientTransform.concat():b.concat(),r=\"pixels\"===this.gradientUnits?\"userSpaceOnUse\":\"objectBoundingBox\",n=this.colorStops.map(t=>({...t})).sort((t,e)=>t.offset-e.offset);let o=-this.offsetX,a=-this.offsetY;var h;\"objectBoundingBox\"===r?(o/=t.width,a/=t.height):(o+=t.width/2,a+=t.height/2),(h=t)&&\"function\"==typeof h._renderPathCommands&&\"percentage\"!==this.gradientUnits&&(o-=t.pathOffset.x,a-=t.pathOffset.y),i[4]-=o,i[5]-=a;const l=[`id=\"SVGID_${se(String(this.id))}\"`,`gradientUnits=\"${r}\"`,`gradientTransform=\"${e?e+\" \":\"\"}${Vt(i)}\"`,\"\"].join(\" \"),c=t=>parseFloat(String(t));if(\"linear\"===this.type){const{x1:t,y1:e,x2:i,y2:r}=this.coords,n=c(t),o=c(e),a=c(i),h=c(r);s.push(\"<linearGradient \",l,' x1=\"',n,'\" y1=\"',o,'\" x2=\"',a,'\" y2=\"',h,'\">\\n')}else if(\"radial\"===this.type){const{x1:t,y1:e,x2:i,y2:r,r1:o,r2:a}=this.coords,h=c(t),u=c(e),d=c(i),g=c(r),f=c(o),p=c(a),m=f>p;s.push(\"<radialGradient \",l,' cx=\"',m?h:d,'\" cy=\"',m?u:g,'\" r=\"',m?f:p,'\" fx=\"',m?d:h,'\" fy=\"',m?g:u,'\">\\n'),m&&(n.reverse(),n.forEach(t=>{t.offset=1-t.offset}));const v=Math.min(f,p);if(v>0){const t=v/Math.max(f,p);n.forEach(e=>{e.offset+=t*(1-e.offset)})}}return n.forEach(t=>{let{color:e,offset:i}=t;s.push(`<stop offset=\"${100*i}%\" style=\"stop-color:${e};\"/>\\n`)}),s.push(\"linear\"===this.type?\"</linearGradient>\":\"</radialGradient>\",\"\\n\"),s.join(\"\")}toLive(t){const{x1:e,y1:s,x2:i,y2:r,r1:n,r2:o}=this.coords,a=\"linear\"===this.type?t.createLinearGradient(e,s,i,r):t.createRadialGradient(e,s,n,i,r,o);return this.colorStops.forEach(t=>{let{color:e,offset:s}=t;a.addColorStop(s,e)}),a}static async fromObject(t){const{colorStops:e,gradientTransform:s}=t;return new this({...t,colorStops:e?e.map(t=>({...t})):void 0,gradientTransform:s?[...s]:void 0})}static fromElement(t,e,s){const i=Xn(t),r=e._findCenterFromElement();return new this({id:t.getAttribute(\"id\")||void 0,type:$n(t),coords:Wn(t,{width:s.viewBoxWidth||s.width,height:s.viewBoxHeight||s.height}),colorStops:In(t,s.opacity),gradientUnits:i,gradientTransform:hr(t.getAttribute(\"gradientTransform\")||\"\"),...\"pixels\"===i?{offsetX:e.width/2-r.x,offsetY:e.height/2-r.y}:{offsetX:0,offsetY:0}})}}t(Vn,\"type\",\"Gradient\"),tt.setClass(Vn,\"gradient\"),tt.setClass(Vn,\"linear\"),tt.setClass(Vn,\"radial\");class zn{get type(){return\"pattern\"}set type(t){i(\"warn\",\"Setting type has no effect\",t)}constructor(e){t(this,\"repeat\",\"repeat\"),t(this,\"offsetX\",0),t(this,\"offsetY\",0),t(this,\"crossOrigin\",\"\"),this.id=ft(),Object.assign(this,e)}isImageSource(){return!!this.source&&\"string\"==typeof this.source.src}isCanvasSource(){return!!this.source&&!!this.source.toDataURL}sourceToString(){return this.isImageSource()?this.source.src:this.isCanvasSource()?this.source.toDataURL():\"\"}toLive(t){return this.source&&(!this.isImageSource()||this.source.complete&&0!==this.source.naturalWidth&&0!==this.source.naturalHeight)?t.createPattern(this.source,this.repeat):null}toObject(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];const{repeat:e,crossOrigin:i}=this;return{...Xt(this,t),type:\"pattern\",source:this.sourceToString(),repeat:e,crossOrigin:i,offsetX:Wt(this.offsetX,s.NUM_FRACTION_DIGITS),offsetY:Wt(this.offsetY,s.NUM_FRACTION_DIGITS),patternTransform:this.patternTransform?[...this.patternTransform]:null}}toSVG(t){let{width:e,height:s}=t;const{source:i,repeat:r,id:n}=this,o=An(this.offsetX/e,0),a=An(this.offsetY/s,0),h=\"repeat-y\"===r||\"no-repeat\"===r?1+Math.abs(o||0):An(i.width/e,0),l=\"repeat-x\"===r||\"no-repeat\"===r?1+Math.abs(a||0):An(i.height/s,0);return[`<pattern id=\"SVGID_${se(n)}\" x=\"${o}\" y=\"${a}\" width=\"${h}\" height=\"${l}\">`,`<image x=\"0\" y=\"0\" width=\"${i.width}\" height=\"${i.height}\" xlink:href=\"${se(this.sourceToString())}\"></image>`,\"</pattern>\",\"\"].join(\"\\n\")}static async fromObject(t,e){let{type:s,source:i,patternTransform:r,...n}=t;const o=await Rt(i,{...e,crossOrigin:n.crossOrigin});return new this({...n,patternTransform:r&&r.slice(0),source:o})}}t(zn,\"type\",\"Pattern\"),tt.setClass(zn),tt.setClass(zn,\"pattern\");class Gn{constructor(e){t(this,\"color\",\"rgb(0, 0, 0)\"),t(this,\"width\",1),t(this,\"shadow\",null),t(this,\"strokeLineCap\",\"round\"),t(this,\"strokeLineJoin\",\"round\"),t(this,\"strokeMiterLimit\",10),t(this,\"strokeDashArray\",null),t(this,\"limitedToCanvasSize\",!1),this.canvas=e}_setBrushStyles(t){t.strokeStyle=this.color,t.lineWidth=this.width,t.lineCap=this.strokeLineCap,t.miterLimit=this.strokeMiterLimit,t.lineJoin=this.strokeLineJoin,t.setLineDash(this.strokeDashArray||[])}_saveAndTransform(t){const e=this.canvas.viewportTransform;t.save(),t.transform(e[0],e[1],e[2],e[3],e[4],e[5])}needsFullRender(){return new Je(this.color).getAlpha()<1||!!this.shadow}_setShadow(){if(!this.shadow||!this.canvas)return;const t=this.canvas,e=this.shadow,s=t.contextTop,i=t.getZoom()*t.getRetinaScaling();s.shadowColor=e.color,s.shadowBlur=e.blur*i,s.shadowOffsetX=e.offsetX*i,s.shadowOffsetY=e.offsetY*i}_resetShadow(){const t=this.canvas.contextTop;t.shadowColor=\"\",t.shadowBlur=t.shadowOffsetX=t.shadowOffsetY=0}_isOutSideCanvas(t){return t.x<0||t.x>this.canvas.getWidth()||t.y<0||t.y>this.canvas.getHeight()}}class Hn extends ji{constructor(t){let{path:e,left:s,top:i,...r}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};super(),Object.assign(this,Hn.ownDefaults),this.setOptions(r),this._setPath(t||[],!0),\"number\"==typeof s&&this.set(O,s),\"number\"==typeof i&&this.set(k,i)}_setPath(t,e){this.path=Rr(Array.isArray(t)?t:tn(t)),this.setBoundingBox(e)}_findCenterFromElement(){const t=this._calcBoundsFromPath();return new ot(t.left+t.width/2,t.top+t.height/2)}_renderPathCommands(t){const e=-this.pathOffset.x,s=-this.pathOffset.y;t.beginPath();for(const i of this.path)switch(i[0]){case\"L\":t.lineTo(i[1]+e,i[2]+s);break;case\"M\":t.moveTo(i[1]+e,i[2]+s);break;case\"C\":t.bezierCurveTo(i[1]+e,i[2]+s,i[3]+e,i[4]+s,i[5]+e,i[6]+s);break;case\"Q\":t.quadraticCurveTo(i[1]+e,i[2]+s,i[3]+e,i[4]+s);break;case\"Z\":t.closePath()}}_render(t){this._renderPathCommands(t),this._renderPaintInOrder(t)}toString(){return`#<Path (${this.complexity()}): { \"top\": ${this.top}, \"left\": ${this.left} }>`}toObject(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return{...super.toObject(t),path:this.path.map(t=>t.slice())}}toDatalessObject(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];const e=this.toObject(t);return this.sourcePath&&(delete e.path,e.sourcePath=this.sourcePath),e}_toSVG(){return[\"<path \",\"COMMON_PARTS\",`d=\"${sn(this.path,s.NUM_FRACTION_DIGITS)}\" stroke-linecap=\"round\" />\\n`]}_getOffsetTransform(){const t=s.NUM_FRACTION_DIGITS;return` translate(${Wt(-this.pathOffset.x,t)}, ${Wt(-this.pathOffset.y,t)})`}toClipPathSVG(t){const e=this._getOffsetTransform();return\"\\t\"+this._createBaseClipPathSVGMarkup(this._toSVG(),{reviver:t,additionalTransform:e})}toSVG(t){const e=this._getOffsetTransform();return this._createBaseSVGMarkup(this._toSVG(),{reviver:t,additionalTransform:e})}complexity(){return this.path.length}setDimensions(){this.setBoundingBox()}setBoundingBox(t){const{width:e,height:s,pathOffset:i}=this._calcDimensions();this.set({width:e,height:s,pathOffset:i}),t&&this.setPositionByOrigin(i,T,T)}_calcBoundsFromPath(){const t=[];let e=0,s=0,i=0,r=0;for(const n of this.path)switch(n[0]){case\"L\":i=n[1],r=n[2],t.push({x:e,y:s},{x:i,y:r});break;case\"M\":i=n[1],r=n[2],e=i,s=r;break;case\"C\":t.push(...Lr(i,r,n[1],n[2],n[3],n[4],n[5],n[6])),i=n[5],r=n[6];break;case\"Q\":t.push(...Lr(i,r,n[1],n[2],n[1],n[2],n[3],n[4])),i=n[3],r=n[4];break;case\"Z\":i=e,r=s}return ge(t)}_calcDimensions(){const t=this._calcBoundsFromPath();return{...t,pathOffset:new ot(t.left+t.width/2,t.top+t.height/2)}}static fromObject(t){return this._fromObject(t,{extraParam:\"path\"})}static async fromElement(t,e,s){const{d:i,...r}=gr(t,this.ATTRIBUTE_NAMES,s);return new this(i,{...r,...e,left:void 0,top:void 0})}}t(Hn,\"type\",\"Path\"),t(Hn,\"cacheProperties\",[...Ps,\"path\",\"fillRule\"]),t(Hn,\"ATTRIBUTE_NAMES\",[...zi,\"d\"]),tt.setClass(Hn),tt.setSVGClass(Hn);class Nn extends Gn{constructor(e){super(e),t(this,\"decimate\",.4),t(this,\"drawStraightLine\",!1),t(this,\"straightLineKey\",\"shiftKey\"),this._points=[],this._hasStraightLine=!1}needsFullRender(){return super.needsFullRender()||this._hasStraightLine}static drawSegment(t,e,s){const i=e.midPointFrom(s);return t.quadraticCurveTo(e.x,e.y,i.x,i.y),i}onMouseDown(t,e){let{e:s}=e;this.canvas._isMainEvent(s)&&(this.drawStraightLine=!!this.straightLineKey&&s[this.straightLineKey],this._prepareForDrawing(t),this._addPoint(t),this._render())}onMouseMove(t,e){let{e:s}=e;if(this.canvas._isMainEvent(s)&&(this.drawStraightLine=!!this.straightLineKey&&s[this.straightLineKey],(!0!==this.limitedToCanvasSize||!this._isOutSideCanvas(t))&&this._addPoint(t)&&this._points.length>1))if(this.needsFullRender())this.canvas.clearContext(this.canvas.contextTop),this._render();else{const t=this._points,e=t.length,s=this.canvas.contextTop;this._saveAndTransform(s),this.oldEnd&&(s.beginPath(),s.moveTo(this.oldEnd.x,this.oldEnd.y)),this.oldEnd=Nn.drawSegment(s,t[e-2],t[e-1]),s.stroke(),s.restore()}}onMouseUp(t){let{e:e}=t;return!this.canvas._isMainEvent(e)||(this.drawStraightLine=!1,this.oldEnd=void 0,this._finalizeAndAddPath(),!1)}_prepareForDrawing(t){this._reset(),this._addPoint(t),this.canvas.contextTop.moveTo(t.x,t.y)}_addPoint(t){return!(this._points.length>1&&t.eq(this._points[this._points.length-1]))&&(this.drawStraightLine&&this._points.length>1&&(this._hasStraightLine=!0,this._points.pop()),this._points.push(t),!0)}_reset(){this._points=[],this._setBrushStyles(this.canvas.contextTop),this._setShadow(),this._hasStraightLine=!1}_render(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.canvas.contextTop,e=this._points[0],s=this._points[1];if(this._saveAndTransform(t),t.beginPath(),2===this._points.length&&e.x===s.x&&e.y===s.y){const t=this.width/1e3;e.x-=t,s.x+=t}t.moveTo(e.x,e.y);for(let i=1;i<this._points.length;i++)Nn.drawSegment(t,e,s),e=this._points[i],s=this._points[i+1];t.lineTo(e.x,e.y),t.stroke(),t.restore()}convertPointsToSVGPath(t){const e=this.width/1e3;return en(t,e)}createPath(t){const e=new Hn(t,{fill:null,stroke:this.color,strokeWidth:this.width,strokeLineCap:this.strokeLineCap,strokeMiterLimit:this.strokeMiterLimit,strokeLineJoin:this.strokeLineJoin,strokeDashArray:this.strokeDashArray});return this.shadow&&(this.shadow.affectStroke=!0,e.shadow=new ks(this.shadow)),e}decimatePoints(t,e){if(t.length<=2)return t;let s,i=t[0];const r=this.canvas.getZoom(),n=Math.pow(e/r,2),o=t.length-1,a=[i];for(let e=1;e<o-1;e++)s=Math.pow(i.x-t[e].x,2)+Math.pow(i.y-t[e].y,2),s>=n&&(i=t[e],a.push(i));return a.push(t[o]),a}_finalizeAndAddPath(){this.canvas.contextTop.closePath(),this.decimate&&(this._points=this.decimatePoints(this._points,this.decimate));const t=this.convertPointsToSVGPath(this._points);if(function(t){return\"M 0 0 Q 0 0 0 0 L 0 0\"===sn(t)}(t))return void this.canvas.requestRenderAll();const e=this.createPath(t);this.canvas.clearContext(this.canvas.contextTop),this.canvas.fire(\"before:path:created\",{path:e}),this.canvas.add(e),this.canvas.requestRenderAll(),e.setCoords(),this._resetShadow(),this.canvas.fire(\"path:created\",{path:e})}}const Un=[\"radius\",\"startAngle\",\"endAngle\",\"counterClockwise\"];class qn extends ji{static getDefaults(){return{...super.getDefaults(),...qn.ownDefaults}}constructor(t){super(),Object.assign(this,qn.ownDefaults),this.setOptions(t)}_set(t,e){return super._set(t,e),\"radius\"===t&&this.setRadius(e),this}_render(t){t.beginPath(),t.arc(0,0,this.radius,xt(this.startAngle),xt(this.endAngle),this.counterClockwise),this._renderPaintInOrder(t)}getRadiusX(){return this.get(\"radius\")*this.get(W)}getRadiusY(){return this.get(\"radius\")*this.get(V)}setRadius(t){this.radius=t,this.set({width:2*t,height:2*t})}toObject(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return super.toObject([...Un,...t])}_toSVG(){const{radius:t,startAngle:e,endAngle:s}=this,i=(s-e)%360;if(0===i)return[\"<circle \",\"COMMON_PARTS\",'cx=\"0\" cy=\"0\" ','r=\"',`${se(t)}`,'\" />\\n'];{const r=xt(e),n=xt(s),o=rt(r)*t,a=nt(r)*t,h=rt(n)*t,l=nt(n)*t;return[`<path d=\"M ${o} ${a} A ${t} ${t} 0 ${i>180?1:0} ${this.counterClockwise?0:1} ${h} ${l}\" `,\"COMMON_PARTS\",\" />\\n\"]}}static async fromElement(t,e,s){const{left:i=0,top:r=0,radius:n=0,...o}=gr(t,this.ATTRIBUTE_NAMES,s);return new this({...o,radius:n,left:i-n,top:r-n})}static fromObject(t){return super._fromObject(t)}}t(qn,\"type\",\"Circle\"),t(qn,\"cacheProperties\",[...Ps,...Un]),t(qn,\"ownDefaults\",{radius:0,startAngle:0,endAngle:360,counterClockwise:!1}),t(qn,\"ATTRIBUTE_NAMES\",[\"cx\",\"cy\",\"r\",...zi]),tt.setClass(qn),tt.setSVGClass(qn);class Kn extends Gn{constructor(e){super(e),t(this,\"width\",10),this.points=[]}drawDot(t){const e=this.addPoint(t),s=this.canvas.contextTop;this._saveAndTransform(s),this.dot(s,e),s.restore()}dot(t,e){t.fillStyle=e.fill,t.beginPath(),t.arc(e.x,e.y,e.radius,0,2*Math.PI,!1),t.closePath(),t.fill()}onMouseDown(t){this.points=[],this.canvas.clearContext(this.canvas.contextTop),this._setShadow(),this.drawDot(t)}_render(){const t=this.canvas.contextTop,e=this.points;this._saveAndTransform(t);for(let s=0;s<e.length;s++)this.dot(t,e[s]);t.restore()}onMouseMove(t){!0===this.limitedToCanvasSize&&this._isOutSideCanvas(t)||(this.needsFullRender()?(this.canvas.clearContext(this.canvas.contextTop),this.addPoint(t),this._render()):this.drawDot(t))}onMouseUp(){const t=this.canvas.renderOnAddRemove;this.canvas.renderOnAddRemove=!1;const e=[];for(let t=0;t<this.points.length;t++){const s=this.points[t],i=new qn({radius:s.radius,left:s.x,top:s.y,originX:T,originY:T,fill:s.fill});this.shadow&&(i.shadow=new ks(this.shadow)),e.push(i)}const s=new Or(e,{canvas:this.canvas});this.canvas.fire(\"before:path:created\",{path:s}),this.canvas.add(s),this.canvas.fire(\"path:created\",{path:s}),this.canvas.clearContext(this.canvas.contextTop),this._resetShadow(),this.canvas.renderOnAddRemove=t,this.canvas.requestRenderAll()}addPoint(t){let{x:e,y:s}=t;const i={x:e,y:s,radius:rn(Math.max(0,this.width-20),this.width+20)/2,fill:new Je(this.color).setAlpha(rn(0,100)/100).toRgba()};return this.points.push(i),i}}class Jn extends Gn{constructor(e){super(e),t(this,\"width\",10),t(this,\"density\",20),t(this,\"dotWidth\",1),t(this,\"dotWidthVariance\",1),t(this,\"randomOpacity\",!1),t(this,\"optimizeOverlapping\",!0),this.sprayChunks=[],this.sprayChunk=[]}onMouseDown(t){this.sprayChunks=[],this.canvas.clearContext(this.canvas.contextTop),this._setShadow(),this.addSprayChunk(t),this.renderChunck(this.sprayChunk)}onMouseMove(t){!0===this.limitedToCanvasSize&&this._isOutSideCanvas(t)||(this.addSprayChunk(t),this.renderChunck(this.sprayChunk))}onMouseUp(){const t=this.canvas.renderOnAddRemove;this.canvas.renderOnAddRemove=!1;const e=[];for(let t=0;t<this.sprayChunks.length;t++){const s=this.sprayChunks[t];for(let t=0;t<s.length;t++){const i=s[t],r=new pr({width:i.width,height:i.width,left:i.x+1,top:i.y+1,originX:T,originY:T,fill:this.color});e.push(r)}}const s=new Or(this.optimizeOverlapping?function(t){const e={},s=[];for(let i,r=0;r<t.length;r++)i=`${t[r].left}${t[r].top}`,e[i]||(e[i]=!0,s.push(t[r]));return s}(e):e,{objectCaching:!0,subTargetCheck:!1,interactive:!1});this.shadow&&s.set(\"shadow\",new ks(this.shadow)),this.canvas.fire(\"before:path:created\",{path:s}),this.canvas.add(s),this.canvas.fire(\"path:created\",{path:s}),this.canvas.clearContext(this.canvas.contextTop),this._resetShadow(),this.canvas.renderOnAddRemove=t,this.canvas.requestRenderAll()}renderChunck(t){const e=this.canvas.contextTop;e.fillStyle=this.color,this._saveAndTransform(e);for(let s=0;s<t.length;s++){const i=t[s];e.globalAlpha=i.opacity,e.fillRect(i.x,i.y,i.width,i.width)}e.restore()}_render(){const t=this.canvas.contextTop;t.fillStyle=this.color,this._saveAndTransform(t);for(let t=0;t<this.sprayChunks.length;t++)this.renderChunck(this.sprayChunks[t]);t.restore()}addSprayChunk(t){this.sprayChunk=[];const e=this.width/2;for(let s=0;s<this.density;s++)this.sprayChunk.push({x:rn(t.x-e,t.x+e),y:rn(t.y-e,t.y+e),width:this.dotWidthVariance?rn(Math.max(1,this.dotWidth-this.dotWidthVariance),this.dotWidth+this.dotWidthVariance):this.dotWidth,opacity:this.randomOpacity?rn(0,100)/100:1});this.sprayChunks.push(this.sprayChunk)}}class Qn extends Nn{constructor(t){super(t)}getPatternSrc(){const t=pt(),e=t.getContext(\"2d\");return t.width=t.height=25,e&&(e.fillStyle=this.color,e.beginPath(),e.arc(10,10,10,0,2*Math.PI,!1),e.closePath(),e.fill()),t}getPattern(t){return t.createPattern(this.source||this.getPatternSrc(),\"repeat\")}_setBrushStyles(t){super._setBrushStyles(t);const e=this.getPattern(t);e&&(t.strokeStyle=e)}createPath(t){const e=super.createPath(t),s=e._getLeftTopCoords().scalarAdd(e.strokeWidth/2);return e.stroke=new zn({source:this.source||this.getPatternSrc(),offsetX:-s.x,offsetY:-s.y}),e}}const Zn=[\"x1\",\"x2\",\"y1\",\"y2\"];class to extends ji{constructor(){let[t,e,s,i]=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[0,0,0,0],r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};super(),Object.assign(this,to.ownDefaults),this.setOptions(r),this.x1=t,this.x2=s,this.y1=e,this.y2=i,this._setWidthHeight();const{left:n,top:o}=r;\"number\"==typeof n&&this.set(O,n),\"number\"==typeof o&&this.set(k,o)}_setWidthHeight(){const{x1:t,y1:e,x2:s,y2:i}=this;this.width=Math.abs(s-t),this.height=Math.abs(i-e);const{left:r,top:n,width:o,height:a}=ge([{x:t,y:e},{x:s,y:i}]),h=new ot(r+o/2,n+a/2);this.setPositionByOrigin(h,T,T)}_set(t,e){return super._set(t,e),Zn.includes(t)&&this._setWidthHeight(),this}_render(t){t.beginPath();const e=this.calcLinePoints();t.moveTo(e.x1,e.y1),t.lineTo(e.x2,e.y2),t.lineWidth=this.strokeWidth;const s=t.strokeStyle;var i;zt(this.stroke)?t.strokeStyle=this.stroke.toLive(t):t.strokeStyle=null!==(i=this.stroke)&&void 0!==i?i:t.fillStyle;this.stroke&&this._renderStroke(t),t.strokeStyle=s}_findCenterFromElement(){return new ot((this.x1+this.x2)/2,(this.y1+this.y2)/2)}toObject(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return{...super.toObject(t),...this.calcLinePoints()}}_getNonTransformedDimensions(){const t=super._getNonTransformedDimensions();return\"butt\"===this.strokeLineCap&&(0===this.width&&(t.y-=this.strokeWidth),0===this.height&&(t.x-=this.strokeWidth)),t}calcLinePoints(){const{x1:t,x2:e,y1:s,y2:i,width:r,height:n}=this,o=t<=e?-.5:.5,a=s<=i?-.5:.5;return{x1:o*r,x2:o*-r,y1:a*n,y2:a*-n}}_toSVG(){const{x1:t,x2:e,y1:s,y2:i}=this.calcLinePoints();return[\"<line \",\"COMMON_PARTS\",`x1=\"${t}\" y1=\"${s}\" x2=\"${e}\" y2=\"${i}\" />\\n`]}static async fromElement(t,e,s){const{x1:i=0,y1:r=0,x2:n=0,y2:o=0,...a}=gr(t,this.ATTRIBUTE_NAMES,s);return new this([i,r,n,o],a)}static fromObject(t){let{x1:e,y1:s,x2:i,y2:r,...n}=t;return this._fromObject({...n,points:[e,s,i,r]},{extraParam:\"points\"})}}t(to,\"type\",\"Line\"),t(to,\"cacheProperties\",[...Ps,...Zn]),t(to,\"ATTRIBUTE_NAMES\",zi.concat(Zn)),tt.setClass(to),tt.setSVGClass(to);class eo extends ji{static getDefaults(){return{...super.getDefaults(),...eo.ownDefaults}}constructor(t){super(),Object.assign(this,eo.ownDefaults),this.setOptions(t)}_render(t){const e=this.width/2,s=this.height/2;t.beginPath(),t.moveTo(-e,s),t.lineTo(0,-s),t.lineTo(e,s),t.closePath(),this._renderPaintInOrder(t)}_toSVG(){const t=this.width/2,e=this.height/2;return[\"<polygon \",\"COMMON_PARTS\",'points=\"',`${-t} ${e},0 ${-e},${t} ${e}`,'\" />']}}t(eo,\"type\",\"Triangle\"),t(eo,\"ownDefaults\",{width:100,height:100}),tt.setClass(eo),tt.setSVGClass(eo);const so=[\"rx\",\"ry\"];class io extends ji{static getDefaults(){return{...super.getDefaults(),...io.ownDefaults}}constructor(t){super(),Object.assign(this,io.ownDefaults),this.setOptions(t)}_set(t,e){switch(super._set(t,e),t){case\"rx\":this.rx=e,this.set(\"width\",2*e);break;case\"ry\":this.ry=e,this.set(\"height\",2*e)}return this}getRx(){return this.get(\"rx\")*this.get(W)}getRy(){return this.get(\"ry\")*this.get(V)}toObject(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return super.toObject([...so,...t])}_toSVG(){return[\"<ellipse \",\"COMMON_PARTS\",`cx=\"0\" cy=\"0\" rx=\"${se(this.rx)}\" ry=\"${se(this.ry)}\" />\\n`]}_render(t){t.beginPath(),t.save(),t.transform(1,0,0,this.ry/this.rx,0,0),t.arc(0,0,this.rx,0,x,!1),t.restore(),this._renderPaintInOrder(t)}static async fromElement(t,e,s){const i=gr(t,this.ATTRIBUTE_NAMES,s);return i.left=(i.left||0)-i.rx,i.top=(i.top||0)-i.ry,new this(i)}}t(io,\"type\",\"Ellipse\"),t(io,\"cacheProperties\",[...Ps,...so]),t(io,\"ownDefaults\",{rx:0,ry:0}),t(io,\"ATTRIBUTE_NAMES\",[...zi,\"cx\",\"cy\",\"rx\",\"ry\"]),tt.setClass(io),tt.setSVGClass(io);const ro={exactBoundingBox:!1};class no extends ji{static getDefaults(){return{...super.getDefaults(),...no.ownDefaults}}constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};super(),t(this,\"strokeDiff\",void 0),Object.assign(this,no.ownDefaults),this.setOptions(s),this.points=e;const{left:i,top:r}=s;this.initialized=!0,this.setBoundingBox(!0),\"number\"==typeof i&&this.set(O,i),\"number\"==typeof r&&this.set(k,r)}isOpen(){return!0}_projectStrokeOnPoints(t){return $i(this.points,t,this.isOpen())}_calcDimensions(t){t={scaleX:this.scaleX,scaleY:this.scaleY,skewX:this.skewX,skewY:this.skewY,strokeLineCap:this.strokeLineCap,strokeLineJoin:this.strokeLineJoin,strokeMiterLimit:this.strokeMiterLimit,strokeUniform:this.strokeUniform,strokeWidth:this.strokeWidth,...t||{}};const e=this.exactBoundingBox?this._projectStrokeOnPoints(t).map(t=>t.projectedPoint):this.points;if(0===e.length)return{left:0,top:0,width:0,height:0,pathOffset:new ot,strokeOffset:new ot,strokeDiff:new ot};const s=ge(e),i=Lt({...t,scaleX:1,scaleY:1}),r=ge(this.points.map(t=>St(t,i,!0))),n=new ot(this.scaleX,this.scaleY);let o=s.left+s.width/2,a=s.top+s.height/2;return this.exactBoundingBox&&(o-=a*Math.tan(xt(this.skewX)),a-=o*Math.tan(xt(this.skewY))),{...s,pathOffset:new ot(o,a),strokeOffset:new ot(r.left,r.top).subtract(new ot(s.left,s.top)).multiply(n),strokeDiff:new ot(s.width,s.height).subtract(new ot(r.width,r.height)).multiply(n)}}_findCenterFromElement(){const t=ge(this.points);return new ot(t.left+t.width/2,t.top+t.height/2)}setDimensions(){this.setBoundingBox()}setBoundingBox(t){const{left:e,top:s,width:i,height:r,pathOffset:n,strokeOffset:o,strokeDiff:a}=this._calcDimensions();this.set({width:i,height:r,pathOffset:n,strokeOffset:o,strokeDiff:a}),t&&this.setPositionByOrigin(new ot(e+i/2,s+r/2),T,T)}isStrokeAccountedForInDimensions(){return this.exactBoundingBox}_getNonTransformedDimensions(){return this.exactBoundingBox?new ot(this.width,this.height):super._getNonTransformedDimensions()}_getTransformedDimensions(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(this.exactBoundingBox){let n;if(Object.keys(t).some(t=>this.strokeUniform||this.constructor.layoutProperties.includes(t))){var e,s;const{width:i,height:r}=this._calcDimensions(t);n=new ot(null!==(e=t.width)&&void 0!==e?e:i,null!==(s=t.height)&&void 0!==s?s:r)}else{var i,r;n=new ot(null!==(i=t.width)&&void 0!==i?i:this.width,null!==(r=t.height)&&void 0!==r?r:this.height)}return n.multiply(new ot(t.scaleX||this.scaleX,t.scaleY||this.scaleY))}return super._getTransformedDimensions(t)}_set(t,e){const s=this.initialized&&this[t]!==e,i=super._set(t,e);return this.exactBoundingBox&&s&&((t===W||t===V)&&this.strokeUniform&&this.constructor.layoutProperties.includes(\"strokeUniform\")||this.constructor.layoutProperties.includes(t))&&this.setDimensions(),i}toObject(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return{...super.toObject(t),points:this.points.map(t=>{let{x:e,y:s}=t;return{x:e,y:s}})}}_toSVG(){const t=this.pathOffset.x,e=this.pathOffset.y,i=s.NUM_FRACTION_DIGITS,r=this.points.map(s=>{let{x:r,y:n}=s;return`${Wt(r-t,i)},${Wt(n-e,i)}`}).join(\" \");return[`<${se(this.constructor.type).toLowerCase()} `,\"COMMON_PARTS\",`points=\"${r}\" />\\n`]}_render(t){const e=this.points.length,s=this.pathOffset.x,i=this.pathOffset.y;if(e&&!isNaN(this.points[e-1].y)){t.beginPath(),t.moveTo(this.points[0].x-s,this.points[0].y-i);for(let r=0;r<e;r++){const e=this.points[r];t.lineTo(e.x-s,e.y-i)}!this.isOpen()&&t.closePath(),this._renderPaintInOrder(t)}}complexity(){return this.points.length}static async fromElement(t,e,s){const i=function(t){if(!t)return[];const e=t.replace(/,/g,\" \").trim().split(/\\s+/),s=[];for(let t=0;t<e.length;t+=2)s.push({x:parseFloat(e[t]),y:parseFloat(e[t+1])});return s}(t.getAttribute(\"points\")),{left:r,top:n,...o}=gr(t,this.ATTRIBUTE_NAMES,s);return new this(i,{...o,...e})}static fromObject(t){return this._fromObject(t,{extraParam:\"points\"})}}t(no,\"ownDefaults\",ro),t(no,\"type\",\"Polyline\"),t(no,\"layoutProperties\",[z,G,\"strokeLineCap\",\"strokeLineJoin\",\"strokeMiterLimit\",\"strokeWidth\",\"strokeUniform\",\"points\"]),t(no,\"cacheProperties\",[...Ps,\"points\"]),t(no,\"ATTRIBUTE_NAMES\",[...zi]),tt.setClass(no),tt.setSVGClass(no);class oo extends no{isOpen(){return!1}}t(oo,\"ownDefaults\",ro),t(oo,\"type\",\"Polygon\"),tt.setClass(oo),tt.setSVGClass(oo);class ao extends ji{isEmptyStyles(t){if(!this.styles)return!0;if(void 0!==t&&!this.styles[t])return!0;const e=void 0===t?this.styles:{line:this.styles[t]};for(const t in e)for(const s in e[t])for(const i in e[t][s])return!1;return!0}styleHas(t,e){if(!this.styles)return!1;if(void 0!==e&&!this.styles[e])return!1;const s=void 0===e?this.styles:{0:this.styles[e]};for(const e in s)for(const i in s[e])if(void 0!==s[e][i][t])return!0;return!1}cleanStyle(t){if(!this.styles)return!1;const e=this.styles;let s,i,r=0,n=!0,o=0;for(const o in e){s=0;for(const a in e[o]){const h=e[o][a]||{};r++,void 0!==h[t]?(i?h[t]!==i&&(n=!1):i=h[t],h[t]===this[t]&&delete h[t]):n=!1,0!==Object.keys(h).length?s++:delete e[o][a]}0===s&&delete e[o]}for(let t=0;t<this._textLines.length;t++)o+=this._textLines[t].length;n&&r===o&&(this[t]=i,this.removeStyle(t))}removeStyle(t){if(!this.styles)return;const e=this.styles;let s,i,r;for(i in e){for(r in s=e[i],s)delete s[r][t],0===Object.keys(s[r]).length&&delete s[r];0===Object.keys(s).length&&delete e[i]}}_extendStyles(t,e){const{lineIndex:s,charIndex:i}=this.get2DCursorLocation(t);this._getLineStyle(s)||this._setLineStyle(s);const r=Yt({...this._getStyleDeclaration(s,i),...e},t=>void 0!==t);this._setStyleDeclaration(s,i,r)}getSelectionStyles(t,e,s){const i=[];for(let r=t;r<(e||t);r++)i.push(this.getStyleAtPosition(r,s));return i}getStyleAtPosition(t,e){const{lineIndex:s,charIndex:i}=this.get2DCursorLocation(t);return e?this.getCompleteStyleDeclaration(s,i):this._getStyleDeclaration(s,i)}setSelectionStyles(t,e,s){for(let i=e;i<(s||e);i++)this._extendStyles(i,t);this._forceClearCache=!0}_getStyleDeclaration(t,e){var s;const i=this.styles&&this.styles[t];return i&&null!==(s=i[e])&&void 0!==s?s:{}}getCompleteStyleDeclaration(t,e){return{...Xt(this,this.constructor._styleProperties),...this._getStyleDeclaration(t,e)}}_setStyleDeclaration(t,e,s){this.styles[t][e]=s}_deleteStyleDeclaration(t,e){delete this.styles[t][e]}_getLineStyle(t){return!!this.styles[t]}_setLineStyle(t){this.styles[t]={}}_deleteLineStyle(t){delete this.styles[t]}}t(ao,\"_styleProperties\",hs);const ho=/ +/g,lo=/\"/g;function co(t,e,i,r,n){return`\\t\\t${function(t,e){let{left:i,top:r,width:n,height:o}=e,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:s.NUM_FRACTION_DIGITS;const h=ts(H,t,!1),[l,c,u,d]=[i,r,n,o].map(t=>Wt(t,a));return`<rect ${h} x=\"${l}\" y=\"${c}\" width=\"${u}\" height=\"${d}\"></rect>`}(t,{left:e,top:i,width:r,height:n})}\\n`}let uo;class go extends ao{static getDefaults(){return{...super.getDefaults(),...go.ownDefaults}}constructor(e,s){super(),t(this,\"__charBounds\",[]),Object.assign(this,go.ownDefaults),this.setOptions(s),this.styles||(this.styles={}),this.text=e,this.initialized=!0,this.path&&this.setPathInfo(),this.initDimensions(),this.setCoords()}setPathInfo(){const t=this.path;t&&(t.segmentsInfo=Ur(t.path))}_splitText(){const t=this._splitTextIntoLines(this.text);return this.textLines=t.lines,this._textLines=t.graphemeLines,this._unwrappedTextLines=t._unwrappedLines,this._text=t.graphemeText,t}initDimensions(){this._splitText(),this._clearCache(),this.dirty=!0,this.path?(this.width=this.path.width,this.height=this.path.height):(this.width=this.calcTextWidth()||this.cursorWidth||this.MIN_TEXT_WIDTH,this.height=this.calcTextHeight()),this.textAlign.includes(cs)&&this.enlargeSpaces()}enlargeSpaces(){let t,e,s,i,r,n,o;for(let a=0,h=this._textLines.length;a<h;a++)if((this.textAlign===cs||a!==h-1&&!this.isEndOfWrapping(a))&&(i=0,r=this._textLines[a],e=this.getLineWidth(a),e<this.width&&(o=this.textLines[a].match(this._reSpacesAndTabs)))){s=o.length,t=(this.width-e)/s;for(let e=0;e<=r.length;e++)n=this.__charBounds[a][e],this._reSpaceAndTab.test(r[e])?(n.width+=t,n.kernedWidth+=t,n.left+=i,i+=t):n.left+=i}}isEndOfWrapping(t){return t===this._textLines.length-1}missingNewlineOffset(t){return 1}get2DCursorLocation(t,e){const s=e?this._unwrappedTextLines:this._textLines;let i;for(i=0;i<s.length;i++){if(t<=s[i].length)return{lineIndex:i,charIndex:t};t-=s[i].length+this.missingNewlineOffset(i,e)}return{lineIndex:i-1,charIndex:s[i-1].length<t?s[i-1].length:t}}toString(){return`#<Text (${this.complexity()}): { \"text\": \"${this.text}\", \"fontFamily\": \"${this.fontFamily}\" }>`}_getCacheCanvasDimensions(){const t=super._getCacheCanvasDimensions(),e=this.fontSize;return t.width+=e*t.zoomX,t.height+=e*t.zoomY,t}_render(t){const e=this.path;e&&!e.isNotVisible()&&e._render(t),this._setTextStyles(t),this._renderTextLinesBackground(t),this._renderTextDecoration(t,\"underline\"),this._renderText(t),this._renderTextDecoration(t,\"overline\"),this._renderTextDecoration(t,\"linethrough\")}_renderText(t){this.paintFirst===N?(this._renderTextStroke(t),this._renderTextFill(t)):(this._renderTextFill(t),this._renderTextStroke(t))}_setTextStyles(t,e,s){if(t.textBaseline=\"alphabetic\",this.path)switch(this.pathAlign){case T:t.textBaseline=\"middle\";break;case\"ascender\":t.textBaseline=k;break;case\"descender\":t.textBaseline=D}t.font=this._getFontDeclaration(e,s)}calcTextWidth(){let t=this.getLineWidth(0);for(let e=1,s=this._textLines.length;e<s;e++){const s=this.getLineWidth(e);s>t&&(t=s)}return t}_renderTextLine(t,e,s,i,r,n){this._renderChars(t,e,s,i,r,n)}_renderTextLinesBackground(t){if(!this.textBackgroundColor&&!this.styleHas(\"textBackgroundColor\"))return;const e=t.fillStyle,s=this._getLeftOffset();let i=this._getTopOffset();for(let e=0,r=this._textLines.length;e<r;e++){const r=this.getHeightOfLine(e);if(!this.textBackgroundColor&&!this.styleHas(\"textBackgroundColor\",e)){i+=r;continue}const n=this._textLines[e].length,o=this._getLineLeftOffset(e);let a,h,l=0,c=0,u=this.getValueOfPropertyAt(e,0,\"textBackgroundColor\");const d=this.getHeightOfLineImpl(e);for(let r=0;r<n;r++){const n=this.__charBounds[e][r];h=this.getValueOfPropertyAt(e,r,\"textBackgroundColor\"),this.path?(t.save(),t.translate(n.renderLeft,n.renderTop),t.rotate(n.angle),t.fillStyle=h,h&&t.fillRect(-n.width/2,-d*(1-this._fontSizeFraction),n.width,d),t.restore()):h!==u?(a=s+o+c,this.direction===K&&(a=this.width-a-l),t.fillStyle=u,u&&t.fillRect(a,i,l,d),c=n.left,l=n.width,u=h):l+=n.kernedWidth}h&&!this.path&&(a=s+o+c,this.direction===K&&(a=this.width-a-l),t.fillStyle=h,t.fillRect(a,i,l,d)),i+=r}t.fillStyle=e,this._removeShadow(t)}_measureChar(t,e,s,i){const r=p.getFontCache(e),n=this._getFontDeclaration(e),o=s?s+t:t,a=s&&n===this._getFontDeclaration(i),h=e.fontSize/this.CACHE_FONT_SIZE;let l,c,u,d;if(s&&r.has(s)&&(u=r.get(s)),r.has(t)&&(d=l=r.get(t)),a&&r.has(o)&&(c=r.get(o),d=c-u),void 0===l||void 0===u||void 0===c){const i=function(){if(!uo){const t=vt({width:0,height:0});uo=t.getContext(\"2d\")}return uo}();this._setTextStyles(i,e,!0),void 0===l&&(d=l=i.measureText(t).width,r.set(t,l)),void 0===u&&a&&s&&(u=i.measureText(s).width,r.set(s,u)),a&&void 0===c&&(c=i.measureText(o).width,r.set(o,c),d=c-u)}return{width:l*h,kernedWidth:d*h}}getHeightOfChar(t,e){return this.getValueOfPropertyAt(t,e,\"fontSize\")}measureLine(t){const e=this._measureLine(t);return 0!==this.charSpacing&&(e.width-=this._getWidthOfCharSpacing()),e.width<0&&(e.width=0),e}_measureLine(t){let e,s,i=0;const r=this.pathSide===M,n=this.path,o=this._textLines[t],a=o.length,h=new Array(a);this.__charBounds[t]=h;for(let r=0;r<a;r++){const n=o[r];s=this._getGraphemeBox(n,t,r,e),h[r]=s,i+=s.kernedWidth,e=n}if(h[a]={left:s?s.left+s.width:0,width:0,kernedWidth:0,height:this.fontSize,deltaY:0},n&&n.segmentsInfo){let t=0;const e=n.segmentsInfo[n.segmentsInfo.length-1].length;switch(this.textAlign){case O:t=r?e-i:0;break;case T:t=(e-i)/2;break;case M:t=r?0:e-i}t+=this.pathStartOffset*(r?-1:1);for(let i=r?a-1:0;r?i>=0:i<a;r?i--:i++)s=h[i],t>e?t%=e:t<0&&(t+=e),this._setGraphemeOnPath(t,s),t+=s.kernedWidth}return{width:i,numOfSpaces:0}}_setGraphemeOnPath(t,e){const s=t+e.kernedWidth/2,i=this.path,r=qr(i.path,s,i.segmentsInfo);e.renderLeft=r.x-i.pathOffset.x,e.renderTop=r.y-i.pathOffset.y,e.angle=r.angle+(this.pathSide===M?Math.PI:0)}_getGraphemeBox(t,e,s,i,r){const n=this.getCompleteStyleDeclaration(e,s),o=i?this.getCompleteStyleDeclaration(e,s-1):{},a=this._measureChar(t,n,i,o);let h,l=a.kernedWidth,c=a.width;0!==this.charSpacing&&(h=this._getWidthOfCharSpacing(),c+=h,l+=h);const u={width:c,left:0,height:n.fontSize,kernedWidth:l,deltaY:n.deltaY};if(s>0&&!r){const t=this.__charBounds[e][s-1];u.left=t.left+t.width+a.kernedWidth-a.width}return u}getHeightOfLineImpl(t){const e=this.__lineHeights;if(e[t])return e[t];let s=this.getHeightOfChar(t,0);for(let e=1,i=this._textLines[t].length;e<i;e++)s=Math.max(this.getHeightOfChar(t,e),s);return e[t]=s*this._fontSizeMult}getHeightOfLine(t){return this.getHeightOfLineImpl(t)*this.lineHeight}calcTextHeight(){let t=0;for(let e=0,s=this._textLines.length;e<s;e++)t+=e===s-1?this.getHeightOfLineImpl(e):this.getHeightOfLine(e);return t}_getLeftOffset(){return this.direction===q?-this.width/2:this.width/2}_getTopOffset(){return-this.height/2}_renderTextCommon(t,e){t.save();let s=0;const i=this._getLeftOffset(),r=this._getTopOffset();for(let n=0,o=this._textLines.length;n<o;n++)this._renderTextLine(e,t,this._textLines[n],i+this._getLineLeftOffset(n),r+s+this.getHeightOfLineImpl(n),n),s+=this.getHeightOfLine(n);t.restore()}_renderTextFill(t){(this.fill||this.styleHas(H))&&this._renderTextCommon(t,\"fillText\")}_renderTextStroke(t){(this.stroke&&0!==this.strokeWidth||!this.isEmptyStyles())&&(this.shadow&&!this.shadow.affectStroke&&this._removeShadow(t),t.save(),this._setLineDash(t,this.strokeDashArray),t.beginPath(),this._renderTextCommon(t,\"strokeText\"),t.closePath(),t.restore())}_renderChars(t,e,s,i,r,n){const o=this.textAlign.includes(cs),a=this.path,h=!o&&0===this.charSpacing&&this.isEmptyStyles(n)&&!a,l=this.direction===q,c=this.direction===q?1:-1,u=e.direction;let d,g,f,p,m,v=\"\",y=0;if(e.save(),u!==this.direction&&(e.canvas.setAttribute(\"dir\",l?q:K),e.direction=l?q:K,e.textAlign=l?O:M),r-=this.getHeightOfLineImpl(n)*this._fontSizeFraction,h)return this._renderChar(t,e,n,0,s.join(\"\"),i,r),void e.restore();for(let h=0,l=s.length-1;h<=l;h++)p=h===l||this.charSpacing||a,v+=s[h],f=this.__charBounds[n][h],0===y?(i+=c*(f.kernedWidth-f.width),y+=f.width):y+=f.kernedWidth,o&&!p&&this._reSpaceAndTab.test(s[h])&&(p=!0),p||(d=d||this.getCompleteStyleDeclaration(n,h),g=this.getCompleteStyleDeclaration(n,h+1),p=Yi(d,g,!1)),p&&(a?(e.save(),e.translate(f.renderLeft,f.renderTop),e.rotate(f.angle),this._renderChar(t,e,n,h,v,-y/2,0),e.restore()):(m=i,this._renderChar(t,e,n,h,v,m,r)),v=\"\",d=g,i+=c*y,y=0);e.restore()}_applyPatternGradientTransformText(t){const e=this.width+this.strokeWidth,s=this.height+this.strokeWidth,i=vt({width:e,height:s}),r=i.getContext(\"2d\");return i.width=e,i.height=s,r.beginPath(),r.moveTo(0,0),r.lineTo(e,0),r.lineTo(e,s),r.lineTo(0,s),r.closePath(),r.translate(e/2,s/2),r.fillStyle=t.toLive(r),this._applyPatternGradientTransform(r,t),r.fill(),r.createPattern(i,\"no-repeat\")}handleFiller(t,e,s){let i,r;return zt(s)?\"percentage\"===s.gradientUnits||s.gradientTransform||s.patternTransform?(i=-this.width/2,r=-this.height/2,t.translate(i,r),t[e]=this._applyPatternGradientTransformText(s),{offsetX:i,offsetY:r}):(t[e]=s.toLive(t),this._applyPatternGradientTransform(t,s)):(t[e]=s,{offsetX:0,offsetY:0})}_setStrokeStyles(t,e){let{stroke:s,strokeWidth:i}=e;return t.lineWidth=i,t.lineCap=this.strokeLineCap,t.lineDashOffset=this.strokeDashOffset,t.lineJoin=this.strokeLineJoin,t.miterLimit=this.strokeMiterLimit,this.handleFiller(t,\"strokeStyle\",s)}_setFillStyles(t,e){let{fill:s}=e;return this.handleFiller(t,\"fillStyle\",s)}_renderChar(t,e,s,i,r,n,o){const a=this._getStyleDeclaration(s,i),h=this.getCompleteStyleDeclaration(s,i),l=\"fillText\"===t&&h.fill,c=\"strokeText\"===t&&h.stroke&&h.strokeWidth;if(c||l){if(e.save(),e.font=this._getFontDeclaration(h),a.textBackgroundColor&&this._removeShadow(e),a.deltaY&&(o+=a.deltaY),l){const t=this._setFillStyles(e,h);e.fillText(r,n-t.offsetX,o-t.offsetY)}if(c){const t=this._setStrokeStyles(e,h);e.strokeText(r,n-t.offsetX,o-t.offsetY)}e.restore()}}setSuperscript(t,e){this._setScript(t,e,this.superscript)}setSubscript(t,e){this._setScript(t,e,this.subscript)}_setScript(t,e,s){const i=this.get2DCursorLocation(t,!0),r=this.getValueOfPropertyAt(i.lineIndex,i.charIndex,\"fontSize\"),n=this.getValueOfPropertyAt(i.lineIndex,i.charIndex,\"deltaY\"),o={fontSize:r*s.size,deltaY:n+r*s.baseline};this.setSelectionStyles(o,t,e)}_getLineLeftOffset(t){const e=this.getLineWidth(t),s=this.width-e,i=this.textAlign,r=this.direction,n=this.isEndOfWrapping(t);let o=0;return i===cs||i===gs&&!n||i===ds&&!n||i===us&&!n?0:(i===T&&(o=s/2),i===M&&(o=s),i===gs&&(o=s/2),i===ds&&(o=s),r===K&&(i===M||i===ds?o=0:i===O||i===us?o=-s:i!==T&&i!==gs||(o=-s/2)),o)}_clearCache(){this._forceClearCache=!1,this.__lineWidths=[],this.__lineHeights=[],this.__charBounds=[]}getLineWidth(t){if(void 0!==this.__lineWidths[t])return this.__lineWidths[t];const{width:e}=this.measureLine(t);return this.__lineWidths[t]=e,e}_getWidthOfCharSpacing(){return 0!==this.charSpacing?this.fontSize*this.charSpacing/1e3:0}getValueOfPropertyAt(t,e,s){var i;return null!==(i=this._getStyleDeclaration(t,e)[s])&&void 0!==i?i:this[s]}_renderTextDecoration(t,e){if(!this[e]&&!this.styleHas(e))return;let s=this._getTopOffset();const i=this._getLeftOffset(),r=this.path,n=this._getWidthOfCharSpacing(),o=\"linethrough\"===e?.5:\"overline\"===e?1:0,a=this.offsets[e];for(let h=0,l=this._textLines.length;h<l;h++){const l=this.getHeightOfLine(h);if(!this[e]&&!this.styleHas(e,h)){s+=l;continue}const c=this._textLines[h],u=l/this.lineHeight,d=this._getLineLeftOffset(h);let g=0,f=0,p=this.getValueOfPropertyAt(h,0,e),m=this.getValueOfPropertyAt(h,0,H),v=this.getValueOfPropertyAt(h,0,is),y=p,_=m,x=v;const C=s+u*(1-this._fontSizeFraction);let b=this.getHeightOfChar(h,0),S=this.getValueOfPropertyAt(h,0,\"deltaY\");for(let s=0,n=c.length;s<n;s++){const n=this.__charBounds[h][s];y=this.getValueOfPropertyAt(h,s,e),_=this.getValueOfPropertyAt(h,s,H),x=this.getValueOfPropertyAt(h,s,is);const l=this.getHeightOfChar(h,s),c=this.getValueOfPropertyAt(h,s,\"deltaY\");if(r&&y&&_){const e=this.fontSize*x/1e3;t.save(),t.fillStyle=m,t.translate(n.renderLeft,n.renderTop),t.rotate(n.angle),t.fillRect(-n.kernedWidth/2,a*l+c-o*e,n.kernedWidth,e),t.restore()}else if((y!==p||_!==m||l!==b||x!==v||c!==S)&&f>0){const e=this.fontSize*v/1e3;let s=i+d+g;this.direction===K&&(s=this.width-s-f),p&&m&&v&&(t.fillStyle=m,t.fillRect(s,C+a*b+S-o*e,f,e)),g=n.left,f=n.width,p=y,v=x,m=_,b=l,S=c}else f+=n.kernedWidth}let w=i+d+g;this.direction===K&&(w=this.width-w-f),t.fillStyle=_;const T=this.fontSize*x/1e3;y&&_&&x&&t.fillRect(w,C+a*b+S-o*T,f-n,T),s+=l}this._removeShadow(t)}_getFontDeclaration(){let{fontFamily:t=this.fontFamily,fontStyle:e=this.fontStyle,fontWeight:s=this.fontWeight,fontSize:i=this.fontSize}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=arguments.length>1?arguments[1]:void 0;const n=t.includes(\"'\")||t.includes('\"')||t.includes(\",\")||go.genericFonts.includes(t.toLowerCase())?t:`\"${t}\"`;return[e,s,`${r?this.CACHE_FONT_SIZE:i}px`,n].join(\" \")}render(t){this.visible&&(this.canvas&&this.canvas.skipOffscreen&&!this.group&&!this.isOnScreen()||(this._forceClearCache&&this.initDimensions(),super.render(t)))}graphemeSplit(t){return re(t)}_splitTextIntoLines(t){const e=t.split(this._reNewline),s=new Array(e.length),i=[\"\\n\"];let r=[];for(let t=0;t<e.length;t++)s[t]=this.graphemeSplit(e[t]),r=r.concat(s[t],i);return r.pop(),{_unwrappedLines:s,lines:e,graphemeText:r,graphemeLines:s}}toObject(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return{...super.toObject([...as,...t]),styles:Wi(this.styles,this.text),...this.path?{path:this.path.toObject()}:{}}}set(t,e){const{textLayoutProperties:s}=this.constructor;super.set(t,e);let i=!1,r=!1;if(\"object\"==typeof t)for(const e in t)\"path\"===e&&this.setPathInfo(),i=i||s.includes(e),r=r||\"path\"===e;else i=s.includes(t),r=\"path\"===t;return r&&this.setPathInfo(),i&&this.initialized&&(this.initDimensions(),this.setCoords()),this}complexity(){return 1}static async fromElement(t,e,s){const i=gr(t,go.ATTRIBUTE_NAMES,s),{textAnchor:r=O,textDecoration:n=\"\",dx:o=0,dy:a=0,top:h=0,left:l=0,fontSize:c=S,strokeWidth:u=1,...d}={...e,...i},g=new this(ze(t.textContent||\"\").trim(),{left:l+o,top:h+a,underline:n.includes(\"underline\"),overline:n.includes(\"overline\"),linethrough:n.includes(\"line-through\"),strokeWidth:0,fontSize:c,...d}),f=g.getScaledHeight()/g.height,p=((g.height+g.strokeWidth)*g.lineHeight-g.height)*f,m=g.getScaledHeight()+p;let v=0;return r===T&&(v=g.getScaledWidth()/2),r===M&&(v=g.getScaledWidth()),g.set({left:g.left-v,top:g.top-(m-g.fontSize*(.07+g._fontSizeFraction))/g.lineHeight,strokeWidth:u}),g}static fromObject(t){return this._fromObject({...t,styles:Vi(t.styles||{},t.text)},{extraParam:\"text\"})}}t(go,\"textLayoutProperties\",os),t(go,\"cacheProperties\",[...Ps,...as]),t(go,\"ownDefaults\",ls),t(go,\"type\",\"Text\"),t(go,\"genericFonts\",[\"serif\",\"sans-serif\",\"monospace\",\"cursive\",\"fantasy\",\"system-ui\",\"ui-serif\",\"ui-sans-serif\",\"ui-monospace\",\"ui-rounded\",\"math\",\"emoji\",\"fangsong\"]),t(go,\"ATTRIBUTE_NAMES\",zi.concat(\"x\",\"y\",\"dx\",\"dy\",\"font-family\",\"font-style\",\"font-weight\",\"font-size\",\"letter-spacing\",\"text-decoration\",\"text-anchor\")),Ai(go,[class extends es{_toSVG(){const t=this._getSVGLeftTopOffsets(),e=this._getSVGTextAndBg(t.textTop,t.textLeft);return this._wrapSVGTextAndBg(e)}toSVG(t){const e=this._createBaseSVGMarkup(this._toSVG(),{reviver:t,noStyle:!0,withShadow:!0}),s=this.path;return s?e+s._createBaseSVGMarkup(s._toSVG(),{reviver:t,withShadow:!0,additionalTransform:Vt(this.calcOwnMatrix())}):e}_getSVGLeftTopOffsets(){return{textLeft:-this.width/2,textTop:-this.height/2,lineTop:this.getHeightOfLine(0)}}_wrapSVGTextAndBg(t){let{textBgRects:e,textSpans:s}=t;const i=this.getSvgTextDecoration(this);return[e.join(\"\"),'\\t\\t<text xml:space=\"preserve\" ',`font-family=\"${se(this.fontFamily.replace(lo,\"'\"))}\" `,`font-size=\"${se(this.fontSize)}\" `,this.fontStyle?`font-style=\"${se(this.fontStyle)}\" `:\"\",this.fontWeight?`font-weight=\"${se(this.fontWeight)}\" `:\"\",i?`text-decoration=\"${i}\" `:\"\",\"rtl\"===this.direction?'direction=\"rtl\" ':\"\",'style=\"',this.getSvgStyles(!0),'\"',this.addPaintOrder(),\" >\",s.join(\"\"),\"</text>\\n\"]}_getSVGTextAndBg(t,e){const s=[],i=[];let r,n=t;this.backgroundColor&&i.push(co(this.backgroundColor,-this.width/2,-this.height/2,this.width,this.height));for(let t=0,o=this._textLines.length;t<o;t++)r=this._getLineLeftOffset(t),\"rtl\"===this.direction&&(r+=this.width),(this.textBackgroundColor||this.styleHas(\"textBackgroundColor\",t))&&this._setSVGTextLineBg(i,t,e+r,n),this._setSVGTextLineText(s,t,e+r,n),n+=this.getHeightOfLine(t);return{textSpans:s,textBgRects:i}}_createTextCharSpan(t,e,i,r,n){const o=s.NUM_FRACTION_DIGITS,a=this.getSvgSpanStyles(e,t!==t.trim()||!!t.match(ho)),h=a?`style=\"${a}\"`:\"\",l=e.deltaY,c=l?` dy=\"${Wt(l,o)}\" `:\"\",{angle:u,renderLeft:d,renderTop:g,width:f}=n;let p=\"\";if(void 0!==d){const t=f/2;u&&(p=` rotate=\"${Wt(Ct(u),o)}\"`);const e=Pt({angle:Ct(u)});e[4]=d,e[5]=g;const s=new ot(-t,0).transform(e);i=s.x,r=s.y}return`<tspan x=\"${Wt(i,o)}\" y=\"${Wt(r,o)}\" ${c}${p}${h}>${se(t)}</tspan>`}_setSVGTextLineText(t,e,s,i){const r=this.getHeightOfLine(e),n=this.textAlign.includes(cs),o=this._textLines[e];let a,h,l,c,u,d=\"\",g=0;i+=r*(1-this._fontSizeFraction)/this.lineHeight;for(let r=0,f=o.length-1;r<=f;r++)u=r===f||this.charSpacing||this.path,d+=o[r],l=this.__charBounds[e][r],0===g?(s+=l.kernedWidth-l.width,g+=l.width):g+=l.kernedWidth,n&&!u&&this._reSpaceAndTab.test(o[r])&&(u=!0),u||(a=a||this.getCompleteStyleDeclaration(e,r),h=this.getCompleteStyleDeclaration(e,r+1),u=Yi(a,h,!0)),u&&(c=this._getStyleDeclaration(e,r),t.push(this._createTextCharSpan(d,c,s,i,l)),d=\"\",a=h,\"rtl\"===this.direction?s-=g:s+=g,g=0)}_setSVGTextLineBg(t,e,s,i){const r=this._textLines[e],n=this.getHeightOfLine(e)/this.lineHeight;let o,a=0,h=0,l=this.getValueOfPropertyAt(e,0,\"textBackgroundColor\");for(let c=0;c<r.length;c++){const{left:r,width:u,kernedWidth:d}=this.__charBounds[e][c];o=this.getValueOfPropertyAt(e,c,\"textBackgroundColor\"),o!==l?(l&&t.push(co(l,s+h,i,a,n)),h=r,a=u,l=o):a+=d}o&&t.push(co(l,s+h,i,a,n))}getSvgStyles(t){return`${super.getSvgStyles(t)} text-decoration-thickness: ${Wt(this.textDecorationThickness*this.getObjectScaling().y/10,s.NUM_FRACTION_DIGITS)}%; white-space: pre;`}getSvgSpanStyles(t,e){const{fontFamily:i,strokeWidth:r,stroke:n,fill:o,fontSize:a,fontStyle:h,fontWeight:l,textDecorationThickness:c,linethrough:u,overline:d,underline:g}=t,f=this.getSvgTextDecoration({underline:null!=g?g:this.underline,overline:null!=d?d:this.overline,linethrough:null!=u?u:this.linethrough}),p=c||this.textDecorationThickness;return[n?ts(N,n):\"\",r?`stroke-width: ${se(r)}; `:\"\",i?`font-family: ${i.includes(\"'\")||i.includes('\"')?se(i):`'${se(i)}'`}; `:\"\",a?`font-size: ${se(a)}px; `:\"\",h?`font-style: ${se(h)}; `:\"\",l?`font-weight: ${se(l)}; `:\"\",f?`text-decoration: ${f}; text-decoration-thickness: ${Wt(p*this.getObjectScaling().y/10,s.NUM_FRACTION_DIGITS)}%; `:\"\",o?ts(H,o):\"\",e?\"white-space: pre; \":\"\"].join(\"\")}getSvgTextDecoration(t){return[\"overline\",\"underline\",\"line-through\"].filter(e=>t[e.replace(\"-\",\"\")]).join(\" \")}}]),tt.setClass(go),tt.setSVGClass(go);class fo{constructor(e){t(this,\"target\",void 0),t(this,\"__mouseDownInPlace\",!1),t(this,\"__dragStartFired\",!1),t(this,\"__isDraggingOver\",!1),t(this,\"__dragStartSelection\",void 0),t(this,\"__dragImageDisposer\",void 0),t(this,\"_dispose\",void 0),this.target=e;const s=[this.target.on(\"dragenter\",this.dragEnterHandler.bind(this)),this.target.on(\"dragover\",this.dragOverHandler.bind(this)),this.target.on(\"dragleave\",this.dragLeaveHandler.bind(this)),this.target.on(\"dragend\",this.dragEndHandler.bind(this)),this.target.on(\"drop\",this.dropHandler.bind(this))];this._dispose=()=>{s.forEach(t=>t()),this._dispose=void 0}}isPointerOverSelection(t){const e=this.target,s=e.getSelectionStartFromPointer(t);return e.isEditing&&s>=e.selectionStart&&s<=e.selectionEnd&&e.selectionStart<e.selectionEnd}start(t){return this.__mouseDownInPlace=this.isPointerOverSelection(t)}isActive(){return this.__mouseDownInPlace}end(t){const e=this.isActive();return e&&!this.__dragStartFired&&(this.target.setCursorByClick(t),this.target.initDelayedCursor(!0)),this.__mouseDownInPlace=!1,this.__dragStartFired=!1,this.__isDraggingOver=!1,e}getDragStartSelection(){return this.__dragStartSelection}setDragImage(t,e){var s;let{selectionStart:i,selectionEnd:r}=e;const n=this.target,o=n.canvas,a=new ot(n.flipX?-1:1,n.flipY?-1:1),h=n._getCursorBoundaries(i),l=new ot(h.left+h.leftOffset,h.top+h.topOffset).multiply(a).transform(n.calcTransformMatrix()),c=o.getScenePoint(t).subtract(l),u=n.getCanvasRetinaScaling(),d=n.getBoundingRect(),g=l.subtract(new ot(d.left,d.top)),f=o.viewportTransform,p=g.add(c).transform(f,!0),m=n.backgroundColor,v=Xi(n.styles);n.backgroundColor=\"\";const y={stroke:\"transparent\",fill:\"transparent\",textBackgroundColor:\"transparent\"};n.setSelectionStyles(y,0,i),n.setSelectionStyles(y,r,n.text.length),n.dirty=!0;const _=n.toCanvasElement({enableRetinaScaling:o.enableRetinaScaling,viewportTransform:!0});n.backgroundColor=m,n.styles=v,n.dirty=!0,an(_,{position:\"fixed\",left:-_.width+\"px\",border:P,width:_.width/u+\"px\",height:_.height/u+\"px\"}),this.__dragImageDisposer&&this.__dragImageDisposer(),this.__dragImageDisposer=()=>{_.remove()},qt(t.target||this.target.hiddenTextarea).body.appendChild(_),null===(s=t.dataTransfer)||void 0===s||s.setDragImage(_,p.x,p.y)}onDragStart(t){this.__dragStartFired=!0;const e=this.target,s=this.isActive();if(s&&t.dataTransfer){const s=this.__dragStartSelection={selectionStart:e.selectionStart,selectionEnd:e.selectionEnd},i=e._text.slice(s.selectionStart,s.selectionEnd).join(\"\"),r={text:e.text,value:i,...s};t.dataTransfer.setData(\"text/plain\",i),t.dataTransfer.setData(\"application/fabric\",JSON.stringify({value:i,styles:e.getSelectionStyles(s.selectionStart,s.selectionEnd,!0)})),t.dataTransfer.effectAllowed=\"copyMove\",this.setDragImage(t,r)}return e.abortCursorAnimation(),s}canDrop(t){if(this.target.editable&&!this.target.getActiveControl()&&!t.defaultPrevented){if(this.isActive()&&this.__dragStartSelection){const e=this.target.getSelectionStartFromPointer(t),s=this.__dragStartSelection;return e<s.selectionStart||e>s.selectionEnd}return!0}return!1}targetCanDrop(t){return this.target.canDrop(t)}dragEnterHandler(t){let{e:e}=t;const s=this.targetCanDrop(e);!this.__isDraggingOver&&s&&(this.__isDraggingOver=!0)}dragOverHandler(t){const{e:e}=t,s=this.targetCanDrop(e);!this.__isDraggingOver&&s?this.__isDraggingOver=!0:this.__isDraggingOver&&!s&&(this.__isDraggingOver=!1),this.__isDraggingOver&&(e.preventDefault(),t.canDrop=!0,t.dropTarget=this.target)}dragLeaveHandler(){(this.__isDraggingOver||this.isActive())&&(this.__isDraggingOver=!1)}dropHandler(t){var e;const{e:s}=t,i=s.defaultPrevented;this.__isDraggingOver=!1,s.preventDefault();let r=null===(e=s.dataTransfer)||void 0===e?void 0:e.getData(\"text/plain\");if(r&&!i){const e=this.target,i=e.canvas;let n=e.getSelectionStartFromPointer(s);const{styles:o}=s.dataTransfer.types.includes(\"application/fabric\")?JSON.parse(s.dataTransfer.getData(\"application/fabric\")):{},a=r[Math.max(0,r.length-1)],h=0;if(this.__dragStartSelection){const t=this.__dragStartSelection.selectionStart,s=this.__dragStartSelection.selectionEnd;n>t&&n<=s?n=t:n>s&&(n-=s-t),e.removeChars(t,s),delete this.__dragStartSelection}e._reNewline.test(a)&&(e._reNewline.test(e._text[n])||n===e._text.length)&&(r=r.trimEnd()),t.didDrop=!0,t.dropTarget=e,e.insertChars(r,o,n),i.setActiveObject(e),e.enterEditing(s),e.selectionStart=Math.min(n+h,e._text.length),e.selectionEnd=Math.min(e.selectionStart+r.length,e._text.length),e.hiddenTextarea.value=e.text,e._updateTextarea(),e.hiddenTextarea.focus(),e.fire(X,{index:n+h,action:\"drop\"}),i.fire(\"text:changed\",{target:e}),i.contextTopDirty=!0,i.requestRenderAll()}}dragEndHandler(t){let{e:e}=t;if(this.isActive()&&this.__dragStartFired&&this.__dragStartSelection){var s;const t=this.target,i=this.target.canvas,{selectionStart:r,selectionEnd:n}=this.__dragStartSelection,o=(null===(s=e.dataTransfer)||void 0===s?void 0:s.dropEffect)||P;o===P?(t.selectionStart=r,t.selectionEnd=n,t._updateTextarea(),t.hiddenTextarea.focus()):(t.clearContextTop(),\"move\"===o&&(t.removeChars(r,n),t.selectionStart=t.selectionEnd=r,t.hiddenTextarea&&(t.hiddenTextarea.value=t.text),t._updateTextarea(),t.fire(X,{index:r,action:\"dragend\"}),i.fire(\"text:changed\",{target:t}),i.requestRenderAll()),t.exitEditing())}this.__dragImageDisposer&&this.__dragImageDisposer(),delete this.__dragImageDisposer,delete this.__dragStartSelection,this.__isDraggingOver=!1}dispose(){this._dispose&&this._dispose()}}const po=/[ \\n\\.,;!\\?\\-]/;class mo extends go{constructor(){super(...arguments),t(this,\"_currentCursorOpacity\",1)}initBehavior(){this._tick=this._tick.bind(this),this._onTickComplete=this._onTickComplete.bind(this),this.updateSelectionOnMouseMove=this.updateSelectionOnMouseMove.bind(this)}onDeselect(t){return this.isEditing&&this.exitEditing(),this.selected=!1,super.onDeselect(t)}_animateCursor(t){let{toValue:e,duration:s,delay:i,onComplete:r}=t;return Gs({startValue:this._currentCursorOpacity,endValue:e,duration:s,delay:i,onComplete:r,abort:()=>!this.canvas||this.selectionStart!==this.selectionEnd,onChange:t=>{this._currentCursorOpacity=t,this.renderCursorOrSelection()}})}_tick(t){this._currentTickState=this._animateCursor({toValue:0,duration:this.cursorDuration/2,delay:Math.max(t||0,100),onComplete:this._onTickComplete})}_onTickComplete(){var t;null===(t=this._currentTickCompleteState)||void 0===t||t.abort(),this._currentTickCompleteState=this._animateCursor({toValue:1,duration:this.cursorDuration,onComplete:this._tick})}initDelayedCursor(t){this.abortCursorAnimation(),this._tick(t?0:this.cursorDelay)}abortCursorAnimation(){let t=!1;[this._currentTickState,this._currentTickCompleteState].forEach(e=>{e&&!e.isDone()&&(t=!0,e.abort())}),this._currentCursorOpacity=1,t&&this.clearContextTop()}restartCursorIfNeeded(){[this._currentTickState,this._currentTickCompleteState].some(t=>!t||t.isDone())&&this.initDelayedCursor()}selectAll(){return this.selectionStart=0,this.selectionEnd=this._text.length,this._fireSelectionChanged(),this._updateTextarea(),this}cmdAll(){this.selectAll(),this.renderCursorOrSelection()}getSelectedText(){return this._text.slice(this.selectionStart,this.selectionEnd).join(\"\")}findWordBoundaryLeft(t){let e=0,s=t-1;if(this._reSpace.test(this._text[s]))for(;this._reSpace.test(this._text[s]);)e++,s--;for(;/\\S/.test(this._text[s])&&s>-1;)e++,s--;return t-e}findWordBoundaryRight(t){let e=0,s=t;if(this._reSpace.test(this._text[s]))for(;this._reSpace.test(this._text[s]);)e++,s++;for(;/\\S/.test(this._text[s])&&s<this._text.length;)e++,s++;return t+e}findLineBoundaryLeft(t){let e=0,s=t-1;for(;!/\\n/.test(this._text[s])&&s>-1;)e++,s--;return t-e}findLineBoundaryRight(t){let e=0,s=t;for(;!/\\n/.test(this._text[s])&&s<this._text.length;)e++,s++;return t+e}searchWordBoundary(t,e){const s=this._text;let i=t>0&&this._reSpace.test(s[t])&&(-1===e||!E.test(s[t-1]))?t-1:t,r=s[i];for(;i>0&&i<s.length&&!po.test(r);)i+=e,r=s[i];return-1===e&&po.test(r)&&i++,i}selectWord(t){t=null!=t?t:this.selectionStart;const e=this.searchWordBoundary(t,-1),s=Math.max(e,this.searchWordBoundary(t,1));this.selectionStart=e,this.selectionEnd=s,this._fireSelectionChanged(),this._updateTextarea(),this.renderCursorOrSelection()}selectLine(t){t=null!=t?t:this.selectionStart;const e=this.findLineBoundaryLeft(t),s=this.findLineBoundaryRight(t);this.selectionStart=e,this.selectionEnd=s,this._fireSelectionChanged(),this._updateTextarea()}enterEditing(t){!this.isEditing&&this.editable&&(this.enterEditingImpl(),this.fire(\"editing:entered\",t?{e:t}:void 0),this._fireSelectionChanged(),this.canvas&&(this.canvas.fire(\"text:editing:entered\",{target:this,e:t}),this.canvas.requestRenderAll()))}enterEditingImpl(){this.canvas&&(this.canvas.calcOffset(),this.canvas.textEditingManager.exitTextEditing()),this.isEditing=!0,this.initHiddenTextarea(),this.hiddenTextarea.focus(),this.hiddenTextarea.value=this.text,this._updateTextarea(),this._saveEditingProps(),this._setEditingProps(),this._textBeforeEdit=this.text,this._tick()}updateSelectionOnMouseMove(t){if(this.getActiveControl())return;const e=this.hiddenTextarea;qt(e).activeElement!==e&&e.focus();const s=this.getSelectionStartFromPointer(t),i=this.selectionStart,r=this.selectionEnd;(s===this.__selectionStartOnMouseDown&&i!==r||i!==s&&r!==s)&&(s>this.__selectionStartOnMouseDown?(this.selectionStart=this.__selectionStartOnMouseDown,this.selectionEnd=s):(this.selectionStart=s,this.selectionEnd=this.__selectionStartOnMouseDown),this.selectionStart===i&&this.selectionEnd===r||(this._fireSelectionChanged(),this._updateTextarea(),this.renderCursorOrSelection()))}_setEditingProps(){this.hoverCursor=\"text\",this.canvas&&(this.canvas.defaultCursor=this.canvas.moveCursor=\"text\"),this.borderColor=this.editingBorderColor,this.hasControls=this.selectable=!1,this.lockMovementX=this.lockMovementY=!0}fromStringToGraphemeSelection(t,e,s){const i=s.slice(0,t),r=this.graphemeSplit(i).length;if(t===e)return{selectionStart:r,selectionEnd:r};const n=s.slice(t,e);return{selectionStart:r,selectionEnd:r+this.graphemeSplit(n).length}}fromGraphemeToStringSelection(t,e,s){const i=s.slice(0,t).join(\"\").length;if(t===e)return{selectionStart:i,selectionEnd:i};return{selectionStart:i,selectionEnd:i+s.slice(t,e).join(\"\").length}}_updateTextarea(){if(this.cursorOffsetCache={},this.hiddenTextarea){if(!this.inCompositionMode){const t=this.fromGraphemeToStringSelection(this.selectionStart,this.selectionEnd,this._text);this.hiddenTextarea.selectionStart=t.selectionStart,this.hiddenTextarea.selectionEnd=t.selectionEnd}this.updateTextareaPosition()}}updateFromTextArea(){const{hiddenTextarea:t,direction:e,textAlign:s,inCompositionMode:i}=this;if(!t)return;const r=s!==cs?s.replace(\"justify-\",\"\"):e===q?O:M,n=this.getPositionByOrigin(r,\"top\");this.cursorOffsetCache={},this.text=t.value,this.set(\"dirty\",!0),this.initDimensions(),this.setPositionByOrigin(n,r,\"top\"),this.setCoords();const o=this.fromStringToGraphemeSelection(t.selectionStart,t.selectionEnd,t.value);this.selectionEnd=this.selectionStart=o.selectionEnd,i||(this.selectionStart=o.selectionStart),this.updateTextareaPosition()}updateTextareaPosition(){if(this.selectionStart===this.selectionEnd){const t=this._calcTextareaPosition();this.hiddenTextarea.style.left=t.left,this.hiddenTextarea.style.top=t.top}}_calcTextareaPosition(){if(!this.canvas)return{left:\"1px\",top:\"1px\"};const t=this.inCompositionMode?this.compositionStart:this.selectionStart,e=this._getCursorBoundaries(t),s=this.get2DCursorLocation(t),i=s.lineIndex,r=s.charIndex,n=this.getValueOfPropertyAt(i,r,\"fontSize\")*this.lineHeight,o=e.leftOffset,a=this.getCanvasRetinaScaling(),h=this.canvas.upperCanvasEl,l=h.width/a,c=h.height/a,u=l-n,d=c-n,g=new ot(e.left+o,e.top+e.topOffset+n).transform(this.calcTransformMatrix()).transform(this.canvas.viewportTransform).multiply(new ot(h.clientWidth/l,h.clientHeight/c));return g.x<0&&(g.x=0),g.x>u&&(g.x=u),g.y<0&&(g.y=0),g.y>d&&(g.y=d),g.x+=this.canvas._offset.left,g.y+=this.canvas._offset.top,{left:`${g.x}px`,top:`${g.y}px`,fontSize:`${n}px`,charHeight:n}}_saveEditingProps(){this._savedProps={hasControls:this.hasControls,borderColor:this.borderColor,lockMovementX:this.lockMovementX,lockMovementY:this.lockMovementY,hoverCursor:this.hoverCursor,selectable:this.selectable,defaultCursor:this.canvas&&this.canvas.defaultCursor,moveCursor:this.canvas&&this.canvas.moveCursor}}_restoreEditingProps(){this._savedProps&&(this.hoverCursor=this._savedProps.hoverCursor,this.hasControls=this._savedProps.hasControls,this.borderColor=this._savedProps.borderColor,this.selectable=this._savedProps.selectable,this.lockMovementX=this._savedProps.lockMovementX,this.lockMovementY=this._savedProps.lockMovementY,this.canvas&&(this.canvas.defaultCursor=this._savedProps.defaultCursor||this.canvas.defaultCursor,this.canvas.moveCursor=this._savedProps.moveCursor||this.canvas.moveCursor),delete this._savedProps)}exitEditingImpl(){const t=this.hiddenTextarea;this.selected=!1,this.isEditing=!1,t&&(t.blur&&t.blur(),t.parentNode&&t.parentNode.removeChild(t)),this.hiddenTextarea=null,this.abortCursorAnimation(),this.selectionStart!==this.selectionEnd&&this.clearContextTop(),this.selectionEnd=this.selectionStart,this._restoreEditingProps(),this._forceClearCache&&(this.initDimensions(),this.setCoords())}exitEditing(){const t=this._textBeforeEdit!==this.text;return this.exitEditingImpl(),this.fire(\"editing:exited\"),t&&this.fire(U),this.canvas&&(this.canvas.fire(\"text:editing:exited\",{target:this}),t&&this.canvas.fire(\"object:modified\",{target:this})),this}_removeExtraneousStyles(){for(const t in this.styles)this._textLines[t]||delete this.styles[t]}removeStyleFromTo(t,e){const{lineIndex:s,charIndex:i}=this.get2DCursorLocation(t,!0),{lineIndex:r,charIndex:n}=this.get2DCursorLocation(e,!0);if(s!==r){if(this.styles[s])for(let t=i;t<this._unwrappedTextLines[s].length;t++)delete this.styles[s][t];if(this.styles[r])for(let t=n;t<this._unwrappedTextLines[r].length;t++){const e=this.styles[r][t];e&&(this.styles[s]||(this.styles[s]={}),this.styles[s][i+t-n]=e)}for(let t=s+1;t<=r;t++)delete this.styles[t];this.shiftLineStyles(r,s-r)}else if(this.styles[s]){const t=this.styles[s],e=n-i;for(let e=i;e<n;e++)delete t[e];for(const i in this.styles[s]){const s=parseInt(i,10);s>=n&&(t[s-e]=t[i],delete t[i])}}}shiftLineStyles(t,e){const s=Object.assign({},this.styles);for(const i in this.styles){const r=parseInt(i,10);r>t&&(this.styles[r+e]=s[r],s[r-e]||delete this.styles[r])}}insertNewlineStyleObject(t,e,s,i){const r={},n=this._unwrappedTextLines[t].length,o=n===e;let a=!1;s||(s=1),this.shiftLineStyles(t,s);const h=this.styles[t]?this.styles[t][0===e?e:e-1]:void 0;for(const s in this.styles[t]){const i=parseInt(s,10);i>=e&&(a=!0,r[i-e]=this.styles[t][s],o&&0===e||delete this.styles[t][s])}let l=!1;for(a&&!o&&(this.styles[t+s]=r,l=!0),(l||n>e)&&s--;s>0;)i&&i[s-1]?this.styles[t+s]={0:{...i[s-1]}}:h?this.styles[t+s]={0:{...h}}:delete this.styles[t+s],s--;this._forceClearCache=!0}insertCharStyleObject(t,e,s,i){this.styles||(this.styles={});const r=this.styles[t],n=r?{...r}:{};s||(s=1);for(const t in n){const i=parseInt(t,10);i>=e&&(r[i+s]=n[i],n[i-s]||delete r[i])}if(this._forceClearCache=!0,i){for(;s--;)Object.keys(i[s]).length&&(this.styles[t]||(this.styles[t]={}),this.styles[t][e+s]={...i[s]});return}if(!r)return;const o=r[e?e-1:1];for(;o&&s--;)this.styles[t][e+s]={...o}}insertNewStyleBlock(t,e,s){const i=this.get2DCursorLocation(e,!0),r=[0];let n,o=0;for(let e=0;e<t.length;e++)\"\\n\"===t[e]?(o++,r[o]=0):r[o]++;for(r[0]>0&&(this.insertCharStyleObject(i.lineIndex,i.charIndex,r[0],s),s=s&&s.slice(r[0]+1)),o&&this.insertNewlineStyleObject(i.lineIndex,i.charIndex+r[0],o),n=1;n<o;n++)r[n]>0?this.insertCharStyleObject(i.lineIndex+n,0,r[n],s):s&&this.styles[i.lineIndex+n]&&s[0]&&(this.styles[i.lineIndex+n][0]=s[0]),s=s&&s.slice(r[n]+1);r[n]>0&&this.insertCharStyleObject(i.lineIndex+n,0,r[n],s)}removeChars(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:t+1;this.removeStyleFromTo(t,e),this._text.splice(t,e-t),this.text=this._text.join(\"\"),this.set(\"dirty\",!0),this.initDimensions(),this.setCoords(),this._removeExtraneousStyles()}insertChars(t,e,s){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:s;i>s&&this.removeStyleFromTo(s,i);const r=this.graphemeSplit(t);this.insertNewStyleBlock(r,s,e),this._text=[...this._text.slice(0,s),...r,...this._text.slice(i)],this.text=this._text.join(\"\"),this.set(\"dirty\",!0),this.initDimensions(),this.setCoords(),this._removeExtraneousStyles()}setSelectionStartEndWithShift(t,e,s){s<=t?(e===t?this._selectionDirection=O:this._selectionDirection===M&&(this._selectionDirection=O,this.selectionEnd=t),this.selectionStart=s):s>t&&s<e?this._selectionDirection===M?this.selectionEnd=s:this.selectionStart=s:(e===t?this._selectionDirection=M:this._selectionDirection===O&&(this._selectionDirection=M,this.selectionStart=e),this.selectionEnd=s)}}class vo extends mo{initHiddenTextarea(){const t=this.canvas&&qt(this.canvas.getElement())||d(),e=t.createElement(\"textarea\");Object.entries({autocapitalize:\"off\",autocorrect:\"off\",autocomplete:\"off\",spellcheck:\"false\",\"data-fabric\":\"textarea\",wrap:\"off\",name:\"fabricTextarea\"}).map(t=>{let[s,i]=t;return e.setAttribute(s,i)});const{top:s,left:i,fontSize:r}=this._calcTextareaPosition();e.style.cssText=`position: absolute; top: ${s}; left: ${i}; z-index: -999; opacity: 0; width: 1px; height: 1px; font-size: 1px; padding-top: ${r};`,(this.hiddenTextareaContainer||t.body).appendChild(e),Object.entries({blur:\"blur\",keydown:\"onKeyDown\",keyup:\"onKeyUp\",input:\"onInput\",copy:\"copy\",cut:\"copy\",paste:\"paste\",compositionstart:\"onCompositionStart\",compositionupdate:\"onCompositionUpdate\",compositionend:\"onCompositionEnd\"}).map(t=>{let[s,i]=t;return e.addEventListener(s,this[i].bind(this))}),this.hiddenTextarea=e}blur(){this.abortCursorAnimation()}onKeyDown(t){if(!this.isEditing)return;const e=\"rtl\"===this.direction?this.keysMapRtl:this.keysMap;if(t.keyCode in e)this[e[t.keyCode]](t);else{if(!(t.keyCode in this.ctrlKeysMapDown)||!t.ctrlKey&&!t.metaKey)return;this[this.ctrlKeysMapDown[t.keyCode]](t)}t.stopImmediatePropagation(),t.preventDefault(),t.keyCode>=33&&t.keyCode<=40?(this.inCompositionMode=!1,this.clearContextTop(),this.renderCursorOrSelection()):this.canvas&&this.canvas.requestRenderAll()}onKeyUp(t){!this.isEditing||this._copyDone||this.inCompositionMode?this._copyDone=!1:t.keyCode in this.ctrlKeysMapUp&&(t.ctrlKey||t.metaKey)&&(this[this.ctrlKeysMapUp[t.keyCode]](t),t.stopImmediatePropagation(),t.preventDefault(),this.canvas&&this.canvas.requestRenderAll())}onInput(t){const e=this.fromPaste,{value:i,selectionStart:r,selectionEnd:n}=this.hiddenTextarea;if(this.fromPaste=!1,t&&t.stopPropagation(),!this.isEditing)return;const o=()=>{this.updateFromTextArea(),this.fire(X),this.canvas&&(this.canvas.fire(\"text:changed\",{target:this}),this.canvas.requestRenderAll())};if(\"\"===this.hiddenTextarea.value)return this.styles={},void o();const a=this._splitTextIntoLines(i).graphemeText,h=this._text.length,l=a.length,c=this.selectionStart,d=this.selectionEnd,g=c!==d;let f,p,m,v,y=l-h;const _=this.fromStringToGraphemeSelection(r,n,i),x=c>_.selectionStart;g?(p=this._text.slice(c,d),y+=d-c):l<h&&(p=x?this._text.slice(d+y,d):this._text.slice(c,c-y));const C=a.slice(_.selectionEnd-y,_.selectionEnd);if(p&&p.length&&(C.length&&(f=this.getSelectionStyles(c,c+1,!1),f=C.map(()=>f[0])),g?(m=c,v=d):x?(m=d-p.length,v=d):(m=d,v=d+p.length),this.removeStyleFromTo(m,v)),C.length){const{copyPasteData:t}=u();e&&C.join(\"\")===t.copiedText&&!s.disableStyleCopyPaste&&(f=t.copiedTextStyle),this.insertNewStyleBlock(C,c,f)}o()}onCompositionStart(){this.inCompositionMode=!0}onCompositionEnd(){this.inCompositionMode=!1}onCompositionUpdate(t){let{target:e}=t;const{selectionStart:s,selectionEnd:i}=e;this.compositionStart=s,this.compositionEnd=i,this.updateTextareaPosition()}copy(){if(this.selectionStart===this.selectionEnd)return;const{copyPasteData:t}=u();t.copiedText=this.getSelectedText(),s.disableStyleCopyPaste?t.copiedTextStyle=void 0:t.copiedTextStyle=this.getSelectionStyles(this.selectionStart,this.selectionEnd,!0),this._copyDone=!0}paste(){this.fromPaste=!0}_getWidthBeforeCursor(t,e){let s,i=this._getLineLeftOffset(t);return e>0&&(s=this.__charBounds[t][e-1],i+=s.left+s.width),i}getDownCursorOffset(t,e){const s=this._getSelectionForOffset(t,e),i=this.get2DCursorLocation(s),r=i.lineIndex;if(r===this._textLines.length-1||t.metaKey||34===t.keyCode)return this._text.length-s;const n=i.charIndex,o=this._getWidthBeforeCursor(r,n),a=this._getIndexOnLine(r+1,o);return this._textLines[r].slice(n).length+a+1+this.missingNewlineOffset(r)}_getSelectionForOffset(t,e){return t.shiftKey&&this.selectionStart!==this.selectionEnd&&e?this.selectionEnd:this.selectionStart}getUpCursorOffset(t,e){const s=this._getSelectionForOffset(t,e),i=this.get2DCursorLocation(s),r=i.lineIndex;if(0===r||t.metaKey||33===t.keyCode)return-s;const n=i.charIndex,o=this._getWidthBeforeCursor(r,n),a=this._getIndexOnLine(r-1,o),h=this._textLines[r].slice(0,n),l=this.missingNewlineOffset(r-1);return-this._textLines[r-1].length+a-h.length+(1-l)}_getIndexOnLine(t,e){const s=this._textLines[t];let i,r,n=this._getLineLeftOffset(t),o=0;for(let a=0,h=s.length;a<h;a++)if(i=this.__charBounds[t][a].width,n+=i,n>e){r=!0;const t=n-i,s=n,h=Math.abs(t-e);o=Math.abs(s-e)<h?a:a-1;break}return r||(o=s.length-1),o}moveCursorDown(t){this.selectionStart>=this._text.length&&this.selectionEnd>=this._text.length||this._moveCursorUpOrDown(\"Down\",t)}moveCursorUp(t){0===this.selectionStart&&0===this.selectionEnd||this._moveCursorUpOrDown(\"Up\",t)}_moveCursorUpOrDown(t,e){const s=this[`get${t}CursorOffset`](e,this._selectionDirection===M);if(e.shiftKey?this.moveCursorWithShift(s):this.moveCursorWithoutShift(s),0!==s){const t=this.text.length;this.selectionStart=Ds(0,this.selectionStart,t),this.selectionEnd=Ds(0,this.selectionEnd,t),this.abortCursorAnimation(),this.initDelayedCursor(),this._fireSelectionChanged(),this._updateTextarea()}}moveCursorWithShift(t){const e=this._selectionDirection===O?this.selectionStart+t:this.selectionEnd+t;return this.setSelectionStartEndWithShift(this.selectionStart,this.selectionEnd,e),0!==t}moveCursorWithoutShift(t){return t<0?(this.selectionStart+=t,this.selectionEnd=this.selectionStart):(this.selectionEnd+=t,this.selectionStart=this.selectionEnd),0!==t}moveCursorLeft(t){0===this.selectionStart&&0===this.selectionEnd||this._moveCursorLeftOrRight(\"Left\",t)}_move(t,e,s){let i;if(t.altKey)i=this[`findWordBoundary${s}`](this[e]);else{if(!t.metaKey&&35!==t.keyCode&&36!==t.keyCode)return this[e]+=\"Left\"===s?-1:1,!0;i=this[`findLineBoundary${s}`](this[e])}return void 0!==i&&this[e]!==i&&(this[e]=i,!0)}_moveLeft(t,e){return this._move(t,e,\"Left\")}_moveRight(t,e){return this._move(t,e,\"Right\")}moveCursorLeftWithoutShift(t){let e=!0;return this._selectionDirection=O,this.selectionEnd===this.selectionStart&&0!==this.selectionStart&&(e=this._moveLeft(t,\"selectionStart\")),this.selectionEnd=this.selectionStart,e}moveCursorLeftWithShift(t){return this._selectionDirection===M&&this.selectionStart!==this.selectionEnd?this._moveLeft(t,\"selectionEnd\"):0!==this.selectionStart?(this._selectionDirection=O,this._moveLeft(t,\"selectionStart\")):void 0}moveCursorRight(t){this.selectionStart>=this._text.length&&this.selectionEnd>=this._text.length||this._moveCursorLeftOrRight(\"Right\",t)}_moveCursorLeftOrRight(t,e){const s=`moveCursor${t}${e.shiftKey?\"WithShift\":\"WithoutShift\"}`;this._currentCursorOpacity=1,this[s](e)&&(this.abortCursorAnimation(),this.initDelayedCursor(),this._fireSelectionChanged(),this._updateTextarea())}moveCursorRightWithShift(t){return this._selectionDirection===O&&this.selectionStart!==this.selectionEnd?this._moveRight(t,\"selectionStart\"):this.selectionEnd!==this._text.length?(this._selectionDirection=M,this._moveRight(t,\"selectionEnd\")):void 0}moveCursorRightWithoutShift(t){let e=!0;return this._selectionDirection=M,this.selectionStart===this.selectionEnd?(e=this._moveRight(t,\"selectionStart\"),this.selectionEnd=this.selectionStart):this.selectionStart=this.selectionEnd,e}}const yo=t=>!!t.button;class _o extends vo{constructor(){super(...arguments),t(this,\"draggableTextDelegate\",void 0)}initBehavior(){this.on(\"mousedown\",this._mouseDownHandler),this.on(\"mouseup\",this.mouseUpHandler),this.on(\"mousedblclick\",this.doubleClickHandler),this.on(\"mousetripleclick\",this.tripleClickHandler),this.draggableTextDelegate=new fo(this),super.initBehavior()}shouldStartDragging(){return this.draggableTextDelegate.isActive()}onDragStart(t){return this.draggableTextDelegate.onDragStart(t)}canDrop(t){return this.draggableTextDelegate.canDrop(t)}doubleClickHandler(t){this.isEditing&&(this.selectWord(this.getSelectionStartFromPointer(t.e)),this.renderCursorOrSelection())}tripleClickHandler(t){this.isEditing&&(this.selectLine(this.getSelectionStartFromPointer(t.e)),this.renderCursorOrSelection())}_mouseDownHandler(t){let{e:e,alreadySelected:s}=t;this.canvas&&this.editable&&!yo(e)&&!this.getActiveControl()&&(this.draggableTextDelegate.start(e)||(this.canvas.textEditingManager.register(this),s&&(this.inCompositionMode=!1,this.setCursorByClick(e)),this.isEditing&&(this.__selectionStartOnMouseDown=this.selectionStart,this.selectionStart===this.selectionEnd&&this.abortCursorAnimation(),this.renderCursorOrSelection()),this.selected||(this.selected=s||this.isEditing)))}mouseUpHandler(t){let{e:e,transform:s}=t;const i=this.draggableTextDelegate.end(e);if(this.canvas){this.canvas.textEditingManager.unregister(this);const t=this.canvas._activeObject;if(t&&t!==this)return}!this.editable||this.group&&!this.group.interactive||s&&s.actionPerformed||yo(e)||i||this.selected&&!this.getActiveControl()&&(this.enterEditing(e),this.selectionStart===this.selectionEnd?this.initDelayedCursor(!0):this.renderCursorOrSelection())}setCursorByClick(t){const e=this.getSelectionStartFromPointer(t),s=this.selectionStart,i=this.selectionEnd;t.shiftKey?this.setSelectionStartEndWithShift(s,i,e):(this.selectionStart=e,this.selectionEnd=e),this.isEditing&&(this._fireSelectionChanged(),this._updateTextarea())}getSelectionStartFromPointer(t){const e=this.canvas.getScenePoint(t).transform(wt(this.calcTransformMatrix())).add(new ot(-this._getLeftOffset(),-this._getTopOffset()));let s=0,i=0,r=0;for(let t=0;t<this._textLines.length&&s<=e.y;t++)s+=this.getHeightOfLine(t),r=t,t>0&&(i+=this._textLines[t-1].length+this.missingNewlineOffset(t-1));let n=Math.abs(this._getLineLeftOffset(r));const o=this._textLines[r].length,a=this.__charBounds[r];for(let t=0;t<o;t++){const s=n+a[t].kernedWidth;if(e.x<=s){Math.abs(e.x-s)<=Math.abs(e.x-n)&&i++;break}n=s,i++}return Math.min(this.flipX?o-i:i,this._text.length)}}const xo=\"moveCursorUp\",Co=\"moveCursorDown\",bo=\"moveCursorLeft\",So=\"moveCursorRight\",wo=\"exitEditing\",To=(t,e)=>{const s=e.getRetinaScaling();t.setTransform(s,0,0,s,0,0);const i=e.viewportTransform;t.transform(i[0],i[1],i[2],i[3],i[4],i[5])},Oo={selectionStart:0,selectionEnd:0,selectionColor:\"rgba(17,119,255,0.3)\",isEditing:!1,editable:!0,editingBorderColor:\"rgba(102,153,255,0.25)\",cursorWidth:2,cursorColor:\"\",cursorDelay:1e3,cursorDuration:600,caching:!0,hiddenTextareaContainer:null,keysMap:{9:wo,27:wo,33:xo,34:Co,35:So,36:bo,37:bo,38:xo,39:So,40:Co},keysMapRtl:{9:wo,27:wo,33:xo,34:Co,35:bo,36:So,37:So,38:xo,39:bo,40:Co},ctrlKeysMapDown:{65:\"cmdAll\"},ctrlKeysMapUp:{67:\"copy\",88:\"cut\"},_selectionDirection:null,_reSpace:/\\s|\\r?\\n/,inCompositionMode:!1};class ko extends _o{static getDefaults(){return{...super.getDefaults(),...ko.ownDefaults}}get type(){const t=super.type;return\"itext\"===t?\"i-text\":t}constructor(t,e){super(t,{...ko.ownDefaults,...e}),this.initBehavior()}_set(t,e){return this.isEditing&&this._savedProps&&t in this._savedProps?(this._savedProps[t]=e,this):(\"canvas\"===t&&(this.canvas instanceof Mn&&this.canvas.textEditingManager.remove(this),e instanceof Mn&&e.textEditingManager.add(this)),super._set(t,e))}setSelectionStart(t){t=Math.max(t,0),this._updateAndFire(\"selectionStart\",t)}setSelectionEnd(t){t=Math.min(t,this.text.length),this._updateAndFire(\"selectionEnd\",t)}_updateAndFire(t,e){this[t]!==e&&(this._fireSelectionChanged(),this[t]=e),this._updateTextarea()}_fireSelectionChanged(){this.fire(\"selection:changed\"),this.canvas&&this.canvas.fire(\"text:selection:changed\",{target:this})}initDimensions(){this.isEditing&&this.initDelayedCursor(),super.initDimensions()}getSelectionStyles(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.selectionStart||0,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.selectionEnd,s=arguments.length>2?arguments[2]:void 0;return super.getSelectionStyles(t,e,s)}setSelectionStyles(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.selectionStart||0,s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.selectionEnd;return super.setSelectionStyles(t,e,s)}get2DCursorLocation(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.selectionStart,e=arguments.length>1?arguments[1]:void 0;return super.get2DCursorLocation(t,e)}render(t){super.render(t),this.cursorOffsetCache={},this.renderCursorOrSelection()}toCanvasElement(t){const e=this.isEditing;this.isEditing=!1;const s=super.toCanvasElement(t);return this.isEditing=e,s}renderCursorOrSelection(){if(!this.isEditing||!this.canvas)return;const t=this.clearContextTop(!0);if(!t)return;const e=this._getCursorBoundaries(),s=this.findAncestorsWithClipPath(),i=s.length>0;let r,n=t;if(i){r=vt(t.canvas),n=r.getContext(\"2d\"),To(n,this.canvas);const e=this.calcTransformMatrix();n.transform(e[0],e[1],e[2],e[3],e[4],e[5])}if(this.selectionStart!==this.selectionEnd||this.inCompositionMode?this.renderSelection(n,e):this.renderCursor(n,e),i)for(const e of s){const s=e.clipPath,i=vt(t.canvas),r=i.getContext(\"2d\");if(To(r,this.canvas),!s.absolutePositioned){const t=e.calcTransformMatrix();r.transform(t[0],t[1],t[2],t[3],t[4],t[5])}s.transform(r),s.drawObject(r,!0,{}),this.drawClipPathOnCache(n,s,i)}i&&(t.setTransform(1,0,0,1,0,0),t.drawImage(r,0,0)),this.canvas.contextTopDirty=!0,t.restore()}findAncestorsWithClipPath(){const t=[];let e=this;for(;e;)e.clipPath&&t.push(e),e=e.parent;return t}_getCursorBoundaries(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.selectionStart,e=arguments.length>1?arguments[1]:void 0;const s=this._getLeftOffset(),i=this._getTopOffset(),r=this._getCursorBoundariesOffsets(t,e);return{left:s,top:i,leftOffset:r.left,topOffset:r.top}}_getCursorBoundariesOffsets(t,e){return e?this.__getCursorBoundariesOffsets(t):this.cursorOffsetCache&&\"top\"in this.cursorOffsetCache?this.cursorOffsetCache:this.cursorOffsetCache=this.__getCursorBoundariesOffsets(t)}__getCursorBoundariesOffsets(t){let e=0,s=0;const{charIndex:i,lineIndex:r}=this.get2DCursorLocation(t),{textAlign:n,direction:o}=this;for(let t=0;t<r;t++)e+=this.getHeightOfLine(t);const a=this._getLineLeftOffset(r),h=this.__charBounds[r][i];h&&(s=h.left),0!==this.charSpacing&&i===this._textLines[r].length&&(s-=this._getWidthOfCharSpacing());let l=a+(s>0?s:0);return o===K&&(n===M||n===cs||n===ds?l*=-1:n===O||n===us?l=a-(s>0?s:0):n!==T&&n!==gs||(l=a-(s>0?s:0))),{top:e,left:l}}renderCursorAt(t){this._renderCursor(this.canvas.contextTop,this._getCursorBoundaries(t,!0),t)}renderCursor(t,e){this._renderCursor(t,e,this.selectionStart)}getCursorRenderingData(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.selectionStart,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this._getCursorBoundaries(t);const s=this.get2DCursorLocation(t),i=s.lineIndex,r=s.charIndex>0?s.charIndex-1:0,n=this.getValueOfPropertyAt(i,r,\"fontSize\"),o=this.getObjectScaling().x*this.canvas.getZoom(),a=this.cursorWidth/o,h=this.getValueOfPropertyAt(i,r,\"deltaY\"),l=e.topOffset+(1-this._fontSizeFraction)*this.getHeightOfLine(i)/this.lineHeight-n*(1-this._fontSizeFraction);return{color:this.cursorColor||this.getValueOfPropertyAt(i,r,\"fill\"),opacity:this._currentCursorOpacity,left:e.left+e.leftOffset-a/2,top:l+e.top+h,width:a,height:n}}_renderCursor(t,e,s){const{color:i,opacity:r,left:n,top:o,width:a,height:h}=this.getCursorRenderingData(s,e);t.fillStyle=i,t.globalAlpha=r,t.fillRect(n,o,a,h)}renderSelection(t,e){const s={selectionStart:this.inCompositionMode?this.hiddenTextarea.selectionStart:this.selectionStart,selectionEnd:this.inCompositionMode?this.hiddenTextarea.selectionEnd:this.selectionEnd};this._renderSelection(t,s,e)}renderDragSourceEffect(){const t=this.draggableTextDelegate.getDragStartSelection();this._renderSelection(this.canvas.contextTop,t,this._getCursorBoundaries(t.selectionStart,!0))}renderDropTargetEffect(t){const e=this.getSelectionStartFromPointer(t);this.renderCursorAt(e)}_renderSelection(t,e,s){const{textAlign:i,direction:r}=this,n=e.selectionStart,o=e.selectionEnd,a=i.includes(cs),h=this.get2DCursorLocation(n),l=this.get2DCursorLocation(o),c=h.lineIndex,u=l.lineIndex,d=h.charIndex<0?0:h.charIndex,g=l.charIndex<0?0:l.charIndex;for(let e=c;e<=u;e++){const n=this._getLineLeftOffset(e)||0;let o=this.getHeightOfLine(e),h=0,l=0,f=0;if(e===c&&(l=this.__charBounds[c][d].left),e>=c&&e<u)f=a&&!this.isEndOfWrapping(e)?this.width:this.getLineWidth(e)||5;else if(e===u)if(0===g)f=this.__charBounds[u][g].left;else{const t=this._getWidthOfCharSpacing();f=this.__charBounds[u][g-1].left+this.__charBounds[u][g-1].width-t}h=o,(this.lineHeight<1||e===u&&this.lineHeight>1)&&(o/=this.lineHeight);let p=s.left+n+l,m=o,v=0;const y=f-l;this.inCompositionMode?(t.fillStyle=this.compositionColor||\"black\",m=1,v=o):t.fillStyle=this.selectionColor,r===K&&(i===M||i===cs||i===ds?p=this.width-p-y:i===O||i===us?p=s.left+n-f:i!==T&&i!==gs||(p=s.left+n-f)),t.fillRect(p,s.top+s.topOffset+v,y,m),s.topOffset+=h}}getCurrentCharFontSize(){const t=this._getCurrentCharIndex();return this.getValueOfPropertyAt(t.l,t.c,\"fontSize\")}getCurrentCharColor(){const t=this._getCurrentCharIndex();return this.getValueOfPropertyAt(t.l,t.c,H)}_getCurrentCharIndex(){const t=this.get2DCursorLocation(this.selectionStart,!0),e=t.charIndex>0?t.charIndex-1:0;return{l:t.lineIndex,c:e}}dispose(){this.exitEditingImpl(),this.draggableTextDelegate.dispose(),super.dispose()}}t(ko,\"ownDefaults\",Oo),t(ko,\"type\",\"IText\"),tt.setClass(ko),tt.setClass(ko,\"i-text\");class Do extends ko{static getDefaults(){return{...super.getDefaults(),...Do.ownDefaults}}constructor(t,e){super(t,{...Do.ownDefaults,...e})}static createControls(){return{controls:Pi()}}initDimensions(){this.initialized&&(this.isEditing&&this.initDelayedCursor(),this._clearCache(),this.dynamicMinWidth=0,this._styleMap=this._generateStyleMap(this._splitText()),this.dynamicMinWidth>this.width&&this._set(\"width\",this.dynamicMinWidth),this.textAlign.includes(cs)&&this.enlargeSpaces(),this.height=this.calcTextHeight())}_generateStyleMap(t){let e=0,s=0,i=0;const r={};for(let n=0;n<t.graphemeLines.length;n++)\"\\n\"===t.graphemeText[i]&&n>0?(s=0,i++,e++):!this.splitByGrapheme&&this._reSpaceAndTab.test(t.graphemeText[i])&&n>0&&(s++,i++),r[n]={line:e,offset:s},i+=t.graphemeLines[n].length,s+=t.graphemeLines[n].length;return r}styleHas(t,e){if(this._styleMap&&!this.isWrapping){const t=this._styleMap[e];t&&(e=t.line)}return super.styleHas(t,e)}isEmptyStyles(t){if(!this.styles)return!0;let e,s=0,i=t+1,r=!1;const n=this._styleMap[t],o=this._styleMap[t+1];n&&(t=n.line,s=n.offset),o&&(i=o.line,r=i===t,e=o.offset);const a=void 0===t?this.styles:{line:this.styles[t]};for(const t in a)for(const i in a[t]){const n=parseInt(i,10);if(n>=s&&(!r||n<e))for(const e in a[t][i])return!1}return!0}_getStyleDeclaration(t,e){if(this._styleMap&&!this.isWrapping){const s=this._styleMap[t];if(!s)return{};t=s.line,e=s.offset+e}return super._getStyleDeclaration(t,e)}_setStyleDeclaration(t,e,s){const i=this._styleMap[t];super._setStyleDeclaration(i.line,i.offset+e,s)}_deleteStyleDeclaration(t,e){const s=this._styleMap[t];super._deleteStyleDeclaration(s.line,s.offset+e)}_getLineStyle(t){const e=this._styleMap[t];return!!this.styles[e.line]}_setLineStyle(t){const e=this._styleMap[t];super._setLineStyle(e.line)}_wrapText(t,e){this.isWrapping=!0;const s=this.getGraphemeDataForRender(t),i=[];for(let t=0;t<s.wordsData.length;t++)i.push(...this._wrapLine(t,e,s));return this.isWrapping=!1,i}getGraphemeDataForRender(t){const e=this.splitByGrapheme,s=e?\"\":\" \";let i=0;return{wordsData:t.map((t,r)=>{let n=0;const o=e?this.graphemeSplit(t):this.wordSplit(t);return 0===o.length?[{word:[],width:0}]:o.map(t=>{const o=e?[t]:this.graphemeSplit(t),a=this._measureWord(o,r,n);return i=Math.max(a,i),n+=o.length+s.length,{word:o,width:a}})}),largestWordWidth:i}}_measureWord(t,e){let s,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=0;for(let n=0,o=t.length;n<o;n++){r+=this._getGraphemeBox(t[n],e,n+i,s,true).kernedWidth,s=t[n]}return r}wordSplit(t){return t.split(this._wordJoiners)}_wrapLine(t,e,s){let{largestWordWidth:i,wordsData:r}=s,n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;const o=this._getWidthOfCharSpacing(),a=this.splitByGrapheme,h=[],l=a?\"\":\" \";let c=0,u=[],d=0,g=0,f=!0;e-=n;const p=Math.max(e,i,this.dynamicMinWidth),m=r[t];let v;for(d=0,v=0;v<m.length;v++){const{word:e,width:s}=m[v];d+=e.length,c+=g+s-o,c>p&&!f?(h.push(u),u=[],c=s,f=!0):c+=o,f||a||u.push(l),u=u.concat(e),g=a?0:this._measureWord([l],t,d),d++,f=!1}return v&&h.push(u),i+n>this.dynamicMinWidth&&(this.dynamicMinWidth=i-o+n),h}isEndOfWrapping(t){return!this._styleMap[t+1]||this._styleMap[t+1].line!==this._styleMap[t].line}missingNewlineOffset(t,e){return this.splitByGrapheme&&!e?this.isEndOfWrapping(t)?1:0:1}_splitTextIntoLines(t){const e=super._splitTextIntoLines(t),s=this._wrapText(e.lines,this.width),i=new Array(s.length);for(let t=0;t<s.length;t++)i[t]=s[t].join(\"\");return e.lines=i,e.graphemeLines=s,e}getMinWidth(){return Math.max(this.minWidth,this.dynamicMinWidth)}_removeExtraneousStyles(){const t=new Map;for(const e in this._styleMap){const s=parseInt(e,10);if(this._textLines[s]){const s=this._styleMap[e].line;t.set(`${s}`,!0)}}for(const e in this.styles)t.has(e)||delete this.styles[e]}toObject(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return super.toObject([\"minWidth\",\"splitByGrapheme\",...t])}}t(Do,\"type\",\"Textbox\"),t(Do,\"textLayoutProperties\",[...ko.textLayoutProperties,\"width\"]),t(Do,\"ownDefaults\",{minWidth:20,dynamicMinWidth:2,lockScalingFlip:!0,noScaleCache:!1,_wordJoiners:/[ \\t\\r]/,splitByGrapheme:!1}),tt.setClass(Do);class Mo extends Cr{shouldPerformLayout(t){return!!t.target.clipPath&&super.shouldPerformLayout(t)}shouldLayoutClipPath(){return!1}calcLayoutResult(t,e){const{target:s}=t,{clipPath:i,group:r}=s;if(!i||!this.shouldPerformLayout(t))return;const{width:n,height:o}=ge(xr(s,i)),a=new ot(n,o);if(i.absolutePositioned){return{center:xe(i.getRelativeCenterPoint(),void 0,r?r.calcTransformMatrix():void 0),size:a}}{const r=i.getRelativeCenterPoint().transform(s.calcOwnMatrix(),!0);if(this.shouldPerformLayout(t)){const{center:s=new ot,correction:i=new ot}=this.calcBoundingBox(e,t)||{};return{center:s.add(r),correction:i.subtract(r),size:a}}return{center:s.getRelativeCenterPoint().add(r),size:a}}}}t(Mo,\"type\",\"clip-path\"),tt.setClass(Mo);class Po extends Cr{getInitialSize(t,e){let{target:s}=t,{size:i}=e;return new ot(s.width||i.x,s.height||i.y)}}t(Po,\"type\",\"fixed\"),tt.setClass(Po);class Eo extends wr{subscribeTargets(t){const e=t.target;t.targets.reduce((t,e)=>(e.parent&&t.add(e.parent),t),new Set).forEach(t=>{t.layoutManager.subscribeTargets({target:t,targets:[e]})})}unsubscribeTargets(t){const e=t.target,s=e.getObjects();t.targets.reduce((t,e)=>(e.parent&&t.add(e.parent),t),new Set).forEach(t=>{!s.some(e=>e.parent===t)&&t.layoutManager.unsubscribeTargets({target:t,targets:[e]})})}}class Ao extends Or{static getDefaults(){return{...super.getDefaults(),...Ao.ownDefaults}}constructor(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};super(),Object.assign(this,Ao.ownDefaults),this.setOptions(e);const{left:s,top:i,layoutManager:r}=e;this.groupInit(t,{left:s,top:i,layoutManager:null!=r?r:new Eo})}_shouldSetNestedCoords(){return!0}__objectSelectionMonitor(){}multiSelectAdd(){for(var t=arguments.length,e=new Array(t),s=0;s<t;s++)e[s]=arguments[s];\"selection-order\"===this.multiSelectionStacking?this.add(...e):e.forEach(t=>{const e=this._objects.findIndex(e=>e.isInFrontOf(t)),s=-1===e?this.size():e;this.insertAt(s,t)})}canEnterGroup(t){return this.getObjects().some(e=>e.isDescendantOf(t)||t.isDescendantOf(e))?(i(\"error\",\"ActiveSelection: circular object trees are not supported, this call has no effect\"),!1):super.canEnterGroup(t)}enterGroup(t,e){t.parent&&t.parent===t.group?t.parent._exitGroup(t):t.group&&t.parent!==t.group&&t.group.remove(t),this._enterGroup(t,e)}exitGroup(t,e){this._exitGroup(t,e),t.parent&&t.parent._enterGroup(t,!0)}_onAfterObjectsChange(t,e){super._onAfterObjectsChange(t,e);const s=new Set;e.forEach(t=>{const{parent:e}=t;e&&s.add(e)}),t===yr?s.forEach(t=>{t._onAfterObjectsChange(vr,e)}):s.forEach(t=>{t._set(\"dirty\",!0)})}onDeselect(){return this.removeAll(),!1}toString(){return`#<ActiveSelection: (${this.complexity()})>`}shouldCache(){return!1}isOnACache(){return!1}_renderControls(t,e,s){t.save(),t.globalAlpha=this.isMoving?this.borderOpacityWhenMoving:1;const i={hasControls:!1,...s,forActiveSelection:!0};for(let e=0;e<this._objects.length;e++)this._objects[e]._renderControls(t,i);super._renderControls(t,e),t.restore()}}t(Ao,\"type\",\"ActiveSelection\"),t(Ao,\"ownDefaults\",{multiSelectionStacking:\"canvas-stacking\"}),tt.setClass(Ao),tt.setClass(Ao,\"activeSelection\");class jo{constructor(){t(this,\"resources\",{})}applyFilters(t,e,s,i,r){const n=r.getContext(\"2d\",{willReadFrequently:!0,desynchronized:!0});if(!n)return;n.drawImage(e,0,0,s,i);const o={sourceWidth:s,sourceHeight:i,imageData:n.getImageData(0,0,s,i),originalEl:e,originalImageData:n.getImageData(0,0,s,i),canvasEl:r,ctx:n,filterBackend:this};t.forEach(t=>{t.applyTo(o)});const{imageData:a}=o;return a.width===s&&a.height===i||(r.width=a.width,r.height=a.height),n.putImageData(a,0,0),o}}class Fo{constructor(){let{tileSize:e=s.textureSize}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};t(this,\"aPosition\",new Float32Array([0,0,0,1,1,0,1,1])),t(this,\"resources\",{}),this.tileSize=e,this.setupGLContext(e,e),this.captureGPUInfo()}setupGLContext(t,e){this.dispose(),this.createWebGLCanvas(t,e)}createWebGLCanvas(t,e){const s=vt({width:t,height:e}),i=s.getContext(\"webgl\",{alpha:!0,premultipliedAlpha:!1,depth:!1,stencil:!1,antialias:!1});i&&(i.clearColor(0,0,0,0),this.canvas=s,this.gl=i)}applyFilters(t,e,s,i,r,n){const o=this.gl,a=r.getContext(\"2d\");if(!o||!a)return;let h;n&&(h=this.getCachedTexture(n,e));const l={originalWidth:e.width||e.naturalWidth||0,originalHeight:e.height||e.naturalHeight||0,sourceWidth:s,sourceHeight:i,destinationWidth:s,destinationHeight:i,context:o,sourceTexture:this.createTexture(o,s,i,h?void 0:e),targetTexture:this.createTexture(o,s,i),originalTexture:h||this.createTexture(o,s,i,h?void 0:e),passes:t.length,webgl:!0,aPosition:this.aPosition,programCache:this.programCache,pass:0,filterBackend:this,targetCanvas:r},c=o.createFramebuffer();return o.bindFramebuffer(o.FRAMEBUFFER,c),t.forEach(t=>{t&&t.applyTo(l)}),function(t){const e=t.targetCanvas,s=e.width,i=e.height,r=t.destinationWidth,n=t.destinationHeight;s===r&&i===n||(e.width=r,e.height=n)}(l),this.copyGLTo2D(o,l),o.bindTexture(o.TEXTURE_2D,null),o.deleteTexture(l.sourceTexture),o.deleteTexture(l.targetTexture),o.deleteFramebuffer(c),a.setTransform(1,0,0,1,0,0),l}dispose(){this.canvas&&(this.canvas=null,this.gl=null),this.clearWebGLCaches()}clearWebGLCaches(){this.programCache={},this.textureCache={}}createTexture(t,e,s,i,r){const{NEAREST:n,TEXTURE_2D:o,RGBA:a,UNSIGNED_BYTE:h,CLAMP_TO_EDGE:l,TEXTURE_MAG_FILTER:c,TEXTURE_MIN_FILTER:u,TEXTURE_WRAP_S:d,TEXTURE_WRAP_T:g}=t,f=t.createTexture();return t.bindTexture(o,f),t.texParameteri(o,c,r||n),t.texParameteri(o,u,r||n),t.texParameteri(o,d,l),t.texParameteri(o,g,l),i?t.texImage2D(o,0,a,a,h,i):t.texImage2D(o,0,a,e,s,0,a,h,null),f}getCachedTexture(t,e,s){const{textureCache:i}=this;if(i[t])return i[t];{const r=this.createTexture(this.gl,e.width,e.height,e,s);return r&&(i[t]=r),r}}evictCachesForKey(t){this.textureCache[t]&&(this.gl.deleteTexture(this.textureCache[t]),delete this.textureCache[t])}copyGLTo2D(t,e){const s=t.canvas,i=e.targetCanvas,r=i.getContext(\"2d\");if(!r)return;r.translate(0,i.height),r.scale(1,-1);const n=s.height-i.height;r.drawImage(s,0,n,i.width,i.height,0,0,i.width,i.height)}copyGLTo2DPutImageData(t,e){const s=e.targetCanvas.getContext(\"2d\"),i=e.destinationWidth,r=e.destinationHeight,n=i*r*4;if(!s)return;const o=new Uint8Array(this.imageBuffer,0,n),a=new Uint8ClampedArray(this.imageBuffer,0,n);t.readPixels(0,0,i,r,t.RGBA,t.UNSIGNED_BYTE,o);const h=new ImageData(a,i,r);s.putImageData(h,0,0)}captureGPUInfo(){if(this.gpuInfo)return this.gpuInfo;const t=this.gl,e={renderer:\"\",vendor:\"\"};if(!t)return e;const s=t.getExtension(\"WEBGL_debug_renderer_info\");if(s){const i=t.getParameter(s.UNMASKED_RENDERER_WEBGL),r=t.getParameter(s.UNMASKED_VENDOR_WEBGL);i&&(e.renderer=i.toLowerCase()),r&&(e.vendor=r.toLowerCase())}return this.gpuInfo=e,e}}let Lo;function Bo(){const{WebGLProbe:t}=u();return t.queryWebGL(pt()),s.enableGLFiltering&&t.isSupported(s.textureSize)?new Fo({tileSize:s.textureSize}):new jo}function Ro(){return!Lo&&(!(arguments.length>0&&void 0!==arguments[0])||arguments[0])&&(Lo=Bo()),Lo}function Io(t){Lo=t}const $o=[\"cropX\",\"cropY\"];class Xo extends ji{static getDefaults(){return{...super.getDefaults(),...Xo.ownDefaults}}constructor(e,s){super(),t(this,\"_lastScaleX\",1),t(this,\"_lastScaleY\",1),t(this,\"_filterScalingX\",1),t(this,\"_filterScalingY\",1),this.filters=[],Object.assign(this,Xo.ownDefaults),this.setOptions(s),this.cacheKey=`texture${ft()}`,this.setElement(\"string\"==typeof e?(this.canvas&&qt(this.canvas.getElement())||d()).getElementById(e):e,s)}getElement(){return this._element}setElement(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.removeTexture(this.cacheKey),this.removeTexture(`${this.cacheKey}_filtered`),this._element=t,this._originalElement=t,this._setWidthHeight(e),0!==this.filters.length&&this.applyFilters(),this.resizeFilter&&this.applyResizeFilters()}removeTexture(t){const e=Ro(!1);e instanceof Fo&&e.evictCachesForKey(t)}dispose(){super.dispose(),this.removeTexture(this.cacheKey),this.removeTexture(`${this.cacheKey}_filtered`),this._cacheContext=null,[\"_originalElement\",\"_element\",\"_filteredEl\",\"_cacheCanvas\"].forEach(t=>{const e=this[t];e&&u().dispose(e),this[t]=void 0})}getCrossOrigin(){return this._originalElement&&(this._originalElement.crossOrigin||null)}getOriginalSize(){const t=this.getElement();return t?{width:t.naturalWidth||t.width,height:t.naturalHeight||t.height}:{width:0,height:0}}_stroke(t){if(!this.stroke||0===this.strokeWidth)return;const e=this.width/2,s=this.height/2;t.beginPath(),t.moveTo(-e,-s),t.lineTo(e,-s),t.lineTo(e,s),t.lineTo(-e,s),t.lineTo(-e,-s),t.closePath()}toObject(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];const e=[];return this.filters.forEach(t=>{t&&e.push(t.toObject())}),{...super.toObject([...$o,...t]),src:this.getSrc(),crossOrigin:this.getCrossOrigin(),filters:e,...this.resizeFilter?{resizeFilter:this.resizeFilter.toObject()}:{}}}hasCrop(){return!!this.cropX||!!this.cropY||this.width<this._element.width||this.height<this._element.height}_toSVG(){const t=[],e=this._element,s=-this.width/2,i=-this.height/2;let r=[],n=[],o=\"\",a=\"\";if(!e)return[];if(this.hasCrop()){const t=ft();r.push('<clipPath id=\"imageCrop_'+t+'\">\\n','\\t<rect x=\"'+s+'\" y=\"'+i+'\" width=\"'+se(this.width)+'\" height=\"'+se(this.height)+'\" />\\n',\"</clipPath>\\n\"),o=' clip-path=\"url(#imageCrop_'+t+')\" '}if(this.imageSmoothing||(a=' image-rendering=\"optimizeSpeed\"'),t.push(\"\\t<image \",\"COMMON_PARTS\",`xlink:href=\"${se(this.getSrc(!0))}\" x=\"${s-this.cropX}\" y=\"${i-this.cropY}\" width=\"${e.width||e.naturalWidth}\" height=\"${e.height||e.naturalHeight}\"${a}${o}></image>\\n`),this.stroke||this.strokeDashArray){const t=this.fill;this.fill=null,n=[`\\t<rect x=\"${s}\" y=\"${i}\" width=\"${se(this.width)}\" height=\"${se(this.height)}\" style=\"${this.getSvgStyles()}\" />\\n`],this.fill=t}return r=this.paintFirst!==H?r.concat(n,t):r.concat(t,n),r}getSrc(t){const e=t?this._element:this._originalElement;return e?e.toDataURL?e.toDataURL():this.srcFromAttribute?e.getAttribute(\"src\")||\"\":e.src:this.src||\"\"}getSvgSrc(t){return this.getSrc(t)}setSrc(t){let{crossOrigin:e,signal:s}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Rt(t,{crossOrigin:e,signal:s}).then(t=>{void 0!==e&&this.set({crossOrigin:e}),this.setElement(t)})}toString(){return`#<Image: { src: \"${this.getSrc()}\" }>`}applyResizeFilters(){const t=this.resizeFilter,e=this.minimumScaleTrigger,s=this.getTotalObjectScaling(),i=s.x,r=s.y,n=this._filteredEl||this._originalElement;if(this.group&&this.set(\"dirty\",!0),!t||i>e&&r>e)return this._element=n,this._filterScalingX=1,this._filterScalingY=1,this._lastScaleX=i,void(this._lastScaleY=r);const o=vt(n),{width:a,height:h}=n;this._element=o,this._lastScaleX=t.scaleX=i,this._lastScaleY=t.scaleY=r,Ro().applyFilters([t],n,a,h,this._element),this._filterScalingX=o.width/this._originalElement.width,this._filterScalingY=o.height/this._originalElement.height}applyFilters(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.filters||[];if(t=t.filter(t=>t&&!t.isNeutralState()),this.set(\"dirty\",!0),this.removeTexture(`${this.cacheKey}_filtered`),0===t.length)return this._element=this._originalElement,this._filteredEl=void 0,this._filterScalingX=1,void(this._filterScalingY=1);const e=this._originalElement,s=e.naturalWidth||e.width,i=e.naturalHeight||e.height;if(this._element===this._originalElement){const t=vt({width:s,height:i});this._element=t,this._filteredEl=t}else this._filteredEl&&(this._element=this._filteredEl,this._filteredEl.getContext(\"2d\").clearRect(0,0,s,i),this._lastScaleX=1,this._lastScaleY=1);Ro().applyFilters(t,this._originalElement,s,i,this._element,this.cacheKey),this._originalElement.width===this._element.width&&this._originalElement.height===this._element.height||(this._filterScalingX=this._element.width/this._originalElement.width,this._filterScalingY=this._element.height/this._originalElement.height)}_render(t){t.imageSmoothingEnabled=this.imageSmoothing,!0!==this.isMoving&&this.resizeFilter&&this._needsResize()&&this.applyResizeFilters(),this._stroke(t),this._renderPaintInOrder(t)}drawCacheOnCanvas(t){t.imageSmoothingEnabled=this.imageSmoothing,super.drawCacheOnCanvas(t)}shouldCache(){return this.needsItsOwnCache()}_renderFill(t){const e=this._element;if(!e)return;const s=this._filterScalingX,i=this._filterScalingY,r=this.width,n=this.height,o=Math.max(this.cropX,0),a=Math.max(this.cropY,0),h=e.naturalWidth||e.width,l=e.naturalHeight||e.height,c=o*s,u=a*i,d=Math.min(r*s,h-c),g=Math.min(n*i,l-u),f=-r/2,p=-n/2,m=Math.min(r,h/s-o),v=Math.min(n,l/i-a);e&&t.drawImage(e,c,u,d,g,f,p,m,v)}_needsResize(){const t=this.getTotalObjectScaling();return t.x!==this._lastScaleX||t.y!==this._lastScaleY}_resetWidthHeight(){this.set(this.getOriginalSize())}_setWidthHeight(){let{width:t,height:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const s=this.getOriginalSize();this.width=t||s.width,this.height=e||s.height}parsePreserveAspectRatioAttribute(){const t=Ze(this.preserveAspectRatio||\"\"),e=this.width,s=this.height,i={width:e,height:s};let r,n=this._element.width,o=this._element.height,a=1,h=1,l=0,c=0,u=0,d=0;return!t||t.alignX===P&&t.alignY===P?(a=e/n,h=s/o):(\"meet\"===t.meetOrSlice&&(a=h=kr(this._element,i),r=(e-n*a)/2,\"Min\"===t.alignX&&(l=-r),\"Max\"===t.alignX&&(l=r),r=(s-o*h)/2,\"Min\"===t.alignY&&(c=-r),\"Max\"===t.alignY&&(c=r)),\"slice\"===t.meetOrSlice&&(a=h=Dr(this._element,i),r=n-e/a,\"Mid\"===t.alignX&&(u=r/2),\"Max\"===t.alignX&&(u=r),r=o-s/h,\"Mid\"===t.alignY&&(d=r/2),\"Max\"===t.alignY&&(d=r),n=e/a,o=s/h)),{width:n,height:o,scaleX:a,scaleY:h,offsetLeft:l,offsetTop:c,cropX:u,cropY:d}}static fromObject(t,e){let{filters:s,resizeFilter:i,src:r,crossOrigin:n,type:o,...a}=t;return Promise.all([Rt(r,{...e,crossOrigin:n}),s&&It(s,e),i?It([i],e):[],$t(a,e)]).then(t=>{let[e,s=[],[i],n={}]=t;return new this(e,{...a,src:r,filters:s,resizeFilter:i,...n})})}static fromURL(t){let{crossOrigin:e=null,signal:s}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=arguments.length>2?arguments[2]:void 0;return Rt(t,{crossOrigin:e,signal:s}).then(t=>new this(t,i))}static async fromElement(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},s=arguments.length>2?arguments[2]:void 0;const r=gr(t,this.ATTRIBUTE_NAMES,s);return this.fromURL(r[\"xlink:href\"]||r.href,e,r).catch(t=>(i(\"log\",\"Unable to parse Image\",t),null))}}function Yo(t){if(!bs.test(t.nodeName))return{};const e=t.getAttribute(\"viewBox\");let s,i,r=1,n=1,o=0,a=0;const h=t.getAttribute(\"width\"),l=t.getAttribute(\"height\"),c=t.getAttribute(\"x\")||0,u=t.getAttribute(\"y\")||0,d=!(e&&ws.test(e)),g=!h||!l||\"100%\"===h||\"100%\"===l;let f=\"\",p=0,m=0;if(d&&(c||u)&&t.parentNode&&\"#document\"!==t.parentNode.nodeName&&(f=\" translate(\"+Qe(c||\"0\")+\" \"+Qe(u||\"0\")+\") \",s=(t.getAttribute(\"transform\")||\"\")+f,t.setAttribute(\"transform\",s),t.removeAttribute(\"x\"),t.removeAttribute(\"y\")),d&&g)return{width:0,height:0};const v={width:0,height:0};if(d)return v.width=Qe(h),v.height=Qe(l),v;const y=e.match(ws);o=-parseFloat(y[1]),a=-parseFloat(y[2]);const _=parseFloat(y[3]),x=parseFloat(y[4]);v.minX=o,v.minY=a,v.viewBoxWidth=_,v.viewBoxHeight=x,g?(v.width=_,v.height=x):(v.width=Qe(h),v.height=Qe(l),r=v.width/_,n=v.height/x);const C=Ze(t.getAttribute(\"preserveAspectRatio\")||\"\");if(C.alignX!==P&&(\"meet\"===C.meetOrSlice&&(n=r=r>n?n:r),\"slice\"===C.meetOrSlice&&(n=r=r>n?r:n),p=v.width-_*r,m=v.height-x*r,\"Mid\"===C.alignX&&(p/=2),\"Mid\"===C.alignY&&(m/=2),\"Min\"===C.alignX&&(p=0),\"Min\"===C.alignY&&(m=0)),1===r&&1===n&&0===o&&0===a&&0===c&&0===u)return v;if((c||u)&&\"#document\"!==t.parentNode.nodeName&&(f=\" translate(\"+Qe(c||\"0\")+\" \"+Qe(u||\"0\")+\") \"),s=f+\" matrix(\"+r+\" 0 0 \"+n+\" \"+(o*r+p)+\" \"+(a*n+m)+\") \",\"svg\"===t.nodeName){for(i=t.ownerDocument.createElementNS(ms,\"g\");t.firstChild;)i.appendChild(t.firstChild);t.appendChild(i)}else i=t,i.removeAttribute(\"x\"),i.removeAttribute(\"y\"),s=i.getAttribute(\"transform\")+s;return i.setAttribute(\"transform\",s),v}t(Xo,\"type\",\"Image\"),t(Xo,\"cacheProperties\",[...Ps,...$o]),t(Xo,\"ownDefaults\",{strokeWidth:0,srcFromAttribute:!1,minimumScaleTrigger:.5,cropX:0,cropY:0,imageSmoothing:!0}),t(Xo,\"ATTRIBUTE_NAMES\",[...zi,\"x\",\"y\",\"width\",\"height\",\"preserveAspectRatio\",\"xlink:href\",\"href\",\"crossOrigin\",\"image-rendering\"]),tt.setClass(Xo),tt.setSVGClass(Xo);const Wo=t=>t.tagName.replace(\"svg:\",\"\"),Vo=ss([\"pattern\",\"defs\",\"symbol\",\"metadata\",\"clipPath\",\"mask\",\"desc\"]);function zo(t,e){let s,i,r,n,o=[];for(r=0,n=e.length;r<n;r++)s=e[r],i=t.getElementsByTagNameNS(\"http://www.w3.org/2000/svg\",s),o=o.concat(Array.from(i));return o}const Go=[\"gradientTransform\",\"x1\",\"x2\",\"y1\",\"y2\",\"gradientUnits\",\"cx\",\"cy\",\"r\",\"fx\",\"fy\"],Ho=\"xlink:href\";function No(t,e){var s;const i=(null===(s=e.getAttribute(Ho))||void 0===s?void 0:s.slice(1))||\"\",r=t.getElementById(i);if(r&&r.getAttribute(Ho)&&No(t,r),r&&(Go.forEach(t=>{const s=r.getAttribute(t);!e.hasAttribute(t)&&s&&e.setAttribute(t,s)}),!e.children.length)){const t=r.cloneNode(!0);for(;t.firstChild;)e.appendChild(t.firstChild)}e.removeAttribute(Ho)}const Uo=[\"linearGradient\",\"radialGradient\",\"svg:linearGradient\",\"svg:radialGradient\"];const qo=t=>tt.getSVGClass(Wo(t).toLowerCase());class Ko{constructor(t,e,s,i,r){this.elements=t,this.options=e,this.reviver=s,this.regexUrl=/^url\\(['\"]?#([^'\"]+)['\"]?\\)/g,this.doc=i,this.clipPaths=r,this.gradientDefs=function(t){const e=zo(t,Uo),s={};let i=e.length;for(;i--;){const r=e[i];r.getAttribute(\"xlink:href\")&&No(t,r);const n=r.getAttribute(\"id\");n&&(s[n]=r)}return s}(i),this.cssRules=function(t){const e=t.getElementsByTagName(\"style\"),s={};for(let t=0;t<e.length;t++){const i=(e[t].textContent||\"\").replace(/\\/\\*[\\s\\S]*?\\*\\//g,\"\");\"\"!==i.trim()&&i.split(\"}\").filter((t,e,s)=>s.length>1&&t.trim()).forEach(t=>{if((t.match(/{/g)||[]).length>1&&t.trim().startsWith(\"@\"))return;const e=t.split(\"{\"),i={},r=e[1].trim().split(\";\").filter(function(t){return t.trim()});for(let t=0;t<r.length;t++){const e=r[t].split(\":\"),s=e[0].trim(),n=e[1].trim();i[s]=n}(t=e[0].trim()).split(\",\").forEach(t=>{\"\"!==(t=t.replace(/^svg/i,\"\").trim())&&(s[t]={...s[t]||{},...i})})})}return s}(i)}parse(){return Promise.all(this.elements.map(t=>this.createObject(t)))}async createObject(t){const e=qo(t);if(e){const s=await e.fromElement(t,this.options,this.cssRules);return this.resolveGradient(s,t,H),this.resolveGradient(s,t,N),s instanceof Xo&&s._originalElement?nn(s,s.parsePreserveAspectRatioAttribute()):nn(s),await this.resolveClipPath(s,t),this.reviver&&this.reviver(t,s),s}return null}extractPropertyDefinition(t,e,s){const i=t[e],r=this.regexUrl;if(!r.test(i))return;r.lastIndex=0;const n=r.exec(i)[1];return r.lastIndex=0,s[n]}resolveGradient(t,e,s){const i=this.extractPropertyDefinition(t,s,this.gradientDefs);if(i){const r=e.getAttribute(s+\"-opacity\"),n=Vn.fromElement(i,t,{...this.options,opacity:r});t.set(s,n)}}async resolveClipPath(t,e,s){const i=this.extractPropertyDefinition(t,\"clipPath\",this.clipPaths);if(i){const r=wt(t.calcTransformMatrix()),n=i[0].parentElement;let o=e;for(;!s&&o.parentElement&&o.getAttribute(\"clip-path\")!==t.clipPath;)o=o.parentElement;o.parentElement.appendChild(n);const a=hr(`${o.getAttribute(\"transform\")||\"\"} ${n.getAttribute(\"originalTransform\")||\"\"}`);n.setAttribute(\"transform\",`matrix(${a.join(\",\")})`);const h=await Promise.all(i.map(t=>qo(t).fromElement(t,this.options,this.cssRules).then(t=>(nn(t),t.fillRule=t.clipRule,delete t.clipRule,t)))),l=1===h.length?h[0]:new Or(h),c=Tt(r,l.calcTransformMatrix());l.clipPath&&await this.resolveClipPath(l,o,n.getAttribute(\"clip-path\")?o:void 0);const{scaleX:u,scaleY:d,angle:g,skewX:f,translateX:p,translateY:m}=Dt(c);l.set({flipX:!1,flipY:!1}),l.set({scaleX:u,scaleY:d,angle:g,skewX:f,skewY:0}),l.setPositionByOrigin(new ot(p,m),T,T),t.clipPath=l}else delete t.clipPath}}const Jo=t=>Cs.test(Wo(t));async function Qo(t,e){let{crossOrigin:s,signal:r}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(r&&r.aborted)return i(\"log\",new n(\"parseSVGDocument\")),{objects:[],elements:[],options:{},allElements:[]};const o=t.documentElement;!function(t){const e=zo(t,[\"use\",\"svg:use\"]),s=[\"x\",\"y\",\"xlink:href\",\"href\",\"transform\"];for(const i of e){const e=i.attributes,r={};for(const t of e)t.value&&(r[t.name]=t.value);const n=(r[\"xlink:href\"]||r.href||\"\").slice(1);if(\"\"===n)return;const o=t.getElementById(n);if(null===o)return;let a=o.cloneNode(!0);const h=a.attributes,l={};for(const t of h)t.value&&(l[t.name]=t.value);const{x:c=0,y:u=0,transform:d=\"\"}=r,g=`${d} ${l.transform||\"\"} translate(${c}, ${u})`;if(Yo(a),/^svg$/i.test(a.nodeName)){const t=a.ownerDocument.createElementNS(ms,\"g\");Object.entries(l).forEach(e=>{let[s,i]=e;return t.setAttributeNS(ms,s,i)}),t.append(...a.childNodes),a=t}for(const t of e){if(!t)continue;const{name:e,value:i}=t;if(!s.includes(e))if(\"style\"===e){const t={};cr(i,t),Object.entries(l).forEach(e=>{let[s,i]=e;t[s]=i}),cr(l.style||\"\",t);const s=Object.entries(t).map(t=>t.join(\":\")).join(\";\");a.setAttribute(e,s)}else!l[e]&&a.setAttribute(e,i)}a.setAttribute(\"transform\",g),a.setAttribute(\"instantiated_by_use\",\"1\"),a.removeAttribute(\"id\"),i.parentNode.replaceChild(a,i)}}(t);const a=Array.from(o.getElementsByTagName(\"*\")),h={...Yo(o),crossOrigin:s,signal:r},l=a.filter(t=>(Yo(t),Jo(t)&&!function(t){let e=t;for(;e&&(e=e.parentElement);)if(e&&e.nodeName&&Vo.test(Wo(e))&&!e.getAttribute(\"instantiated_by_use\"))return!0;return!1}(t)));if(!l||l&&!l.length)return{objects:[],elements:[],options:{},allElements:[],options:h,allElements:a};const c={};a.filter(t=>\"clipPath\"===Wo(t)).forEach(t=>{t.setAttribute(\"originalTransform\",t.getAttribute(\"transform\")||\"\");const e=t.getAttribute(\"id\");c[e]=Array.from(t.getElementsByTagName(\"*\")).filter(t=>Jo(t))});const u=new Ko(l,h,e,t,c);return{objects:await u.parse(),elements:l,options:h,allElements:a}}function Zo(t,e,s){return Qo((new(g().DOMParser)).parseFromString(t.trim(),\"text/xml\"),e,s)}function ta(t,e){let s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return fetch(t.replace(/^\\n\\s*/,\"\").trim(),{signal:s.signal}).then(t=>{if(!t.ok)throw new r(`HTTP error! status: ${t.status}`);return t.text()}).then(t=>Zo(t,e,s)).catch(()=>({objects:[],elements:[],options:{},allElements:[]}))}const ea=t=>void 0!==t.webgl,sa=(t,e)=>{const s=vt({width:t,height:e}),i=pt().getContext(\"webgl\"),r={imageBuffer:new ArrayBuffer(t*e*4)},n={destinationWidth:t,destinationHeight:e,targetCanvas:s};let o;o=g().performance.now(),Fo.prototype.copyGLTo2D.call(r,i,n);const a=g().performance.now()-o;o=g().performance.now(),Fo.prototype.copyGLTo2DPutImageData.call(r,i,n);return a>g().performance.now()-o},ia=\"precision highp float\",ra=`\\n ${ia};\\n varying vec2 vTexCoord;\\n uniform sampler2D uTexture;\\n void main() {\\n gl_FragColor = texture2D(uTexture, vTexCoord);\\n }`,na=new RegExp(ia,\"g\");class oa{get type(){return this.constructor.type}constructor(){let{type:t,...e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};Object.assign(this,this.constructor.defaults,e)}getFragmentSource(){return ra}getVertexSource(){return\"\\n attribute vec2 aPosition;\\n varying vec2 vTexCoord;\\n void main() {\\n vTexCoord = aPosition;\\n gl_Position = vec4(aPosition * 2.0 - 1.0, 0.0, 1.0);\\n }\"}createProgram(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.getFragmentSource(),s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.getVertexSource();const{WebGLProbe:{GLPrecision:i=\"highp\"}}=u();\"highp\"!==i&&(e=e.replace(na,ia.replace(\"highp\",i)));const n=t.createShader(t.VERTEX_SHADER),o=t.createShader(t.FRAGMENT_SHADER),a=t.createProgram();if(!n||!o||!a)throw new r(\"Vertex, fragment shader or program creation error\");if(t.shaderSource(n,s),t.compileShader(n),!t.getShaderParameter(n,t.COMPILE_STATUS))throw new r(`Vertex shader compile error for ${this.type}: ${t.getShaderInfoLog(n)}`);if(t.shaderSource(o,e),t.compileShader(o),!t.getShaderParameter(o,t.COMPILE_STATUS))throw new r(`Fragment shader compile error for ${this.type}: ${t.getShaderInfoLog(o)}`);if(t.attachShader(a,n),t.attachShader(a,o),t.linkProgram(a),!t.getProgramParameter(a,t.LINK_STATUS))throw new r(`Shader link error for \"${this.type}\" ${t.getProgramInfoLog(a)}`);const h=this.getUniformLocations(t,a)||{};return h.uStepW=t.getUniformLocation(a,\"uStepW\"),h.uStepH=t.getUniformLocation(a,\"uStepH\"),{program:a,attributeLocations:this.getAttributeLocations(t,a),uniformLocations:h}}getAttributeLocations(t,e){return{aPosition:t.getAttribLocation(e,\"aPosition\")}}getUniformLocations(t,e){const s=this.constructor.uniformLocations,i={};for(let r=0;r<s.length;r++)i[s[r]]=t.getUniformLocation(e,s[r]);return i}sendAttributeData(t,e,s){const i=e.aPosition,r=t.createBuffer();t.bindBuffer(t.ARRAY_BUFFER,r),t.enableVertexAttribArray(i),t.vertexAttribPointer(i,2,t.FLOAT,!1,0,0),t.bufferData(t.ARRAY_BUFFER,s,t.STATIC_DRAW)}_setupFrameBuffer(t){const e=t.context;if(t.passes>1){const s=t.destinationWidth,i=t.destinationHeight;t.sourceWidth===s&&t.sourceHeight===i||(e.deleteTexture(t.targetTexture),t.targetTexture=t.filterBackend.createTexture(e,s,i)),e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,t.targetTexture,0)}else e.bindFramebuffer(e.FRAMEBUFFER,null),e.finish()}_swapTextures(t){t.passes--,t.pass++;const e=t.targetTexture;t.targetTexture=t.sourceTexture,t.sourceTexture=e}isNeutralState(t){return!1}applyTo(t){ea(t)?(this._setupFrameBuffer(t),this.applyToWebGL(t),this._swapTextures(t)):this.applyTo2d(t)}applyTo2d(t){}getCacheKey(){return this.type}retrieveShader(t){const e=this.getCacheKey();return t.programCache[e]||(t.programCache[e]=this.createProgram(t.context)),t.programCache[e]}applyToWebGL(t){const e=t.context,s=this.retrieveShader(t);0===t.pass&&t.originalTexture?e.bindTexture(e.TEXTURE_2D,t.originalTexture):e.bindTexture(e.TEXTURE_2D,t.sourceTexture),e.useProgram(s.program),this.sendAttributeData(e,s.attributeLocations,t.aPosition),e.uniform1f(s.uniformLocations.uStepW,1/t.sourceWidth),e.uniform1f(s.uniformLocations.uStepH,1/t.sourceHeight),this.sendUniformData(e,s.uniformLocations),e.viewport(0,0,t.destinationWidth,t.destinationHeight),e.drawArrays(e.TRIANGLE_STRIP,0,4)}bindAdditionalTexture(t,e,s){t.activeTexture(s),t.bindTexture(t.TEXTURE_2D,e),t.activeTexture(t.TEXTURE0)}unbindAdditionalTexture(t,e){t.activeTexture(e),t.bindTexture(t.TEXTURE_2D,null),t.activeTexture(t.TEXTURE0)}sendUniformData(t,e){}createHelpLayer(t){if(!t.helpLayer){const{sourceWidth:e,sourceHeight:s}=t,i=vt({width:e,height:s});t.helpLayer=i}}toObject(){const t=Object.keys(this.constructor.defaults||{});return{type:this.type,...t.reduce((t,e)=>(t[e]=this[e],t),{})}}toJSON(){return this.toObject()}static async fromObject(t,e){let{type:s,...i}=t;return new this(i)}}t(oa,\"type\",\"BaseFilter\"),t(oa,\"uniformLocations\",[]);const aa={multiply:\"gl_FragColor.rgb *= uColor.rgb;\\n\",screen:\"gl_FragColor.rgb = 1.0 - (1.0 - gl_FragColor.rgb) * (1.0 - uColor.rgb);\\n\",add:\"gl_FragColor.rgb += uColor.rgb;\\n\",difference:\"gl_FragColor.rgb = abs(gl_FragColor.rgb - uColor.rgb);\\n\",subtract:\"gl_FragColor.rgb -= uColor.rgb;\\n\",lighten:\"gl_FragColor.rgb = max(gl_FragColor.rgb, uColor.rgb);\\n\",darken:\"gl_FragColor.rgb = min(gl_FragColor.rgb, uColor.rgb);\\n\",exclusion:\"gl_FragColor.rgb += uColor.rgb - 2.0 * (uColor.rgb * gl_FragColor.rgb);\\n\",overlay:\"\\n if (uColor.r < 0.5) {\\n gl_FragColor.r *= 2.0 * uColor.r;\\n } else {\\n gl_FragColor.r = 1.0 - 2.0 * (1.0 - gl_FragColor.r) * (1.0 - uColor.r);\\n }\\n if (uColor.g < 0.5) {\\n gl_FragColor.g *= 2.0 * uColor.g;\\n } else {\\n gl_FragColor.g = 1.0 - 2.0 * (1.0 - gl_FragColor.g) * (1.0 - uColor.g);\\n }\\n if (uColor.b < 0.5) {\\n gl_FragColor.b *= 2.0 * uColor.b;\\n } else {\\n gl_FragColor.b = 1.0 - 2.0 * (1.0 - gl_FragColor.b) * (1.0 - uColor.b);\\n }\\n \",tint:\"\\n gl_FragColor.rgb *= (1.0 - uColor.a);\\n gl_FragColor.rgb += uColor.rgb;\\n \"};class ha extends oa{getCacheKey(){return`${this.type}_${this.mode}`}getFragmentSource(){return`\\n precision highp float;\\n uniform sampler2D uTexture;\\n uniform vec4 uColor;\\n varying vec2 vTexCoord;\\n void main() {\\n vec4 color = texture2D(uTexture, vTexCoord);\\n gl_FragColor = color;\\n if (color.a > 0.0) {\\n ${aa[this.mode]}\\n }\\n }\\n `}applyTo2d(t){let{imageData:{data:e}}=t;const s=new Je(this.color).getSource(),i=this.alpha,r=s[0]*i,n=s[1]*i,o=s[2]*i,a=1-i;for(let t=0;t<e.length;t+=4){const s=e[t],i=e[t+1],h=e[t+2];let l,c,u;switch(this.mode){case\"multiply\":l=s*r/255,c=i*n/255,u=h*o/255;break;case\"screen\":l=255-(255-s)*(255-r)/255,c=255-(255-i)*(255-n)/255,u=255-(255-h)*(255-o)/255;break;case\"add\":l=s+r,c=i+n,u=h+o;break;case\"difference\":l=Math.abs(s-r),c=Math.abs(i-n),u=Math.abs(h-o);break;case\"subtract\":l=s-r,c=i-n,u=h-o;break;case\"darken\":l=Math.min(s,r),c=Math.min(i,n),u=Math.min(h,o);break;case\"lighten\":l=Math.max(s,r),c=Math.max(i,n),u=Math.max(h,o);break;case\"overlay\":l=r<128?2*s*r/255:255-2*(255-s)*(255-r)/255,c=n<128?2*i*n/255:255-2*(255-i)*(255-n)/255,u=o<128?2*h*o/255:255-2*(255-h)*(255-o)/255;break;case\"exclusion\":l=r+s-2*r*s/255,c=n+i-2*n*i/255,u=o+h-2*o*h/255;break;case\"tint\":l=r+s*a,c=n+i*a,u=o+h*a}e[t]=l,e[t+1]=c,e[t+2]=u}}sendUniformData(t,e){const s=new Je(this.color).getSource();s[0]=this.alpha*s[0]/255,s[1]=this.alpha*s[1]/255,s[2]=this.alpha*s[2]/255,s[3]=this.alpha,t.uniform4fv(e.uColor,s)}}t(ha,\"defaults\",{color:\"#F95C63\",mode:\"multiply\",alpha:1}),t(ha,\"type\",\"BlendColor\"),t(ha,\"uniformLocations\",[\"uColor\"]),tt.setClass(ha);const la={multiply:\"\\n precision highp float;\\n uniform sampler2D uTexture;\\n uniform sampler2D uImage;\\n uniform vec4 uColor;\\n varying vec2 vTexCoord;\\n varying vec2 vTexCoord2;\\n void main() {\\n vec4 color = texture2D(uTexture, vTexCoord);\\n vec4 color2 = texture2D(uImage, vTexCoord2);\\n color.rgba *= color2.rgba;\\n gl_FragColor = color;\\n }\\n \",mask:\"\\n precision highp float;\\n uniform sampler2D uTexture;\\n uniform sampler2D uImage;\\n uniform vec4 uColor;\\n varying vec2 vTexCoord;\\n varying vec2 vTexCoord2;\\n void main() {\\n vec4 color = texture2D(uTexture, vTexCoord);\\n vec4 color2 = texture2D(uImage, vTexCoord2);\\n color.a = color2.a;\\n gl_FragColor = color;\\n }\\n \"};class ca extends oa{getCacheKey(){return`${this.type}_${this.mode}`}getFragmentSource(){return la[this.mode]}getVertexSource(){return\"\\n attribute vec2 aPosition;\\n varying vec2 vTexCoord;\\n varying vec2 vTexCoord2;\\n uniform mat3 uTransformMatrix;\\n void main() {\\n vTexCoord = aPosition;\\n vTexCoord2 = (uTransformMatrix * vec3(aPosition, 1.0)).xy;\\n gl_Position = vec4(aPosition * 2.0 - 1.0, 0.0, 1.0);\\n }\\n \"}applyToWebGL(t){const e=t.context,s=this.createTexture(t.filterBackend,this.image);this.bindAdditionalTexture(e,s,e.TEXTURE1),super.applyToWebGL(t),this.unbindAdditionalTexture(e,e.TEXTURE1)}createTexture(t,e){return t.getCachedTexture(e.cacheKey,e.getElement())}calculateMatrix(){const t=this.image,{width:e,height:s}=t.getElement();return[1/t.scaleX,0,0,0,1/t.scaleY,0,-t.left/e,-t.top/s,1]}applyTo2d(t){let{imageData:{data:e,width:s,height:i},filterBackend:{resources:r}}=t;const n=this.image;r.blendImage||(r.blendImage=pt());const o=r.blendImage,a=o.getContext(\"2d\");o.width!==s||o.height!==i?(o.width=s,o.height=i):a.clearRect(0,0,s,i),a.setTransform(n.scaleX,0,0,n.scaleY,n.left,n.top),a.drawImage(n.getElement(),0,0,s,i);const h=a.getImageData(0,0,s,i).data;for(let t=0;t<e.length;t+=4){const s=e[t],i=e[t+1],r=e[t+2],n=e[t+3],o=h[t],a=h[t+1],l=h[t+2],c=h[t+3];switch(this.mode){case\"multiply\":e[t]=s*o/255,e[t+1]=i*a/255,e[t+2]=r*l/255,e[t+3]=n*c/255;break;case\"mask\":e[t+3]=c}}}sendUniformData(t,e){const s=this.calculateMatrix();t.uniform1i(e.uImage,1),t.uniformMatrix3fv(e.uTransformMatrix,!1,s)}toObject(){return{...super.toObject(),image:this.image&&this.image.toObject()}}static async fromObject(t,e){let{type:s,image:i,...r}=t;return Xo.fromObject(i,e).then(t=>new this({...r,image:t}))}}t(ca,\"type\",\"BlendImage\"),t(ca,\"defaults\",{mode:\"multiply\",alpha:1}),t(ca,\"uniformLocations\",[\"uTransformMatrix\",\"uImage\"]),tt.setClass(ca);class ua extends oa{getFragmentSource(){return\"\\n precision highp float;\\n uniform sampler2D uTexture;\\n uniform vec2 uDelta;\\n varying vec2 vTexCoord;\\n const float nSamples = 15.0;\\n vec3 v3offset = vec3(12.9898, 78.233, 151.7182);\\n float random(vec3 scale) {\\n /* use the fragment position for a different seed per-pixel */\\n return fract(sin(dot(gl_FragCoord.xyz, scale)) * 43758.5453);\\n }\\n void main() {\\n vec4 color = vec4(0.0);\\n float totalC = 0.0;\\n float totalA = 0.0;\\n float offset = random(v3offset);\\n for (float t = -nSamples; t <= nSamples; t++) {\\n float percent = (t + offset - 0.5) / nSamples;\\n vec4 sample = texture2D(uTexture, vTexCoord + uDelta * percent);\\n float weight = 1.0 - abs(percent);\\n float alpha = weight * sample.a;\\n color.rgb += sample.rgb * alpha;\\n color.a += alpha;\\n totalA += weight;\\n totalC += alpha;\\n }\\n gl_FragColor.rgb = color.rgb / totalC;\\n gl_FragColor.a = color.a / totalA;\\n }\\n \"}applyTo(t){ea(t)?(this.aspectRatio=t.sourceWidth/t.sourceHeight,t.passes++,this._setupFrameBuffer(t),this.horizontal=!0,this.applyToWebGL(t),this._swapTextures(t),this._setupFrameBuffer(t),this.horizontal=!1,this.applyToWebGL(t),this._swapTextures(t)):this.applyTo2d(t)}applyTo2d(t){let{imageData:{data:e,width:s,height:i}}=t;this.aspectRatio=s/i,this.horizontal=!0;let r=this.getBlurValue()*s;const n=new Uint8ClampedArray(e),o=15,a=4*s;for(let t=0;t<e.length;t+=4){let s=0,i=0,h=0,l=0,c=0;const u=t-t%a,d=u+a;for(let n=-14;n<o;n++){const a=n/o,g=4*Math.floor(r*a),f=1-Math.abs(a);let p=t+g;p<u?p=u:p>d&&(p=d);const m=e[p+3]*f;s+=e[p]*m,i+=e[p+1]*m,h+=e[p+2]*m,l+=m,c+=f}n[t]=s/l,n[t+1]=i/l,n[t+2]=h/l,n[t+3]=l/c}this.horizontal=!1,r=this.getBlurValue()*i;for(let t=0;t<n.length;t+=4){let s=0,i=0,h=0,l=0,c=0;const u=t%a,d=n.length-a+u;for(let e=-14;e<o;e++){const g=e/o,f=Math.floor(r*g)*a,p=1-Math.abs(g);let m=t+f;m<u?m=u:m>d&&(m=d);const v=n[m+3]*p;s+=n[m]*v,i+=n[m+1]*v,h+=n[m+2]*v,l+=v,c+=p}e[t]=s/l,e[t+1]=i/l,e[t+2]=h/l,e[t+3]=l/c}}sendUniformData(t,e){const s=this.chooseRightDelta();t.uniform2fv(e.uDelta,s)}isNeutralState(){return 0===this.blur}getBlurValue(){let t=1;const{horizontal:e,aspectRatio:s}=this;return e?s>1&&(t=1/s):s<1&&(t=s),t*this.blur*.12}chooseRightDelta(){const t=this.getBlurValue();return this.horizontal?[t,0]:[0,t]}}t(ua,\"type\",\"Blur\"),t(ua,\"defaults\",{blur:0}),t(ua,\"uniformLocations\",[\"uDelta\"]),tt.setClass(ua);class da extends oa{getFragmentSource(){return\"\\n precision highp float;\\n uniform sampler2D uTexture;\\n uniform float uBrightness;\\n varying vec2 vTexCoord;\\n void main() {\\n vec4 color = texture2D(uTexture, vTexCoord);\\n color.rgb += uBrightness;\\n gl_FragColor = color;\\n }\\n\"}applyTo2d(t){let{imageData:{data:e}}=t;const s=Math.round(255*this.brightness);for(let t=0;t<e.length;t+=4)e[t]+=s,e[t+1]+=s,e[t+2]+=s}isNeutralState(){return 0===this.brightness}sendUniformData(t,e){t.uniform1f(e.uBrightness,this.brightness)}}t(da,\"type\",\"Brightness\"),t(da,\"defaults\",{brightness:0}),t(da,\"uniformLocations\",[\"uBrightness\"]),tt.setClass(da);const ga={matrix:[1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,1,0],colorsOnly:!0};class fa extends oa{getFragmentSource(){return\"\\n precision highp float;\\n uniform sampler2D uTexture;\\n varying vec2 vTexCoord;\\n uniform mat4 uColorMatrix;\\n uniform vec4 uConstants;\\n void main() {\\n vec4 color = texture2D(uTexture, vTexCoord);\\n color *= uColorMatrix;\\n color += uConstants;\\n gl_FragColor = color;\\n }\"}applyTo2d(t){const e=t.imageData.data,s=this.matrix,i=this.colorsOnly;for(let t=0;t<e.length;t+=4){const r=e[t],n=e[t+1],o=e[t+2];if(e[t]=r*s[0]+n*s[1]+o*s[2]+255*s[4],e[t+1]=r*s[5]+n*s[6]+o*s[7]+255*s[9],e[t+2]=r*s[10]+n*s[11]+o*s[12]+255*s[14],!i){const i=e[t+3];e[t]+=i*s[3],e[t+1]+=i*s[8],e[t+2]+=i*s[13],e[t+3]=r*s[15]+n*s[16]+o*s[17]+i*s[18]+255*s[19]}}}sendUniformData(t,e){const s=this.matrix,i=[s[0],s[1],s[2],s[3],s[5],s[6],s[7],s[8],s[10],s[11],s[12],s[13],s[15],s[16],s[17],s[18]],r=[s[4],s[9],s[14],s[19]];t.uniformMatrix4fv(e.uColorMatrix,!1,i),t.uniform4fv(e.uConstants,r)}toObject(){return{...super.toObject(),matrix:[...this.matrix]}}}function pa(e,s){var i;const r=(t(i=class extends fa{toObject(){return{type:this.type,colorsOnly:this.colorsOnly}}},\"type\",e),t(i,\"defaults\",{colorsOnly:!1,matrix:s}),i);return tt.setClass(r,e),r}t(fa,\"type\",\"ColorMatrix\"),t(fa,\"defaults\",ga),t(fa,\"uniformLocations\",[\"uColorMatrix\",\"uConstants\"]),tt.setClass(fa);const ma=pa(\"Brownie\",[.5997,.34553,-.27082,0,.186,-.0377,.86095,.15059,0,-.1449,.24113,-.07441,.44972,0,-.02965,0,0,0,1,0]),va=pa(\"Vintage\",[.62793,.32021,-.03965,0,.03784,.02578,.64411,.03259,0,.02926,.0466,-.08512,.52416,0,.02023,0,0,0,1,0]),ya=pa(\"Kodachrome\",[1.12855,-.39673,-.03992,0,.24991,-.16404,1.08352,-.05498,0,.09698,-.16786,-.56034,1.60148,0,.13972,0,0,0,1,0]),_a=pa(\"Technicolor\",[1.91252,-.85453,-.09155,0,.04624,-.30878,1.76589,-.10601,0,-.27589,-.2311,-.75018,1.84759,0,.12137,0,0,0,1,0]),xa=pa(\"Polaroid\",[1.438,-.062,-.062,0,0,-.122,1.378,-.122,0,0,-.016,-.016,1.483,0,0,0,0,0,1,0]),Ca=pa(\"Sepia\",[.393,.769,.189,0,0,.349,.686,.168,0,0,.272,.534,.131,0,0,0,0,0,1,0]),ba=pa(\"BlackWhite\",[1.5,1.5,1.5,0,-1,1.5,1.5,1.5,0,-1,1.5,1.5,1.5,0,-1,0,0,0,1,0]);class Sa extends oa{constructor(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super(t),this.subFilters=t.subFilters||[]}applyTo(t){ea(t)&&(t.passes+=this.subFilters.length-1),this.subFilters.forEach(e=>{e.applyTo(t)})}toObject(){return{type:this.type,subFilters:this.subFilters.map(t=>t.toObject())}}isNeutralState(){return!this.subFilters.some(t=>!t.isNeutralState())}static fromObject(t,e){return Promise.all((t.subFilters||[]).map(t=>tt.getClass(t.type).fromObject(t,e))).then(t=>new this({subFilters:t}))}}t(Sa,\"type\",\"Composed\"),tt.setClass(Sa);class wa extends oa{getFragmentSource(){return\"\\n precision highp float;\\n uniform sampler2D uTexture;\\n uniform float uContrast;\\n varying vec2 vTexCoord;\\n void main() {\\n vec4 color = texture2D(uTexture, vTexCoord);\\n float contrastF = 1.015 * (uContrast + 1.0) / (1.0 * (1.015 - uContrast));\\n color.rgb = contrastF * (color.rgb - 0.5) + 0.5;\\n gl_FragColor = color;\\n }\"}isNeutralState(){return 0===this.contrast}applyTo2d(t){let{imageData:{data:e}}=t;const s=Math.floor(255*this.contrast),i=259*(s+255)/(255*(259-s));for(let t=0;t<e.length;t+=4)e[t]=i*(e[t]-128)+128,e[t+1]=i*(e[t+1]-128)+128,e[t+2]=i*(e[t+2]-128)+128}sendUniformData(t,e){t.uniform1f(e.uContrast,this.contrast)}}t(wa,\"type\",\"Contrast\"),t(wa,\"defaults\",{contrast:0}),t(wa,\"uniformLocations\",[\"uContrast\"]),tt.setClass(wa);const Ta={Convolute_3_1:\"\\n precision highp float;\\n uniform sampler2D uTexture;\\n uniform float uMatrix[9];\\n uniform float uStepW;\\n uniform float uStepH;\\n varying vec2 vTexCoord;\\n void main() {\\n vec4 color = vec4(0, 0, 0, 0);\\n for (float h = 0.0; h < 3.0; h+=1.0) {\\n for (float w = 0.0; w < 3.0; w+=1.0) {\\n vec2 matrixPos = vec2(uStepW * (w - 1), uStepH * (h - 1));\\n color += texture2D(uTexture, vTexCoord + matrixPos) * uMatrix[int(h * 3.0 + w)];\\n }\\n }\\n gl_FragColor = color;\\n }\\n \",Convolute_3_0:\"\\n precision highp float;\\n uniform sampler2D uTexture;\\n uniform float uMatrix[9];\\n uniform float uStepW;\\n uniform float uStepH;\\n varying vec2 vTexCoord;\\n void main() {\\n vec4 color = vec4(0, 0, 0, 1);\\n for (float h = 0.0; h < 3.0; h+=1.0) {\\n for (float w = 0.0; w < 3.0; w+=1.0) {\\n vec2 matrixPos = vec2(uStepW * (w - 1.0), uStepH * (h - 1.0));\\n color.rgb += texture2D(uTexture, vTexCoord + matrixPos).rgb * uMatrix[int(h * 3.0 + w)];\\n }\\n }\\n float alpha = texture2D(uTexture, vTexCoord).a;\\n gl_FragColor = color;\\n gl_FragColor.a = alpha;\\n }\\n \",Convolute_5_1:\"\\n precision highp float;\\n uniform sampler2D uTexture;\\n uniform float uMatrix[25];\\n uniform float uStepW;\\n uniform float uStepH;\\n varying vec2 vTexCoord;\\n void main() {\\n vec4 color = vec4(0, 0, 0, 0);\\n for (float h = 0.0; h < 5.0; h+=1.0) {\\n for (float w = 0.0; w < 5.0; w+=1.0) {\\n vec2 matrixPos = vec2(uStepW * (w - 2.0), uStepH * (h - 2.0));\\n color += texture2D(uTexture, vTexCoord + matrixPos) * uMatrix[int(h * 5.0 + w)];\\n }\\n }\\n gl_FragColor = color;\\n }\\n \",Convolute_5_0:\"\\n precision highp float;\\n uniform sampler2D uTexture;\\n uniform float uMatrix[25];\\n uniform float uStepW;\\n uniform float uStepH;\\n varying vec2 vTexCoord;\\n void main() {\\n vec4 color = vec4(0, 0, 0, 1);\\n for (float h = 0.0; h < 5.0; h+=1.0) {\\n for (float w = 0.0; w < 5.0; w+=1.0) {\\n vec2 matrixPos = vec2(uStepW * (w - 2.0), uStepH * (h - 2.0));\\n color.rgb += texture2D(uTexture, vTexCoord + matrixPos).rgb * uMatrix[int(h * 5.0 + w)];\\n }\\n }\\n float alpha = texture2D(uTexture, vTexCoord).a;\\n gl_FragColor = color;\\n gl_FragColor.a = alpha;\\n }\\n \",Convolute_7_1:\"\\n precision highp float;\\n uniform sampler2D uTexture;\\n uniform float uMatrix[49];\\n uniform float uStepW;\\n uniform float uStepH;\\n varying vec2 vTexCoord;\\n void main() {\\n vec4 color = vec4(0, 0, 0, 0);\\n for (float h = 0.0; h < 7.0; h+=1.0) {\\n for (float w = 0.0; w < 7.0; w+=1.0) {\\n vec2 matrixPos = vec2(uStepW * (w - 3.0), uStepH * (h - 3.0));\\n color += texture2D(uTexture, vTexCoord + matrixPos) * uMatrix[int(h * 7.0 + w)];\\n }\\n }\\n gl_FragColor = color;\\n }\\n \",Convolute_7_0:\"\\n precision highp float;\\n uniform sampler2D uTexture;\\n uniform float uMatrix[49];\\n uniform float uStepW;\\n uniform float uStepH;\\n varying vec2 vTexCoord;\\n void main() {\\n vec4 color = vec4(0, 0, 0, 1);\\n for (float h = 0.0; h < 7.0; h+=1.0) {\\n for (float w = 0.0; w < 7.0; w+=1.0) {\\n vec2 matrixPos = vec2(uStepW * (w - 3.0), uStepH * (h - 3.0));\\n color.rgb += texture2D(uTexture, vTexCoord + matrixPos).rgb * uMatrix[int(h * 7.0 + w)];\\n }\\n }\\n float alpha = texture2D(uTexture, vTexCoord).a;\\n gl_FragColor = color;\\n gl_FragColor.a = alpha;\\n }\\n \",Convolute_9_1:\"\\n precision highp float;\\n uniform sampler2D uTexture;\\n uniform float uMatrix[81];\\n uniform float uStepW;\\n uniform float uStepH;\\n varying vec2 vTexCoord;\\n void main() {\\n vec4 color = vec4(0, 0, 0, 0);\\n for (float h = 0.0; h < 9.0; h+=1.0) {\\n for (float w = 0.0; w < 9.0; w+=1.0) {\\n vec2 matrixPos = vec2(uStepW * (w - 4.0), uStepH * (h - 4.0));\\n color += texture2D(uTexture, vTexCoord + matrixPos) * uMatrix[int(h * 9.0 + w)];\\n }\\n }\\n gl_FragColor = color;\\n }\\n \",Convolute_9_0:\"\\n precision highp float;\\n uniform sampler2D uTexture;\\n uniform float uMatrix[81];\\n uniform float uStepW;\\n uniform float uStepH;\\n varying vec2 vTexCoord;\\n void main() {\\n vec4 color = vec4(0, 0, 0, 1);\\n for (float h = 0.0; h < 9.0; h+=1.0) {\\n for (float w = 0.0; w < 9.0; w+=1.0) {\\n vec2 matrixPos = vec2(uStepW * (w - 4.0), uStepH * (h - 4.0));\\n color.rgb += texture2D(uTexture, vTexCoord + matrixPos).rgb * uMatrix[int(h * 9.0 + w)];\\n }\\n }\\n float alpha = texture2D(uTexture, vTexCoord).a;\\n gl_FragColor = color;\\n gl_FragColor.a = alpha;\\n }\\n \"};class Oa extends oa{getCacheKey(){return`${this.type}_${Math.sqrt(this.matrix.length)}_${this.opaque?1:0}`}getFragmentSource(){return Ta[this.getCacheKey()]}applyTo2d(t){const e=t.imageData,s=e.data,i=this.matrix,r=Math.round(Math.sqrt(i.length)),n=Math.floor(r/2),o=e.width,a=e.height,h=t.ctx.createImageData(o,a),l=h.data,c=this.opaque?1:0;let u,d,g,f,p,m,v,y,_,x,C,b,S;for(C=0;C<a;C++)for(x=0;x<o;x++){for(p=4*(C*o+x),u=0,d=0,g=0,f=0,S=0;S<r;S++)for(b=0;b<r;b++)v=C+S-n,m=x+b-n,v<0||v>=a||m<0||m>=o||(y=4*(v*o+m),_=i[S*r+b],u+=s[y]*_,d+=s[y+1]*_,g+=s[y+2]*_,c||(f+=s[y+3]*_));l[p]=u,l[p+1]=d,l[p+2]=g,l[p+3]=c?s[p+3]:f}t.imageData=h}sendUniformData(t,e){t.uniform1fv(e.uMatrix,this.matrix)}toObject(){return{...super.toObject(),opaque:this.opaque,matrix:[...this.matrix]}}}t(Oa,\"type\",\"Convolute\"),t(Oa,\"defaults\",{opaque:!1,matrix:[0,0,0,0,1,0,0,0,0]}),t(Oa,\"uniformLocations\",[\"uMatrix\",\"uOpaque\",\"uHalfSize\",\"uSize\"]),tt.setClass(Oa);const ka=\"Gamma\";class Da extends oa{getFragmentSource(){return\"\\n precision highp float;\\n uniform sampler2D uTexture;\\n uniform vec3 uGamma;\\n varying vec2 vTexCoord;\\n void main() {\\n vec4 color = texture2D(uTexture, vTexCoord);\\n vec3 correction = (1.0 / uGamma);\\n color.r = pow(color.r, correction.r);\\n color.g = pow(color.g, correction.g);\\n color.b = pow(color.b, correction.b);\\n gl_FragColor = color;\\n gl_FragColor.rgb *= color.a;\\n }\\n\"}constructor(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super(t),this.gamma=t.gamma||this.constructor.defaults.gamma.concat()}applyTo2d(t){let{imageData:{data:e}}=t;const s=this.gamma,i=1/s[0],r=1/s[1],n=1/s[2];this.rgbValues||(this.rgbValues={r:new Uint8Array(256),g:new Uint8Array(256),b:new Uint8Array(256)});const o=this.rgbValues;for(let t=0;t<256;t++)o.r[t]=255*Math.pow(t/255,i),o.g[t]=255*Math.pow(t/255,r),o.b[t]=255*Math.pow(t/255,n);for(let t=0;t<e.length;t+=4)e[t]=o.r[e[t]],e[t+1]=o.g[e[t+1]],e[t+2]=o.b[e[t+2]]}sendUniformData(t,e){t.uniform3fv(e.uGamma,this.gamma)}isNeutralState(){const{gamma:t}=this;return 1===t[0]&&1===t[1]&&1===t[2]}toObject(){return{type:ka,gamma:this.gamma.concat()}}}t(Da,\"type\",ka),t(Da,\"defaults\",{gamma:[1,1,1]}),t(Da,\"uniformLocations\",[\"uGamma\"]),tt.setClass(Da);const Ma={average:\"\\n precision highp float;\\n uniform sampler2D uTexture;\\n varying vec2 vTexCoord;\\n void main() {\\n vec4 color = texture2D(uTexture, vTexCoord);\\n float average = (color.r + color.b + color.g) / 3.0;\\n gl_FragColor = vec4(average, average, average, color.a);\\n }\\n \",lightness:\"\\n precision highp float;\\n uniform sampler2D uTexture;\\n uniform int uMode;\\n varying vec2 vTexCoord;\\n void main() {\\n vec4 col = texture2D(uTexture, vTexCoord);\\n float average = (max(max(col.r, col.g),col.b) + min(min(col.r, col.g),col.b)) / 2.0;\\n gl_FragColor = vec4(average, average, average, col.a);\\n }\\n \",luminosity:\"\\n precision highp float;\\n uniform sampler2D uTexture;\\n uniform int uMode;\\n varying vec2 vTexCoord;\\n void main() {\\n vec4 col = texture2D(uTexture, vTexCoord);\\n float average = 0.21 * col.r + 0.72 * col.g + 0.07 * col.b;\\n gl_FragColor = vec4(average, average, average, col.a);\\n }\\n \"};class Pa extends oa{applyTo2d(t){let{imageData:{data:e}}=t;for(let t,s=0;s<e.length;s+=4){const i=e[s],r=e[s+1],n=e[s+2];switch(this.mode){case\"average\":t=(i+r+n)/3;break;case\"lightness\":t=(Math.min(i,r,n)+Math.max(i,r,n))/2;break;case\"luminosity\":t=.21*i+.72*r+.07*n}e[s+2]=e[s+1]=e[s]=t}}getCacheKey(){return`${this.type}_${this.mode}`}getFragmentSource(){return Ma[this.mode]}sendUniformData(t,e){t.uniform1i(e.uMode,1)}isNeutralState(){return!1}}t(Pa,\"type\",\"Grayscale\"),t(Pa,\"defaults\",{mode:\"average\"}),t(Pa,\"uniformLocations\",[\"uMode\"]),tt.setClass(Pa);const Ea={...ga,rotation:0};class Aa extends fa{calculateMatrix(){const t=this.rotation*Math.PI,e=rt(t),s=nt(t),i=1/3,r=Math.sqrt(i)*s,n=1-e;this.matrix=[e+n/3,i*n-r,i*n+r,0,0,i*n+r,e+i*n,i*n-r,0,0,i*n-r,i*n+r,e+i*n,0,0,0,0,0,1,0]}isNeutralState(){return 0===this.rotation}applyTo(t){this.calculateMatrix(),super.applyTo(t)}toObject(){return{type:this.type,rotation:this.rotation}}}t(Aa,\"type\",\"HueRotation\"),t(Aa,\"defaults\",Ea),tt.setClass(Aa);class ja extends oa{applyTo2d(t){let{imageData:{data:e}}=t;for(let t=0;t<e.length;t+=4)e[t]=255-e[t],e[t+1]=255-e[t+1],e[t+2]=255-e[t+2],this.alpha&&(e[t+3]=255-e[t+3])}getFragmentSource(){return\"\\n precision highp float;\\n uniform sampler2D uTexture;\\n uniform int uInvert;\\n uniform int uAlpha;\\n varying vec2 vTexCoord;\\n void main() {\\n vec4 color = texture2D(uTexture, vTexCoord);\\n if (uInvert == 1) {\\n if (uAlpha == 1) {\\n gl_FragColor = vec4(1.0 - color.r,1.0 -color.g,1.0 -color.b,1.0 -color.a);\\n } else {\\n gl_FragColor = vec4(1.0 - color.r,1.0 -color.g,1.0 -color.b,color.a);\\n }\\n } else {\\n gl_FragColor = color;\\n }\\n }\\n\"}isNeutralState(){return!this.invert}sendUniformData(t,e){t.uniform1i(e.uInvert,Number(this.invert)),t.uniform1i(e.uAlpha,Number(this.alpha))}}t(ja,\"type\",\"Invert\"),t(ja,\"defaults\",{alpha:!1,invert:!0}),t(ja,\"uniformLocations\",[\"uInvert\",\"uAlpha\"]),tt.setClass(ja);class Fa extends oa{getFragmentSource(){return\"\\n precision highp float;\\n uniform sampler2D uTexture;\\n uniform float uStepH;\\n uniform float uNoise;\\n uniform float uSeed;\\n varying vec2 vTexCoord;\\n float rand(vec2 co, float seed, float vScale) {\\n return fract(sin(dot(co.xy * vScale ,vec2(12.9898 , 78.233))) * 43758.5453 * (seed + 0.01) / 2.0);\\n }\\n void main() {\\n vec4 color = texture2D(uTexture, vTexCoord);\\n color.rgb += (0.5 - rand(vTexCoord, uSeed, 0.1 / uStepH)) * uNoise;\\n gl_FragColor = color;\\n }\\n\"}applyTo2d(t){let{imageData:{data:e}}=t;const s=this.noise;for(let t=0;t<e.length;t+=4){const i=(.5-Math.random())*s;e[t]+=i,e[t+1]+=i,e[t+2]+=i}}sendUniformData(t,e){t.uniform1f(e.uNoise,this.noise/255),t.uniform1f(e.uSeed,Math.random())}isNeutralState(){return 0===this.noise}}t(Fa,\"type\",\"Noise\"),t(Fa,\"defaults\",{noise:0}),t(Fa,\"uniformLocations\",[\"uNoise\",\"uSeed\"]),tt.setClass(Fa);class La extends oa{applyTo2d(t){let{imageData:{data:e,width:s,height:i}}=t;for(let t=0;t<i;t+=this.blocksize)for(let r=0;r<s;r+=this.blocksize){const n=4*t*s+4*r,o=e[n],a=e[n+1],h=e[n+2],l=e[n+3];for(let n=t;n<Math.min(t+this.blocksize,i);n++)for(let t=r;t<Math.min(r+this.blocksize,s);t++){const i=4*n*s+4*t;e[i]=o,e[i+1]=a,e[i+2]=h,e[i+3]=l}}}isNeutralState(){return 1===this.blocksize}getFragmentSource(){return\"\\n precision highp float;\\n uniform sampler2D uTexture;\\n uniform float uBlocksize;\\n uniform float uStepW;\\n uniform float uStepH;\\n varying vec2 vTexCoord;\\n void main() {\\n float blockW = uBlocksize * uStepW;\\n float blockH = uBlocksize * uStepH;\\n int posX = int(vTexCoord.x / blockW);\\n int posY = int(vTexCoord.y / blockH);\\n float fposX = float(posX);\\n float fposY = float(posY);\\n vec2 squareCoords = vec2(fposX * blockW, fposY * blockH);\\n vec4 color = texture2D(uTexture, squareCoords);\\n gl_FragColor = color;\\n }\\n\"}sendUniformData(t,e){t.uniform1f(e.uBlocksize,this.blocksize)}}t(La,\"type\",\"Pixelate\"),t(La,\"defaults\",{blocksize:4}),t(La,\"uniformLocations\",[\"uBlocksize\"]),tt.setClass(La);class Ba extends oa{getFragmentSource(){return\"\\nprecision highp float;\\nuniform sampler2D uTexture;\\nuniform vec4 uLow;\\nuniform vec4 uHigh;\\nvarying vec2 vTexCoord;\\nvoid main() {\\n gl_FragColor = texture2D(uTexture, vTexCoord);\\n if(all(greaterThan(gl_FragColor.rgb,uLow.rgb)) && all(greaterThan(uHigh.rgb,gl_FragColor.rgb))) {\\n gl_FragColor.a = 0.0;\\n }\\n}\\n\"}applyTo2d(t){let{imageData:{data:e}}=t;const s=255*this.distance,i=new Je(this.color).getSource(),r=[i[0]-s,i[1]-s,i[2]-s],n=[i[0]+s,i[1]+s,i[2]+s];for(let t=0;t<e.length;t+=4){const s=e[t],i=e[t+1],o=e[t+2];s>r[0]&&i>r[1]&&o>r[2]&&s<n[0]&&i<n[1]&&o<n[2]&&(e[t+3]=0)}}sendUniformData(t,e){const s=new Je(this.color).getSource(),i=this.distance,r=[0+s[0]/255-i,0+s[1]/255-i,0+s[2]/255-i,1],n=[s[0]/255+i,s[1]/255+i,s[2]/255+i,1];t.uniform4fv(e.uLow,r),t.uniform4fv(e.uHigh,n)}}t(Ba,\"type\",\"RemoveColor\"),t(Ba,\"defaults\",{color:\"#FFFFFF\",distance:.02,useAlpha:!1}),t(Ba,\"uniformLocations\",[\"uLow\",\"uHigh\"]),tt.setClass(Ba);class Ra extends oa{sendUniformData(t,e){t.uniform2fv(e.uDelta,this.horizontal?[1/this.width,0]:[0,1/this.height]),t.uniform1fv(e.uTaps,this.taps)}getFilterWindow(){const t=this.tempScale;return Math.ceil(this.lanczosLobes/t)}getCacheKey(){const t=this.getFilterWindow();return`${this.type}_${t}`}getFragmentSource(){const t=this.getFilterWindow();return this.generateShader(t)}getTaps(){const t=this.lanczosCreate(this.lanczosLobes),e=this.tempScale,s=this.getFilterWindow(),i=new Array(s);for(let r=1;r<=s;r++)i[r-1]=t(r*e);return i}generateShader(t){const e=new Array(t);for(let s=1;s<=t;s++)e[s-1]=`${s}.0 * uDelta`;return`\\n precision highp float;\\n uniform sampler2D uTexture;\\n uniform vec2 uDelta;\\n varying vec2 vTexCoord;\\n uniform float uTaps[${t}];\\n void main() {\\n vec4 color = texture2D(uTexture, vTexCoord);\\n float sum = 1.0;\\n ${e.map((t,e)=>`\\n color += texture2D(uTexture, vTexCoord + ${t}) * uTaps[${e}] + texture2D(uTexture, vTexCoord - ${t}) * uTaps[${e}];\\n sum += 2.0 * uTaps[${e}];\\n `).join(\"\\n\")}\\n gl_FragColor = color / sum;\\n }\\n `}applyToForWebgl(t){t.passes++,this.width=t.sourceWidth,this.horizontal=!0,this.dW=Math.round(this.width*this.scaleX),this.dH=t.sourceHeight,this.tempScale=this.dW/this.width,this.taps=this.getTaps(),t.destinationWidth=this.dW,super.applyTo(t),t.sourceWidth=t.destinationWidth,this.height=t.sourceHeight,this.horizontal=!1,this.dH=Math.round(this.height*this.scaleY),this.tempScale=this.dH/this.height,this.taps=this.getTaps(),t.destinationHeight=this.dH,super.applyTo(t),t.sourceHeight=t.destinationHeight}applyTo(t){ea(t)?this.applyToForWebgl(t):this.applyTo2d(t)}isNeutralState(){return 1===this.scaleX&&1===this.scaleY}lanczosCreate(t){return e=>{if(e>=t||e<=-t)return 0;if(e<1.1920929e-7&&e>-1.1920929e-7)return 1;const s=(e*=Math.PI)/t;return Math.sin(e)/e*Math.sin(s)/s}}applyTo2d(t){const e=t.imageData,s=this.scaleX,i=this.scaleY;this.rcpScaleX=1/s,this.rcpScaleY=1/i;const r=e.width,n=e.height,o=Math.round(r*s),a=Math.round(n*i);let h;h=\"sliceHack\"===this.resizeType?this.sliceByTwo(t,r,n,o,a):\"hermite\"===this.resizeType?this.hermiteFastResize(t,r,n,o,a):\"bilinear\"===this.resizeType?this.bilinearFiltering(t,r,n,o,a):\"lanczos\"===this.resizeType?this.lanczosResize(t,r,n,o,a):new ImageData(o,a),t.imageData=h}sliceByTwo(t,e,s,i,r){const n=t.imageData,o=.5;let a=!1,h=!1,l=e*o,c=s*o;const u=t.filterBackend.resources;let d=0,g=0;const f=e;let p=0;u.sliceByTwo||(u.sliceByTwo=pt());const m=u.sliceByTwo;(m.width<1.5*e||m.height<s)&&(m.width=1.5*e,m.height=s);const v=m.getContext(\"2d\");for(v.clearRect(0,0,1.5*e,s),v.putImageData(n,0,0),i=Math.floor(i),r=Math.floor(r);!a||!h;)e=l,s=c,i<Math.floor(l*o)?l=Math.floor(l*o):(l=i,a=!0),r<Math.floor(c*o)?c=Math.floor(c*o):(c=r,h=!0),v.drawImage(m,d,g,e,s,f,p,l,c),d=f,g=p,p+=c;return v.getImageData(d,g,i,r)}lanczosResize(t,e,s,i,r){const n=t.imageData.data,o=t.ctx.createImageData(i,r),a=o.data,h=this.lanczosCreate(this.lanczosLobes),l=this.rcpScaleX,c=this.rcpScaleY,u=2/this.rcpScaleX,d=2/this.rcpScaleY,g=Math.ceil(l*this.lanczosLobes/2),f=Math.ceil(c*this.lanczosLobes/2),p={},m={x:0,y:0},v={x:0,y:0};return function t(y){let _,x,C,b,S,w,T,O,k,D,M;for(m.x=(y+.5)*l,v.x=Math.floor(m.x),_=0;_<r;_++){for(m.y=(_+.5)*c,v.y=Math.floor(m.y),S=0,w=0,T=0,O=0,k=0,x=v.x-g;x<=v.x+g;x++)if(!(x<0||x>=e)){D=Math.floor(1e3*Math.abs(x-m.x)),p[D]||(p[D]={});for(let t=v.y-f;t<=v.y+f;t++)t<0||t>=s||(M=Math.floor(1e3*Math.abs(t-m.y)),p[D][M]||(p[D][M]=h(Math.sqrt(Math.pow(D*u,2)+Math.pow(M*d,2))/1e3)),C=p[D][M],C>0&&(b=4*(t*e+x),S+=C,w+=C*n[b],T+=C*n[b+1],O+=C*n[b+2],k+=C*n[b+3]))}b=4*(_*i+y),a[b]=w/S,a[b+1]=T/S,a[b+2]=O/S,a[b+3]=k/S}return++y<i?t(y):o}(0)}bilinearFiltering(t,e,s,i,r){let n,o,a,h,l,c,u,d,g,f,p,m,v,y=0;const _=this.rcpScaleX,x=this.rcpScaleY,C=4*(e-1),b=t.imageData.data,S=t.ctx.createImageData(i,r),w=S.data;for(u=0;u<r;u++)for(d=0;d<i;d++)for(l=Math.floor(_*d),c=Math.floor(x*u),g=_*d-l,f=x*u-c,v=4*(c*e+l),p=0;p<4;p++)n=b[v+p],o=b[v+4+p],a=b[v+C+p],h=b[v+C+4+p],m=n*(1-g)*(1-f)+o*g*(1-f)+a*f*(1-g)+h*g*f,w[y++]=m;return S}hermiteFastResize(t,e,s,i,r){const n=this.rcpScaleX,o=this.rcpScaleY,a=Math.ceil(n/2),h=Math.ceil(o/2),l=t.imageData.data,c=t.ctx.createImageData(i,r),u=c.data;for(let t=0;t<r;t++)for(let s=0;s<i;s++){const r=4*(s+t*i);let c=0,d=0,g=0,f=0,p=0,m=0,v=0;const y=(t+.5)*o;for(let i=Math.floor(t*o);i<(t+1)*o;i++){const t=Math.abs(y-(i+.5))/h,r=(s+.5)*n,o=t*t;for(let t=Math.floor(s*n);t<(s+1)*n;t++){let s=Math.abs(r-(t+.5))/a;const n=Math.sqrt(o+s*s);n>1&&n<-1||(c=2*n*n*n-3*n*n+1,c>0&&(s=4*(t+i*e),v+=c*l[s+3],g+=c,l[s+3]<255&&(c=c*l[s+3]/250),f+=c*l[s],p+=c*l[s+1],m+=c*l[s+2],d+=c))}}u[r]=f/d,u[r+1]=p/d,u[r+2]=m/d,u[r+3]=v/g}return c}}t(Ra,\"type\",\"Resize\"),t(Ra,\"defaults\",{resizeType:\"hermite\",scaleX:1,scaleY:1,lanczosLobes:3}),t(Ra,\"uniformLocations\",[\"uDelta\",\"uTaps\"]),tt.setClass(Ra);class Ia extends oa{getFragmentSource(){return\"\\n precision highp float;\\n uniform sampler2D uTexture;\\n uniform float uSaturation;\\n varying vec2 vTexCoord;\\n void main() {\\n vec4 color = texture2D(uTexture, vTexCoord);\\n float rgMax = max(color.r, color.g);\\n float rgbMax = max(rgMax, color.b);\\n color.r += rgbMax != color.r ? (rgbMax - color.r) * uSaturation : 0.00;\\n color.g += rgbMax != color.g ? (rgbMax - color.g) * uSaturation : 0.00;\\n color.b += rgbMax != color.b ? (rgbMax - color.b) * uSaturation : 0.00;\\n gl_FragColor = color;\\n }\\n\"}applyTo2d(t){let{imageData:{data:e}}=t;const s=-this.saturation;for(let t=0;t<e.length;t+=4){const i=e[t],r=e[t+1],n=e[t+2],o=Math.max(i,r,n);e[t]+=o!==i?(o-i)*s:0,e[t+1]+=o!==r?(o-r)*s:0,e[t+2]+=o!==n?(o-n)*s:0}}sendUniformData(t,e){t.uniform1f(e.uSaturation,-this.saturation)}isNeutralState(){return 0===this.saturation}}t(Ia,\"type\",\"Saturation\"),t(Ia,\"defaults\",{saturation:0}),t(Ia,\"uniformLocations\",[\"uSaturation\"]),tt.setClass(Ia);class $a extends oa{getFragmentSource(){return\"\\n precision highp float;\\n uniform sampler2D uTexture;\\n uniform float uVibrance;\\n varying vec2 vTexCoord;\\n void main() {\\n vec4 color = texture2D(uTexture, vTexCoord);\\n float max = max(color.r, max(color.g, color.b));\\n float avg = (color.r + color.g + color.b) / 3.0;\\n float amt = (abs(max - avg) * 2.0) * uVibrance;\\n color.r += max != color.r ? (max - color.r) * amt : 0.00;\\n color.g += max != color.g ? (max - color.g) * amt : 0.00;\\n color.b += max != color.b ? (max - color.b) * amt : 0.00;\\n gl_FragColor = color;\\n }\\n\"}applyTo2d(t){let{imageData:{data:e}}=t;const s=-this.vibrance;for(let t=0;t<e.length;t+=4){const i=e[t],r=e[t+1],n=e[t+2],o=Math.max(i,r,n),a=(i+r+n)/3,h=2*Math.abs(o-a)/255*s;e[t]+=o!==i?(o-i)*h:0,e[t+1]+=o!==r?(o-r)*h:0,e[t+2]+=o!==n?(o-n)*h:0}}sendUniformData(t,e){t.uniform1f(e.uVibrance,-this.vibrance)}isNeutralState(){return 0===this.vibrance}}t($a,\"type\",\"Vibrance\"),t($a,\"defaults\",{vibrance:0}),t($a,\"uniformLocations\",[\"uVibrance\"]),tt.setClass($a);var Xa=Object.freeze({__proto__:null,BaseFilter:oa,BlackWhite:ba,BlendColor:ha,BlendImage:ca,Blur:ua,Brightness:da,Brownie:ma,ColorMatrix:fa,Composed:Sa,Contrast:wa,Convolute:Oa,Gamma:Da,Grayscale:Pa,HueRotation:Aa,Invert:ja,Kodachrome:ya,Noise:Fa,Pixelate:La,Polaroid:xa,RemoveColor:Ba,Resize:Ra,Saturation:Ia,Sepia:Ca,Technicolor:_a,Vibrance:$a,Vintage:va});export{Ao as ActiveSelection,Gn as BaseBrush,qs as BaseFabricObject,Mn as Canvas,jo as Canvas2dFilterBackend,hn as CanvasDOMManager,qn as Circle,Kn as CircleBrush,Mo as ClipPathLayout,Je as Color,oi as Control,io as Ellipse,Xo as FabricImage,ji as FabricObject,go as FabricText,br as FitContentLayout,Po as FixedLayout,Vn as Gradient,Or as Group,ko as IText,Xo as Image,Ei as InteractiveFabricObject,Ns as Intersection,wr as LayoutManager,Cr as LayoutStrategy,to as Line,ji as Object,st as Observable,Hn as Path,zn as Pattern,Qn as PatternBrush,Nn as PencilBrush,ot as Point,oo as Polygon,no as Polyline,pr as Rect,ks as Shadow,Jn as SprayBrush,he as StaticCanvas,te as StaticCanvasDOMManager,go as Text,Do as Textbox,eo as Triangle,Fo as WebGLFilterBackend,p as cache,tt as classRegistry,s as config,Cn as controlsUtils,lt as createCollectionMixin,Xa as filters,u as getEnv,d as getFabricDocument,g as getFabricWindow,Ro as getFilterBackend,b as iMatrix,Bo as initFilterBackend,sa as isPutImageFaster,ea as isWebGLPipelineState,Zo as loadSVGFromString,ta as loadSVGFromURL,Qo as parseSVGDocument,et as runningAnimations,c as setEnv,Io as setFilterBackend,on as util,m as version};\n//# sourceMappingURL=index.min.mjs.map\n","import { defineProperty as _defineProperty, inherits as _inherits, createClass as _createClass, classCallCheck as _classCallCheck, callSuper as _callSuper, objectSpread2 as _objectSpread2, assertThisInitialized as _assertThisInitialized } from '../../_virtual/_rollupPluginBabelHelpers.js';\nimport { classRegistry, LayoutManager, FixedLayout, Path, Group } from 'fabric';\n\nvar ClippingGroup = /*#__PURE__*/function (_Group) {\n _inherits(ClippingGroup, _Group);\n function ClippingGroup(objects, options) {\n var _this;\n _classCallCheck(this, ClippingGroup);\n _this = _callSuper(this, ClippingGroup, [objects, _objectSpread2({\n originX: 'center',\n originY: 'center',\n left: 0,\n top: 0,\n layoutManager: new LayoutManager(new FixedLayout())\n }, options)]);\n _defineProperty(_assertThisInitialized(_this), \"blockErasing\", false);\n return _this;\n }\n _createClass(ClippingGroup, [{\n key: \"drawObject\",\n value: function drawObject(ctx) {\n var paths = [];\n var objects = [];\n this._objects.forEach(function (object) {\n return (object instanceof Path ? paths : objects).push(object);\n });\n ctx.save();\n ctx.fillStyle = 'black';\n ctx.fillRect(-this.width / 2, -this.height / 2, this.width, this.height);\n ctx.restore();\n !this.blockErasing && paths.forEach(function (path) {\n path.render(ctx);\n });\n objects.forEach(function (object) {\n object.globalCompositeOperation = object.inverted ? 'destination-out' : 'source-in';\n object.render(ctx);\n });\n }\n }]);\n return ClippingGroup;\n}(Group);\n_defineProperty(ClippingGroup, \"type\", 'clipping');\nclassRegistry.setClass(ClippingGroup);\n\nexport { ClippingGroup };\n//# sourceMappingURL=ClippingGroup.js.map\n","var drawImage = function drawImage(destination, source) {\n var globalCompositeOperation = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'source-over';\n destination.save();\n destination.imageSmoothingEnabled = true;\n destination.imageSmoothingQuality = 'high';\n destination.globalCompositeOperation = globalCompositeOperation;\n destination.resetTransform();\n destination.drawImage(source.canvas, 0, 0);\n destination.restore();\n};\n\n/**\n *\n * @param destination context to erase\n * @param source context on which the path is drawn upon\n * @param erasingEffect effect to apply to {@link source} after clipping {@link destination}:\n * - drawing all non erasable visuals to achieve a selective erasing effect.\n * - drawing all erasable visuals without their erasers to achieve an undo erasing effect.\n */\nvar erase = function erase(destination, source, erasingEffect) {\n // clip destination\n drawImage(destination, source, 'destination-out');\n\n // draw erasing effect\n if (erasingEffect) {\n drawImage(source, erasingEffect, 'source-in');\n } else {\n source.save();\n source.resetTransform();\n source.clearRect(0, 0, source.canvas.width, source.canvas.height);\n source.restore();\n }\n};\n\nexport { drawImage, erase };\n//# sourceMappingURL=erase.js.map\n","import { toConsumableArray as _toConsumableArray } from '../../_virtual/_rollupPluginBabelHelpers.js';\nimport { Group } from 'fabric';\nimport { ClippingGroup } from './ClippingGroup.js';\n\nfunction walk(objects) {\n return objects.flatMap(function (object) {\n if (!object.erasable || object.isNotVisible()) {\n return [];\n } else if (object instanceof Group && object.erasable === 'deep') {\n return walk(object.getObjects());\n } else {\n return [object];\n }\n });\n}\nfunction drawCanvas(ctx, canvas, objects) {\n canvas.clearContext(ctx);\n ctx.imageSmoothingEnabled = canvas.imageSmoothingEnabled;\n ctx.imageSmoothingQuality = 'high';\n // @ts-expect-error node-canvas stuff\n ctx.patternQuality = 'best';\n canvas._renderBackground(ctx);\n ctx.save();\n ctx.transform.apply(ctx, _toConsumableArray(canvas.viewportTransform));\n objects.forEach(function (object) {\n return object.render(ctx);\n });\n ctx.restore();\n var clipPath = canvas.clipPath;\n if (clipPath) {\n // fabric crap\n clipPath._set('canvas', canvas);\n clipPath.shouldCache();\n clipPath._transformDone = true;\n // @ts-expect-error fabric type crap\n clipPath.renderCache({\n forClipping: true\n });\n canvas.drawClipPathOnCanvas(ctx, clipPath);\n }\n canvas._renderOverlay(ctx);\n}\n\n/**\n * Prepare the pattern for the erasing brush\n * This pattern will be drawn on the top context after clipping the main context,\n * achieving a visual effect of erasing only erasable objects.\n *\n * This is designed to support erasing a collection with both erasable and non-erasable objects while maintaining object stacking.\\\n * Iterates over collections to allow nested selective erasing.\\\n * Prepares objects before rendering the pattern brush.\\\n * If brush is **NOT** inverted render all non-erasable objects.\\\n * If brush is inverted render all objects, erasable objects without their eraser.\n * This will render the erased parts as if they were not erased in the first place, achieving an undo effect.\n *\n * Caveat:\n * Does not support erasing effects of shadows\n *\n */\nfunction draw(ctx, _ref, _ref2) {\n var inverted = _ref.inverted,\n opacity = _ref.opacity;\n var canvas = _ref2.canvas,\n _ref2$objects = _ref2.objects,\n objects = _ref2$objects === void 0 ? canvas._objectsToRender || canvas._objects : _ref2$objects,\n _ref2$background = _ref2.background,\n background = _ref2$background === void 0 ? canvas.backgroundImage : _ref2$background,\n _ref2$overlay = _ref2.overlay,\n overlay = _ref2$overlay === void 0 ? canvas.overlayImage : _ref2$overlay;\n // prepare tree\n var alpha = 1 - opacity;\n var restore = walk([].concat(_toConsumableArray(objects), _toConsumableArray([background, overlay].filter(function (d) {\n return !!d;\n })))).map(function (object) {\n if (!inverted) {\n var _object$parent;\n // render only non-erasable objects\n var _opacity = object.opacity;\n object.opacity *= alpha;\n (_object$parent = object.parent) === null || _object$parent === void 0 || _object$parent.set('dirty', true);\n return {\n object: object,\n opacity: _opacity\n };\n } else if (object.clipPath instanceof ClippingGroup) {\n // render all objects without eraser\n object.clipPath['blockErasing'] = true;\n object.clipPath.set('dirty', true);\n object.set('dirty', true);\n return {\n object: object,\n clipPath: object.clipPath\n };\n }\n });\n\n // draw\n drawCanvas(ctx, canvas, objects);\n\n // restore\n restore.forEach(function (entry) {\n if (!entry) {\n return;\n }\n if (entry.opacity) {\n var _entry$object$parent;\n entry.object.opacity = entry.opacity;\n (_entry$object$parent = entry.object.parent) === null || _entry$object$parent === void 0 || _entry$object$parent.set('dirty', true);\n } else if (entry.clipPath) {\n entry.clipPath['blockErasing'] = false;\n entry.clipPath.set('dirty', true);\n entry.object.set('dirty', true);\n }\n });\n}\n\nexport { draw };\n//# sourceMappingURL=ErasingEffect.js.map\n","import { inherits as _inherits, classCallCheck as _classCallCheck, callSuper as _callSuper, defineProperty as _defineProperty, assertThisInitialized as _assertThisInitialized, createClass as _createClass, get as _get, getPrototypeOf as _getPrototypeOf, asyncToGenerator as _asyncToGenerator, regeneratorRuntime as _regeneratorRuntime, toConsumableArray as _toConsumableArray, slicedToArray as _slicedToArray } from '../../_virtual/_rollupPluginBabelHelpers.js';\nimport { erase } from '../../core/dist/src/erase.js';\nimport * as fabric from 'fabric';\nimport { Group } from 'fabric';\nimport { ClippingGroup } from './ClippingGroup.js';\nimport { draw } from './ErasingEffect.js';\n\nfunction walk(objects, path) {\n return objects.flatMap(function (object) {\n if (!object.erasable || !object.intersectsWithObject(path)) {\n return [];\n } else if (object instanceof Group && object.erasable === 'deep') {\n return walk(object.getObjects(), path);\n } else {\n return [object];\n }\n });\n}\nvar assertClippingGroup = function assertClippingGroup(object) {\n var curr = object.clipPath;\n if (curr instanceof ClippingGroup) {\n return curr;\n }\n var strokeWidth = object.strokeWidth;\n var strokeWidthFactor = new fabric.Point(strokeWidth, strokeWidth);\n var strokeVector = object.strokeUniform ? strokeWidthFactor.divide(object.getObjectScaling()) : strokeWidthFactor;\n var next = new ClippingGroup([], {\n width: object.width + strokeVector.x,\n height: object.height + strokeVector.y\n });\n if (curr) {\n var _curr$translateToOrig = curr.translateToOriginPoint(new fabric.Point(), curr.originX, curr.originY),\n x = _curr$translateToOrig.x,\n y = _curr$translateToOrig.y;\n curr.originX = curr.originY = 'center';\n fabric.util.sendObjectToPlane(curr, undefined, fabric.util.createTranslateMatrix(x, y));\n next.add(curr);\n }\n return object.clipPath = next;\n};\nfunction commitErasing(object, sourceInObjectPlane) {\n var clipPath = assertClippingGroup(object);\n clipPath.add(sourceInObjectPlane);\n clipPath.set('dirty', true);\n object.set('dirty', true);\n}\nfunction eraseObject(_x, _x2) {\n return _eraseObject.apply(this, arguments);\n}\nfunction _eraseObject() {\n _eraseObject = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4(object, source) {\n var clone;\n return _regeneratorRuntime().wrap(function _callee4$(_context4) {\n while (1) switch (_context4.prev = _context4.next) {\n case 0:\n _context4.next = 2;\n return source.clone();\n case 2:\n clone = _context4.sent;\n fabric.util.sendObjectToPlane(clone, undefined, object.calcTransformMatrix());\n commitErasing(object, clone);\n return _context4.abrupt(\"return\", clone);\n case 6:\n case \"end\":\n return _context4.stop();\n }\n }, _callee4);\n }));\n return _eraseObject.apply(this, arguments);\n}\nfunction eraseCanvasDrawable(_x3, _x4, _x5) {\n return _eraseCanvasDrawable.apply(this, arguments);\n}\nfunction _eraseCanvasDrawable() {\n _eraseCanvasDrawable = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5(object, vpt, source) {\n var clone, d;\n return _regeneratorRuntime().wrap(function _callee5$(_context5) {\n while (1) switch (_context5.prev = _context5.next) {\n case 0:\n _context5.next = 2;\n return source.clone();\n case 2:\n clone = _context5.sent;\n d = vpt && object.translateToOriginPoint(new fabric.Point(), object.originX, object.originY);\n fabric.util.sendObjectToPlane(clone, undefined, d ? fabric.util.multiplyTransformMatrixArray([[1, 0, 0, 1, d.x, d.y],\n // apply vpt from center of drawable\n vpt, [1, 0, 0, 1, -d.x, -d.y], object.calcTransformMatrix()]) : object.calcTransformMatrix());\n commitErasing(object, clone);\n return _context5.abrupt(\"return\", clone);\n case 7:\n case \"end\":\n return _context5.stop();\n }\n }, _callee5);\n }));\n return _eraseCanvasDrawable.apply(this, arguments);\n}\nvar setCanvasDimensions = function setCanvasDimensions(el, ctx, _ref) {\n var width = _ref.width,\n height = _ref.height;\n var retinaScaling = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 1;\n el.width = width;\n el.height = height;\n if (retinaScaling > 1) {\n el.setAttribute('width', (width * retinaScaling).toString());\n el.setAttribute('height', (height * retinaScaling).toString());\n ctx.scale(retinaScaling, retinaScaling);\n }\n};\n\n/**\n * Supports **selective** erasing: only erasable objects are affected by the eraser brush.\n *\n * Supports **{@link inverted}** erasing: the brush can \"undo\" erasing.\n *\n * Supports **alpha** erasing: setting the alpha channel of the `color` property controls the eraser intensity.\n *\n * In order to support selective erasing, the brush clips the entire canvas and\n * masks all non-erasable objects over the erased path, see {@link draw}.\n *\n * If **{@link inverted}** draws all objects, erasable objects without their eraser, over the erased path.\n * This achieves the desired effect of seeming to erase or undo erasing on erasable objects only.\n *\n * After erasing is done the `end` event {@link ErasingEndEvent} is fired, after which erasing will be committed to the tree.\n * @example\n * canvas = new Canvas();\n * const eraser = new EraserBrush(canvas);\n * canvas.freeDrawingBrush = eraser;\n * canvas.isDrawingMode = true;\n * eraser.on('start', (e) => {\n * console.log('started erasing');\n * // prevent erasing\n * e.preventDefault();\n * });\n * eraser.on('end', (e) => {\n * const { targets: erasedTargets, path } = e.detail;\n * e.preventDefault(); // prevent erasing being committed to the tree\n * eraser.commit({ targets: erasedTargets, path }); // commit manually since default was prevented\n * });\n *\n * In case of performance issues trace {@link drawEffect} calls and consider preventing it from executing\n * @example\n * const eraser = new EraserBrush(canvas);\n * eraser.on('redraw', (e) => {\n * // prevent effect redraw on pointer down (e.g. useful if canvas didn't change)\n * e.detail.type === 'start' && e.preventDefault());\n * // prevent effect redraw after canvas has rendered (effect will become stale)\n * e.detail.type === 'render' && e.preventDefault());\n * });\n */\nvar EraserBrush = /*#__PURE__*/function (_fabric$PencilBrush) {\n _inherits(EraserBrush, _fabric$PencilBrush);\n function EraserBrush(canvas) {\n var _this;\n _classCallCheck(this, EraserBrush);\n _this = _callSuper(this, EraserBrush, [canvas]);\n /**\n * When set to `true` the brush will create a visual effect of undoing erasing\n */\n _defineProperty(_assertThisInitialized(_this), \"inverted\", false);\n _defineProperty(_assertThisInitialized(_this), \"active\", false);\n var el = document.createElement('canvas');\n var ctx = el.getContext('2d');\n if (!ctx) {\n throw new Error('Failed to get context');\n }\n setCanvasDimensions(el, ctx, canvas, _this.canvas.getRetinaScaling());\n _this.effectContext = ctx;\n _this.eventEmitter = new EventTarget();\n return _this;\n }\n\n /**\n * @returns disposer make sure to call it to avoid memory leaks\n */\n _createClass(EraserBrush, [{\n key: \"on\",\n value: function on(type, cb, options) {\n var _this2 = this;\n this.eventEmitter.addEventListener(type, cb, options);\n return function () {\n return _this2.eventEmitter.removeEventListener(type, cb, options);\n };\n }\n }, {\n key: \"drawEffect\",\n value: function drawEffect() {\n draw(this.effectContext, {\n opacity: new fabric.Color(this.color).getAlpha(),\n inverted: this.inverted\n }, {\n canvas: this.canvas\n });\n }\n\n /**\n * @override\n */\n }, {\n key: \"_setBrushStyles\",\n value: function _setBrushStyles() {\n var ctx = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.canvas.contextTop;\n _get(_getPrototypeOf(EraserBrush.prototype), \"_setBrushStyles\", this).call(this, ctx);\n ctx.strokeStyle = 'black';\n }\n\n /**\n * @override strictly speaking the eraser needs a full render only if it has opacity set.\n * However since {@link PencilBrush} is designed for subclassing that is what we have to work with.\n */\n }, {\n key: \"needsFullRender\",\n value: function needsFullRender() {\n return true;\n }\n\n /**\n * @override erase\n */\n }, {\n key: \"_render\",\n value: function _render() {\n var ctx = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.canvas.getTopContext();\n _get(_getPrototypeOf(EraserBrush.prototype), \"_render\", this).call(this, ctx);\n erase(this.canvas.getContext(), ctx, this.effectContext);\n }\n\n /**\n * @override {@link drawEffect}\n */\n }, {\n key: \"onMouseDown\",\n value: function onMouseDown(pointer, context) {\n var _this3 = this;\n if (!this.eventEmitter.dispatchEvent(new CustomEvent('start', {\n detail: context,\n cancelable: true\n }))) {\n return;\n }\n this.active = true;\n this.eventEmitter.dispatchEvent(new CustomEvent('redraw', {\n detail: {\n type: 'start'\n },\n cancelable: true\n })) && this.drawEffect();\n\n // consider a different approach\n this._disposer = this.canvas.on('after:render', function (_ref2) {\n var ctx = _ref2.ctx;\n if (ctx !== _this3.canvas.getContext()) {\n return;\n }\n _this3.eventEmitter.dispatchEvent(new CustomEvent('redraw', {\n detail: {\n type: 'render'\n },\n cancelable: true\n })) && _this3.drawEffect();\n _this3._render();\n });\n _get(_getPrototypeOf(EraserBrush.prototype), \"onMouseDown\", this).call(this, pointer, context);\n }\n\n /**\n * @override run if active\n */\n }, {\n key: \"onMouseMove\",\n value: function onMouseMove(pointer, context) {\n this.active && this.eventEmitter.dispatchEvent(new CustomEvent('move', {\n detail: context,\n cancelable: true\n })) && _get(_getPrototypeOf(EraserBrush.prototype), \"onMouseMove\", this).call(this, pointer, context);\n }\n\n /**\n * @override run if active, dispose of {@link drawEffect} listener\n */\n }, {\n key: \"onMouseUp\",\n value: function onMouseUp(context) {\n var _this$_disposer;\n this.active && _get(_getPrototypeOf(EraserBrush.prototype), \"onMouseUp\", this).call(this, context);\n this.active = false;\n (_this$_disposer = this._disposer) === null || _this$_disposer === void 0 || _this$_disposer.call(this);\n delete this._disposer;\n return false;\n }\n\n /**\n * @override {@link fabric.PencilBrush} logic\n */\n }, {\n key: \"convertPointsToSVGPath\",\n value: function convertPointsToSVGPath(points) {\n return _get(_getPrototypeOf(EraserBrush.prototype), \"convertPointsToSVGPath\", this).call(this, this.decimate ? this.decimatePoints(points, this.decimate) : points);\n }\n\n /**\n * @override\n */\n }, {\n key: \"createPath\",\n value: function createPath(pathData) {\n var path = _get(_getPrototypeOf(EraserBrush.prototype), \"createPath\", this).call(this, pathData);\n path.set(this.inverted ? {\n globalCompositeOperation: 'source-over',\n stroke: 'white'\n } : {\n globalCompositeOperation: 'destination-out',\n stroke: 'black',\n opacity: new fabric.Color(this.color).getAlpha()\n });\n return path;\n }\n }, {\n key: \"commit\",\n value: function () {\n var _commit = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(_ref3) {\n var path, targets;\n return _regeneratorRuntime().wrap(function _callee3$(_context3) {\n while (1) switch (_context3.prev = _context3.next) {\n case 0:\n path = _ref3.path, targets = _ref3.targets;\n _context3.t0 = Map;\n _context3.next = 4;\n return Promise.all([].concat(_toConsumableArray(targets.map( /*#__PURE__*/function () {\n var _ref4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(object) {\n return _regeneratorRuntime().wrap(function _callee$(_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n _context.t0 = object;\n _context.next = 3;\n return eraseObject(object, path);\n case 3:\n _context.t1 = _context.sent;\n return _context.abrupt(\"return\", [_context.t0, _context.t1]);\n case 5:\n case \"end\":\n return _context.stop();\n }\n }, _callee);\n }));\n return function (_x7) {\n return _ref4.apply(this, arguments);\n };\n }())), _toConsumableArray([[this.canvas.backgroundImage, !this.canvas.backgroundVpt ? this.canvas.viewportTransform : undefined], [this.canvas.overlayImage, !this.canvas.overlayVpt ? this.canvas.viewportTransform : undefined]].filter(function (_ref5) {\n var _ref6 = _slicedToArray(_ref5, 1),\n object = _ref6[0];\n return !!(object !== null && object !== void 0 && object.erasable);\n }).map( /*#__PURE__*/function () {\n var _ref8 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(_ref7) {\n var _ref9, object, vptFlag;\n return _regeneratorRuntime().wrap(function _callee2$(_context2) {\n while (1) switch (_context2.prev = _context2.next) {\n case 0:\n _ref9 = _slicedToArray(_ref7, 2), object = _ref9[0], vptFlag = _ref9[1];\n _context2.t0 = object;\n _context2.next = 4;\n return eraseCanvasDrawable(object, vptFlag, path);\n case 4:\n _context2.t1 = _context2.sent;\n return _context2.abrupt(\"return\", [_context2.t0, _context2.t1]);\n case 6:\n case \"end\":\n return _context2.stop();\n }\n }, _callee2);\n }));\n return function (_x8) {\n return _ref8.apply(this, arguments);\n };\n }()))));\n case 4:\n _context3.t1 = _context3.sent;\n return _context3.abrupt(\"return\", new _context3.t0(_context3.t1));\n case 6:\n case \"end\":\n return _context3.stop();\n }\n }, _callee3, this);\n }));\n function commit(_x6) {\n return _commit.apply(this, arguments);\n }\n return commit;\n }()\n /**\n * @override handle events\n */\n }, {\n key: \"_finalizeAndAddPath\",\n value: function _finalizeAndAddPath() {\n var points = this['_points'];\n if (points.length < 2) {\n this.eventEmitter.dispatchEvent(new CustomEvent('cancel', {\n cancelable: false\n }));\n return;\n }\n var path = this.createPath(this.convertPointsToSVGPath(points));\n var targets = walk(this.canvas.getObjects(), path);\n this.eventEmitter.dispatchEvent(new CustomEvent('end', {\n detail: {\n path: path,\n targets: targets\n },\n cancelable: true\n })) && this.commit({\n path: path,\n targets: targets\n });\n this.canvas.clearContext(this.canvas.contextTop);\n this.canvas.requestRenderAll();\n this._resetShadow();\n }\n }, {\n key: \"dispose\",\n value: function dispose() {\n var canvas = this.effectContext.canvas;\n // prompt GC\n canvas.width = canvas.height = 0;\n // release ref?\n // delete this.effectContext\n }\n }]);\n return EraserBrush;\n}(fabric.PencilBrush);\n\nexport { EraserBrush, commitErasing, eraseCanvasDrawable, eraseObject };\n//# sourceMappingURL=EraserBrush.js.map\n","function clamp(v, min, max) {\n return Math.max(min, Math.min(v, max));\n}\nconst V = {\n toVector(v, fallback) {\n if (v === undefined) v = fallback;\n return Array.isArray(v) ? v : [v, v];\n },\n add(v1, v2) {\n return [v1[0] + v2[0], v1[1] + v2[1]];\n },\n sub(v1, v2) {\n return [v1[0] - v2[0], v1[1] - v2[1]];\n },\n addTo(v1, v2) {\n v1[0] += v2[0];\n v1[1] += v2[1];\n },\n subTo(v1, v2) {\n v1[0] -= v2[0];\n v1[1] -= v2[1];\n }\n};\nfunction rubberband(distance, dimension, constant) {\n if (dimension === 0 || Math.abs(dimension) === Infinity) return Math.pow(distance, constant * 5);\n return distance * dimension * constant / (dimension + constant * distance);\n}\nfunction rubberbandIfOutOfBounds(position, min, max, constant = 0.15) {\n if (constant === 0) return clamp(position, min, max);\n if (position < min) return -rubberband(min - position, max - min, constant) + min;\n if (position > max) return +rubberband(position - max, max - min, constant) + max;\n return position;\n}\nfunction computeRubberband(bounds, [Vx, Vy], [Rx, Ry]) {\n const [[X0, X1], [Y0, Y1]] = bounds;\n return [rubberbandIfOutOfBounds(Vx, X0, X1, Rx), rubberbandIfOutOfBounds(Vy, Y0, Y1, Ry)];\n}\n\nexport { V, computeRubberband as c, rubberbandIfOutOfBounds as r };\n","import { V, c as computeRubberband } from './maths-0ab39ae9.esm.js';\n\nfunction _toPrimitive(input, hint) {\n if (typeof input !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (typeof res !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n}\n\nfunction _toPropertyKey(arg) {\n var key = _toPrimitive(arg, \"string\");\n return typeof key === \"symbol\" ? key : String(key);\n}\n\nfunction _defineProperty(obj, key, value) {\n key = _toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\n\nfunction ownKeys(e, r) {\n var t = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r && (o = o.filter(function (r) {\n return Object.getOwnPropertyDescriptor(e, r).enumerable;\n })), t.push.apply(t, o);\n }\n return t;\n}\nfunction _objectSpread2(e) {\n for (var r = 1; r < arguments.length; r++) {\n var t = null != arguments[r] ? arguments[r] : {};\n r % 2 ? ownKeys(Object(t), !0).forEach(function (r) {\n _defineProperty(e, r, t[r]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {\n Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));\n });\n }\n return e;\n}\n\nconst EVENT_TYPE_MAP = {\n pointer: {\n start: 'down',\n change: 'move',\n end: 'up'\n },\n mouse: {\n start: 'down',\n change: 'move',\n end: 'up'\n },\n touch: {\n start: 'start',\n change: 'move',\n end: 'end'\n },\n gesture: {\n start: 'start',\n change: 'change',\n end: 'end'\n }\n};\nfunction capitalize(string) {\n if (!string) return '';\n return string[0].toUpperCase() + string.slice(1);\n}\nconst actionsWithoutCaptureSupported = ['enter', 'leave'];\nfunction hasCapture(capture = false, actionKey) {\n return capture && !actionsWithoutCaptureSupported.includes(actionKey);\n}\nfunction toHandlerProp(device, action = '', capture = false) {\n const deviceProps = EVENT_TYPE_MAP[device];\n const actionKey = deviceProps ? deviceProps[action] || action : action;\n return 'on' + capitalize(device) + capitalize(actionKey) + (hasCapture(capture, actionKey) ? 'Capture' : '');\n}\nconst pointerCaptureEvents = ['gotpointercapture', 'lostpointercapture'];\nfunction parseProp(prop) {\n let eventKey = prop.substring(2).toLowerCase();\n const passive = !!~eventKey.indexOf('passive');\n if (passive) eventKey = eventKey.replace('passive', '');\n const captureKey = pointerCaptureEvents.includes(eventKey) ? 'capturecapture' : 'capture';\n const capture = !!~eventKey.indexOf(captureKey);\n if (capture) eventKey = eventKey.replace('capture', '');\n return {\n device: eventKey,\n capture,\n passive\n };\n}\nfunction toDomEventType(device, action = '') {\n const deviceProps = EVENT_TYPE_MAP[device];\n const actionKey = deviceProps ? deviceProps[action] || action : action;\n return device + actionKey;\n}\nfunction isTouch(event) {\n return 'touches' in event;\n}\nfunction getPointerType(event) {\n if (isTouch(event)) return 'touch';\n if ('pointerType' in event) return event.pointerType;\n return 'mouse';\n}\nfunction getCurrentTargetTouchList(event) {\n return Array.from(event.touches).filter(e => {\n var _event$currentTarget, _event$currentTarget$;\n return e.target === event.currentTarget || ((_event$currentTarget = event.currentTarget) === null || _event$currentTarget === void 0 || (_event$currentTarget$ = _event$currentTarget.contains) === null || _event$currentTarget$ === void 0 ? void 0 : _event$currentTarget$.call(_event$currentTarget, e.target));\n });\n}\nfunction getTouchList(event) {\n return event.type === 'touchend' || event.type === 'touchcancel' ? event.changedTouches : event.targetTouches;\n}\nfunction getValueEvent(event) {\n return isTouch(event) ? getTouchList(event)[0] : event;\n}\nfunction distanceAngle(P1, P2) {\n try {\n const dx = P2.clientX - P1.clientX;\n const dy = P2.clientY - P1.clientY;\n const cx = (P2.clientX + P1.clientX) / 2;\n const cy = (P2.clientY + P1.clientY) / 2;\n const distance = Math.hypot(dx, dy);\n const angle = -(Math.atan2(dx, dy) * 180) / Math.PI;\n const origin = [cx, cy];\n return {\n angle,\n distance,\n origin\n };\n } catch (_unused) {}\n return null;\n}\nfunction touchIds(event) {\n return getCurrentTargetTouchList(event).map(touch => touch.identifier);\n}\nfunction touchDistanceAngle(event, ids) {\n const [P1, P2] = Array.from(event.touches).filter(touch => ids.includes(touch.identifier));\n return distanceAngle(P1, P2);\n}\nfunction pointerId(event) {\n const valueEvent = getValueEvent(event);\n return isTouch(event) ? valueEvent.identifier : valueEvent.pointerId;\n}\nfunction pointerValues(event) {\n const valueEvent = getValueEvent(event);\n return [valueEvent.clientX, valueEvent.clientY];\n}\nconst LINE_HEIGHT = 40;\nconst PAGE_HEIGHT = 800;\nfunction wheelValues(event) {\n let {\n deltaX,\n deltaY,\n deltaMode\n } = event;\n if (deltaMode === 1) {\n deltaX *= LINE_HEIGHT;\n deltaY *= LINE_HEIGHT;\n } else if (deltaMode === 2) {\n deltaX *= PAGE_HEIGHT;\n deltaY *= PAGE_HEIGHT;\n }\n return [deltaX, deltaY];\n}\nfunction scrollValues(event) {\n var _ref, _ref2;\n const {\n scrollX,\n scrollY,\n scrollLeft,\n scrollTop\n } = event.currentTarget;\n return [(_ref = scrollX !== null && scrollX !== void 0 ? scrollX : scrollLeft) !== null && _ref !== void 0 ? _ref : 0, (_ref2 = scrollY !== null && scrollY !== void 0 ? scrollY : scrollTop) !== null && _ref2 !== void 0 ? _ref2 : 0];\n}\nfunction getEventDetails(event) {\n const payload = {};\n if ('buttons' in event) payload.buttons = event.buttons;\n if ('shiftKey' in event) {\n const {\n shiftKey,\n altKey,\n metaKey,\n ctrlKey\n } = event;\n Object.assign(payload, {\n shiftKey,\n altKey,\n metaKey,\n ctrlKey\n });\n }\n return payload;\n}\n\nfunction call(v, ...args) {\n if (typeof v === 'function') {\n return v(...args);\n } else {\n return v;\n }\n}\nfunction noop() {}\nfunction chain(...fns) {\n if (fns.length === 0) return noop;\n if (fns.length === 1) return fns[0];\n return function () {\n let result;\n for (const fn of fns) {\n result = fn.apply(this, arguments) || result;\n }\n return result;\n };\n}\nfunction assignDefault(value, fallback) {\n return Object.assign({}, fallback, value || {});\n}\n\nconst BEFORE_LAST_KINEMATICS_DELAY = 32;\nclass Engine {\n constructor(ctrl, args, key) {\n this.ctrl = ctrl;\n this.args = args;\n this.key = key;\n if (!this.state) {\n this.state = {};\n this.computeValues([0, 0]);\n this.computeInitial();\n if (this.init) this.init();\n this.reset();\n }\n }\n get state() {\n return this.ctrl.state[this.key];\n }\n set state(state) {\n this.ctrl.state[this.key] = state;\n }\n get shared() {\n return this.ctrl.state.shared;\n }\n get eventStore() {\n return this.ctrl.gestureEventStores[this.key];\n }\n get timeoutStore() {\n return this.ctrl.gestureTimeoutStores[this.key];\n }\n get config() {\n return this.ctrl.config[this.key];\n }\n get sharedConfig() {\n return this.ctrl.config.shared;\n }\n get handler() {\n return this.ctrl.handlers[this.key];\n }\n reset() {\n const {\n state,\n shared,\n ingKey,\n args\n } = this;\n shared[ingKey] = state._active = state.active = state._blocked = state._force = false;\n state._step = [false, false];\n state.intentional = false;\n state._movement = [0, 0];\n state._distance = [0, 0];\n state._direction = [0, 0];\n state._delta = [0, 0];\n state._bounds = [[-Infinity, Infinity], [-Infinity, Infinity]];\n state.args = args;\n state.axis = undefined;\n state.memo = undefined;\n state.elapsedTime = state.timeDelta = 0;\n state.direction = [0, 0];\n state.distance = [0, 0];\n state.overflow = [0, 0];\n state._movementBound = [false, false];\n state.velocity = [0, 0];\n state.movement = [0, 0];\n state.delta = [0, 0];\n state.timeStamp = 0;\n }\n start(event) {\n const state = this.state;\n const config = this.config;\n if (!state._active) {\n this.reset();\n this.computeInitial();\n state._active = true;\n state.target = event.target;\n state.currentTarget = event.currentTarget;\n state.lastOffset = config.from ? call(config.from, state) : state.offset;\n state.offset = state.lastOffset;\n state.startTime = state.timeStamp = event.timeStamp;\n }\n }\n computeValues(values) {\n const state = this.state;\n state._values = values;\n state.values = this.config.transform(values);\n }\n computeInitial() {\n const state = this.state;\n state._initial = state._values;\n state.initial = state.values;\n }\n compute(event) {\n const {\n state,\n config,\n shared\n } = this;\n state.args = this.args;\n let dt = 0;\n if (event) {\n state.event = event;\n if (config.preventDefault && event.cancelable) state.event.preventDefault();\n state.type = event.type;\n shared.touches = this.ctrl.pointerIds.size || this.ctrl.touchIds.size;\n shared.locked = !!document.pointerLockElement;\n Object.assign(shared, getEventDetails(event));\n shared.down = shared.pressed = shared.buttons % 2 === 1 || shared.touches > 0;\n dt = event.timeStamp - state.timeStamp;\n state.timeStamp = event.timeStamp;\n state.elapsedTime = state.timeStamp - state.startTime;\n }\n if (state._active) {\n const _absoluteDelta = state._delta.map(Math.abs);\n V.addTo(state._distance, _absoluteDelta);\n }\n if (this.axisIntent) this.axisIntent(event);\n const [_m0, _m1] = state._movement;\n const [t0, t1] = config.threshold;\n const {\n _step,\n values\n } = state;\n if (config.hasCustomTransform) {\n if (_step[0] === false) _step[0] = Math.abs(_m0) >= t0 && values[0];\n if (_step[1] === false) _step[1] = Math.abs(_m1) >= t1 && values[1];\n } else {\n if (_step[0] === false) _step[0] = Math.abs(_m0) >= t0 && Math.sign(_m0) * t0;\n if (_step[1] === false) _step[1] = Math.abs(_m1) >= t1 && Math.sign(_m1) * t1;\n }\n state.intentional = _step[0] !== false || _step[1] !== false;\n if (!state.intentional) return;\n const movement = [0, 0];\n if (config.hasCustomTransform) {\n const [v0, v1] = values;\n movement[0] = _step[0] !== false ? v0 - _step[0] : 0;\n movement[1] = _step[1] !== false ? v1 - _step[1] : 0;\n } else {\n movement[0] = _step[0] !== false ? _m0 - _step[0] : 0;\n movement[1] = _step[1] !== false ? _m1 - _step[1] : 0;\n }\n if (this.restrictToAxis && !state._blocked) this.restrictToAxis(movement);\n const previousOffset = state.offset;\n const gestureIsActive = state._active && !state._blocked || state.active;\n if (gestureIsActive) {\n state.first = state._active && !state.active;\n state.last = !state._active && state.active;\n state.active = shared[this.ingKey] = state._active;\n if (event) {\n if (state.first) {\n if ('bounds' in config) state._bounds = call(config.bounds, state);\n if (this.setup) this.setup();\n }\n state.movement = movement;\n this.computeOffset();\n }\n }\n const [ox, oy] = state.offset;\n const [[x0, x1], [y0, y1]] = state._bounds;\n state.overflow = [ox < x0 ? -1 : ox > x1 ? 1 : 0, oy < y0 ? -1 : oy > y1 ? 1 : 0];\n state._movementBound[0] = state.overflow[0] ? state._movementBound[0] === false ? state._movement[0] : state._movementBound[0] : false;\n state._movementBound[1] = state.overflow[1] ? state._movementBound[1] === false ? state._movement[1] : state._movementBound[1] : false;\n const rubberband = state._active ? config.rubberband || [0, 0] : [0, 0];\n state.offset = computeRubberband(state._bounds, state.offset, rubberband);\n state.delta = V.sub(state.offset, previousOffset);\n this.computeMovement();\n if (gestureIsActive && (!state.last || dt > BEFORE_LAST_KINEMATICS_DELAY)) {\n state.delta = V.sub(state.offset, previousOffset);\n const absoluteDelta = state.delta.map(Math.abs);\n V.addTo(state.distance, absoluteDelta);\n state.direction = state.delta.map(Math.sign);\n state._direction = state._delta.map(Math.sign);\n if (!state.first && dt > 0) {\n state.velocity = [absoluteDelta[0] / dt, absoluteDelta[1] / dt];\n state.timeDelta = dt;\n }\n }\n }\n emit() {\n const state = this.state;\n const shared = this.shared;\n const config = this.config;\n if (!state._active) this.clean();\n if ((state._blocked || !state.intentional) && !state._force && !config.triggerAllEvents) return;\n const memo = this.handler(_objectSpread2(_objectSpread2(_objectSpread2({}, shared), state), {}, {\n [this.aliasKey]: state.values\n }));\n if (memo !== undefined) state.memo = memo;\n }\n clean() {\n this.eventStore.clean();\n this.timeoutStore.clean();\n }\n}\n\nfunction selectAxis([dx, dy], threshold) {\n const absDx = Math.abs(dx);\n const absDy = Math.abs(dy);\n if (absDx > absDy && absDx > threshold) {\n return 'x';\n }\n if (absDy > absDx && absDy > threshold) {\n return 'y';\n }\n return undefined;\n}\nclass CoordinatesEngine extends Engine {\n constructor(...args) {\n super(...args);\n _defineProperty(this, \"aliasKey\", 'xy');\n }\n reset() {\n super.reset();\n this.state.axis = undefined;\n }\n init() {\n this.state.offset = [0, 0];\n this.state.lastOffset = [0, 0];\n }\n computeOffset() {\n this.state.offset = V.add(this.state.lastOffset, this.state.movement);\n }\n computeMovement() {\n this.state.movement = V.sub(this.state.offset, this.state.lastOffset);\n }\n axisIntent(event) {\n const state = this.state;\n const config = this.config;\n if (!state.axis && event) {\n const threshold = typeof config.axisThreshold === 'object' ? config.axisThreshold[getPointerType(event)] : config.axisThreshold;\n state.axis = selectAxis(state._movement, threshold);\n }\n state._blocked = (config.lockDirection || !!config.axis) && !state.axis || !!config.axis && config.axis !== state.axis;\n }\n restrictToAxis(v) {\n if (this.config.axis || this.config.lockDirection) {\n switch (this.state.axis) {\n case 'x':\n v[1] = 0;\n break;\n case 'y':\n v[0] = 0;\n break;\n }\n }\n }\n}\n\nconst identity = v => v;\nconst DEFAULT_RUBBERBAND = 0.15;\nconst commonConfigResolver = {\n enabled(value = true) {\n return value;\n },\n eventOptions(value, _k, config) {\n return _objectSpread2(_objectSpread2({}, config.shared.eventOptions), value);\n },\n preventDefault(value = false) {\n return value;\n },\n triggerAllEvents(value = false) {\n return value;\n },\n rubberband(value = 0) {\n switch (value) {\n case true:\n return [DEFAULT_RUBBERBAND, DEFAULT_RUBBERBAND];\n case false:\n return [0, 0];\n default:\n return V.toVector(value);\n }\n },\n from(value) {\n if (typeof value === 'function') return value;\n if (value != null) return V.toVector(value);\n },\n transform(value, _k, config) {\n const transform = value || config.shared.transform;\n this.hasCustomTransform = !!transform;\n if (process.env.NODE_ENV === 'development') {\n const originalTransform = transform || identity;\n return v => {\n const r = originalTransform(v);\n if (!isFinite(r[0]) || !isFinite(r[1])) {\n console.warn(`[@use-gesture]: config.transform() must produce a valid result, but it was: [${r[0]},${[1]}]`);\n }\n return r;\n };\n }\n return transform || identity;\n },\n threshold(value) {\n return V.toVector(value, 0);\n }\n};\nif (process.env.NODE_ENV === 'development') {\n Object.assign(commonConfigResolver, {\n domTarget(value) {\n if (value !== undefined) {\n throw Error(`[@use-gesture]: \\`domTarget\\` option has been renamed to \\`target\\`.`);\n }\n return NaN;\n },\n lockDirection(value) {\n if (value !== undefined) {\n throw Error(`[@use-gesture]: \\`lockDirection\\` option has been merged with \\`axis\\`. Use it as in \\`{ axis: 'lock' }\\``);\n }\n return NaN;\n },\n initial(value) {\n if (value !== undefined) {\n throw Error(`[@use-gesture]: \\`initial\\` option has been renamed to \\`from\\`.`);\n }\n return NaN;\n }\n });\n}\n\nconst DEFAULT_AXIS_THRESHOLD = 0;\nconst coordinatesConfigResolver = _objectSpread2(_objectSpread2({}, commonConfigResolver), {}, {\n axis(_v, _k, {\n axis\n }) {\n this.lockDirection = axis === 'lock';\n if (!this.lockDirection) return axis;\n },\n axisThreshold(value = DEFAULT_AXIS_THRESHOLD) {\n return value;\n },\n bounds(value = {}) {\n if (typeof value === 'function') {\n return state => coordinatesConfigResolver.bounds(value(state));\n }\n if ('current' in value) {\n return () => value.current;\n }\n if (typeof HTMLElement === 'function' && value instanceof HTMLElement) {\n return value;\n }\n const {\n left = -Infinity,\n right = Infinity,\n top = -Infinity,\n bottom = Infinity\n } = value;\n return [[left, right], [top, bottom]];\n }\n});\n\nconst KEYS_DELTA_MAP = {\n ArrowRight: (displacement, factor = 1) => [displacement * factor, 0],\n ArrowLeft: (displacement, factor = 1) => [-1 * displacement * factor, 0],\n ArrowUp: (displacement, factor = 1) => [0, -1 * displacement * factor],\n ArrowDown: (displacement, factor = 1) => [0, displacement * factor]\n};\nclass DragEngine extends CoordinatesEngine {\n constructor(...args) {\n super(...args);\n _defineProperty(this, \"ingKey\", 'dragging');\n }\n reset() {\n super.reset();\n const state = this.state;\n state._pointerId = undefined;\n state._pointerActive = false;\n state._keyboardActive = false;\n state._preventScroll = false;\n state._delayed = false;\n state.swipe = [0, 0];\n state.tap = false;\n state.canceled = false;\n state.cancel = this.cancel.bind(this);\n }\n setup() {\n const state = this.state;\n if (state._bounds instanceof HTMLElement) {\n const boundRect = state._bounds.getBoundingClientRect();\n const targetRect = state.currentTarget.getBoundingClientRect();\n const _bounds = {\n left: boundRect.left - targetRect.left + state.offset[0],\n right: boundRect.right - targetRect.right + state.offset[0],\n top: boundRect.top - targetRect.top + state.offset[1],\n bottom: boundRect.bottom - targetRect.bottom + state.offset[1]\n };\n state._bounds = coordinatesConfigResolver.bounds(_bounds);\n }\n }\n cancel() {\n const state = this.state;\n if (state.canceled) return;\n state.canceled = true;\n state._active = false;\n setTimeout(() => {\n this.compute();\n this.emit();\n }, 0);\n }\n setActive() {\n this.state._active = this.state._pointerActive || this.state._keyboardActive;\n }\n clean() {\n this.pointerClean();\n this.state._pointerActive = false;\n this.state._keyboardActive = false;\n super.clean();\n }\n pointerDown(event) {\n const config = this.config;\n const state = this.state;\n if (event.buttons != null && (Array.isArray(config.pointerButtons) ? !config.pointerButtons.includes(event.buttons) : config.pointerButtons !== -1 && config.pointerButtons !== event.buttons)) return;\n const ctrlIds = this.ctrl.setEventIds(event);\n if (config.pointerCapture) {\n event.target.setPointerCapture(event.pointerId);\n }\n if (ctrlIds && ctrlIds.size > 1 && state._pointerActive) return;\n this.start(event);\n this.setupPointer(event);\n state._pointerId = pointerId(event);\n state._pointerActive = true;\n this.computeValues(pointerValues(event));\n this.computeInitial();\n if (config.preventScrollAxis && getPointerType(event) !== 'mouse') {\n state._active = false;\n this.setupScrollPrevention(event);\n } else if (config.delay > 0) {\n this.setupDelayTrigger(event);\n if (config.triggerAllEvents) {\n this.compute(event);\n this.emit();\n }\n } else {\n this.startPointerDrag(event);\n }\n }\n startPointerDrag(event) {\n const state = this.state;\n state._active = true;\n state._preventScroll = true;\n state._delayed = false;\n this.compute(event);\n this.emit();\n }\n pointerMove(event) {\n const state = this.state;\n const config = this.config;\n if (!state._pointerActive) return;\n const id = pointerId(event);\n if (state._pointerId !== undefined && id !== state._pointerId) return;\n const _values = pointerValues(event);\n if (document.pointerLockElement === event.target) {\n state._delta = [event.movementX, event.movementY];\n } else {\n state._delta = V.sub(_values, state._values);\n this.computeValues(_values);\n }\n V.addTo(state._movement, state._delta);\n this.compute(event);\n if (state._delayed && state.intentional) {\n this.timeoutStore.remove('dragDelay');\n state.active = false;\n this.startPointerDrag(event);\n return;\n }\n if (config.preventScrollAxis && !state._preventScroll) {\n if (state.axis) {\n if (state.axis === config.preventScrollAxis || config.preventScrollAxis === 'xy') {\n state._active = false;\n this.clean();\n return;\n } else {\n this.timeoutStore.remove('startPointerDrag');\n this.startPointerDrag(event);\n return;\n }\n } else {\n return;\n }\n }\n this.emit();\n }\n pointerUp(event) {\n this.ctrl.setEventIds(event);\n try {\n if (this.config.pointerCapture && event.target.hasPointerCapture(event.pointerId)) {\n ;\n event.target.releasePointerCapture(event.pointerId);\n }\n } catch (_unused) {\n if (process.env.NODE_ENV === 'development') {\n console.warn(`[@use-gesture]: If you see this message, it's likely that you're using an outdated version of \\`@react-three/fiber\\`. \\n\\nPlease upgrade to the latest version.`);\n }\n }\n const state = this.state;\n const config = this.config;\n if (!state._active || !state._pointerActive) return;\n const id = pointerId(event);\n if (state._pointerId !== undefined && id !== state._pointerId) return;\n this.state._pointerActive = false;\n this.setActive();\n this.compute(event);\n const [dx, dy] = state._distance;\n state.tap = dx <= config.tapsThreshold && dy <= config.tapsThreshold;\n if (state.tap && config.filterTaps) {\n state._force = true;\n } else {\n const [_dx, _dy] = state._delta;\n const [_mx, _my] = state._movement;\n const [svx, svy] = config.swipe.velocity;\n const [sx, sy] = config.swipe.distance;\n const sdt = config.swipe.duration;\n if (state.elapsedTime < sdt) {\n const _vx = Math.abs(_dx / state.timeDelta);\n const _vy = Math.abs(_dy / state.timeDelta);\n if (_vx > svx && Math.abs(_mx) > sx) state.swipe[0] = Math.sign(_dx);\n if (_vy > svy && Math.abs(_my) > sy) state.swipe[1] = Math.sign(_dy);\n }\n }\n this.emit();\n }\n pointerClick(event) {\n if (!this.state.tap && event.detail > 0) {\n event.preventDefault();\n event.stopPropagation();\n }\n }\n setupPointer(event) {\n const config = this.config;\n const device = config.device;\n if (process.env.NODE_ENV === 'development') {\n try {\n if (device === 'pointer' && config.preventScrollDelay === undefined) {\n const currentTarget = 'uv' in event ? event.sourceEvent.currentTarget : event.currentTarget;\n const style = window.getComputedStyle(currentTarget);\n if (style.touchAction === 'auto') {\n console.warn(`[@use-gesture]: The drag target has its \\`touch-action\\` style property set to \\`auto\\`. It is recommended to add \\`touch-action: 'none'\\` so that the drag gesture behaves correctly on touch-enabled devices. For more information read this: https://use-gesture.netlify.app/docs/extras/#touch-action.\\n\\nThis message will only show in development mode. It won't appear in production. If this is intended, you can ignore it.`, currentTarget);\n }\n }\n } catch (_unused2) {}\n }\n if (config.pointerLock) {\n event.currentTarget.requestPointerLock();\n }\n if (!config.pointerCapture) {\n this.eventStore.add(this.sharedConfig.window, device, 'change', this.pointerMove.bind(this));\n this.eventStore.add(this.sharedConfig.window, device, 'end', this.pointerUp.bind(this));\n this.eventStore.add(this.sharedConfig.window, device, 'cancel', this.pointerUp.bind(this));\n }\n }\n pointerClean() {\n if (this.config.pointerLock && document.pointerLockElement === this.state.currentTarget) {\n document.exitPointerLock();\n }\n }\n preventScroll(event) {\n if (this.state._preventScroll && event.cancelable) {\n event.preventDefault();\n }\n }\n setupScrollPrevention(event) {\n this.state._preventScroll = false;\n persistEvent(event);\n const remove = this.eventStore.add(this.sharedConfig.window, 'touch', 'change', this.preventScroll.bind(this), {\n passive: false\n });\n this.eventStore.add(this.sharedConfig.window, 'touch', 'end', remove);\n this.eventStore.add(this.sharedConfig.window, 'touch', 'cancel', remove);\n this.timeoutStore.add('startPointerDrag', this.startPointerDrag.bind(this), this.config.preventScrollDelay, event);\n }\n setupDelayTrigger(event) {\n this.state._delayed = true;\n this.timeoutStore.add('dragDelay', () => {\n this.state._step = [0, 0];\n this.startPointerDrag(event);\n }, this.config.delay);\n }\n keyDown(event) {\n const deltaFn = KEYS_DELTA_MAP[event.key];\n if (deltaFn) {\n const state = this.state;\n const factor = event.shiftKey ? 10 : event.altKey ? 0.1 : 1;\n this.start(event);\n state._delta = deltaFn(this.config.keyboardDisplacement, factor);\n state._keyboardActive = true;\n V.addTo(state._movement, state._delta);\n this.compute(event);\n this.emit();\n }\n }\n keyUp(event) {\n if (!(event.key in KEYS_DELTA_MAP)) return;\n this.state._keyboardActive = false;\n this.setActive();\n this.compute(event);\n this.emit();\n }\n bind(bindFunction) {\n const device = this.config.device;\n bindFunction(device, 'start', this.pointerDown.bind(this));\n if (this.config.pointerCapture) {\n bindFunction(device, 'change', this.pointerMove.bind(this));\n bindFunction(device, 'end', this.pointerUp.bind(this));\n bindFunction(device, 'cancel', this.pointerUp.bind(this));\n bindFunction('lostPointerCapture', '', this.pointerUp.bind(this));\n }\n if (this.config.keys) {\n bindFunction('key', 'down', this.keyDown.bind(this));\n bindFunction('key', 'up', this.keyUp.bind(this));\n }\n if (this.config.filterTaps) {\n bindFunction('click', '', this.pointerClick.bind(this), {\n capture: true,\n passive: false\n });\n }\n }\n}\nfunction persistEvent(event) {\n 'persist' in event && typeof event.persist === 'function' && event.persist();\n}\n\nconst isBrowser = typeof window !== 'undefined' && window.document && window.document.createElement;\nfunction supportsTouchEvents() {\n return isBrowser && 'ontouchstart' in window;\n}\nfunction isTouchScreen() {\n return supportsTouchEvents() || isBrowser && window.navigator.maxTouchPoints > 1;\n}\nfunction supportsPointerEvents() {\n return isBrowser && 'onpointerdown' in window;\n}\nfunction supportsPointerLock() {\n return isBrowser && 'exitPointerLock' in window.document;\n}\nfunction supportsGestureEvents() {\n try {\n return 'constructor' in GestureEvent;\n } catch (e) {\n return false;\n }\n}\nconst SUPPORT = {\n isBrowser,\n gesture: supportsGestureEvents(),\n touch: supportsTouchEvents(),\n touchscreen: isTouchScreen(),\n pointer: supportsPointerEvents(),\n pointerLock: supportsPointerLock()\n};\n\nconst DEFAULT_PREVENT_SCROLL_DELAY = 250;\nconst DEFAULT_DRAG_DELAY = 180;\nconst DEFAULT_SWIPE_VELOCITY = 0.5;\nconst DEFAULT_SWIPE_DISTANCE = 50;\nconst DEFAULT_SWIPE_DURATION = 250;\nconst DEFAULT_KEYBOARD_DISPLACEMENT = 10;\nconst DEFAULT_DRAG_AXIS_THRESHOLD = {\n mouse: 0,\n touch: 0,\n pen: 8\n};\nconst dragConfigResolver = _objectSpread2(_objectSpread2({}, coordinatesConfigResolver), {}, {\n device(_v, _k, {\n pointer: {\n touch = false,\n lock = false,\n mouse = false\n } = {}\n }) {\n this.pointerLock = lock && SUPPORT.pointerLock;\n if (SUPPORT.touch && touch) return 'touch';\n if (this.pointerLock) return 'mouse';\n if (SUPPORT.pointer && !mouse) return 'pointer';\n if (SUPPORT.touch) return 'touch';\n return 'mouse';\n },\n preventScrollAxis(value, _k, {\n preventScroll\n }) {\n this.preventScrollDelay = typeof preventScroll === 'number' ? preventScroll : preventScroll || preventScroll === undefined && value ? DEFAULT_PREVENT_SCROLL_DELAY : undefined;\n if (!SUPPORT.touchscreen || preventScroll === false) return undefined;\n return value ? value : preventScroll !== undefined ? 'y' : undefined;\n },\n pointerCapture(_v, _k, {\n pointer: {\n capture = true,\n buttons = 1,\n keys = true\n } = {}\n }) {\n this.pointerButtons = buttons;\n this.keys = keys;\n return !this.pointerLock && this.device === 'pointer' && capture;\n },\n threshold(value, _k, {\n filterTaps = false,\n tapsThreshold = 3,\n axis = undefined\n }) {\n const threshold = V.toVector(value, filterTaps ? tapsThreshold : axis ? 1 : 0);\n this.filterTaps = filterTaps;\n this.tapsThreshold = tapsThreshold;\n return threshold;\n },\n swipe({\n velocity = DEFAULT_SWIPE_VELOCITY,\n distance = DEFAULT_SWIPE_DISTANCE,\n duration = DEFAULT_SWIPE_DURATION\n } = {}) {\n return {\n velocity: this.transform(V.toVector(velocity)),\n distance: this.transform(V.toVector(distance)),\n duration\n };\n },\n delay(value = 0) {\n switch (value) {\n case true:\n return DEFAULT_DRAG_DELAY;\n case false:\n return 0;\n default:\n return value;\n }\n },\n axisThreshold(value) {\n if (!value) return DEFAULT_DRAG_AXIS_THRESHOLD;\n return _objectSpread2(_objectSpread2({}, DEFAULT_DRAG_AXIS_THRESHOLD), value);\n },\n keyboardDisplacement(value = DEFAULT_KEYBOARD_DISPLACEMENT) {\n return value;\n }\n});\nif (process.env.NODE_ENV === 'development') {\n Object.assign(dragConfigResolver, {\n useTouch(value) {\n if (value !== undefined) {\n throw Error(`[@use-gesture]: \\`useTouch\\` option has been renamed to \\`pointer.touch\\`. Use it as in \\`{ pointer: { touch: true } }\\`.`);\n }\n return NaN;\n },\n experimental_preventWindowScrollY(value) {\n if (value !== undefined) {\n throw Error(`[@use-gesture]: \\`experimental_preventWindowScrollY\\` option has been renamed to \\`preventScroll\\`.`);\n }\n return NaN;\n },\n swipeVelocity(value) {\n if (value !== undefined) {\n throw Error(`[@use-gesture]: \\`swipeVelocity\\` option has been renamed to \\`swipe.velocity\\`. Use it as in \\`{ swipe: { velocity: 0.5 } }\\`.`);\n }\n return NaN;\n },\n swipeDistance(value) {\n if (value !== undefined) {\n throw Error(`[@use-gesture]: \\`swipeDistance\\` option has been renamed to \\`swipe.distance\\`. Use it as in \\`{ swipe: { distance: 50 } }\\`.`);\n }\n return NaN;\n },\n swipeDuration(value) {\n if (value !== undefined) {\n throw Error(`[@use-gesture]: \\`swipeDuration\\` option has been renamed to \\`swipe.duration\\`. Use it as in \\`{ swipe: { duration: 250 } }\\`.`);\n }\n return NaN;\n }\n });\n}\n\nfunction clampStateInternalMovementToBounds(state) {\n const [ox, oy] = state.overflow;\n const [dx, dy] = state._delta;\n const [dirx, diry] = state._direction;\n if (ox < 0 && dx > 0 && dirx < 0 || ox > 0 && dx < 0 && dirx > 0) {\n state._movement[0] = state._movementBound[0];\n }\n if (oy < 0 && dy > 0 && diry < 0 || oy > 0 && dy < 0 && diry > 0) {\n state._movement[1] = state._movementBound[1];\n }\n}\n\nconst SCALE_ANGLE_RATIO_INTENT_DEG = 30;\nconst PINCH_WHEEL_RATIO = 100;\nclass PinchEngine extends Engine {\n constructor(...args) {\n super(...args);\n _defineProperty(this, \"ingKey\", 'pinching');\n _defineProperty(this, \"aliasKey\", 'da');\n }\n init() {\n this.state.offset = [1, 0];\n this.state.lastOffset = [1, 0];\n this.state._pointerEvents = new Map();\n }\n reset() {\n super.reset();\n const state = this.state;\n state._touchIds = [];\n state.canceled = false;\n state.cancel = this.cancel.bind(this);\n state.turns = 0;\n }\n computeOffset() {\n const {\n type,\n movement,\n lastOffset\n } = this.state;\n if (type === 'wheel') {\n this.state.offset = V.add(movement, lastOffset);\n } else {\n this.state.offset = [(1 + movement[0]) * lastOffset[0], movement[1] + lastOffset[1]];\n }\n }\n computeMovement() {\n const {\n offset,\n lastOffset\n } = this.state;\n this.state.movement = [offset[0] / lastOffset[0], offset[1] - lastOffset[1]];\n }\n axisIntent() {\n const state = this.state;\n const [_m0, _m1] = state._movement;\n if (!state.axis) {\n const axisMovementDifference = Math.abs(_m0) * SCALE_ANGLE_RATIO_INTENT_DEG - Math.abs(_m1);\n if (axisMovementDifference < 0) state.axis = 'angle';else if (axisMovementDifference > 0) state.axis = 'scale';\n }\n }\n restrictToAxis(v) {\n if (this.config.lockDirection) {\n if (this.state.axis === 'scale') v[1] = 0;else if (this.state.axis === 'angle') v[0] = 0;\n }\n }\n cancel() {\n const state = this.state;\n if (state.canceled) return;\n setTimeout(() => {\n state.canceled = true;\n state._active = false;\n this.compute();\n this.emit();\n }, 0);\n }\n touchStart(event) {\n this.ctrl.setEventIds(event);\n const state = this.state;\n const ctrlTouchIds = this.ctrl.touchIds;\n if (state._active) {\n if (state._touchIds.every(id => ctrlTouchIds.has(id))) return;\n }\n if (ctrlTouchIds.size < 2) return;\n this.start(event);\n state._touchIds = Array.from(ctrlTouchIds).slice(0, 2);\n const payload = touchDistanceAngle(event, state._touchIds);\n if (!payload) return;\n this.pinchStart(event, payload);\n }\n pointerStart(event) {\n if (event.buttons != null && event.buttons % 2 !== 1) return;\n this.ctrl.setEventIds(event);\n event.target.setPointerCapture(event.pointerId);\n const state = this.state;\n const _pointerEvents = state._pointerEvents;\n const ctrlPointerIds = this.ctrl.pointerIds;\n if (state._active) {\n if (Array.from(_pointerEvents.keys()).every(id => ctrlPointerIds.has(id))) return;\n }\n if (_pointerEvents.size < 2) {\n _pointerEvents.set(event.pointerId, event);\n }\n if (state._pointerEvents.size < 2) return;\n this.start(event);\n const payload = distanceAngle(...Array.from(_pointerEvents.values()));\n if (!payload) return;\n this.pinchStart(event, payload);\n }\n pinchStart(event, payload) {\n const state = this.state;\n state.origin = payload.origin;\n this.computeValues([payload.distance, payload.angle]);\n this.computeInitial();\n this.compute(event);\n this.emit();\n }\n touchMove(event) {\n if (!this.state._active) return;\n const payload = touchDistanceAngle(event, this.state._touchIds);\n if (!payload) return;\n this.pinchMove(event, payload);\n }\n pointerMove(event) {\n const _pointerEvents = this.state._pointerEvents;\n if (_pointerEvents.has(event.pointerId)) {\n _pointerEvents.set(event.pointerId, event);\n }\n if (!this.state._active) return;\n const payload = distanceAngle(...Array.from(_pointerEvents.values()));\n if (!payload) return;\n this.pinchMove(event, payload);\n }\n pinchMove(event, payload) {\n const state = this.state;\n const prev_a = state._values[1];\n const delta_a = payload.angle - prev_a;\n let delta_turns = 0;\n if (Math.abs(delta_a) > 270) delta_turns += Math.sign(delta_a);\n this.computeValues([payload.distance, payload.angle - 360 * delta_turns]);\n state.origin = payload.origin;\n state.turns = delta_turns;\n state._movement = [state._values[0] / state._initial[0] - 1, state._values[1] - state._initial[1]];\n this.compute(event);\n this.emit();\n }\n touchEnd(event) {\n this.ctrl.setEventIds(event);\n if (!this.state._active) return;\n if (this.state._touchIds.some(id => !this.ctrl.touchIds.has(id))) {\n this.state._active = false;\n this.compute(event);\n this.emit();\n }\n }\n pointerEnd(event) {\n const state = this.state;\n this.ctrl.setEventIds(event);\n try {\n event.target.releasePointerCapture(event.pointerId);\n } catch (_unused) {}\n if (state._pointerEvents.has(event.pointerId)) {\n state._pointerEvents.delete(event.pointerId);\n }\n if (!state._active) return;\n if (state._pointerEvents.size < 2) {\n state._active = false;\n this.compute(event);\n this.emit();\n }\n }\n gestureStart(event) {\n if (event.cancelable) event.preventDefault();\n const state = this.state;\n if (state._active) return;\n this.start(event);\n this.computeValues([event.scale, event.rotation]);\n state.origin = [event.clientX, event.clientY];\n this.compute(event);\n this.emit();\n }\n gestureMove(event) {\n if (event.cancelable) event.preventDefault();\n if (!this.state._active) return;\n const state = this.state;\n this.computeValues([event.scale, event.rotation]);\n state.origin = [event.clientX, event.clientY];\n const _previousMovement = state._movement;\n state._movement = [event.scale - 1, event.rotation];\n state._delta = V.sub(state._movement, _previousMovement);\n this.compute(event);\n this.emit();\n }\n gestureEnd(event) {\n if (!this.state._active) return;\n this.state._active = false;\n this.compute(event);\n this.emit();\n }\n wheel(event) {\n const modifierKey = this.config.modifierKey;\n if (modifierKey && (Array.isArray(modifierKey) ? !modifierKey.find(k => event[k]) : !event[modifierKey])) return;\n if (!this.state._active) this.wheelStart(event);else this.wheelChange(event);\n this.timeoutStore.add('wheelEnd', this.wheelEnd.bind(this));\n }\n wheelStart(event) {\n this.start(event);\n this.wheelChange(event);\n }\n wheelChange(event) {\n const isR3f = ('uv' in event);\n if (!isR3f) {\n if (event.cancelable) {\n event.preventDefault();\n }\n if (process.env.NODE_ENV === 'development' && !event.defaultPrevented) {\n console.warn(`[@use-gesture]: To properly support zoom on trackpads, try using the \\`target\\` option.\\n\\nThis message will only appear in development mode.`);\n }\n }\n const state = this.state;\n state._delta = [-wheelValues(event)[1] / PINCH_WHEEL_RATIO * state.offset[0], 0];\n V.addTo(state._movement, state._delta);\n clampStateInternalMovementToBounds(state);\n this.state.origin = [event.clientX, event.clientY];\n this.compute(event);\n this.emit();\n }\n wheelEnd() {\n if (!this.state._active) return;\n this.state._active = false;\n this.compute();\n this.emit();\n }\n bind(bindFunction) {\n const device = this.config.device;\n if (!!device) {\n bindFunction(device, 'start', this[device + 'Start'].bind(this));\n bindFunction(device, 'change', this[device + 'Move'].bind(this));\n bindFunction(device, 'end', this[device + 'End'].bind(this));\n bindFunction(device, 'cancel', this[device + 'End'].bind(this));\n bindFunction('lostPointerCapture', '', this[device + 'End'].bind(this));\n }\n if (this.config.pinchOnWheel) {\n bindFunction('wheel', '', this.wheel.bind(this), {\n passive: false\n });\n }\n }\n}\n\nconst pinchConfigResolver = _objectSpread2(_objectSpread2({}, commonConfigResolver), {}, {\n device(_v, _k, {\n shared,\n pointer: {\n touch = false\n } = {}\n }) {\n const sharedConfig = shared;\n if (sharedConfig.target && !SUPPORT.touch && SUPPORT.gesture) return 'gesture';\n if (SUPPORT.touch && touch) return 'touch';\n if (SUPPORT.touchscreen) {\n if (SUPPORT.pointer) return 'pointer';\n if (SUPPORT.touch) return 'touch';\n }\n },\n bounds(_v, _k, {\n scaleBounds = {},\n angleBounds = {}\n }) {\n const _scaleBounds = state => {\n const D = assignDefault(call(scaleBounds, state), {\n min: -Infinity,\n max: Infinity\n });\n return [D.min, D.max];\n };\n const _angleBounds = state => {\n const A = assignDefault(call(angleBounds, state), {\n min: -Infinity,\n max: Infinity\n });\n return [A.min, A.max];\n };\n if (typeof scaleBounds !== 'function' && typeof angleBounds !== 'function') return [_scaleBounds(), _angleBounds()];\n return state => [_scaleBounds(state), _angleBounds(state)];\n },\n threshold(value, _k, config) {\n this.lockDirection = config.axis === 'lock';\n const threshold = V.toVector(value, this.lockDirection ? [0.1, 3] : 0);\n return threshold;\n },\n modifierKey(value) {\n if (value === undefined) return 'ctrlKey';\n return value;\n },\n pinchOnWheel(value = true) {\n return value;\n }\n});\n\nclass MoveEngine extends CoordinatesEngine {\n constructor(...args) {\n super(...args);\n _defineProperty(this, \"ingKey\", 'moving');\n }\n move(event) {\n if (this.config.mouseOnly && event.pointerType !== 'mouse') return;\n if (!this.state._active) this.moveStart(event);else this.moveChange(event);\n this.timeoutStore.add('moveEnd', this.moveEnd.bind(this));\n }\n moveStart(event) {\n this.start(event);\n this.computeValues(pointerValues(event));\n this.compute(event);\n this.computeInitial();\n this.emit();\n }\n moveChange(event) {\n if (!this.state._active) return;\n const values = pointerValues(event);\n const state = this.state;\n state._delta = V.sub(values, state._values);\n V.addTo(state._movement, state._delta);\n this.computeValues(values);\n this.compute(event);\n this.emit();\n }\n moveEnd(event) {\n if (!this.state._active) return;\n this.state._active = false;\n this.compute(event);\n this.emit();\n }\n bind(bindFunction) {\n bindFunction('pointer', 'change', this.move.bind(this));\n bindFunction('pointer', 'leave', this.moveEnd.bind(this));\n }\n}\n\nconst moveConfigResolver = _objectSpread2(_objectSpread2({}, coordinatesConfigResolver), {}, {\n mouseOnly: (value = true) => value\n});\n\nclass ScrollEngine extends CoordinatesEngine {\n constructor(...args) {\n super(...args);\n _defineProperty(this, \"ingKey\", 'scrolling');\n }\n scroll(event) {\n if (!this.state._active) this.start(event);\n this.scrollChange(event);\n this.timeoutStore.add('scrollEnd', this.scrollEnd.bind(this));\n }\n scrollChange(event) {\n if (event.cancelable) event.preventDefault();\n const state = this.state;\n const values = scrollValues(event);\n state._delta = V.sub(values, state._values);\n V.addTo(state._movement, state._delta);\n this.computeValues(values);\n this.compute(event);\n this.emit();\n }\n scrollEnd() {\n if (!this.state._active) return;\n this.state._active = false;\n this.compute();\n this.emit();\n }\n bind(bindFunction) {\n bindFunction('scroll', '', this.scroll.bind(this));\n }\n}\n\nconst scrollConfigResolver = coordinatesConfigResolver;\n\nclass WheelEngine extends CoordinatesEngine {\n constructor(...args) {\n super(...args);\n _defineProperty(this, \"ingKey\", 'wheeling');\n }\n wheel(event) {\n if (!this.state._active) this.start(event);\n this.wheelChange(event);\n this.timeoutStore.add('wheelEnd', this.wheelEnd.bind(this));\n }\n wheelChange(event) {\n const state = this.state;\n state._delta = wheelValues(event);\n V.addTo(state._movement, state._delta);\n clampStateInternalMovementToBounds(state);\n this.compute(event);\n this.emit();\n }\n wheelEnd() {\n if (!this.state._active) return;\n this.state._active = false;\n this.compute();\n this.emit();\n }\n bind(bindFunction) {\n bindFunction('wheel', '', this.wheel.bind(this));\n }\n}\n\nconst wheelConfigResolver = coordinatesConfigResolver;\n\nclass HoverEngine extends CoordinatesEngine {\n constructor(...args) {\n super(...args);\n _defineProperty(this, \"ingKey\", 'hovering');\n }\n enter(event) {\n if (this.config.mouseOnly && event.pointerType !== 'mouse') return;\n this.start(event);\n this.computeValues(pointerValues(event));\n this.compute(event);\n this.emit();\n }\n leave(event) {\n if (this.config.mouseOnly && event.pointerType !== 'mouse') return;\n const state = this.state;\n if (!state._active) return;\n state._active = false;\n const values = pointerValues(event);\n state._movement = state._delta = V.sub(values, state._values);\n this.computeValues(values);\n this.compute(event);\n state.delta = state.movement;\n this.emit();\n }\n bind(bindFunction) {\n bindFunction('pointer', 'enter', this.enter.bind(this));\n bindFunction('pointer', 'leave', this.leave.bind(this));\n }\n}\n\nconst hoverConfigResolver = _objectSpread2(_objectSpread2({}, coordinatesConfigResolver), {}, {\n mouseOnly: (value = true) => value\n});\n\nconst EngineMap = new Map();\nconst ConfigResolverMap = new Map();\nfunction registerAction(action) {\n EngineMap.set(action.key, action.engine);\n ConfigResolverMap.set(action.key, action.resolver);\n}\nconst dragAction = {\n key: 'drag',\n engine: DragEngine,\n resolver: dragConfigResolver\n};\nconst hoverAction = {\n key: 'hover',\n engine: HoverEngine,\n resolver: hoverConfigResolver\n};\nconst moveAction = {\n key: 'move',\n engine: MoveEngine,\n resolver: moveConfigResolver\n};\nconst pinchAction = {\n key: 'pinch',\n engine: PinchEngine,\n resolver: pinchConfigResolver\n};\nconst scrollAction = {\n key: 'scroll',\n engine: ScrollEngine,\n resolver: scrollConfigResolver\n};\nconst wheelAction = {\n key: 'wheel',\n engine: WheelEngine,\n resolver: wheelConfigResolver\n};\n\nexport { ConfigResolverMap as C, EngineMap as E, SUPPORT as S, _objectSpread2 as _, _defineProperty as a, touchIds as b, chain as c, toHandlerProp as d, dragAction as e, pinchAction as f, hoverAction as h, isTouch as i, moveAction as m, parseProp as p, registerAction as r, scrollAction as s, toDomEventType as t, wheelAction as w };\n","import { S as SUPPORT, C as ConfigResolverMap, _ as _objectSpread2, a as _defineProperty, t as toDomEventType, i as isTouch, b as touchIds, E as EngineMap, c as chain, p as parseProp, d as toHandlerProp } from './actions-fe213e88.esm.js';\nimport './maths-0ab39ae9.esm.js';\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = _objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n return target;\n}\n\nconst sharedConfigResolver = {\n target(value) {\n if (value) {\n return () => 'current' in value ? value.current : value;\n }\n return undefined;\n },\n enabled(value = true) {\n return value;\n },\n window(value = SUPPORT.isBrowser ? window : undefined) {\n return value;\n },\n eventOptions({\n passive = true,\n capture = false\n } = {}) {\n return {\n passive,\n capture\n };\n },\n transform(value) {\n return value;\n }\n};\n\nconst _excluded = [\"target\", \"eventOptions\", \"window\", \"enabled\", \"transform\"];\nfunction resolveWith(config = {}, resolvers) {\n const result = {};\n for (const [key, resolver] of Object.entries(resolvers)) {\n switch (typeof resolver) {\n case 'function':\n if (process.env.NODE_ENV === 'development') {\n const r = resolver.call(result, config[key], key, config);\n if (!Number.isNaN(r)) result[key] = r;\n } else {\n result[key] = resolver.call(result, config[key], key, config);\n }\n break;\n case 'object':\n result[key] = resolveWith(config[key], resolver);\n break;\n case 'boolean':\n if (resolver) result[key] = config[key];\n break;\n }\n }\n return result;\n}\nfunction parse(newConfig, gestureKey, _config = {}) {\n const _ref = newConfig,\n {\n target,\n eventOptions,\n window,\n enabled,\n transform\n } = _ref,\n rest = _objectWithoutProperties(_ref, _excluded);\n _config.shared = resolveWith({\n target,\n eventOptions,\n window,\n enabled,\n transform\n }, sharedConfigResolver);\n if (gestureKey) {\n const resolver = ConfigResolverMap.get(gestureKey);\n _config[gestureKey] = resolveWith(_objectSpread2({\n shared: _config.shared\n }, rest), resolver);\n } else {\n for (const key in rest) {\n const resolver = ConfigResolverMap.get(key);\n if (resolver) {\n _config[key] = resolveWith(_objectSpread2({\n shared: _config.shared\n }, rest[key]), resolver);\n } else if (process.env.NODE_ENV === 'development') {\n if (!['drag', 'pinch', 'scroll', 'wheel', 'move', 'hover'].includes(key)) {\n if (key === 'domTarget') {\n throw Error(`[@use-gesture]: \\`domTarget\\` option has been renamed to \\`target\\`.`);\n }\n console.warn(`[@use-gesture]: Unknown config key \\`${key}\\` was used. Please read the documentation for further information.`);\n }\n }\n }\n }\n return _config;\n}\n\nclass EventStore {\n constructor(ctrl, gestureKey) {\n _defineProperty(this, \"_listeners\", new Set());\n this._ctrl = ctrl;\n this._gestureKey = gestureKey;\n }\n add(element, device, action, handler, options) {\n const listeners = this._listeners;\n const type = toDomEventType(device, action);\n const _options = this._gestureKey ? this._ctrl.config[this._gestureKey].eventOptions : {};\n const eventOptions = _objectSpread2(_objectSpread2({}, _options), options);\n element.addEventListener(type, handler, eventOptions);\n const remove = () => {\n element.removeEventListener(type, handler, eventOptions);\n listeners.delete(remove);\n };\n listeners.add(remove);\n return remove;\n }\n clean() {\n this._listeners.forEach(remove => remove());\n this._listeners.clear();\n }\n}\n\nclass TimeoutStore {\n constructor() {\n _defineProperty(this, \"_timeouts\", new Map());\n }\n add(key, callback, ms = 140, ...args) {\n this.remove(key);\n this._timeouts.set(key, window.setTimeout(callback, ms, ...args));\n }\n remove(key) {\n const timeout = this._timeouts.get(key);\n if (timeout) window.clearTimeout(timeout);\n }\n clean() {\n this._timeouts.forEach(timeout => void window.clearTimeout(timeout));\n this._timeouts.clear();\n }\n}\n\nclass Controller {\n constructor(handlers) {\n _defineProperty(this, \"gestures\", new Set());\n _defineProperty(this, \"_targetEventStore\", new EventStore(this));\n _defineProperty(this, \"gestureEventStores\", {});\n _defineProperty(this, \"gestureTimeoutStores\", {});\n _defineProperty(this, \"handlers\", {});\n _defineProperty(this, \"config\", {});\n _defineProperty(this, \"pointerIds\", new Set());\n _defineProperty(this, \"touchIds\", new Set());\n _defineProperty(this, \"state\", {\n shared: {\n shiftKey: false,\n metaKey: false,\n ctrlKey: false,\n altKey: false\n }\n });\n resolveGestures(this, handlers);\n }\n setEventIds(event) {\n if (isTouch(event)) {\n this.touchIds = new Set(touchIds(event));\n return this.touchIds;\n } else if ('pointerId' in event) {\n if (event.type === 'pointerup' || event.type === 'pointercancel') this.pointerIds.delete(event.pointerId);else if (event.type === 'pointerdown') this.pointerIds.add(event.pointerId);\n return this.pointerIds;\n }\n }\n applyHandlers(handlers, nativeHandlers) {\n this.handlers = handlers;\n this.nativeHandlers = nativeHandlers;\n }\n applyConfig(config, gestureKey) {\n this.config = parse(config, gestureKey, this.config);\n }\n clean() {\n this._targetEventStore.clean();\n for (const key of this.gestures) {\n this.gestureEventStores[key].clean();\n this.gestureTimeoutStores[key].clean();\n }\n }\n effect() {\n if (this.config.shared.target) this.bind();\n return () => this._targetEventStore.clean();\n }\n bind(...args) {\n const sharedConfig = this.config.shared;\n const props = {};\n let target;\n if (sharedConfig.target) {\n target = sharedConfig.target();\n if (!target) return;\n }\n if (sharedConfig.enabled) {\n for (const gestureKey of this.gestures) {\n const gestureConfig = this.config[gestureKey];\n const bindFunction = bindToProps(props, gestureConfig.eventOptions, !!target);\n if (gestureConfig.enabled) {\n const Engine = EngineMap.get(gestureKey);\n new Engine(this, args, gestureKey).bind(bindFunction);\n }\n }\n const nativeBindFunction = bindToProps(props, sharedConfig.eventOptions, !!target);\n for (const eventKey in this.nativeHandlers) {\n nativeBindFunction(eventKey, '', event => this.nativeHandlers[eventKey](_objectSpread2(_objectSpread2({}, this.state.shared), {}, {\n event,\n args\n })), undefined, true);\n }\n }\n for (const handlerProp in props) {\n props[handlerProp] = chain(...props[handlerProp]);\n }\n if (!target) return props;\n for (const handlerProp in props) {\n const {\n device,\n capture,\n passive\n } = parseProp(handlerProp);\n this._targetEventStore.add(target, device, '', props[handlerProp], {\n capture,\n passive\n });\n }\n }\n}\nfunction setupGesture(ctrl, gestureKey) {\n ctrl.gestures.add(gestureKey);\n ctrl.gestureEventStores[gestureKey] = new EventStore(ctrl, gestureKey);\n ctrl.gestureTimeoutStores[gestureKey] = new TimeoutStore();\n}\nfunction resolveGestures(ctrl, internalHandlers) {\n if (internalHandlers.drag) setupGesture(ctrl, 'drag');\n if (internalHandlers.wheel) setupGesture(ctrl, 'wheel');\n if (internalHandlers.scroll) setupGesture(ctrl, 'scroll');\n if (internalHandlers.move) setupGesture(ctrl, 'move');\n if (internalHandlers.pinch) setupGesture(ctrl, 'pinch');\n if (internalHandlers.hover) setupGesture(ctrl, 'hover');\n}\nconst bindToProps = (props, eventOptions, withPassiveOption) => (device, action, handler, options = {}, isNative = false) => {\n var _options$capture, _options$passive;\n const capture = (_options$capture = options.capture) !== null && _options$capture !== void 0 ? _options$capture : eventOptions.capture;\n const passive = (_options$passive = options.passive) !== null && _options$passive !== void 0 ? _options$passive : eventOptions.passive;\n let handlerProp = isNative ? device : toHandlerProp(device, action, capture);\n if (withPassiveOption && passive) handlerProp += 'Passive';\n props[handlerProp] = props[handlerProp] || [];\n props[handlerProp].push(handler);\n};\n\nconst RE_NOT_NATIVE = /^on(Drag|Wheel|Scroll|Move|Pinch|Hover)/;\nfunction sortHandlers(_handlers) {\n const native = {};\n const handlers = {};\n const actions = new Set();\n for (let key in _handlers) {\n if (RE_NOT_NATIVE.test(key)) {\n actions.add(RegExp.lastMatch);\n handlers[key] = _handlers[key];\n } else {\n native[key] = _handlers[key];\n }\n }\n return [handlers, native, actions];\n}\nfunction registerGesture(actions, handlers, handlerKey, key, internalHandlers, config) {\n if (!actions.has(handlerKey)) return;\n if (!EngineMap.has(key)) {\n if (process.env.NODE_ENV === 'development') {\n console.warn(`[@use-gesture]: You've created a custom handler that that uses the \\`${key}\\` gesture but isn't properly configured.\\n\\nPlease add \\`${key}Action\\` when creating your handler.`);\n }\n return;\n }\n const startKey = handlerKey + 'Start';\n const endKey = handlerKey + 'End';\n const fn = state => {\n let memo = undefined;\n if (state.first && startKey in handlers) handlers[startKey](state);\n if (handlerKey in handlers) memo = handlers[handlerKey](state);\n if (state.last && endKey in handlers) handlers[endKey](state);\n return memo;\n };\n internalHandlers[key] = fn;\n config[key] = config[key] || {};\n}\nfunction parseMergedHandlers(mergedHandlers, mergedConfig) {\n const [handlers, nativeHandlers, actions] = sortHandlers(mergedHandlers);\n const internalHandlers = {};\n registerGesture(actions, handlers, 'onDrag', 'drag', internalHandlers, mergedConfig);\n registerGesture(actions, handlers, 'onWheel', 'wheel', internalHandlers, mergedConfig);\n registerGesture(actions, handlers, 'onScroll', 'scroll', internalHandlers, mergedConfig);\n registerGesture(actions, handlers, 'onPinch', 'pinch', internalHandlers, mergedConfig);\n registerGesture(actions, handlers, 'onMove', 'move', internalHandlers, mergedConfig);\n registerGesture(actions, handlers, 'onHover', 'hover', internalHandlers, mergedConfig);\n return {\n handlers: internalHandlers,\n config: mergedConfig,\n nativeHandlers\n };\n}\n\nexport { Controller, parseMergedHandlers };\n","import { registerAction, dragAction, pinchAction, wheelAction, scrollAction, moveAction, hoverAction } from '@use-gesture/core/actions';\nexport * from '@use-gesture/core/actions';\nimport React from 'react';\nimport { Controller, parseMergedHandlers } from '@use-gesture/core';\nexport * from '@use-gesture/core/utils';\nexport * from '@use-gesture/core/types';\n\nfunction useRecognizers(handlers, config = {}, gestureKey, nativeHandlers) {\n const ctrl = React.useMemo(() => new Controller(handlers), []);\n ctrl.applyHandlers(handlers, nativeHandlers);\n ctrl.applyConfig(config, gestureKey);\n React.useEffect(ctrl.effect.bind(ctrl));\n React.useEffect(() => {\n return ctrl.clean.bind(ctrl);\n }, []);\n if (config.target === undefined) {\n return ctrl.bind.bind(ctrl);\n }\n return undefined;\n}\n\nfunction useDrag(handler, config) {\n registerAction(dragAction);\n return useRecognizers({\n drag: handler\n }, config || {}, 'drag');\n}\n\nfunction usePinch(handler, config) {\n registerAction(pinchAction);\n return useRecognizers({\n pinch: handler\n }, config || {}, 'pinch');\n}\n\nfunction useWheel(handler, config) {\n registerAction(wheelAction);\n return useRecognizers({\n wheel: handler\n }, config || {}, 'wheel');\n}\n\nfunction useScroll(handler, config) {\n registerAction(scrollAction);\n return useRecognizers({\n scroll: handler\n }, config || {}, 'scroll');\n}\n\nfunction useMove(handler, config) {\n registerAction(moveAction);\n return useRecognizers({\n move: handler\n }, config || {}, 'move');\n}\n\nfunction useHover(handler, config) {\n registerAction(hoverAction);\n return useRecognizers({\n hover: handler\n }, config || {}, 'hover');\n}\n\nfunction createUseGesture(actions) {\n actions.forEach(registerAction);\n return function useGesture(_handlers, _config) {\n const {\n handlers,\n nativeHandlers,\n config\n } = parseMergedHandlers(_handlers, _config || {});\n return useRecognizers(handlers, config, undefined, nativeHandlers);\n };\n}\n\nfunction useGesture(handlers, config) {\n const hook = createUseGesture([dragAction, pinchAction, scrollAction, wheelAction, moveAction, hoverAction]);\n return hook(handlers, config || {});\n}\n\nexport { createUseGesture, useDrag, useGesture, useHover, useMove, usePinch, useScroll, useWheel };\n","import styled from \"styled-components\";\n\nexport const Wrapper = styled.div`\n\twidth: 100%;\n\theight: 100%;\n\toverflow: hidden;\n\ttouch-action: none;\n`;\n\nexport const Canvas = styled.canvas<{ $canDraw: boolean }>`\n\t${({ $canDraw }) => $canDraw && \"cursor: crosshair;\"};\n`;\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { EraserBrush } from \"@erase2d/fabric\";\nimport { useDrag, usePinch } from \"@use-gesture/react\";\nimport { Canvas as FabricCanvas, FabricImage, FabricObject, Path, PencilBrush, Point, Rect, TEvent } from \"fabric\";\nimport { ForwardedRef, forwardRef, useEffect, useImperativeHandle, useRef } from \"react\";\nimport { FileHelper, TestHelper } from \"../../../../../utils\";\nimport { Canvas, Wrapper } from \"./image-editor.styles\";\nimport { IImageEditorProps, IImageEditorRef } from \"./types\";\nimport { useWindowHelper } from \"../../../../../utils/hooks\";\n\nconst MAX_ZOOM = 5;\nconst PENCIL_BRUSH_SIZE = 10;\n\nexport const ImageEditor = forwardRef((props: IImageEditorProps, ref: ForwardedRef<IImageEditorRef>) => {\n\t// =============================================================================\n\t// CONST, STATE, REFS\n\t// =============================================================================\n\tconst { maxSizeInKb, baseImageDataURL, drawing, color, erase } = props;\n\tconst wrapperRef = useRef<HTMLDivElement>(null);\n\tconst canvasRef = useRef<HTMLCanvasElement>(null);\n\tconst fabricCanvas = useRef<FabricCanvas>();\n\tconst fabricBackground = useRef<FabricImage>();\n\tconst fittedImageBounds = useRef<{ left: number; top: number; width: number; height: number }>();\n\tconst pencilBrush = useRef<PencilBrush>();\n\tconst eraserBrush = useRef<EraserBrush>();\n\tconst gestures = useRef({\n\t\tpinchStartAmount: 0,\n\t\tpan: new Point(0, 0),\n\t});\n\tconst isMobileView = useWindowHelper();\n\n\tconst syncCanvasDimensions = () => {\n\t\tif (!wrapperRef.current || !fabricCanvas.current) return;\n\n\t\tfabricCanvas.current.setDimensions({\n\t\t\twidth: wrapperRef.current.clientWidth,\n\t\t\theight: wrapperRef.current.clientHeight,\n\t\t});\n\t};\n\n\tuseImperativeHandle(ref, () => ({\n\t\tclearDrawing,\n\t\texport: () => {\n\t\t\tif (fabricCanvas.current) {\n\t\t\t\tresetZoomAndPosition();\n\t\t\t\treturn {\n\t\t\t\t\tdrawing: fabricCanvas.current\n\t\t\t\t\t\t.getObjects()\n\t\t\t\t\t\t.map((obj) => (obj.type !== \"image\" ? obj : undefined))\n\t\t\t\t\t\t.filter((obj) => obj) as FabricObject[],\n\t\t\t\t\tdataURL: toDataURLWithLimit(),\n\t\t\t\t};\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tdrawing: [],\n\t\t\t\tdataURL: \"\",\n\t\t\t};\n\t\t},\n\t}));\n\n\t// recursively compress image until it fits limit\n\tconst toDataURLWithLimit = (limit = maxSizeInKb, quality = 1): string => {\n\t\tif (fabricBackground.current) {\n\t\t\tconst backgroundBounds = fabricBackground.current.getBoundingRect();\n\t\t\tconst dataURL =\n\t\t\t\tfabricCanvas.current?.toDataURL({\n\t\t\t\t\tformat: \"jpeg\",\n\t\t\t\t\tmultiplier: (fabricBackground.current.width || 0) / backgroundBounds.width,\n\t\t\t\t\tquality,\n\t\t\t\t\ttop: backgroundBounds.top,\n\t\t\t\t\tleft: backgroundBounds.left,\n\t\t\t\t\theight: backgroundBounds.height,\n\t\t\t\t\twidth: backgroundBounds.width,\n\t\t\t\t}) || \"\";\n\n\t\t\tconst reducedQuality = quality - 0.05;\n\t\t\tif (reducedQuality < 0) return dataURL;\n\n\t\t\tconst filesizeInB = FileHelper.getFilesizeFromBase64(dataURL);\n\t\t\tconst maxSizeInB = limit * 1024;\n\t\t\tif (maxSizeInB && filesizeInB > maxSizeInB) return toDataURLWithLimit(limit, reducedQuality);\n\n\t\t\treturn dataURL;\n\t\t}\n\t\treturn \"\";\n\t};\n\n\t// initialise fabric and brushes\n\tuseEffect(() => {\n\t\tlet canvas: FabricCanvas;\n\t\tif (wrapperRef.current && canvasRef.current) {\n\t\t\tcanvas = new FabricCanvas(canvasRef.current);\n\t\t\tfabricCanvas.current = canvas;\n\t\t\tsyncCanvasDimensions();\n\t\t\tfabricCanvas.current.selection = false;\n\t\t\tpencilBrush.current = new PencilBrush(fabricCanvas.current);\n\t\t\teraserBrush.current = new EraserBrush(fabricCanvas.current);\n\t\t\tfabricCanvas.current.freeDrawingBrush = pencilBrush.current;\n\t\t}\n\n\t\treturn () => {\n\t\t\tif (canvas) {\n\t\t\t\tcanvas.dispose();\n\t\t\t}\n\t\t};\n\t}, []);\n\n\t// when screen resizes\n\tuseEffect(() => {\n\t\tconst handleResize = async () => {\n\t\t\tif (wrapperRef.current && canvasRef.current && fabricCanvas.current && fabricBackground.current) {\n\t\t\t\t// slight delay because fabricjs cannot redraw in time during orientation change\n\t\t\t\tawait new Promise((resolve) => setTimeout(resolve));\n\n\t\t\t\tresetZoomAndPosition();\n\n\t\t\t\tconst canvasWidth = wrapperRef.current.clientWidth;\n\t\t\t\tconst canvasHeight = wrapperRef.current.clientHeight;\n\t\t\t\tconst oldBackgroundLeft = fabricBackground.current.left || 0;\n\t\t\t\tconst oldBackgroundTop = fabricBackground.current.top || 0;\n\n\t\t\t\tsyncCanvasDimensions();\n\n\t\t\t\tconst backgroundBounds = fabricBackground.current.getBoundingRect();\n\t\t\t\tconst scale = Math.min(canvasWidth / backgroundBounds.width, canvasHeight / backgroundBounds.height);\n\n\t\t\t\tfitImageToCanvas();\n\n\t\t\t\tconst canvasObjects = fabricCanvas.current.getObjects();\n\t\t\t\tcanvasObjects.forEach((obj) => {\n\t\t\t\t\t// only images have cacheKey\n\t\t\t\t\tif (!(obj as any).cacheKey) {\n\t\t\t\t\t\tobj.scaleX = (obj.scaleX || 1) * scale;\n\t\t\t\t\t\tobj.scaleY = (obj.scaleY || 1) * scale;\n\t\t\t\t\t\tobj.left =\n\t\t\t\t\t\t\t(fabricBackground.current?.left || 0) + ((obj.left || 0) - oldBackgroundLeft) * scale;\n\t\t\t\t\t\tobj.top = (fabricBackground.current?.top || 0) + ((obj.top || 0) - oldBackgroundTop) * scale;\n\t\t\t\t\t}\n\t\t\t\t\tobj.setCoords();\n\t\t\t\t});\n\t\t\t}\n\t\t};\n\t\twindow.addEventListener(\"resize\", handleResize);\n\t\tscreen.orientation?.addEventListener(\"change\", handleResize);\n\t\treturn () => {\n\t\t\twindow.removeEventListener(\"resize\", handleResize);\n\t\t\tscreen.orientation?.removeEventListener(\"change\", handleResize);\n\t\t};\n\t}, []);\n\n\t// reset back to default view\n\tconst resetZoomAndPosition = () => {\n\t\tif (fabricCanvas.current) {\n\t\t\tfabricCanvas.current.setZoom(1);\n\t\t\tgestures.current.pinchStartAmount = 0;\n\t\t\tgestures.current.pan = new Point(0, 0);\n\t\t\tfabricCanvas.current.absolutePan(new Point(0, 0));\n\t\t\tfabricCanvas.current.requestRenderAll();\n\t\t}\n\t};\n\n\tconst clampPanToImageBounds = (pan: Point, zoom = fabricCanvas.current?.getZoom() || 1) => {\n\t\tif (!fabricCanvas.current || !fabricBackground.current || zoom <= 1) return new Point(0, 0);\n\n\t\tconst imageBounds = fittedImageBounds.current || fabricBackground.current.getBoundingRect();\n\t\tconst canvasWidth = fabricCanvas.current.getWidth();\n\t\tconst canvasHeight = fabricCanvas.current.getHeight();\n\n\t\tconst clampAxis = (value: number, imageStart: number, imageSize: number, canvasSize: number) => {\n\t\t\tconst minPan = imageStart * zoom;\n\t\t\tconst maxPan = (imageStart + imageSize) * zoom - canvasSize;\n\n\t\t\tif (minPan >= maxPan) return (minPan + maxPan) / 2;\n\n\t\t\treturn Math.min(Math.max(value, minPan), maxPan);\n\t\t};\n\n\t\treturn new Point(\n\t\t\tclampAxis(pan.x, imageBounds.left, imageBounds.width, canvasWidth),\n\t\t\tclampAxis(pan.y, imageBounds.top, imageBounds.height, canvasHeight)\n\t\t);\n\t};\n\n\tconst applyPan = (pan: Point, zoom?: number) => {\n\t\tif (!fabricCanvas.current) return;\n\n\t\tgestures.current.pan = clampPanToImageBounds(pan, zoom);\n\t\tfabricCanvas.current.absolutePan(gestures.current.pan);\n\t};\n\n\t// =============================================================================\n\t// PHOTO AND DRAWINGS\n\t// =============================================================================\n\tconst clearDrawing = () => {\n\t\tif (fabricCanvas.current) {\n\t\t\tfabricCanvas.current.getObjects().forEach((obj) => {\n\t\t\t\tif (!obj.isType(\"image\")) fabricCanvas.current?.remove(obj);\n\t\t\t});\n\t\t}\n\t};\n\n\tconst fitImageToCanvas = () => {\n\t\tif (fabricCanvas.current && fabricBackground.current) {\n\t\t\tconst img = fabricBackground.current;\n\t\t\tconst canvasRatio = fabricCanvas.current.getWidth() / fabricCanvas.current.getHeight();\n\t\t\tconst imgRatio = (img.width || 1) / (img.height || 1);\n\t\t\tif (imgRatio <= canvasRatio) {\n\t\t\t\timg.scaleToHeight(fabricCanvas.current?.getHeight() || 1);\n\t\t\t} else {\n\t\t\t\timg.scaleToWidth(fabricCanvas.current?.getWidth() || 1);\n\t\t\t}\n\t\t\tfabricCanvas.current.centerObject(img);\n\n\t\t\t// extra logic to zoom in to fit image to canvas width in mobile landscape orientation\n\n\t\t\tif (isMobileView() && canvasRatio > 1) {\n\t\t\t\tconst intendedZoom = Math.min((fabricCanvas.current.width || 0) / img.getScaledWidth() + 0.1, MAX_ZOOM);\n\t\t\t\tfabricCanvas.current.zoomToPoint(\n\t\t\t\t\tnew Point((fabricCanvas.current.width || 0) / 2, (fabricCanvas.current.height || 0) / 2),\n\t\t\t\t\tintendedZoom\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tfabricCanvas.current.clipPath = new Rect({\n\t\t\t\tleft: img.left,\n\t\t\t\ttop: img.top,\n\t\t\t\twidth: img.getScaledWidth(),\n\t\t\t\theight: img.getScaledHeight(),\n\t\t\t});\n\n\t\t\tif (pencilBrush.current && eraserBrush.current) {\n\t\t\t\tpencilBrush.current.width = PENCIL_BRUSH_SIZE * (img.scaleX || 1);\n\t\t\t\teraserBrush.current.width = PENCIL_BRUSH_SIZE * (img.scaleX || 1) * 2;\n\t\t\t}\n\n\t\t\timg.setCoords(); // Ensures the internal coordinate system matches the visual state after scaling\n\t\t\tfittedImageBounds.current = img.getBoundingRect();\n\t\t\tfabricCanvas.current.requestRenderAll();\n\t\t}\n\t};\n\n\t// update image\n\tuseEffect(() => {\n\t\tconst handleUpdateImage = async () => {\n\t\t\tif (baseImageDataURL) {\n\t\t\t\tconst img = await FabricImage.fromURL(baseImageDataURL);\n\t\t\t\tif (fabricCanvas.current) {\n\t\t\t\t\tsyncCanvasDimensions();\n\t\t\t\t\tif (fabricBackground.current) {\n\t\t\t\t\t\tfabricCanvas.current.remove(fabricBackground.current);\n\t\t\t\t\t}\n\t\t\t\t\timg.selectable = false;\n\t\t\t\t\timg.hoverCursor = \"default\";\n\t\t\t\t\timg.erasable = false;\n\t\t\t\t\tfabricCanvas.current.insertAt(0, img); // Insert the image as the lowest object so we can draw on top of it\n\t\t\t\t\tfabricBackground.current = img;\n\t\t\t\t\tresetZoomAndPosition();\n\t\t\t\t\tfitImageToCanvas();\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t\thandleUpdateImage();\n\t}, [baseImageDataURL]);\n\n\t// update drawing\n\tuseEffect(() => {\n\t\tif (fabricCanvas.current) {\n\t\t\tfabricCanvas.current.getObjects().forEach((obj) => {\n\t\t\t\tif (obj.type !== \"image\") {\n\t\t\t\t\tfabricCanvas.current.remove(obj);\n\t\t\t\t}\n\t\t\t});\n\t\t\tdrawing?.forEach((d: Path) => {\n\t\t\t\tfabricCanvas.current.add(d);\n\t\t\t});\n\t\t\tfabricCanvas.current.requestRenderAll();\n\t\t}\n\t}, [drawing]);\n\n\t// =============================================================================\n\t// DRAWING MODES\n\t// =============================================================================\n\t// toggle drawing mode\n\t// fires when user clicks draw or save\n\tuseEffect(() => {\n\t\tif (fabricCanvas.current) {\n\t\t\tif (color || erase) {\n\t\t\t\tfabricCanvas.current.isDrawingMode = true;\n\t\t\t} else if (fabricCanvas.current.isDrawingMode) {\n\t\t\t\tfabricCanvas.current.isDrawingMode = false;\n\t\t\t\tresetZoomAndPosition();\n\t\t\t}\n\t\t}\n\t}, [color, erase]);\n\n\tuseEffect(() => {\n\t\tif (pencilBrush.current && color) {\n\t\t\tpencilBrush.current.color = color;\n\t\t}\n\t}, [color]);\n\n\tuseEffect(() => {\n\t\tif (fabricCanvas.current) {\n\t\t\tif (erase) {\n\t\t\t\tfabricCanvas.current.freeDrawingBrush = eraserBrush.current;\n\t\t\t} else if (pencilBrush.current) {\n\t\t\t\tfabricCanvas.current.freeDrawingBrush = pencilBrush.current;\n\t\t\t}\n\t\t}\n\t}, [erase]);\n\n\t// =============================================================================\n\t// GESTURES\n\t// =============================================================================\n\tconst handleMouseDown = (e: TEvent) => {\n\t\tif (typeof TouchEvent !== \"undefined\" && e.e instanceof TouchEvent && e.e.touches.length === 2) {\n\t\t\tif (typeof TouchEvent !== \"undefined\" && fabricCanvas.current && fabricCanvas.current.isDrawingMode) {\n\t\t\t\tfabricCanvas.current.isDrawingMode = false;\n\n\t\t\t\t// prevent drawing when gesturing\n\t\t\t\t// clear accidental drawings while gesturing\n\t\t\t\ttry {\n\t\t\t\t\t(fabricCanvas.current.freeDrawingBrush as any).onMouseUp({ e: {} });\n\t\t\t\t} catch (e) {}\n\t\t\t\tconst canvasObjects = fabricCanvas.current.getObjects();\n\t\t\t\tif (canvasObjects.length > 1) {\n\t\t\t\t\tfabricCanvas.current.remove(canvasObjects[canvasObjects.length - 1]);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n\n\tconst handleMouseUp = (e: TEvent) => {\n\t\tif (typeof TouchEvent !== \"undefined\" && e.e instanceof TouchEvent && e.e.touches.length === 0) {\n\t\t\tgestures.current.pinchStartAmount = 0;\n\t\t\tif (fabricCanvas.current && (color || erase)) {\n\t\t\t\tfabricCanvas.current.isDrawingMode = true;\n\t\t\t}\n\t\t}\n\n\t\tfabricCanvas.current?.getObjects().forEach((obj) => {\n\t\t\tobj.selectable = false;\n\t\t\tobj.hoverCursor = \"default\";\n\t\t});\n\t};\n\n\tconst handlePencilErasable = (e: any) => {\n\t\tconst path = e.path as Path;\n\t\tpath.erasable = true; // Important for @erase2d/fabric\n\t};\n\n\tuseEffect(() => {\n\t\tif (fabricCanvas.current) {\n\t\t\tfabricCanvas.current.on(\"mouse:down\", handleMouseDown);\n\t\t\tfabricCanvas.current.on(\"mouse:up\", handleMouseUp);\n\t\t\tfabricCanvas.current.on(\"path:created\", handlePencilErasable);\n\t\t}\n\n\t\treturn () => {\n\t\t\tif (fabricCanvas.current) {\n\t\t\t\tfabricCanvas.current.off(\"mouse:down\", handleMouseDown);\n\t\t\t\tfabricCanvas.current.off(\"mouse:up\", handleMouseUp);\n\t\t\t\tfabricCanvas.current.off(\"path:created\", handlePencilErasable);\n\t\t\t}\n\t\t};\n\t}, [fabricCanvas.current, color, erase]);\n\n\tusePinch(\n\t\t({ offset, origin, touches }) => {\n\t\t\tif (color || erase) {\n\t\t\t\tif (fabricCanvas.current && touches === 2) {\n\t\t\t\t\tif (gestures.current.pinchStartAmount === 0) {\n\t\t\t\t\t\tgestures.current.pinchStartAmount = fabricCanvas.current.getZoom();\n\t\t\t\t\t} else {\n\t\t\t\t\t\tconst scale = offset[0];\n\t\t\t\t\t\tlet zoom = gestures.current.pinchStartAmount * scale;\n\t\t\t\t\t\tif (zoom < 1) zoom = 1;\n\t\t\t\t\t\telse if (zoom > MAX_ZOOM) zoom = MAX_ZOOM;\n\t\t\t\t\t\tconst oldZoom = fabricCanvas.current.getZoom();\n\t\t\t\t\t\tconst [ox, oy] = origin;\n\t\t\t\t\t\tconst nextPan = new Point(\n\t\t\t\t\t\t\t((gestures.current.pan.x + ox) / oldZoom) * zoom - ox,\n\t\t\t\t\t\t\t((gestures.current.pan.y + oy) / oldZoom) * zoom - oy\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\tfabricCanvas.current.setZoom(zoom);\n\t\t\t\t\t\tapplyPan(nextPan, zoom);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t{ target: wrapperRef, pointer: { touch: true } }\n\t);\n\n\tuseDrag(\n\t\t({ delta: [dx, dy], touches }) => {\n\t\t\tif (color || erase) {\n\t\t\t\tif (fabricCanvas.current && touches === 2) {\n\t\t\t\t\tapplyPan(new Point(gestures.current.pan.x - dx, gestures.current.pan.y - dy));\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t{ target: wrapperRef, pointer: { touch: true } }\n\t);\n\n\treturn (\n\t\t<Wrapper ref={wrapperRef}>\n\t\t\t<Canvas id={TestHelper.generateId(\"imageEditor\")} ref={canvasRef} $canDraw={!!(color || erase)} />\n\t\t</Wrapper>\n\t);\n});\n"],"names":["_OverloadYield","e","d","this","v","k","_arrayLikeToArray","r","a","length","n","Array","_assertThisInitialized","ReferenceError","asyncGeneratorStep","t","o","c","i","u","value","done","Promise","resolve","then","_asyncToGenerator","arguments","apply","_next","_throw","_callSuper","_getPrototypeOf","TypeError","_possibleConstructorReturn","_isNativeReflectConstruct","Reflect","construct","constructor","_classCallCheck","_createClass","enumerable","configurable","writable","Object","defineProperty","_toPropertyKey","key","_defineProperties","prototype","_defineProperty","_get","get","bind","p","hasOwnProperty","call","_superPropBase","getOwnPropertyDescriptor","setPrototypeOf","getPrototypeOf","__proto__","_inherits","create","_setPrototypeOf","Boolean","valueOf","ownKeys","keys","getOwnPropertySymbols","filter","push","_objectSpread2","forEach","getOwnPropertyDescriptors","defineProperties","_regenerator","Symbol","iterator","toStringTag","Generator","_regeneratorDefine","f","y","G","l","return","GeneratorFunction","GeneratorFunctionPrototype","displayName","w","m","_regeneratorAsync","_regeneratorAsyncGen","next","_regeneratorAsyncIterator","asyncIterator","_invoke","_regeneratorKeys","unshift","pop","_regeneratorValues","isNaN","_slicedToArray","isArray","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","_toConsumableArray","_arrayWithoutHoles","from","_iterableToArray","_nonIterableSpread","toPrimitive","String","Number","_toPrimitive","toString","slice","name","test","_regeneratorRuntime","throw","break","continue","stop","catch","abrupt","delegateYield","resultName","finish","prev","sent","wrap","reverse","isGeneratorFunction","mark","awrap","AsyncIterator","async","values","s","window","devicePixelRatio","super","configure","assign","addFonts","fontPaths","removeFonts","clearFonts","restoreDefaults","reduce","console","Error","testPrecision","createShader","FRAGMENT_SHADER","shaderSource","compileShader","getShaderParameter","COMPILE_STATUS","queryWebGL","getContext","maxTextureSize","getParameter","MAX_TEXTURE_SIZE","GLPrecision","find","getExtension","loseContext","isSupported","h","document","isTouchSupported","navigator","maxTouchPoints","WebGLProbe","dispose","copyPasteData","g","Math","max","charWidthsCache","Map","getFontCache","fontFamily","fontStyle","fontWeight","toLowerCase","has","set","clearFontCache","delete","limitDimsByArea","perfLimitSizeTotal","sqrt","floor","PI","_","x","C","b","freeze","S","T","O","D","M","P","E","A","j","F","L","B","R","I","$","X","Y","W","V","z","H","N","U","q","K","J","Q","Z","tt","getClass","setClass","type","getSVGClass","setSVGClass","et","remove","indexOf","splice","cancelAll","abort","cancelByCanvas","target","canvas","cancelByTarget","st","on","__eventListeners","entries","off","once","_removeEventListener","fire","concat","it","rt","abs","cos","nt","sign","sin","ot","add","addEquals","scalarAdd","scalarAddEquals","subtract","subtractEquals","scalarSubtract","scalarSubtractEquals","multiply","scalarMultiply","scalarMultiplyEquals","divide","scalarDivide","scalarDivideEquals","eq","lt","lte","gt","gte","lerp","min","distanceFrom","midPointFrom","setXY","setX","setY","setFromPoint","swap","clone","rotate","at","transform","ht","_objects","_onObjectAdded","_onObjectRemoved","_onStackOrderChanged","insertAt","forEachObject","getObjects","isType","item","isEmpty","size","contains","includes","some","complexity","sendObjectToBack","bringObjectToFront","sendObjectBackwards","findNewLowerIndex","bringObjectForward","findNewUpperIndex","moveObjectTo","isOverlapping","collectObjects","left","top","width","height","includeIntersecting","selectable","visible","intersectsWithRect","isContainedWithinRect","containsPoint","ct","_setOptions","_setObject","_set","toggle","ut","requestAnimationFrame","dt","cancelAnimationFrame","ft","pt","createElement","mt","vt","yt","toDataURL","_t","toBlob","xt","Ct","bt","every","St","wt","Tt","Ot","reduceRight","kt","atan2","Dt","pow","angle","scaleX","scaleY","skewX","skewY","translateX","translateY","Mt","Pt","Et","At","tan","jt","Ft","Lt","flipX","flipY","Bt","Rt","signal","crossOrigin","aborted","src","addEventListener","onload","onerror","removeEventListener","It","reviver","all","map","fromObject","finally","$t","Xt","Yt","Wt","parseFloat","toFixed","Vt","NUM_FRACTION_DIGITS","join","zt","toLive","Gt","toObject","Ht","offsetX","Nt","Ut","qt","documentElement","body","scrollLeft","scrollTop","parentNode","host","nodeType","style","position","ownerDocument","Kt","defaultView","Jt","setAttribute","scale","Qt","Zt","onselectstart","userSelect","te","createLowerCanvas","lower","el","ctx","getElementById","hasAttribute","_originalCanvasStyle","cssText","classList","cleanupDOM","removeAttribute","setDimensions","setCSSDimensions","calcOffset","getComputedStyle","parseInt","borderLeftWidth","borderTopWidth","paddingLeft","paddingTop","getBoundingClientRect","clientLeft","clientTop","ee","backgroundVpt","backgroundColor","overlayVpt","overlayColor","includeDefaultValues","svgViewportTransformation","renderOnAddRemove","skipOffscreen","enableRetinaScaling","imageSmoothingEnabled","controlsAboveOverlay","allowTouchScrolling","viewportTransform","patternQuality","se","replace","ie","re","Intl","Segmenter","granularity","segment","ne","oe","charCodeAt","charAt","ae","capitalize","toUpperCase","escapeXml","graphemeSplit","he","lowerCanvasEl","elements","contextContainer","getDefaults","ownDefaults","initElements","_setDimensionsImpl","skipControlsDrawing","calcViewportBoundaries","requestRenderAll","setCoords","getRetinaScaling","_offset","getWidth","getHeight","cssOnly","backstoreOnly","hasLostContext","getZoom","setViewportTransform","zoomToPoint","setZoom","absolutePan","relativePan","getElement","clearContext","clearRect","clear","backgroundImage","overlayImage","renderAll","cancelRequestedRender","destroyed","renderCanvas","renderAndReset","nextRenderHandle","disposed","vptCoords","tl","tr","bl","br","drawControls","clipPath","_renderBackground","save","_renderObjects","restore","shouldCache","_transformDone","renderCache","forClipping","drawClipPathOnCanvas","_renderOverlay","__cleanupTask","globalCompositeOperation","zoomX","zoomY","drawImage","_cacheCanvas","cacheTranslationX","cacheTranslationY","render","_renderBackgroundOrOverlay","beginPath","moveTo","lineTo","closePath","fillStyle","offsetY","gradientTransform","patternTransform","fill","getCenterPoint","centerObjectH","_centerObject","centerObjectV","centerObject","viewportCenterObject","getVpCenter","viewportCenterObjectH","viewportCenterObjectV","toDatalessJSON","toDatalessObject","_toObjectMethod","toJSON","excludeFromExport","_toObject","version","objects","__serializeBgOverlay","background","overlay","toSVG","_setSVGPreamble","_setSVGHeader","clipPathId","_setSVGBgOverlayColor","_setSVGBgOverlayImage","_setSVGObjects","suppressPreamble","encoding","viewBox","createSVGFontFacesMarkup","createSVGRefElementsMarkup","createSVGClipPathMarkup","toClipPathSVG","additionalTransform","_renderText","styles","_setSVGObject","repeat","source","id","loadFromJSON","reject","JSON","parse","cloneWithoutData","format","quality","multiplier","toCanvasElement","destroy","kill","le","ce","changedTouches","clientX","clientY","ue","pointerType","de","preventDefault","stopPropagation","ge","fe","pe","calcOwnMatrix","setPositionByOrigin","me","ve","ye","_e","xe","Ce","be","Se","center","bottom","right","we","Te","Oe","ke","De","Me","Pe","Fe","Le","Ee","Ae","je","Be","Re","Ie","originX","originY","$e","Xe","Ye","pointer","We","round","Ve","corner","controls","padding","getRelativeCenterPoint","translateToGivenOrigin","ze","Ge","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgrey","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","grey","green","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgrey","lightgreen","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen","He","Ne","Ue","endsWith","qe","padStart","Ke","Je","setSource","_source","_tryParsingColor","sourceFromHex","sourceFromRgb","sourceFromHsl","isUnrecognised","getSource","toRgb","toRgba","toHsl","toHsla","toHex","toHexa","getAlpha","setAlpha","toGrayscale","toBlackWhite","overlayWith","fromRgb","fromRgba","match","fromHsl","fromHsla","parseAngletoDegrees","fromHex","split","Qe","exec","DPI","Ze","trim","meetOrSlice","alignX","alignY","ts","es","getSvgStyles","fillRule","strokeWidth","strokeDashArray","strokeDashOffset","strokeLineCap","strokeLineJoin","strokeMiterLimit","opacity","getSvgFilter","stroke","shadow","getSvgCommons","getSvgTransform","calcTransformMatrix","_toSVG","_createBaseSVGMarkup","_createBaseClipPathSVGMarkup","noStyle","withShadow","strokeUniform","absolutePositioned","addPaintOrder","paintFirst","ss","RegExp","is","rs","ns","os","as","hs","ls","_reNewline","_reSpacesAndTabs","_reSpaceAndTab","_reWords","fontSize","underline","overline","linethrough","textAlign","lineHeight","textBackgroundColor","path","pathStartOffset","pathSide","pathAlign","charSpacing","deltaY","direction","CACHE_FONT_SIZE","MIN_TEXT_WIDTH","superscript","baseline","subscript","_fontSizeFraction","offsets","_fontSizeMult","cs","us","ds","gs","fs","raw","vs","ys","cx","cy","display","visibility","_s","xs","Ss","Ts","Os","ks","parseShadow","color","blur","affectStroke","nonScaling","Ds","Ms","Ps","Es","minScaleLimit","objectCaching","inverted","centeredRotation","centeredScaling","dirty","As","asin","js","Fs","Ls","Bs","Rs","defaultEasing","easeInBack","easeInBounce","easeInCirc","easeInCubic","easeInElastic","easeInExpo","easeInOutBack","easeInOutBounce","easeInOutCirc","easeInOutCubic","easeInOutElastic","easeInOutExpo","easeInOutQuad","easeInOutQuart","easeInOutQuint","easeInOutSine","easeInQuad","easeInQuart","easeInQuint","easeInSine","easeOutBack","easeOutBounce","easeOutCirc","easeOutCubic","easeOutElastic","easeOutExpo","easeOutQuad","easeOutQuart","easeOutQuint","easeOutSine","Is","$s","startValue","byValue","duration","delay","easing","onStart","onChange","onComplete","tick","_onStart","_onChange","_onComplete","_abort","endValue","calculate","state","_state","isDone","start","startTime","Date","register","setTimeout","durationProgress","valueProgress","unregister","Xs","Ys","Ws","Vs","zs","Gs","Hs","Ns","status","points","append","isPointContained","isPointInPolygon","intersectSegmentSegment","intersectLineLine","intersectSegmentLine","intersectLinePolygon","intersectSegmentPolygon","intersectPolygonPolygon","intersectPolygonRectangle","Us","getX","getXY","getY","getRelativeX","setRelativeX","getRelativeY","setRelativeY","getRelativeXY","group","setRelativeXY","isStrokeAccountedForInDimensions","getCoords","aCoords","calcACoords","intersectsWithObject","isContainedWithinObject","getBoundingRect","isOnScreen","isPartiallyOnScreen","getScaledWidth","_getTransformedDimensions","getScaledHeight","scaleToWidth","scaleToHeight","getCanvasRetinaScaling","getTotalAngle","getViewportTransform","transformMatrixKey","matrixCache","ownMatrixCache","_getNonTransformedDimensions","_calculateCurrentDimensions","translateToCenterPoint","translateToOriginPoint","getPointByOrigin","getPositionByOrigin","_getLeftTopCoords","positionByLeftTop","qs","setOptions","_createCacheCanvas","_cacheContext","_updateCacheCanvas","_limitCacheSize","maxCacheSideLimit","minCacheSideLimit","capped","_getCacheCanvasDimensions","getTotalObjectScaling","ceil","setTransform","translate","contextTop","getObjectScaling","getObjectOpacity","_constrainScale","cacheProperties","parent","stateProperties","isNotVisible","_setupCompositeOperation","drawSelectionBackground","_setOpacity","_setShadow","drawCacheOnCanvas","_removeCacheCanvas","drawObject","isCacheDirty","parentClipPaths","hasStroke","hasFill","needsItsOwnCache","ownCaching","isOnACache","willDrawShadow","drawClipPathOnCache","_setClippingProperties","_render","_drawClipPath","createClipPathLayer","fillRect","_removeShadow","globalAlpha","_setStrokeStyles","lineWidth","lineCap","lineDashOffset","lineJoin","miterLimit","gradientUnits","_applyPatternForTransformedGradient","strokeStyle","_applyPatternGradientTransform","_setFillStyles","_setLineDash","setLineDash","shadowColor","shadowBlur","browserShadowBlurConstant","shadowOffsetX","shadowOffsetY","_renderPaintInOrder","_renderStroke","_renderFill","createPattern","_findCenterFromElement","cloneAsImage","canvasProvider","withoutTransform","withoutShadow","setOnGroup","animate","_animate","colorProperties","isDescendantOf","getAncestors","findCommonAncestors","fork","otherFork","common","hasCommonAncestors","isInFrontOf","customProperties","_removeDefaultValues","_fromObject","extraParam","Ks","Js","Qs","Zs","ti","ei","si","ii","ri","xSize","ySize","opName","commonRenderProps","arc","ni","strokeRect","oi","getTransformAnchorPoint","transformAnchorPoint","shouldActivate","getActiveObject","isControlVisible","getActionHandler","actionHandler","getMouseDownHandler","mouseDownHandler","getMouseUpHandler","mouseUpHandler","cursorStyleHandler","cursorStyle","getActionName","actionName","getVisibility","_controlsVisibility","setVisibility","positionHandler","calcCornerCoords","touchSizeX","sizeX","touchSizeY","sizeY","cornerSize","cornerColor","transparentCorners","cornerStrokeColor","cornerStyle","ai","lockRotation","hi","ex","ey","theta","snapAngle","snapThreshold","li","uniScaleKey","uniformScaling","ci","ui","di","gi","by","gestureScale","signX","signY","original","fi","pi","mi","vi","counterAxis","skew","lockSkewing","origin","flip","yi","_i","xi","skewingSide","atan","Ci","bi","Si","altActionKey","wi","Ti","Oi","ki","Di","ml","mr","mb","mtr","withConnection","Mi","Pi","Ei","createControls","noScaleCache","_currentTransform","action","startsWith","getActiveControl","__corner","control","coord","oCoords","findControl","hasControls","touchCorner","calcOCoords","forEachControl","_calcCornerCoords","touchCornerSize","selectionBackgroundColor","_activeObject","strokeBorders","_drawBorders","borderColor","borderDashArray","drawControlsConnectingLines","_renderControls","hasBorders","borderScaleFactor","isMoving","borderOpacityWhenMoving","drawBorders","forActiveSelection","cornerDashArray","setControlVisible","setControlsVisibility","clearContextTop","onDeselect","onSelect","shouldStartDragging","onDragStart","canDrop","renderDragSourceEffect","renderDropTargetEffect","Ai","getOwnPropertyNames","lockMovementX","lockMovementY","lockScalingX","lockScalingY","lockSkewingX","lockSkewingY","lockScalingFlip","evented","perPixelTargetFind","activeOn","hoverCursor","moveCursor","ji","Fi","data","getImageData","Li","options","strokeProjectionMagnitude","strokeUniformScalar","createSideVector","projectOrthogonally","applySkew","calcOrthogonalProjection","isSkewed","scaleUnitVector","Bi","Ri","getOrthogonalRotationFactor","AB","AC","alpha","bisector","projectBevel","projectMiter","projectRoundNoSkew","projectRoundWithSkew","projectRound","projectPoints","project","originPoint","projectedPoint","Ii","projectButt","projectSquare","$i","Xi","Yi","textDecorationThickness","Wi","end","Vi","zi","Gi","nodeName","getAttribute","Hi","parentElement","Ni","Ui","qi","Ki","Ji","Qi","Zi","er","sr","ir","rr","nr","or","ar","hr","matchAll","lr","transformMatrix","ur","cr","dr","gr","font","fr","pr","_initRxRy","rx","ry","bezierCurveTo","fromElement","ATTRIBUTE_NAMES","vr","yr","_r","xr","Cr","calcLayoutResult","shouldPerformLayout","calcBoundingBox","prevStrategy","strategy","shouldLayoutClipPath","getInitialSize","overrides","relativeCorrection","Sr","wr","_subscriptions","performLayout","bubbles","_prevLayoutStrategy","onBeforeLayout","getLayoutResult","commitLayout","onAfterLayout","attachHandlers","trigger","subscribe","unsubscribe","unsubscribeTargets","targets","subscribeTargets","context","deep","layoutManager","correction","result","prevCenter","nextCenter","offset","layoutObjects","layoutObject","Tr","Or","groupInit","__objectSelectionTracker","__objectSelectionMonitor","__objectSelectionDisposer","enterGroup","canEnterGroup","_filterObjectsBeforeEnteringGroup","_onAfterObjectsChange","exitGroup","_shouldSetNestedCoords","subTargetCheck","removeAll","_activeObjects","_watchObject","_enterGroup","_exitGroup","preserveObjectStacking","triggerLayout","__serializeObjects","_createSVGBgRect","interactive","kr","Dr","Mr","Pr","Er","Ar","jr","Fr","Lr","cachesBoundsOfCurve","boundsOfCurveCache","$r","Br","Rr","Ir","Xr","Yr","Wr","Vr","zr","Gr","Hr","Ur","command","angleFinder","destX","destY","qr","Nr","Kr","Jr","Qr","Zr","tn","lastIndex","en","sn","addTransformToObject","animateColor","applyTransformToObject","calcAngleBetweenVectors","calcDimensionsMatrix","calcPlaneChangeMatrix","calcVectorRotation","cancelAnimFrame","capValue","composeMatrix","copyCanvasElement","createCanvasElement","createImage","createRotateMatrix","createScaleMatrix","createSkewXMatrix","createSkewYMatrix","createTranslateMatrix","createVector","crossProduct","degreesToRadians","dotProduct","ease","enlivenObjectEnlivables","enlivenObjects","findScaleToCover","findScaleToFit","getBoundsOfCurve","getOrthonormalVector","getPathSegmentsInfo","getPointOnPath","getPointer","getRandomInt","random","getRegularPolygonPath","getSmoothPathFromPoints","getSvgAttributes","getUnitVector","groupSVGElements","hasStyleChanged","invertTransform","isBetweenVectors","isIdentityMatrix","isTouchEvent","isTransparent","joinPath","loadImage","magnitude","makeBoundingBoxFromPoints","makePathSimpler","matrixToSVG","mergeClipPaths","multiplyTransformMatrices","multiplyTransformMatrixArray","parsePath","parsePreserveAspectRatioAttribute","parseUnit","pick","projectStrokeOnPoints","qrDecompose","radiansToDegrees","removeFromArray","removeTransformFromObject","removeTransformMatrixForSvgParsing","cropX","cropY","offsetLeft","offsetTop","requestAnimFrame","resetObjectTransform","rotateVector","saveObjectTransform","sendObjectToPlane","sendPointToPlane","sendVectorToPlane","sizeAfterTransform","string","stylesFromArray","stylesToArray","transformPath","transformPoint","an","setProperty","hn","containerClass","createUpperCanvas","upper","applyCanvasStyle","createContainerElement","replaceChild","container","className","removeChild","ln","cn","un","pathOffset","dn","pointIndex","gn","fn","pn","mn","commandIndex","vn","yn","controlFill","controlStroke","_n","connectToCommandIndex","connectToPointIndex","connectionDashArray","xn","controlPointStyle","pointStyle","changeHeight","changeObjectHeight","changeObjectWidth","changeWidth","createObjectDefaultControls","createPathControls","createPolyActionHandler","createPolyControls","createPolyPositionHandler","createResizeControls","createTextboxDefaultControls","dragHandler","factoryPolyActionHandler","getLocalPoint","polyActionHandler","renderCircleControl","renderSquareControl","rotationStyleHandler","rotationWithSnapping","scaleCursorStyleHandler","scaleOrSkewActionName","scaleSkewCursorStyleHandler","scalingEqually","scalingX","scalingXOrSkewingY","scalingY","scalingYOrSkewingX","skewCursorStyleHandler","skewHandlerX","skewHandlerY","wrapWithFireEvent","wrapWithFixedAnchor","bn","upperCanvasEl","wrapperEl","_objectsToRender","deselected","_discardActiveObject","_hoveredTarget","_hoveredTargets","_chooseObjectsToRender","contextTopDirty","_groupSelector","isDrawingMode","renderTopLayer","_isCurrentlyDrawing","freeDrawingBrush","selection","_drawSelection","renderTop","setTargetFindTolerance","targetFindTolerance","pixelFindCanvasEl","pixelFindContext","isTargetTransparent","_isSelectionKeyPressed","selectionKey","_shouldClearSelection","getActiveObjects","_shouldCenterTransform","_getOriginFromCorner","_setupCurrentTransform","getScenePoint","centeredKey","actionPerformed","lastX","lastY","shiftKey","altKey","setCursor","cursor","deltaX","selectionLineWidth","selectionColor","selectionBorderColor","selectionDashArray","findTarget","_targetInfo","skipTargetFind","subTargets","currentSubTargets","searchPossibleTargets","currentContainer","currentTarget","getViewportPoint","altSelectionKey","_pointIsInObjectSelectionArea","_checkTarget","isEditing","_searchPossibleTargets","_viewportPoint","_getPointerImpl","_scenePoint","_resetTransformEventData","_setBrushStyles","willReadFrequently","getTopContext","getSelectionContext","getSelectionElement","_fireSelectionEvents","selected","setActiveObject","_setActiveObject","object","endCurrentTransform","discardActiveObject","_finalizeCurrentTransform","_scaling","_realizeGroupTransformOnObject","selectionFullyContained","defaultCursor","freeDrawingCursor","notAllowedCursor","stopContextMenu","fireRightClick","fireMiddleClick","enablePointerEvents","Sn","hiddenTextarea","focus","__disposer","exitTextEditing","exitEditing","onMouseMove","updateSelectionOnMouseMove","wn","passive","Tn","viewportPoint","scenePoint","On","kn","Dn","mouse","in","out","targetIn","targetOut","canvasIn","canvasOut","drag","Mn","addOrRemove","_getEventPrefix","_onResize","_onMouseDown","_onMouseMove","_onMouseOut","_onMouseEnter","_onMouseWheel","_onContextMenu","_onClick","_onDragStart","_onDragEnd","_onDragOver","_onDragEnter","_onDragLeave","_onDrop","_onTouchStart","removeListeners","_onMouseUp","_onTouchEnd","clearTimeout","_willAddMouseDown","_cacheTransformEventData","_handleEvent","_isClick","_dragSource","_onDragProgress","_renderDragEffects","_dropTarget","dataTransfer","dropEffect","dragSource","didDrop","dropTarget","_draggedoverTarget","_fireEnterLeaveEvents","_basicEventHandler","detail","fireEventFromPointerEvent","getPointerId","identifier","pointerId","_isMainEvent","isPrimary","touches","mainTouchId","__onMouseDown","__onMouseUp","__onMouseMove","_shouldRender","button","_onMouseUpInDrawingMode","handleSelection","_setCursorFromEvent","isClick","_onMouseDownInDrawingMode","onMouseDown","alreadySelected","_onMouseMoveInDrawingMode","onMouseUp","handleMultiSelection","_transformObject","_fireOverOutEvents","textEditingManager","fireSyntheticInOutEvents","oldTarget","fireCanvas","nextTarget","previousTarget","_performTransformAction","multiSelectAdd","Pn","x1","y1","x2","y2","En","r1","r2","An","jn","isFinite","Fn","NaN","Ln","Bn","Rn","In","getElementsByTagName","$n","Xn","Yn","Wn","Vn","coords","colorStops","addColorStop","sort","_renderPathCommands","createLinearGradient","createRadialGradient","viewBoxWidth","viewBoxHeight","zn","isImageSource","isCanvasSource","sourceToString","complete","naturalWidth","naturalHeight","Gn","_saveAndTransform","needsFullRender","_resetShadow","_isOutSideCanvas","Hn","_setPath","setBoundingBox","_calcBoundsFromPath","quadraticCurveTo","sourcePath","_getOffsetTransform","_calcDimensions","Nn","_points","_hasStraightLine","drawSegment","drawStraightLine","straightLineKey","_prepareForDrawing","_addPoint","limitedToCanvasSize","oldEnd","_finalizeAndAddPath","_reset","convertPointsToSVGPath","createPath","decimatePoints","decimate","Un","qn","setRadius","radius","startAngle","endAngle","counterClockwise","getRadiusX","getRadiusY","Zn","to","_setWidthHeight","calcLinePoints","eo","so","io","getRx","getRy","ro","exactBoundingBox","no","initialized","isOpen","_projectStrokeOnPoints","strokeOffset","strokeDiff","layoutProperties","oo","ao","isEmptyStyles","line","styleHas","cleanStyle","_textLines","removeStyle","_extendStyles","lineIndex","charIndex","get2DCursorLocation","_getLineStyle","_setLineStyle","_getStyleDeclaration","_setStyleDeclaration","getSelectionStyles","getStyleAtPosition","getCompleteStyleDeclaration","setSelectionStyles","_forceClearCache","_styleProperties","_deleteStyleDeclaration","_deleteLineStyle","ho","lo","co","uo","go","text","setPathInfo","initDimensions","segmentsInfo","_splitText","_splitTextIntoLines","textLines","lines","graphemeLines","_unwrappedTextLines","_unwrappedLines","_text","graphemeText","_clearCache","calcTextWidth","cursorWidth","calcTextHeight","enlargeSpaces","isEndOfWrapping","getLineWidth","__charBounds","kernedWidth","missingNewlineOffset","_setTextStyles","_renderTextLinesBackground","_renderTextDecoration","_renderTextStroke","_renderTextFill","textBaseline","_getFontDeclaration","_renderTextLine","_renderChars","_getLeftOffset","_getTopOffset","getHeightOfLine","_getLineLeftOffset","getValueOfPropertyAt","getHeightOfLineImpl","renderLeft","_measureChar","measureText","getHeightOfChar","measureLine","_measureLine","_getWidthOfCharSpacing","_getGraphemeBox","_setGraphemeOnPath","numOfSpaces","__lineHeights","_renderTextCommon","_renderChar","_applyPatternGradientTransformText","handleFiller","fillText","strokeText","setSuperscript","_setScript","setSubscript","__lineWidths","genericFonts","textLayoutProperties","textAnchor","textDecoration","dx","dy","textContent","_getSVGLeftTopOffsets","_getSVGTextAndBg","textTop","textLeft","_wrapSVGTextAndBg","lineTop","textBgRects","textSpans","getSvgTextDecoration","_setSVGTextLineBg","_setSVGTextLineText","_createTextCharSpan","getSvgSpanStyles","fo","dragEnterHandler","dragOverHandler","dragLeaveHandler","dragEndHandler","dropHandler","_dispose","isPointerOverSelection","getSelectionStartFromPointer","selectionStart","selectionEnd","__mouseDownInPlace","isActive","__dragStartFired","setCursorByClick","initDelayedCursor","__isDraggingOver","getDragStartSelection","__dragStartSelection","setDragImage","_getCursorBoundaries","leftOffset","topOffset","border","__dragImageDisposer","appendChild","setData","stringify","effectAllowed","abortCursorAnimation","editable","defaultPrevented","targetCanDrop","getData","types","removeChars","trimEnd","insertChars","enterEditing","_updateTextarea","index","po","mo","initBehavior","_tick","_onTickComplete","_animateCursor","toValue","_currentCursorOpacity","renderCursorOrSelection","_currentTickState","cursorDuration","_currentTickCompleteState","cursorDelay","restartCursorIfNeeded","selectAll","_fireSelectionChanged","cmdAll","getSelectedText","findWordBoundaryLeft","_reSpace","findWordBoundaryRight","findLineBoundaryLeft","findLineBoundaryRight","searchWordBoundary","selectWord","selectLine","enterEditingImpl","initHiddenTextarea","_saveEditingProps","_setEditingProps","_textBeforeEdit","activeElement","__selectionStartOnMouseDown","editingBorderColor","fromStringToGraphemeSelection","fromGraphemeToStringSelection","cursorOffsetCache","inCompositionMode","updateTextareaPosition","updateFromTextArea","_calcTextareaPosition","compositionStart","clientWidth","clientHeight","charHeight","_savedProps","_restoreEditingProps","exitEditingImpl","_removeExtraneousStyles","removeStyleFromTo","shiftLineStyles","insertNewlineStyleObject","insertCharStyleObject","insertNewStyleBlock","setSelectionStartEndWithShift","_selectionDirection","vo","autocapitalize","autocorrect","autocomplete","spellcheck","hiddenTextareaContainer","keydown","keyup","input","copy","cut","paste","compositionstart","compositionupdate","compositionend","onKeyDown","keysMapRtl","keysMap","keyCode","ctrlKeysMapDown","ctrlKey","metaKey","stopImmediatePropagation","onKeyUp","_copyDone","ctrlKeysMapUp","onInput","fromPaste","copiedText","disableStyleCopyPaste","copiedTextStyle","onCompositionStart","onCompositionEnd","onCompositionUpdate","compositionEnd","_getWidthBeforeCursor","getDownCursorOffset","_getSelectionForOffset","_getIndexOnLine","getUpCursorOffset","moveCursorDown","_moveCursorUpOrDown","moveCursorUp","moveCursorWithShift","moveCursorWithoutShift","moveCursorLeft","_moveCursorLeftOrRight","_move","_moveLeft","_moveRight","moveCursorLeftWithoutShift","moveCursorLeftWithShift","moveCursorRight","moveCursorRightWithShift","moveCursorRightWithoutShift","yo","_o","_mouseDownHandler","doubleClickHandler","tripleClickHandler","draggableTextDelegate","xo","Co","bo","So","wo","To","Oo","cursorColor","caching","ko","setSelectionStart","_updateAndFire","setSelectionEnd","findAncestorsWithClipPath","renderSelection","renderCursor","_getCursorBoundariesOffsets","__getCursorBoundariesOffsets","renderCursorAt","_renderCursor","getCursorRenderingData","_renderSelection","compositionColor","getCurrentCharFontSize","_getCurrentCharIndex","getCurrentCharColor","Do","dynamicMinWidth","_styleMap","_generateStyleMap","splitByGrapheme","isWrapping","_wrapText","getGraphemeDataForRender","wordsData","_wrapLine","wordSplit","word","_measureWord","largestWordWidth","_wordJoiners","getMinWidth","minWidth","Mo","Po","Eo","Set","Ao","multiSelectionStacking","findIndex","jo","applyFilters","desynchronized","sourceWidth","sourceHeight","imageData","originalEl","originalImageData","canvasEl","filterBackend","applyTo","putImageData","Fo","tileSize","textureSize","Float32Array","setupGLContext","captureGPUInfo","createWebGLCanvas","premultipliedAlpha","depth","stencil","antialias","clearColor","gl","getCachedTexture","originalWidth","originalHeight","destinationWidth","destinationHeight","sourceTexture","createTexture","targetTexture","originalTexture","passes","webgl","aPosition","programCache","pass","targetCanvas","createFramebuffer","bindFramebuffer","FRAMEBUFFER","copyGLTo2D","bindTexture","TEXTURE_2D","deleteTexture","deleteFramebuffer","clearWebGLCaches","textureCache","NEAREST","RGBA","UNSIGNED_BYTE","CLAMP_TO_EDGE","TEXTURE_MAG_FILTER","TEXTURE_MIN_FILTER","TEXTURE_WRAP_S","TEXTURE_WRAP_T","texParameteri","texImage2D","evictCachesForKey","copyGLTo2DPutImageData","Uint8Array","imageBuffer","Uint8ClampedArray","readPixels","ImageData","gpuInfo","renderer","vendor","UNMASKED_RENDERER_WEBGL","UNMASKED_VENDOR_WEBGL","Lo","Ro","enableGLFiltering","Bo","$o","Xo","filters","cacheKey","setElement","_element","removeTexture","_originalElement","resizeFilter","applyResizeFilters","getCrossOrigin","getOriginalSize","_stroke","getSrc","hasCrop","imageSmoothing","srcFromAttribute","getSvgSrc","setSrc","minimumScaleTrigger","_filteredEl","_filterScalingX","_filterScalingY","_lastScaleX","_lastScaleY","isNeutralState","_needsResize","_resetWidthHeight","preserveAspectRatio","fromURL","href","ea","ia","ra","na","oa","defaults","getFragmentSource","getVertexSource","createProgram","VERTEX_SHADER","getShaderInfoLog","attachShader","linkProgram","getProgramParameter","LINK_STATUS","getProgramInfoLog","getUniformLocations","uStepW","getUniformLocation","uStepH","program","attributeLocations","getAttributeLocations","uniformLocations","getAttribLocation","sendAttributeData","createBuffer","bindBuffer","ARRAY_BUFFER","enableVertexAttribArray","vertexAttribPointer","FLOAT","bufferData","STATIC_DRAW","_setupFrameBuffer","framebufferTexture2D","COLOR_ATTACHMENT0","_swapTextures","applyToWebGL","applyTo2d","getCacheKey","retrieveShader","useProgram","uniform1f","sendUniformData","viewport","drawArrays","TRIANGLE_STRIP","bindAdditionalTexture","activeTexture","TEXTURE0","unbindAdditionalTexture","createHelpLayer","helpLayer","aa","screen","difference","lighten","darken","exclusion","tint","ha","mode","uniform4fv","uColor","la","mask","ca","image","TEXTURE1","calculateMatrix","resources","blendImage","uniform1i","uImage","uniformMatrix3fv","uTransformMatrix","ua","aspectRatio","horizontal","getBlurValue","chooseRightDelta","uniform2fv","uDelta","da","brightness","uBrightness","ga","matrix","colorsOnly","fa","uniformMatrix4fv","uColorMatrix","uConstants","pa","ma","va","ya","_a","xa","Ca","ba","Sa","subFilters","wa","contrast","uContrast","Ta","Convolute_3_1","Convolute_3_0","Convolute_5_1","Convolute_5_0","Convolute_7_1","Convolute_7_0","Convolute_9_1","Convolute_9_0","Oa","opaque","createImageData","uniform1fv","uMatrix","ka","Da","gamma","rgbValues","uniform3fv","uGamma","Ma","average","lightness","luminosity","Pa","uMode","Ea","rotation","Aa","ja","invert","uInvert","uAlpha","Fa","noise","uNoise","uSeed","La","blocksize","uBlocksize","Ba","distance","uLow","uHigh","useAlpha","Ra","uTaps","taps","getFilterWindow","tempScale","lanczosLobes","generateShader","getTaps","lanczosCreate","applyToForWebgl","dW","dH","rcpScaleX","rcpScaleY","resizeType","sliceByTwo","hermiteFastResize","bilinearFiltering","lanczosResize","Ia","saturation","uSaturation","$a","vibrance","uVibrance","BaseFilter","BlackWhite","BlendColor","BlendImage","Blur","Brightness","Brownie","ColorMatrix","Composed","Contrast","Convolute","Gamma","Grayscale","HueRotation","Invert","Kodachrome","Noise","Pixelate","Polaroid","RemoveColor","Resize","Saturation","Sepia","Technicolor","Vibrance","Vintage","ClippingGroup","_this","LayoutManager","FixedLayout","Group","paths","Path","blockErasing","classRegistry","destination","undefined","imageSmoothingQuality","resetTransform","walk","flatMap","erasable","draw","_ref","_ref2","_ref2$objects","_ref2$background","_ref2$overlay","_object$parent","_opacity","drawCanvas","entry","_entry$object$parent","commitErasing","sourceInObjectPlane","curr","strokeWidthFactor","fabric.Point","strokeVector","_curr$translateToOrig","fabric.util","assertClippingGroup","eraseObject","_x","_x2","_eraseObject","_callee4","_context4","eraseCanvasDrawable","_x3","_x4","_x5","_eraseCanvasDrawable","_callee5","vpt","_context5","EraserBrush","retinaScaling","setCanvasDimensions","effectContext","eventEmitter","EventTarget","_commit","fabric.PencilBrush","cb","_this2","fabric.Color","erasingEffect","_this3","dispatchEvent","CustomEvent","cancelable","active","drawEffect","_disposer","_this$_disposer","pathData","_callee3","_ref3","_context3","t0","_ref4","_callee","_context","t1","_x7","_ref5","_ref8","_callee2","_ref7","_ref9","vptFlag","_context2","_x8","_x6","commit","toVector","fallback","v1","v2","sub","addTo","subTo","rubberband","dimension","constant","Infinity","rubberbandIfOutOfBounds","clamp","arg","hint","prim","res","obj","EVENT_TYPE_MAP","change","touch","gesture","actionsWithoutCaptureSupported","toHandlerProp","device","capture","deviceProps","actionKey","hasCapture","pointerCaptureEvents","parseProp","prop","eventKey","substring","captureKey","isTouch","event","getPointerType","getValueEvent","targetTouches","getTouchList","distanceAngle","P1","P2","hypot","_unused","touchIds","_event$currentTarget","_event$currentTarget$","getCurrentTargetTouchList","touchDistanceAngle","ids","valueEvent","pointerValues","wheelValues","deltaMode","args","noop","chain","fns","assignDefault","Engine","ctrl","computeValues","computeInitial","init","reset","shared","eventStore","gestureEventStores","timeoutStore","gestureTimeoutStores","config","sharedConfig","handler","handlers","ingKey","_active","_blocked","_force","_step","intentional","_movement","_distance","_direction","_delta","_bounds","axis","memo","elapsedTime","timeDelta","overflow","_movementBound","velocity","movement","delta","timeStamp","lastOffset","_values","_initial","initial","compute","pointerIds","locked","pointerLockElement","payload","buttons","getEventDetails","down","pressed","_absoluteDelta","axisIntent","_m0","_m1","threshold","hasCustomTransform","v0","restrictToAxis","previousOffset","gestureIsActive","first","last","bounds","setup","computeOffset","ox","oy","x0","y0","Vx","Vy","Rx","Ry","X0","X1","Y0","Y1","computeRubberband","computeMovement","absoluteDelta","emit","clean","triggerAllEvents","aliasKey","CoordinatesEngine","axisThreshold","absDx","absDy","selectAxis","lockDirection","identity","commonConfigResolver","enabled","eventOptions","_k","process","env","NODE_ENV","originalTransform","warn","domTarget","coordinatesConfigResolver","_v","current","HTMLElement","KEYS_DELTA_MAP","ArrowRight","displacement","factor","ArrowLeft","ArrowUp","ArrowDown","isBrowser","supportsTouchEvents","SUPPORT","GestureEvent","supportsGestureEvents","touchscreen","pointerLock","DEFAULT_DRAG_AXIS_THRESHOLD","pen","dragConfigResolver","lock","preventScrollAxis","preventScroll","preventScrollDelay","pointerCapture","pointerButtons","filterTaps","tapsThreshold","swipe","keyboardDisplacement","useTouch","experimental_preventWindowScrollY","swipeVelocity","swipeDistance","swipeDuration","pinchConfigResolver","scaleBounds","angleBounds","_scaleBounds","_angleBounds","modifierKey","pinchOnWheel","mouseOnly","EngineMap","ConfigResolverMap","registerAction","engine","resolver","dragAction","_pointerId","_pointerActive","_keyboardActive","_preventScroll","_delayed","tap","canceled","cancel","boundRect","targetRect","setActive","pointerClean","pointerDown","ctrlIds","setEventIds","setPointerCapture","setupPointer","setupScrollPrevention","setupDelayTrigger","startPointerDrag","pointerMove","movementX","movementY","pointerUp","hasPointerCapture","releasePointerCapture","_dx","_dy","_mx","_my","svx","svy","sx","sy","sdt","_vx","_vy","pointerClick","sourceEvent","touchAction","_unused2","requestPointerLock","exitPointerLock","persist","persistEvent","keyDown","deltaFn","keyUp","bindFunction","pinchAction","_pointerEvents","_touchIds","turns","axisMovementDifference","touchStart","ctrlTouchIds","pinchStart","pointerStart","ctrlPointerIds","touchMove","pinchMove","prev_a","delta_a","delta_turns","touchEnd","pointerEnd","gestureStart","gestureMove","_previousMovement","gestureEnd","wheel","wheelChange","wheelStart","wheelEnd","dirx","diry","clampStateInternalMovementToBounds","_objectWithoutProperties","excluded","sourceKeys","_objectWithoutPropertiesLoose","sourceSymbolKeys","propertyIsEnumerable","sharedConfigResolver","_excluded","resolveWith","resolvers","EventStore","gestureKey","_ctrl","_gestureKey","element","listeners","_listeners","toDomEventType","TimeoutStore","callback","ms","_timeouts","timeout","Controller","internalHandlers","setupGesture","scroll","move","pinch","hover","resolveGestures","applyHandlers","nativeHandlers","applyConfig","newConfig","_config","rest","_targetEventStore","gestures","effect","props","gestureConfig","bindToProps","nativeBindFunction","handlerProp","withPassiveOption","isNative","_options$capture","_options$passive","useRecognizers","React","useMemo","useEffect","Wrapper","styled","div","Canvas","$canDraw","ImageEditor","forwardRef","ref","maxSizeInKb","baseImageDataURL","drawing","erase","wrapperRef","useRef","canvasRef","fabricCanvas","fabricBackground","fittedImageBounds","pencilBrush","eraserBrush","pinchStartAmount","pan","Point","isMobileView","useWindowHelper","syncCanvasDimensions","useImperativeHandle","clearDrawing","export","resetZoomAndPosition","dataURL","toDataURLWithLimit","limit","backgroundBounds","reducedQuality","filesizeInB","FileHelper","getFilesizeFromBase64","maxSizeInB","FabricCanvas","PencilBrush","handleResize","canvasWidth","canvasHeight","oldBackgroundLeft","oldBackgroundTop","fitImageToCanvas","orientation","applyPan","zoom","imageBounds","clampAxis","imageStart","imageSize","canvasSize","minPan","maxPan","clampPanToImageBounds","img","canvasRatio","intendedZoom","Rect","FabricImage","handleUpdateImage","handleMouseDown","TouchEvent","canvasObjects","handleMouseUp","handlePencilErasable","oldZoom","nextPan","useDrag","_jsx","jsx","children","TestHelper","generateId"],"mappings":"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"}
|