@pixodesk/svg-animator-core 1.0.44 → 1.0.45
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{PxDocumentDiagnostic-n8yiyL0k.d.cts → PxDocumentDiagnostic-CBhVyNEi.d.cts} +22 -22
- package/dist/{PxDocumentDiagnostic-n8yiyL0k.d.ts → PxDocumentDiagnostic-CBhVyNEi.d.ts} +22 -22
- package/dist/chunk-5HEVTP2N.min.js +1 -0
- package/dist/{chunk-EFQLDGFY.js → chunk-YVKMPBHE.js} +1969 -64
- package/dist/chunk-YVKMPBHE.js.map +1 -0
- package/dist/index.cjs +116 -35
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +5 -1873
- package/dist/index.js.map +1 -1
- package/dist/index.min.cjs +1 -1
- package/dist/index.min.js +1 -1
- package/dist/internal.cjs +3209 -139
- package/dist/internal.cjs.map +1 -1
- package/dist/internal.d.cts +60 -3
- package/dist/internal.d.ts +60 -3
- package/dist/internal.js +53 -1
- package/dist/internal.js.map +1 -1
- package/dist/internal.min.cjs +1 -1
- package/dist/internal.min.js +1 -1
- package/package.json +1 -1
- package/dist/chunk-EFQLDGFY.js.map +0 -1
- package/dist/chunk-YWBPS6E4.min.js +0 -1
|
@@ -11061,27 +11061,6 @@ declare const PX_LOOP_JUMP_SHIFT_MS = 1;
|
|
|
11061
11061
|
* @internal
|
|
11062
11062
|
*/
|
|
11063
11063
|
declare function interpolateValue(propName: string, a: any, b: any, t: number): any;
|
|
11064
|
-
/**
|
|
11065
|
-
* TRANSFORM PRECEDENCE (review §0.4/§1.6) — CSS's own composition rule, applied at READ:
|
|
11066
|
-
* a static `transform` on the element composes UNDER the animated transform, instead of
|
|
11067
|
-
* being silently clobbered by it. Implemented as a keyframe-value MERGE during
|
|
11068
|
-
* normalization, so both engines (and every consumer downstream) see complete parts:
|
|
11069
|
-
*
|
|
11070
|
-
* 1. `animate.transform` with PARTIAL parts records — every keyframe value (and the
|
|
11071
|
-
* base `value`) inherits the static parts it does not set:
|
|
11072
|
-
* static `{rotate: 45}` + kf `{translate: [80, 0]}` → kf `{rotate: 45, translate: [80, 0]}`.
|
|
11073
|
-
* 2. ONE individual channel (`translate` / `rotate` / `scale` / `skew`) and no
|
|
11074
|
-
* `transform` channel — the channel is REWRITTEN as a unified `transform` channel
|
|
11075
|
-
* whose values carry the static parts: the rect stays rotated 45° AND slides.
|
|
11076
|
-
*
|
|
11077
|
-
* The static transform may be a parts record or an attribute string (parsed by the
|
|
11078
|
-
* conservative {@link parseTransformParts} — unparseable strings skip the merge).
|
|
11079
|
-
* NOT merged (documented limitations): several individual channels animated at once
|
|
11080
|
-
* (they still last-write-wins against each other), and an individual channel next to an
|
|
11081
|
-
* animated `transform` (the `transform` channel wins, as before).
|
|
11082
|
-
* @internal
|
|
11083
|
-
*/
|
|
11084
|
-
declare function mergeStaticTransformIntoAnimDef(animDef: PxAnimationDefinition, staticTransform: unknown): PxAnimationDefinition;
|
|
11085
11064
|
/**
|
|
11086
11065
|
* Normalizes a PxAnimatedSvgDocument to a PxAnimatorConfig for the animation engines.
|
|
11087
11066
|
* This is the main entry point for converting the new API format to internal format.
|
|
@@ -11136,6 +11115,27 @@ interface PxMaterializeAllOptions {
|
|
|
11136
11115
|
}
|
|
11137
11116
|
/** @public @advanced */
|
|
11138
11117
|
declare function materializeAllInTree(doc: PxAnimatedSvgDocument, engine: PxTimelineEngine, options?: PxMaterializeAllOptions): PxAnimatedSvgDocument;
|
|
11118
|
+
/**
|
|
11119
|
+
* The document exactly as the web player RENDERS it: materialized for the engine the document
|
|
11120
|
+
* resolves to, then with fresh ids.
|
|
11121
|
+
*
|
|
11122
|
+
* For adapters that build the DOM themselves (React, Vue). They must render THIS rather than
|
|
11123
|
+
* the raw document — `effects` only become the `<radialGradient>`/`<mask>`/wrapper nodes the
|
|
11124
|
+
* shapes point at during materialization. Rendering the raw document drops all of it, and a
|
|
11125
|
+
* document whose paint comes from `effects` alone renders as an empty canvas.
|
|
11126
|
+
*
|
|
11127
|
+
* - **Order matters.** Ids are regenerated AFTER materializing, because materialization mints
|
|
11128
|
+
* its def ids from a counter that starts at zero on every call — two instances on one page
|
|
11129
|
+
* would otherwise share them, and `url(#…)` resolves document-wide to the first match.
|
|
11130
|
+
* - **Safe to hand on to `createAnimator`.** Materialization consumes `node.effects` and
|
|
11131
|
+
* flattens loops, so the player's own pass over the result changes nothing, and the ids it
|
|
11132
|
+
* binds to are the ids that were rendered.
|
|
11133
|
+
*
|
|
11134
|
+
* The web player's container path does the same two steps inline (it only regenerates ids
|
|
11135
|
+
* when it owns the render); this is that sequence, named, so the adapters cannot drift from it.
|
|
11136
|
+
* @internal
|
|
11137
|
+
*/
|
|
11138
|
+
declare function prepareDocumentForRender(doc: PxAnimatedSvgDocument): PxAnimatedSvgDocument;
|
|
11139
11139
|
|
|
11140
11140
|
/**
|
|
11141
11141
|
* A document's schema findings. The pre-2026-09 FLAT animator spelling is NOT a category of its
|
|
@@ -11159,4 +11159,4 @@ declare function diagnoseDocument(doc: unknown): PxDocumentDiagnosis;
|
|
|
11159
11159
|
*/
|
|
11160
11160
|
declare function reportDocumentDiagnostics(doc: unknown, where: string): void;
|
|
11161
11161
|
|
|
11162
|
-
export { PxLoopRepeatAt as $, type PxDefinitions as A, PxDefinitionsSchema as B, type PxDiagnostic as C, PxDiagnosticCode as D, PxDiagnosticKind as E, type PxDiagnostics as F, type PxDiagnosticsConfig as G, type PxEffects as H, PxEffectsSchema as I, type PxElementAnimation as J, PxElementAnimationSchema as K, PxFillGradientEffectSchema as L, PxFillMode as M, PxFinishAction as N, type PxGlyph as O, type PxAnimatedSvgDocument as P, type PxGlyphFont as Q, PxGradientSpreadMethod as R, PxGradientStopSchema as S, PxGradientType as T, type PxInfer as U, type PxKeyframe as V, PxKeyframeSchema as W, PxKeyframeValueSchema as X, PxLengthAdjust as Y, type PxLoop as Z, PxLoopDirection as _, type PxEngineCallbacks as a, flattenAnimatorTimeline as a$, PxLoopSchema as a0, PxMaskType as a1, PxMaskedByEffectSchema as a2, PxMouseOutAction as a3, PxNodeBaseSchema as a4, PxNodeSchema as a5, PxOffScreenAction as a6, PxPathOverflow as a7, PxPinAlign as a8, type PxPlaybackApi as a9, PxTimelineEngine as aA, PxTimelineEngineSetting as aB, PxTimelineSchema as aC, PxTransformByEffectSchema as aD, type PxTransformParts as aE, PxTransformPartsSchema as aF, type PxTransformValue as aG, PxTransformValueSchema as aH, type PxTrigger as aI, PxTriggerSchema as aJ, PxUnits as aK, type PxValidationContext as aL, type PxVec2 as aM, type PxWireConversionOptions as aN, type PxWireConversionResult as aO, PxWireStepKind as aP, type PxWireVersion as aQ, PxWireVersionRelation as aR, type PxWireVersionStep as aS, applyWireSteps as aT, calcAnimationValues as aU, compareWireVersion as aV, controlModeTakesOverTrigger as aW, convertWireDocument as aX, describeSchema as aY, diagnoseDocument as aZ, downgradeWireDocument as a_, PxPlaybackDirection as aa, type PxPropertyAnimation as ab, PxPropertyAnimationSchema as ac, type PxRemoveIndex as ad, PxRepeaterEffectSchema as ae, PxRetimeEffectSchema as af, type PxSchema as ag, type PxSchemaDesc as ah, type PxScroll as ai, PxScrollAxis as aj, PxScrollKind as ak, PxScrollPhase as al, type PxScrollRangePoint as am, PxScrollRangePointSchema as an, PxScrollRangeSchema as ao, PxScrollSchema as ap, PxScrollSource as aq, PxStrokeTrimEffectSchema as ar, PxStrokeTrimSubPaths as as, type PxSvgNode as at, PxSvgNodeRootSchema as au, PxTextEffectSchema as av, PxTextPathEffectSchema as aw, PxTextPathMethod as ax, PxTextPathSpacing as ay, type PxTimeline as az, type PxAnimatorApi as b, formatWireVersion as b0, generateNewIds as b1, getAnimatorConfig as b2, getBindings as b3, getChildren as b4, getDefinitions as b5, isNativeForced as b6, isPxDocument as b7, isValidPxDocument as b8, materializeAllInTree as b9, createDiagnostics as bA, deepClone as bB, generateUniqueId as bC, interpolateValue as bD, keyframeEasing as bE, keyframeValue as bF, materializeMotionPathInPropAnim as bG,
|
|
11162
|
+
export { PxLoopRepeatAt as $, type PxDefinitions as A, PxDefinitionsSchema as B, type PxDiagnostic as C, PxDiagnosticCode as D, PxDiagnosticKind as E, type PxDiagnostics as F, type PxDiagnosticsConfig as G, type PxEffects as H, PxEffectsSchema as I, type PxElementAnimation as J, PxElementAnimationSchema as K, PxFillGradientEffectSchema as L, PxFillMode as M, PxFinishAction as N, type PxGlyph as O, type PxAnimatedSvgDocument as P, type PxGlyphFont as Q, PxGradientSpreadMethod as R, PxGradientStopSchema as S, PxGradientType as T, type PxInfer as U, type PxKeyframe as V, PxKeyframeSchema as W, PxKeyframeValueSchema as X, PxLengthAdjust as Y, type PxLoop as Z, PxLoopDirection as _, type PxEngineCallbacks as a, flattenAnimatorTimeline as a$, PxLoopSchema as a0, PxMaskType as a1, PxMaskedByEffectSchema as a2, PxMouseOutAction as a3, PxNodeBaseSchema as a4, PxNodeSchema as a5, PxOffScreenAction as a6, PxPathOverflow as a7, PxPinAlign as a8, type PxPlaybackApi as a9, PxTimelineEngine as aA, PxTimelineEngineSetting as aB, PxTimelineSchema as aC, PxTransformByEffectSchema as aD, type PxTransformParts as aE, PxTransformPartsSchema as aF, type PxTransformValue as aG, PxTransformValueSchema as aH, type PxTrigger as aI, PxTriggerSchema as aJ, PxUnits as aK, type PxValidationContext as aL, type PxVec2 as aM, type PxWireConversionOptions as aN, type PxWireConversionResult as aO, PxWireStepKind as aP, type PxWireVersion as aQ, PxWireVersionRelation as aR, type PxWireVersionStep as aS, applyWireSteps as aT, calcAnimationValues as aU, compareWireVersion as aV, controlModeTakesOverTrigger as aW, convertWireDocument as aX, describeSchema as aY, diagnoseDocument as aZ, downgradeWireDocument as a_, PxPlaybackDirection as aa, type PxPropertyAnimation as ab, PxPropertyAnimationSchema as ac, type PxRemoveIndex as ad, PxRepeaterEffectSchema as ae, PxRetimeEffectSchema as af, type PxSchema as ag, type PxSchemaDesc as ah, type PxScroll as ai, PxScrollAxis as aj, PxScrollKind as ak, PxScrollPhase as al, type PxScrollRangePoint as am, PxScrollRangePointSchema as an, PxScrollRangeSchema as ao, PxScrollSchema as ap, PxScrollSource as aq, PxStrokeTrimEffectSchema as ar, PxStrokeTrimSubPaths as as, type PxSvgNode as at, PxSvgNodeRootSchema as au, PxTextEffectSchema as av, PxTextPathEffectSchema as aw, PxTextPathMethod as ax, PxTextPathSpacing as ay, type PxTimeline as az, type PxAnimatorApi as b, formatWireVersion as b0, generateNewIds as b1, getAnimatorConfig as b2, getBindings as b3, getChildren as b4, getDefinitions as b5, isNativeForced as b6, isPxDocument as b7, isValidPxDocument as b8, materializeAllInTree as b9, createDiagnostics as bA, deepClone as bB, generateUniqueId as bC, interpolateValue as bD, keyframeEasing as bE, keyframeValue as bF, materializeMotionPathInPropAnim as bG, prepareDocumentForRender as bH, reportDocumentDiagnostics as bI, sanitizeAttributeValue as bJ, mayUseNativeScrollTimeline as ba, nestAnimatorTimeline as bb, normalizeBindings as bc, parseWireVersion as bd, px as be, readWireVersion as bf, resolveControlMode as bg, resolveTimelineEngine as bh, resolveTrigger as bi, schemaKeys as bj, toDomProps as bk, validateDocument as bl, validateNodeEffects as bm, wireVersionAdvice as bn, type PxAnimatable as bo, PX_ANIM_ATTR_NAME as bp, PX_ANIM_SRC_ATTR_NAME as bq, PX_CSS_ONLY_STYLE_PROPS as br, PX_DISALLOWED_SVG_TAGS_LOWER as bs, PX_LOOP_JUMP_SHIFT_MS as bt, PX_TEXT_CONTENT_ATTR as bu, PX_UNKNOWN_KEY_ERROR as bv, type PxAnyKeyframe as bw, type PxMaterializeAllOptions as bx, type PxNormalizedKeyframe as by, type PxNormalizedPropertyAnimation as bz, type PxAnimatorConfig as c, PxTriggerStart as d, type PxNode as e, PX_TRANSFORM_PART_KEYS as f, PX_TRIGGER_DEFAULTS as g, PX_WIRE_BASELINE_VERSION as h, PX_WIRE_STEPS as i, PX_WIRE_VERSION as j, PX_WIRE_VERSION_KEY as k, PxAlongPathMode as l, PxAnimatedSvgDocumentSchema as m, type PxAnimationDefinition as n, type PxAnimatorCallbacks as o, PxAnimatorConfigSchema as p, type PxAnimatorHandle as q, PxAttrValueSchema as r, type PxBezierPath as s, PxBezierPathSchema as t, type PxBinding as u, PxClipPathEffectSchema as v, PxCloneEffectSchema as w, PxCloneWithout as x, PxControlMode as y, type PxControlProps as z };
|
|
@@ -11061,27 +11061,6 @@ declare const PX_LOOP_JUMP_SHIFT_MS = 1;
|
|
|
11061
11061
|
* @internal
|
|
11062
11062
|
*/
|
|
11063
11063
|
declare function interpolateValue(propName: string, a: any, b: any, t: number): any;
|
|
11064
|
-
/**
|
|
11065
|
-
* TRANSFORM PRECEDENCE (review §0.4/§1.6) — CSS's own composition rule, applied at READ:
|
|
11066
|
-
* a static `transform` on the element composes UNDER the animated transform, instead of
|
|
11067
|
-
* being silently clobbered by it. Implemented as a keyframe-value MERGE during
|
|
11068
|
-
* normalization, so both engines (and every consumer downstream) see complete parts:
|
|
11069
|
-
*
|
|
11070
|
-
* 1. `animate.transform` with PARTIAL parts records — every keyframe value (and the
|
|
11071
|
-
* base `value`) inherits the static parts it does not set:
|
|
11072
|
-
* static `{rotate: 45}` + kf `{translate: [80, 0]}` → kf `{rotate: 45, translate: [80, 0]}`.
|
|
11073
|
-
* 2. ONE individual channel (`translate` / `rotate` / `scale` / `skew`) and no
|
|
11074
|
-
* `transform` channel — the channel is REWRITTEN as a unified `transform` channel
|
|
11075
|
-
* whose values carry the static parts: the rect stays rotated 45° AND slides.
|
|
11076
|
-
*
|
|
11077
|
-
* The static transform may be a parts record or an attribute string (parsed by the
|
|
11078
|
-
* conservative {@link parseTransformParts} — unparseable strings skip the merge).
|
|
11079
|
-
* NOT merged (documented limitations): several individual channels animated at once
|
|
11080
|
-
* (they still last-write-wins against each other), and an individual channel next to an
|
|
11081
|
-
* animated `transform` (the `transform` channel wins, as before).
|
|
11082
|
-
* @internal
|
|
11083
|
-
*/
|
|
11084
|
-
declare function mergeStaticTransformIntoAnimDef(animDef: PxAnimationDefinition, staticTransform: unknown): PxAnimationDefinition;
|
|
11085
11064
|
/**
|
|
11086
11065
|
* Normalizes a PxAnimatedSvgDocument to a PxAnimatorConfig for the animation engines.
|
|
11087
11066
|
* This is the main entry point for converting the new API format to internal format.
|
|
@@ -11136,6 +11115,27 @@ interface PxMaterializeAllOptions {
|
|
|
11136
11115
|
}
|
|
11137
11116
|
/** @public @advanced */
|
|
11138
11117
|
declare function materializeAllInTree(doc: PxAnimatedSvgDocument, engine: PxTimelineEngine, options?: PxMaterializeAllOptions): PxAnimatedSvgDocument;
|
|
11118
|
+
/**
|
|
11119
|
+
* The document exactly as the web player RENDERS it: materialized for the engine the document
|
|
11120
|
+
* resolves to, then with fresh ids.
|
|
11121
|
+
*
|
|
11122
|
+
* For adapters that build the DOM themselves (React, Vue). They must render THIS rather than
|
|
11123
|
+
* the raw document — `effects` only become the `<radialGradient>`/`<mask>`/wrapper nodes the
|
|
11124
|
+
* shapes point at during materialization. Rendering the raw document drops all of it, and a
|
|
11125
|
+
* document whose paint comes from `effects` alone renders as an empty canvas.
|
|
11126
|
+
*
|
|
11127
|
+
* - **Order matters.** Ids are regenerated AFTER materializing, because materialization mints
|
|
11128
|
+
* its def ids from a counter that starts at zero on every call — two instances on one page
|
|
11129
|
+
* would otherwise share them, and `url(#…)` resolves document-wide to the first match.
|
|
11130
|
+
* - **Safe to hand on to `createAnimator`.** Materialization consumes `node.effects` and
|
|
11131
|
+
* flattens loops, so the player's own pass over the result changes nothing, and the ids it
|
|
11132
|
+
* binds to are the ids that were rendered.
|
|
11133
|
+
*
|
|
11134
|
+
* The web player's container path does the same two steps inline (it only regenerates ids
|
|
11135
|
+
* when it owns the render); this is that sequence, named, so the adapters cannot drift from it.
|
|
11136
|
+
* @internal
|
|
11137
|
+
*/
|
|
11138
|
+
declare function prepareDocumentForRender(doc: PxAnimatedSvgDocument): PxAnimatedSvgDocument;
|
|
11139
11139
|
|
|
11140
11140
|
/**
|
|
11141
11141
|
* A document's schema findings. The pre-2026-09 FLAT animator spelling is NOT a category of its
|
|
@@ -11159,4 +11159,4 @@ declare function diagnoseDocument(doc: unknown): PxDocumentDiagnosis;
|
|
|
11159
11159
|
*/
|
|
11160
11160
|
declare function reportDocumentDiagnostics(doc: unknown, where: string): void;
|
|
11161
11161
|
|
|
11162
|
-
export { PxLoopRepeatAt as $, type PxDefinitions as A, PxDefinitionsSchema as B, type PxDiagnostic as C, PxDiagnosticCode as D, PxDiagnosticKind as E, type PxDiagnostics as F, type PxDiagnosticsConfig as G, type PxEffects as H, PxEffectsSchema as I, type PxElementAnimation as J, PxElementAnimationSchema as K, PxFillGradientEffectSchema as L, PxFillMode as M, PxFinishAction as N, type PxGlyph as O, type PxAnimatedSvgDocument as P, type PxGlyphFont as Q, PxGradientSpreadMethod as R, PxGradientStopSchema as S, PxGradientType as T, type PxInfer as U, type PxKeyframe as V, PxKeyframeSchema as W, PxKeyframeValueSchema as X, PxLengthAdjust as Y, type PxLoop as Z, PxLoopDirection as _, type PxEngineCallbacks as a, flattenAnimatorTimeline as a$, PxLoopSchema as a0, PxMaskType as a1, PxMaskedByEffectSchema as a2, PxMouseOutAction as a3, PxNodeBaseSchema as a4, PxNodeSchema as a5, PxOffScreenAction as a6, PxPathOverflow as a7, PxPinAlign as a8, type PxPlaybackApi as a9, PxTimelineEngine as aA, PxTimelineEngineSetting as aB, PxTimelineSchema as aC, PxTransformByEffectSchema as aD, type PxTransformParts as aE, PxTransformPartsSchema as aF, type PxTransformValue as aG, PxTransformValueSchema as aH, type PxTrigger as aI, PxTriggerSchema as aJ, PxUnits as aK, type PxValidationContext as aL, type PxVec2 as aM, type PxWireConversionOptions as aN, type PxWireConversionResult as aO, PxWireStepKind as aP, type PxWireVersion as aQ, PxWireVersionRelation as aR, type PxWireVersionStep as aS, applyWireSteps as aT, calcAnimationValues as aU, compareWireVersion as aV, controlModeTakesOverTrigger as aW, convertWireDocument as aX, describeSchema as aY, diagnoseDocument as aZ, downgradeWireDocument as a_, PxPlaybackDirection as aa, type PxPropertyAnimation as ab, PxPropertyAnimationSchema as ac, type PxRemoveIndex as ad, PxRepeaterEffectSchema as ae, PxRetimeEffectSchema as af, type PxSchema as ag, type PxSchemaDesc as ah, type PxScroll as ai, PxScrollAxis as aj, PxScrollKind as ak, PxScrollPhase as al, type PxScrollRangePoint as am, PxScrollRangePointSchema as an, PxScrollRangeSchema as ao, PxScrollSchema as ap, PxScrollSource as aq, PxStrokeTrimEffectSchema as ar, PxStrokeTrimSubPaths as as, type PxSvgNode as at, PxSvgNodeRootSchema as au, PxTextEffectSchema as av, PxTextPathEffectSchema as aw, PxTextPathMethod as ax, PxTextPathSpacing as ay, type PxTimeline as az, type PxAnimatorApi as b, formatWireVersion as b0, generateNewIds as b1, getAnimatorConfig as b2, getBindings as b3, getChildren as b4, getDefinitions as b5, isNativeForced as b6, isPxDocument as b7, isValidPxDocument as b8, materializeAllInTree as b9, createDiagnostics as bA, deepClone as bB, generateUniqueId as bC, interpolateValue as bD, keyframeEasing as bE, keyframeValue as bF, materializeMotionPathInPropAnim as bG,
|
|
11162
|
+
export { PxLoopRepeatAt as $, type PxDefinitions as A, PxDefinitionsSchema as B, type PxDiagnostic as C, PxDiagnosticCode as D, PxDiagnosticKind as E, type PxDiagnostics as F, type PxDiagnosticsConfig as G, type PxEffects as H, PxEffectsSchema as I, type PxElementAnimation as J, PxElementAnimationSchema as K, PxFillGradientEffectSchema as L, PxFillMode as M, PxFinishAction as N, type PxGlyph as O, type PxAnimatedSvgDocument as P, type PxGlyphFont as Q, PxGradientSpreadMethod as R, PxGradientStopSchema as S, PxGradientType as T, type PxInfer as U, type PxKeyframe as V, PxKeyframeSchema as W, PxKeyframeValueSchema as X, PxLengthAdjust as Y, type PxLoop as Z, PxLoopDirection as _, type PxEngineCallbacks as a, flattenAnimatorTimeline as a$, PxLoopSchema as a0, PxMaskType as a1, PxMaskedByEffectSchema as a2, PxMouseOutAction as a3, PxNodeBaseSchema as a4, PxNodeSchema as a5, PxOffScreenAction as a6, PxPathOverflow as a7, PxPinAlign as a8, type PxPlaybackApi as a9, PxTimelineEngine as aA, PxTimelineEngineSetting as aB, PxTimelineSchema as aC, PxTransformByEffectSchema as aD, type PxTransformParts as aE, PxTransformPartsSchema as aF, type PxTransformValue as aG, PxTransformValueSchema as aH, type PxTrigger as aI, PxTriggerSchema as aJ, PxUnits as aK, type PxValidationContext as aL, type PxVec2 as aM, type PxWireConversionOptions as aN, type PxWireConversionResult as aO, PxWireStepKind as aP, type PxWireVersion as aQ, PxWireVersionRelation as aR, type PxWireVersionStep as aS, applyWireSteps as aT, calcAnimationValues as aU, compareWireVersion as aV, controlModeTakesOverTrigger as aW, convertWireDocument as aX, describeSchema as aY, diagnoseDocument as aZ, downgradeWireDocument as a_, PxPlaybackDirection as aa, type PxPropertyAnimation as ab, PxPropertyAnimationSchema as ac, type PxRemoveIndex as ad, PxRepeaterEffectSchema as ae, PxRetimeEffectSchema as af, type PxSchema as ag, type PxSchemaDesc as ah, type PxScroll as ai, PxScrollAxis as aj, PxScrollKind as ak, PxScrollPhase as al, type PxScrollRangePoint as am, PxScrollRangePointSchema as an, PxScrollRangeSchema as ao, PxScrollSchema as ap, PxScrollSource as aq, PxStrokeTrimEffectSchema as ar, PxStrokeTrimSubPaths as as, type PxSvgNode as at, PxSvgNodeRootSchema as au, PxTextEffectSchema as av, PxTextPathEffectSchema as aw, PxTextPathMethod as ax, PxTextPathSpacing as ay, type PxTimeline as az, type PxAnimatorApi as b, formatWireVersion as b0, generateNewIds as b1, getAnimatorConfig as b2, getBindings as b3, getChildren as b4, getDefinitions as b5, isNativeForced as b6, isPxDocument as b7, isValidPxDocument as b8, materializeAllInTree as b9, createDiagnostics as bA, deepClone as bB, generateUniqueId as bC, interpolateValue as bD, keyframeEasing as bE, keyframeValue as bF, materializeMotionPathInPropAnim as bG, prepareDocumentForRender as bH, reportDocumentDiagnostics as bI, sanitizeAttributeValue as bJ, mayUseNativeScrollTimeline as ba, nestAnimatorTimeline as bb, normalizeBindings as bc, parseWireVersion as bd, px as be, readWireVersion as bf, resolveControlMode as bg, resolveTimelineEngine as bh, resolveTrigger as bi, schemaKeys as bj, toDomProps as bk, validateDocument as bl, validateNodeEffects as bm, wireVersionAdvice as bn, type PxAnimatable as bo, PX_ANIM_ATTR_NAME as bp, PX_ANIM_SRC_ATTR_NAME as bq, PX_CSS_ONLY_STYLE_PROPS as br, PX_DISALLOWED_SVG_TAGS_LOWER as bs, PX_LOOP_JUMP_SHIFT_MS as bt, PX_TEXT_CONTENT_ATTR as bu, PX_UNKNOWN_KEY_ERROR as bv, type PxAnyKeyframe as bw, type PxMaterializeAllOptions as bx, type PxNormalizedKeyframe as by, type PxNormalizedPropertyAnimation as bz, type PxAnimatorConfig as c, PxTriggerStart as d, type PxNode as e, PX_TRANSFORM_PART_KEYS as f, PX_TRIGGER_DEFAULTS as g, PX_WIRE_BASELINE_VERSION as h, PX_WIRE_STEPS as i, PX_WIRE_VERSION as j, PX_WIRE_VERSION_KEY as k, PxAlongPathMode as l, PxAnimatedSvgDocumentSchema as m, type PxAnimationDefinition as n, type PxAnimatorCallbacks as o, PxAnimatorConfigSchema as p, type PxAnimatorHandle as q, PxAttrValueSchema as r, type PxBezierPath as s, PxBezierPathSchema as t, type PxBinding as u, PxClipPathEffectSchema as v, PxCloneEffectSchema as w, PxCloneWithout as x, PxControlMode as y, type PxControlProps as z };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var t=Object.defineProperty,e=Object.defineProperties,n=Object.getOwnPropertyDescriptors,r=Object.getOwnPropertySymbols,o=Object.prototype.hasOwnProperty,i=Object.prototype.propertyIsEnumerable,a=Math.pow,s=(e,n,r)=>n in e?t(e,n,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[n]=r,l=(t,e)=>{for(var n in e||(e={}))o.call(e,n)&&s(t,n,e[n]);if(r)for(var n of r(e))i.call(e,n)&&s(t,n,e[n]);return t},u=(t,r)=>e(t,n(r)),c=(t,e)=>{var n={};for(var a in t)o.call(t,a)&&e.indexOf(a)<0&&(n[a]=t[a]);if(null!=t&&r)for(var a of r(t))e.indexOf(a)<0&&i.call(t,a)&&(n[a]=t[a]);return n},f="unexpected extra key";function d(t){if(!t.length)return".";let e="";for(const n of t)n.startsWith("[")?e+=n:e+=(e?".":"")+n;return e}var h=class{_canSanitize(t){return this.isValid(t)}optional(){return new p(this)}},p=class extends h{constructor(t){super(),this.inner=t,this._default=void 0}sanitize(t){if(null!=t)return this.inner._canSanitize(t)?this.inner.sanitize(t):void 0}isValid(t,e,n){return null==t||this.inner.isValid(t,e,n)}_canSanitize(t){return null==t||this.inner._canSanitize(t)}},m=class extends h{constructor(t=""){super(),this._default=t}sanitize(t){return"string"==typeof t?t:this._default}isValid(t,e,n){return"string"==typeof t||(null==e||e.errors.push(d(null!=n?n:[])+": expected string, got "+typeof t),!1)}},g=class extends h{constructor(t=0){super(),this._default=t}sanitize(t){return"number"==typeof t&&isFinite(t)?t:this._default}isValid(t,e,n){return!("number"!=typeof t||!isFinite(t))||(null==e||e.errors.push(d(null!=n?n:[])+": expected finite number, got "+JSON.stringify(t)),!1)}},v=class extends h{constructor(t=!1){super(),this._default=t}sanitize(t){return"boolean"==typeof t?t:this._default}isValid(t,e,n){return"boolean"==typeof t||(null==e||e.errors.push(d(null!=n?n:[])+": expected boolean, got "+typeof t),!1)}},y=class extends h{constructor(t){super(),this.value=t,this._default=t}sanitize(t){return t===this.value?this.value:this._default}isValid(t,e,n){return t===this.value||(null==e||e.errors.push(d(null!=n?n:[])+": expected "+JSON.stringify(this.value)+", got "+JSON.stringify(t)),!1)}},b=class extends h{constructor(t,e){super(),this.values=t,this._default=null!=e?e:t[0]}sanitize(t){return this.values.includes(t)?t:this._default}isValid(t,e,n){return!!this.values.includes(t)||(null==e||e.errors.push(d(null!=n?n:[])+": expected one of "+this.values.map(t=>JSON.stringify(t)).join(" | ")+", got "+JSON.stringify(t)),!1)}},k=class extends h{constructor(t,e){super(),this.schemas=t,this._kind="union",this._default=null!=e?e:t[0]._default}sanitize(t){for(const e of this.schemas)if(e.isValid(t))return e.sanitize(t);return this._default}isValid(t,e,n){var r;const o=e&&{errors:[],warnings:[],strict:e.strict};if(this.schemas.some(e=>e.isValid(t,o,n?[...n]:void 0)))return!0;if(!e)return!1;const i=d(null!=n?n:[]);let a;e.errors.push(i+": no union member matched for value "+(null!=(r=JSON.stringify(t))?r:"").slice(0,240));let s=-1;const l=[];for(const r of this.schemas){const o={errors:[],warnings:[],strict:e.strict};if(r.isValid(t,o,n?[...n]:void 0),!o.errors.length)continue;const u=Math.max(...o.errors.map(t=>t.slice(0,t.indexOf(":")).length));if((u>s||u===s&&a&&o.errors.length<a.length)&&(s=u,a=o.errors),u<=i.length)for(const t of o.errors){const e=/: expected (.+?), got /.exec(t);e&&!l.includes(e[1])&&l.push(e[1])}}if(a&&s>i.length)for(const t of a.slice(0,4))e.errors.includes(t)||e.errors.push(t);else l.length&&e.errors.push(i+": expected "+l.join(" | "));return!1}_canSanitize(t){return this.schemas.some(e=>e._canSanitize(t))}},A=class extends h{constructor(t,e,n){var r;super(),this._key=t,this._schemas=e,this._kind="discriminatedUnion",this._default=null!=n?n:e[0]._default,this._map=new Map;for(const n of e){const e=n._shape[t];if(!e)continue;const o=null!=(r=e.inner)?r:e;this._map.set(o._default,n),e.inner&&(this._absentMember=n)}}_findSchema(t){if(null===t||"object"!=typeof t||Array.isArray(t))return;const e=t[this._key];return null==e?this._absentMember:this._map.get(e)}sanitize(t){var e;return(null!=(e=this._findSchema(t))?e:this._schemas[0]).sanitize(t)}isValid(t,e,n){const r=this._findSchema(t);if(!r){const r=null===t||"object"!=typeof t||Array.isArray(t)?void 0:t[this._key];return null==e||e.errors.push(d(null!=n?n:[])+": no discriminated union member matched "+this._key+"="+JSON.stringify(r)),!1}return r.isValid(t,e,n)}_canSanitize(t){if(null===t||"object"!=typeof t||Array.isArray(t))return!1;const e=this._findSchema(t);return e?e._canSanitize(t):this._schemas[0]._canSanitize(t)}},w=class extends h{constructor(t){super(),this._shape=t;const e={};for(const n of Object.keys(t))e[n]=t[n]._default;this._default=e}sanitize(t){const e=t&&"object"==typeof t&&!Array.isArray(t)?t:{},n={};for(const t of Object.keys(this._shape)){const r=this._shape[t].sanitize(e[t]);void 0!==r&&(n[t]=r)}return n}isValid(t,e,n){if(!t||"object"!=typeof t||Array.isArray(t))return null==e||e.errors.push(d(null!=n?n:[])+": expected object, got "+(Array.isArray(t)?"array":typeof t)),!1;const r=t,o=null!=n?n:[];let i=!0;for(const t of Object.keys(this._shape))o.push(t),this._shape[t].isValid(r[t],e,o)||(i=!1),o.pop();if(null==e?void 0:e.strict)for(const t of Object.keys(r))t in this._shape||void 0!==r[t]&&(o.push(t),e.errors.push(d(o)+": "+f),o.pop(),i=!1);return i}_canSanitize(t){return!!t&&"object"==typeof t&&!Array.isArray(t)}},x=class extends h{constructor(t,e){super(),this._shape=t,this._openSchema=e;const n={};for(const e of Object.keys(t))n[e]=t[e]._default;this._default=n}sanitize(t){const e=t&&"object"==typeof t&&!Array.isArray(t)?t:{},n=l({},e);for(const t of Object.keys(this._shape)){const r=this._shape[t].sanitize(e[t]);void 0!==r&&(n[t]=r)}if(this._openSchema)for(const t of Object.keys(e))t in this._shape||(n[t]=this._openSchema.sanitize(e[t]));return n}isValid(t,e,n){if(!t||"object"!=typeof t||Array.isArray(t))return null==e||e.errors.push(d(null!=n?n:[])+": expected object, got "+(Array.isArray(t)?"array":typeof t)),!1;const r=t,o=null!=n?n:[];let i=!0;for(const t of Object.keys(this._shape))o.push(t),this._shape[t].isValid(r[t],e,o)||(i=!1),o.pop();if(this._openSchema)for(const t of Object.keys(r))t in this._shape||(o.push(t),this._openSchema.isValid(r[t],e,o)||(i=!1),o.pop());return i}_canSanitize(t){return!!t&&"object"==typeof t&&!Array.isArray(t)}},j=class extends h{constructor(t){super(),this.item=t,this._default=[]}sanitize(t){if(!Array.isArray(t))return[];const e=[];for(const n of t)this.item._canSanitize(n)&&e.push(this.item.sanitize(n));return e}isValid(t,e,n){if(!Array.isArray(t))return null==e||e.errors.push(d(null!=n?n:[])+": expected array, got "+typeof t),!1;const r=null!=n?n:[];let o=!0;for(let n=0;n<t.length;n++)r.push("["+n+"]"),this.item.isValid(t[n],e,r)||(o=!1),r.pop();return o}_canSanitize(t){return Array.isArray(t)}},O=class extends h{constructor(t){super(),this.value=t,this._kind="record",this._default={}}sanitize(t){if(!t||"object"!=typeof t||Array.isArray(t))return{};const e={};for(const[n,r]of Object.entries(t))this.value._canSanitize(r)&&(e[n]=this.value.sanitize(r));return e}isValid(t,e,n){if(!t||"object"!=typeof t||Array.isArray(t))return null==e||e.errors.push(d(null!=n?n:[])+": expected object/record, got "+(Array.isArray(t)?"array":typeof t)),!1;const r=null!=n?n:[];let o=!0;for(const[n,i]of Object.entries(t))r.push(n),this.value.isValid(i,e,r)||(o=!1),r.pop();return o}_canSanitize(t){return!!t&&"object"==typeof t&&!Array.isArray(t)}},S=class extends h{constructor(){super(...arguments),this._default=void 0}sanitize(t){return t}isValid(t,e,n){return!0}_canSanitize(t){return!0}},M=class extends h{constructor(){super(...arguments),this._default=void 0}sanitize(t){return t}isValid(t,e,n){return void 0!==t||(null==e||e.errors.push(d(null!=n?n:[])+": required value is missing"),!1)}_canSanitize(t){return void 0!==t}},P=class extends h{constructor(t,e){super(),this.fn=t,this._default=e,this.resolved=null}get schema(){var t;return null!=(t=this.resolved)?t:this.resolved=this.fn()}sanitize(t){return this.schema.sanitize(t)}isValid(t,e,n){return this.schema.isValid(t,e,n)}_canSanitize(t){return this.schema._canSanitize(t)}},_=class extends h{constructor(t){super(),this.schemas=t,this._kind="tuple",this._default=t.map(t=>t._default)}sanitize(t){return Array.isArray(t)&&t.length===this.schemas.length?this.schemas.map((e,n)=>e.sanitize(t[n])):this._default}isValid(t,e,n){if(!Array.isArray(t)||t.length!==this.schemas.length)return null==e||e.errors.push(d(null!=n?n:[])+": expected tuple of length "+this.schemas.length+", got "+(Array.isArray(t)?"array["+t.length+"]":typeof t)),!1;const r=null!=n?n:[];let o=!0;for(let n=0;n<this.schemas.length;n++)r.push("["+n+"]"),this.schemas[n].isValid(t[n],e,r)||(o=!1),r.pop();return o}_canSanitize(t){return Array.isArray(t)&&t.length===this.schemas.length}};function z(t){return Object.fromEntries(Object.keys(t._shape).map(t=>[t,t]))}function D(t){var e;const n=t;switch(n._kind){case"union":return{kind:"union",members:n.schemas};case"discriminatedUnion":return{kind:"discriminatedUnion",key:n._key,members:n._schemas};case"record":return{kind:"record",value:n.value};case"tuple":return{kind:"tuple",items:n.schemas}}return"_shape"in n?{kind:"shape",shape:n._shape,openValue:n._openSchema}:"item"in n?{kind:"array",item:n.item}:"inner"in n?{kind:"optional",inner:n.inner}:"fn"in n?{kind:"lazy",resolved:null!=(e=n.resolved)?e:n.resolved=n.fn()}:{kind:"leaf"}}var N,I={string:(t="")=>new m(t),number:(t=0)=>new g(t),boolean:(t=!1)=>new v(t),literal:t=>new y(t),enum:(t,e)=>new b(t,e),union:(t,e)=>new k(t,e),discriminatedUnion:(t,e)=>new A(t,e),object:t=>new w(t),openObject:(t,e)=>new x(t,e),extendedObject:(t,e)=>new w(l(l({},t._shape),e)),array:t=>new j(t),record:t=>new O(t),any:()=>new S,defined:()=>new M,tuple:t=>new _(t),lazy:(t,e)=>new P(t,e)},T="1.2",C="version",E="animator",U=(t=>(t.unstamped="unstamped",t.same="same",t.older="older",t.newer="newer",t.otherGeneration="otherGeneration",t))(U||{}),R=/^(\d+)\.(\d+)(?:\.(\d+))?$/;function F(t){if("string"!=typeof t)return;const e=R.exec(t.trim());return e?{a:Number(e[1]),b:Number(e[2]),c:void 0===e[3]?0:Number(e[3])}:void 0}function B(t){return t.a+"."+t.b+"."+t.c}var L=null!=(N=F("1.2"))?N:{a:1,b:1,c:0};function V(t){if(!t||"object"!=typeof t)return;const e=W(t,E);if(e)return e;const n=W(t,"meta");return n?W(n,E):void 0}function W(t,e){const n=t[e];return n&&"object"==typeof n&&!Array.isArray(n)?n:void 0}function G(t){const e=V(t);return e?F(e[C]):void 0}function Z(t,e,n){return t?t.a!==e.a?"otherGeneration":t.b!==e.b?t.b>e.b?"newer":"older":n&&t.c!==e.c?t.c>e.c?"newer":"older":"same":"unstamped"}function K(t,e,n,r){if(!e)return;const o=r?"player":"editor",i="written for schema "+B(e)+", this "+o+" reads "+B(n);switch(t){case"newer":return"This file is "+i+". Update the "+o+" to open it fully.";case"older":return"This file is "+i+". Saving it from this "+o+" rewrites it in the current format.";case"otherGeneration":return"This file is "+i+" — a different format generation, which no conversion bridges. Open it in a "+o+" of that generation, or accept this document without the parts named above.";default:return}}var J=(t=>(t.additive="additive",t.converted="converted",t))(J||{}),X="1.1",q=[{from:"1.1",to:"1.2",reason:"The trigger block became two axes: `start` says what STARTS an animation, `offScreen` + `visibilityThreshold` + `visibilityDebounce` say whether it may RUN. `scrollIntoView` is no longer a start value — it is what `start: 'load'` behind the default gate already means — and `outAction` split into `offScreen` (scroll) and `mouseOut` (hover), because one field meant three things.",kind:"converted",up:function(t){const e=t.animator;if(!e||"object"!=typeof e)return;const n=e.timeline,r=(n&&"object"==typeof n?n:e).trigger;if(!r||"object"!=typeof r)return;const o=r,i=o.startOn,a=o.outAction;delete o.startOn,delete o.outAction,"scrollIntoView"===i?void 0!==a&&(o.offScreen=a):("programmatic"===i?o.start="none":void 0!==i&&(o.start=i),"mouseOver"===i&&void 0!==a&&(o.mouseOut=a),void 0===o.offScreen&&(o.offScreen="continue"));void 0!==o.scrollIntoViewThreshold&&(o.visibilityThreshold=o.scrollIntoViewThreshold,delete o.scrollIntoViewThreshold);void 0!==o.finishAction&&(o.finish=o.finishAction,delete o.finishAction)}}];function Q(t,e){const n=G(t),r=Z(n,e.target,e.readerReadsEditorPart);if(!n||"older"!==r)return{doc:t,from:n,relation:r,applied:[],advice:K(r,n,e.target,!e.readerReadsEditorPart)};const o=[];for(const t of e.steps){const r=F(t.to);r&&("older"===Z(n,r,e.readerReadsEditorPart)&&t.up&&o.push(t))}if(!o.length||!t||"object"!=typeof t)return{doc:t,from:n,relation:r,applied:[]};const i=H(t),a=[];for(const t of o)try{t.up(i),a.push(t)}catch(t){break}return a.length?($(i,e.target,e.readerReadsEditorPart),{doc:i,from:n,relation:r,applied:a}):{doc:t,from:n,relation:r,applied:[]}}function Y(t){return Q(t,{steps:q,target:L,readerReadsEditorPart:!1})}function H(t){const e=globalThis.structuredClone;return e?e(t):JSON.parse(JSON.stringify(t))}function $(t,e,n){const r=V(t);if(!r)return;const o=F(r[C]);r[C]=B({a:e.a,b:e.b,c:n?e.c:o?o.c:0})}function tt(t,e){return function(t,e){const n=G(t);if(!n)return{ok:!1,blocking:[],reason:"The document carries no version, so there is nothing to convert down from."};const r=Z(n,e.target,e.readerReadsEditorPart);if("otherGeneration"===r)return{ok:!1,blocking:[],reason:"Schema "+B(n)+" and "+B(e.target)+" are different generations; no conversion bridges them."};if("newer"!==r)return{ok:!0,doc:t,applied:[]};const o=[];for(const t of e.steps){const r=F(t.to);r&&"newer"===Z(r,e.target,e.readerReadsEditorPart)&&"newer"!==Z(r,n,e.readerReadsEditorPart)&&o.push(t)}o.reverse();const i=o.filter(t=>"converted"===t.kind&&!t.down);if(i.length)return{ok:!1,blocking:i,reason:"Cannot convert down to "+B(e.target)+": "+i.map(t=>t.from+" → "+t.to+" ("+t.reason+")").join("; ")+" cannot be undone."};const a=H(t),s=[];for(const t of o)if(t.down)try{t.down(a),s.push(t)}catch(e){return{ok:!1,blocking:[t],reason:"Undoing "+t.from+" → "+t.to+" failed: "+String(e)}}return $(a,e.target,e.readerReadsEditorPart),{ok:!0,doc:a,applied:s}}(t,{steps:q,target:e,readerReadsEditorPart:!1})}var et={forwards:"forwards",backwards:"backwards",both:"both",none:"none"},nt={normal:"normal",reverse:"reverse",alternate:"alternate",alternateReverse:"alternate-reverse"},rt="data-px-animation-src",ot="_px_animator",it={load:"load",mouseOver:"mouseOver",click:"click",none:"none"},at={pause:"pause",continue:"continue",reset:"reset"},st={continue:"continue",pause:"pause",reset:"reset",reverse:"reverse"},lt={hold:"hold",reset:"reset"},ut={view:"view",scroll:"scroll"},ct={block:"block",inline:"inline",x:"x",y:"y"},ft={nearest:"nearest",root:"root"},dt={top:"top",center:"center",bottom:"bottom"},ht={cover:"cover",contain:"contain",entry:"entry",exit:"exit",entryCrossing:"entry-crossing",exitCrossing:"exit-crossing"},pt={sampled:"sampled",offsetPath:"offsetPath"},mt=["duration","iterations","engine","frameRate"],gt=["trigger","delay","fillMode","direction"],vt=[...mt,...gt,"fill","resetOnFinish","timelineSource","scroll"],yt={native:"native",js:"js"},bt=u(l({},yt),{auto:"auto"});function kt(t){return t===bt.js?yt.js:yt.native}function At(t){return t===bt.native}function wt(t){return t!==bt.js}var xt={start:"load",offScreen:"pause",mouseOut:"continue",visibilityThreshold:.5,visibilityDebounce:150},jt={static:"static",fixedTime:"fixedTime",play:"play",autoplay:"autoplay"};function Ot(t){const e=void 0!==t.progress||void 0!==t.time,n=void 0!==t.play||void 0!==t.pause,r=!!t.autoplay,o=[],i=(t,e,n)=>t+" and "+e+" were both set — "+n+" wins, "+(n===t?e:t)+" is ignored.";return e?(n&&o.push(i("progress/time","play/pause","progress/time")),r&&o.push(i("progress/time","autoplay","progress/time")),{mode:jt.fixedTime,warnings:o}):n?(r&&o.push(i("play/pause","autoplay","play/pause")),{mode:jt.play,warnings:o}):r?{mode:jt.autoplay,warnings:o}:{mode:jt.static,warnings:o}}function St(t){return t!==jt.autoplay}function Mt(t){var e,n,r,o,i;return{start:null!=(e=null==t?void 0:t.start)?e:xt.start,offScreen:null!=(n=null==t?void 0:t.offScreen)?n:xt.offScreen,mouseOut:null!=(r=null==t?void 0:t.mouseOut)?r:xt.mouseOut,visibilityThreshold:null!=(o=null==t?void 0:t.visibilityThreshold)?o:xt.visibilityThreshold,visibilityDebounce:null!=(i=null==t?void 0:t.visibilityDebounce)?i:xt.visibilityDebounce}}var Pt={start:"start",end:"end"},_t={normal:"normal",alternate:"alternate"},zt={luminance:"luminance",alpha:"alpha"},Dt={userSpaceOnUse:"userSpaceOnUse",objectBoundingBox:"objectBoundingBox"},Nt={translate:"translate"},It={clip:"clip",extend:"extend"},Tt={spacing:"spacing",spacingAndGlyphs:"spacingAndGlyphs"},Ct={align:"align",stretch:"stretch"},Et={auto:"auto",exact:"exact"},Ut={separate:"separate",combined:"combined"},Rt="textContent",Ft="class",Bt="transform",Lt=new Set(["type","children","animator","meta","animate","effects",Rt]),Vt="translate",Wt="rotate",Gt="origin",Zt=[Vt,Wt,"scale",Gt],Kt={pad:"pad",reflect:"reflect",repeat:"repeat"},Jt={linear:"linear",radial:"radial"};function Xt(t){return!(!t||"object"!=typeof t||Array.isArray(t))&&"svg"===t.type}function qt(t){var e;const n=(null==t?void 0:t.animator)||(null==(e=null==t?void 0:t.meta)?void 0:e.animator);if(!n)return;const r=Qt.get(n);if(r)return r;const o=n,i=vt.filter(t=>void 0!==o[t]),a=i.length?l({},o):n;for(const t of i)delete a[t];const s=Ht(a);return Qt.set(n,s),s}var Qt=new WeakMap,Yt=new WeakMap;function Ht(t){const e=t.timeline;if(null==e||"object"!=typeof e)return t;const n=Yt.get(t);if(n)return n;const r=t,{timeline:o}=r,i=c(r,["timeline"]);if(void 0!==e.engine&&(i.engine=e.engine),void 0!==e.frameRate&&(i.frameRate=e.frameRate),"scroll"===e.type||"view"===e.type){i.timelineSource="scroll",void 0!==e.duration&&(i.duration=e.duration),void 0!==e.iterations&&(i.iterations=e.iterations);const t=l({},i.scroll||{});t.kind=e.type,void 0!==e.axis&&(t.axis=e.axis),void 0!==e.source&&(t.source=e.source),void 0!==e.subject&&(t.subject=e.subject),void 0!==e.smoothing&&(t.smoothing=e.smoothing),void 0!==e.range&&(t.range=e.range);const n=e.pin;"boolean"==typeof n?t.pin=n:n&&"object"==typeof n&&(t.pin=!0,void 0!==n.align&&(t.pinAlign=n.align),void 0!==n.offset&&(t.pinOffset=n.offset),void 0!==n.distance&&(t.pinDistance=n.distance)),i.scroll=t}else{if(void 0!==e.duration&&(i.duration=e.duration),void 0!==e.trigger){const t=e.trigger,{finish:n}=t,r=c(t,["finish"]);Object.keys(r).length&&(i.trigger=r),void 0!==n&&(i.resetOnFinish="reset"===n)}void 0!==e.delay&&(i.delay=e.delay),void 0!==e.iterations&&(i.iterations=e.iterations),void 0!==e.direction&&(i.direction=e.direction),void 0!==e.fillMode&&(i.fill=e.fillMode)}return Yt.set(t,i),i}function $t(t){if(!t||void 0!==t.timeline)return t;const e=t,{timelineSource:n,scroll:r,trigger:o,delay:i,iterations:a,direction:s,fill:f,resetOnFinish:d,duration:h,engine:p,frameRate:m}=e,g=c(e,["timelineSource","scroll","trigger","delay","iterations","direction","fill","resetOnFinish","duration","engine","frameRate"]);if("scroll"===n){const t={type:(v=null==r?void 0:r.kind,"scroll"===v?"scroll":"view")};if(void 0!==p&&(t.engine=p),void 0!==m&&(t.frameRate=m),void 0!==h&&(t.duration=h),"number"==typeof a&&(t.iterations=a),r){void 0!==r.axis&&(t.axis=r.axis),void 0!==r.source&&(t.source=r.source),void 0!==r.subject&&(t.subject=r.subject),void 0!==r.smoothing&&(t.smoothing=r.smoothing),void 0!==r.range&&(t.range=r.range);void 0!==r.pinAlign||void 0!==r.pinOffset||void 0!==r.pinDistance?t.pin=l(l(l({},void 0!==r.pinAlign?{align:r.pinAlign}:{}),void 0!==r.pinOffset?{offset:r.pinOffset}:{}),void 0!==r.pinDistance?{distance:r.pinDistance}:{}):void 0!==r.pin&&(t.pin=r.pin)}return u(l({},g),{timeline:t})}var v;const y={};if(void 0!==p&&(y.engine=p),void 0!==m&&(y.frameRate=m),void 0!==h&&(y.duration=h),void 0!==o||d){const t=l({},o||{});d&&(t.finish="reset"),y.trigger=t}return void 0!==i&&(y.delay=i),void 0!==a&&(y.iterations=a),void 0!==s&&(y.direction=s),void 0!==f&&(y.fillMode=f),Object.keys(y).length>0?u(l({},g),{timeline:y}):g}function te(t){var e;if(t)return null==(e=qt(t))?void 0:e.definitions}function ee(t){var e;if(t)return null==(e=qt(t))?void 0:e.bindings}function ne(t){return null==t?void 0:t.children}var re=I.union([I.string(),I.tuple([I.number(),I.number(),I.number(),I.number()])]),oe=I.union([I.string(),I.number(),I.array(I.number()),I.object({pathData:I.string()}),I.lazy(()=>I.array(Ge),[]),I.lazy(()=>he,{})]),ie=I.object({time:I.number().optional(),value:oe.optional(),easing:re.optional(),tangentOut:I.tuple([I.number(),I.number()]).optional(),tangentIn:I.tuple([I.number(),I.number()]).optional()}),ae=t=>{var e,n;return null!=(n=null!=(e=t.time)?e:t.t)?n:0},se=t=>{var e;return null!=(e=t.value)?e:t.v},le=t=>{var e;return null!=(e=t.easing)?e:t.e},ue=t=>t.tangentIn,ce=t=>t.tangentOut,fe=I.object({segmentCount:I.number().optional(),repeatAt:I.enum([Pt.start,Pt.end]).optional(),direction:I.enum([_t.normal,_t.alternate]).optional()}),de=I.object({value:oe.optional(),keyframes:I.array(ie).optional(),loop:I.union([fe,I.boolean()]).optional(),autoOrient:I.boolean().optional(),alongPathMode:I.enum([pt.sampled,pt.offsetPath]).optional()}),he=I.object({translate:I.tuple([I.number(),I.number()]).optional(),rotate:I.number().optional(),skew:I.number().optional(),scale:I.tuple([I.number(),I.number()]).optional(),origin:I.tuple([I.number(),I.number()]).optional()}),pe=I.union([I.string(),he,I.object({value:he}),de]),me=I.record(de),ge=I.union([I.string(),I.array(I.union([I.string(),me])),me]),ve=I.object({start:I.enum([it.load,it.mouseOver,it.click,it.none],xt.start).optional(),offScreen:I.enum([at.pause,at.continue,at.reset],xt.offScreen).optional(),mouseOut:I.enum([st.continue,st.pause,st.reset,st.reverse],xt.mouseOut).optional(),finish:I.enum([lt.hold,lt.reset]).optional(),visibilityThreshold:I.number().optional(),visibilityDebounce:I.number().optional()}),ye=I.object({width:I.number(),pathData:I.string()}),be=I.object({fontFamily:I.string(),fontStyle:I.string(),ascent:I.number(),unitsPerEm:I.number(),glyphs:I.record(ye)}),ke=I.object({easings:I.record(I.tuple([I.number(),I.number(),I.number(),I.number()])).optional(),animations:I.record(me).optional(),fonts:I.record(be).optional()}),Ae=I.object({phase:I.enum([ht.cover,ht.contain,ht.entry,ht.exit,ht.entryCrossing,ht.exitCrossing]).optional(),fraction:I.number().optional()}),we=I.object({start:Ae.optional(),end:Ae.optional()}),xe=I.object({kind:I.enum([ut.view,ut.scroll]).optional(),axis:I.enum([ct.block,ct.inline,ct.x,ct.y]).optional(),source:I.enum([ft.nearest,ft.root]).optional(),subject:I.string().optional(),smoothing:I.number().optional(),pin:I.boolean().optional(),pinAlign:I.enum([dt.top,dt.center,dt.bottom]).optional(),pinOffset:I.number().optional(),pinDistance:I.number().optional(),range:we.optional()}),je=I.object({align:I.enum([dt.top,dt.center,dt.bottom]).optional(),offset:I.number().optional(),distance:I.number().optional()}),Oe=I.enum([bt.auto,bt.native,bt.js]).optional(),Se=I.object({type:I.literal("time").optional(),engine:Oe,frameRate:I.number().optional(),duration:I.number().optional(),trigger:ve.optional(),delay:I.number().optional(),iterations:I.union([I.number(),I.literal("infinite")]).optional(),fillMode:I.enum([et.forwards,et.backwards,et.both,et.none]).optional(),direction:I.enum([nt.normal,nt.reverse,nt.alternate,nt.alternateReverse]).optional()}),Me={duration:I.number().optional(),iterations:I.number().optional(),engine:Oe,frameRate:I.number().optional(),axis:I.enum([ct.block,ct.inline,ct.x,ct.y]).optional(),source:I.enum([ft.nearest,ft.root]).optional(),subject:I.string().optional(),smoothing:I.number().optional(),pin:I.union([I.boolean(),je]).optional(),range:we.optional()},Pe=I.object(l({type:I.literal("scroll")},Me)),_e=I.object(l({type:I.literal("view")},Me)),ze=I.discriminatedUnion("type",[Se,Pe,_e]),De=I.object({target:I.string(),animateWith:I.array(I.string())}),Ne=I.object({timeline:ze.optional(),definitions:ke.optional(),bindings:I.array(De).optional(),debugGlobalName:I.string().optional(),version:I.string().optional()}),Ie=I.union([I.string(),I.number(),I.array(I.number()),I.object({value:I.defined()}),he]),Te=I.union([I.number(),de,I.object({value:I.number()})]),Ce=I.union([I.tuple([I.number(),I.number()]),de,I.object({value:I.tuple([I.number(),I.number()])})]),Ee=I.union([I.string(),de,I.object({value:I.string()})]),Ue=I.object({translate:Ce.optional(),rotate:Te.optional(),scale:Ce.optional(),skew:Te.optional(),origin:Ce.optional()}),Re=I.object({copies:I.number().optional(),translate:Ce.optional(),rotate:Te.optional(),skew:Te.optional(),scale:Ce.optional(),origin:Ce.optional()}),Fe=I.object({source:I.string().optional(),maskType:I.enum([zt.luminance,zt.alpha]).optional(),maskUnits:I.enum([Dt.userSpaceOnUse,Dt.objectBoundingBox]).optional(),maskContentUnits:I.enum([Dt.userSpaceOnUse,Dt.objectBoundingBox]).optional(),x:I.number().optional(),y:I.number().optional(),width:I.number().optional(),height:I.number().optional()}),Be=I.object({pathData:Ee.optional()}),Le=I.object({offset:Te.optional(),range:Ce.optional(),subPaths:I.enum([Ut.separate,Ut.combined]).optional()}),Ve=I.object({start:I.number().optional(),stretch:I.number().optional(),timeCrop:I.tuple([I.number(),I.number()]).optional()}),We=I.object({without:I.enum([Nt.translate]).optional(),source:I.string().optional(),retime:Ve.optional()}),Ge=I.object({offset:I.number(),color:I.string()}),Ze=I.union([I.array(Ge),I.object({value:I.array(Ge)}),de]),Ke=I.object({type:I.enum([Jt.linear,Jt.radial]),start:Ce.optional(),end:Ce.optional(),center:Ce.optional(),radius:Te.optional(),focal:Ce.optional(),stops:Ze.optional(),gradientUnits:I.enum([Dt.userSpaceOnUse,Dt.objectBoundingBox]).optional(),spreadMethod:I.enum([Kt.pad,Kt.reflect,Kt.repeat]).optional(),gradientTransform:I.string().optional()}),Je=Ke,Xe=I.object({pathData:I.string(),pathOverflow:I.enum([It.clip,It.extend]).optional(),lengthAdjust:I.enum([Tt.spacing,Tt.spacingAndGlyphs]).optional(),method:I.enum([Ct.align,Ct.stretch]).optional(),spacing:I.enum([Et.auto,Et.exact]).optional(),startOffset:Te.optional(),textLength:Te.optional()}),qe=I.object({useGlyphs:I.boolean().optional()}),Qe=I.object({transformBy:Ue.optional(),repeater:Re.optional(),maskedBy:Fe.optional(),clipPath:Be.optional(),strokeTrim:Le.optional(),clone:We.optional(),fillGradient:Ke.optional(),strokeGradient:Je.optional(),textPath:Xe.optional(),text:qe.optional()});function Ye(t,e){const n=[],r=(t,o)=>{if(t&&t.effects){const r={errors:[],warnings:[],strict:!!(null==e?void 0:e.strict)};if(!Qe.isValid(t.effects,r,[o+".effects"]))for(const t of r.errors)n.push(t)}t&&Array.isArray(t.children)&&t.children.forEach((t,e)=>r(t,o+".children["+e+"]"))};return r(t,"root"),n}function He(t,e){var n;const r=!1!==(null==e?void 0:e.strict),o={errors:[],warnings:[],strict:r},i=nn.isValid(t,o,["root"])?[]:[...o.errors];if(t&&"object"==typeof t){for(const e of Ye(t,{strict:r}))i.includes(e)||i.push(e);const e=null==(n=qt(t))?void 0:n.definitions;for(const n of function(t,e){if(!e||!Object.keys(e).length)return[];const n=[],r=(t,o,i,a)=>{var s,l;if(!t)return;const u="string"==typeof t.fontFamily?t.fontFamily:void 0,c=null!=u?u:i,f=a||"text"===t.type&&!!(null==(l=null==(s=t.effects)?void 0:s.text)?void 0:l.useGlyphs);if(f&&u&&!Object.prototype.hasOwnProperty.call(e,u)){const t=o+': glyph-mode text uses font-family "'+u+'", which has no entry in animator.definitions.fonts';n.includes(t)||n.push(t)}Array.isArray(t.children)&&t.children.forEach((t,e)=>r(t,o+".children["+e+"]",c,f))};return r(t,"root",void 0,!1),n}(t,null==e?void 0:e.fonts))i.includes(n)||i.push(n);for(const n of function(t,e){const n=[],r=(t,o)=>{if(Array.isArray(t))return void t.forEach((t,e)=>r(t,o+"["+e+"]"));if(!t||"object"!=typeof t)return;const i=t.easing;if(!("string"!=typeof i||e&&Object.prototype.hasOwnProperty.call(e,i))){const t=o+'.easing: "'+i+'" names no entry in animator.definitions.easings — it will play linear';n.includes(t)||n.push(t)}for(const[e,n]of Object.entries(t))"easing"!==e&&n&&"object"==typeof n&&r(n,o+"."+e)};return r(t,"root"),n}(t,null==e?void 0:e.easings))i.includes(n)||i.push(n);for(const e of function(t){var e;const n=null==(e=qt(t))?void 0:e.version;return void 0===n||void 0!==F(n)?[]:["root.animator.version: "+JSON.stringify(n)+' is not a version stamp ("a.b" or "a.b.c") — it reads as unstamped']}(t))i.includes(e)||i.push(e)}return i}var $e=I.openObject({type:I.string(),domType:I.string().optional(),textContent:I.string().optional(),id:I.string().optional(),meta:I.any().optional(),effects:Qe.optional(),animate:ge.optional(),style:I.record(I.union([I.string(),I.number()])).optional()},Ie),tn=I.openObject(u(l({},$e._shape),{children:I.lazy(()=>I.array(tn),[]).optional()}),Ie),en=I.object({width:I.union([I.number(),I.string()]).optional(),height:I.union([I.number(),I.string()]).optional(),viewBox:I.string().optional(),animator:Ne.optional()}),nn=I.openObject(u(l(l({},$e._shape),en._shape),{type:I.literal("svg"),children:I.array(tn).optional()}),Ie),rn=I.object({v:I.array(I.array(I.number())),i:I.array(I.array(I.number())).optional(),o:I.array(I.array(I.number())).optional(),c:I.boolean().optional()});function on(t){const e=He(t,{strict:!1});return{valid:0===e.length,errors:e}}var an=0;function sn(){return"_px_"+Date.now().toString(36)+(++an).toString(36)+Math.random().toString(36).substring(2,6)}function ln(t){if(null===t||"object"!=typeof t)return t;if(Array.isArray(t))return t.map(t=>ln(t));const e=t,n={};for(const t of Object.keys(e))n[t]=ln(e[t]);return n}function un(t){var e;const n=ln(t),r=new Map,o=new Set(["href","xlink:href"]),i=new Set(["fill","stroke","clip-path","clipPath","mask","marker","marker-start","marker-mid","marker-end","filter","flood-color","lighting-color"]),a=new Set(["targetId","boundElementId"]),s=(t,e)=>"source"===t&&("maskedBy"===e||"clone"===e);!function t(e){if(e&&"object"==typeof e){if(e.id&&"string"==typeof e.id){const t=e.id,n=sn();r.set(t,n),e.id=n}else e.animate&&(e.id=sn());if(Array.isArray(e.children))for(const n of e.children)t(n)}}(n),function t(e,n){if(e&&"object"==typeof e)for(const[l,u]of Object.entries(e))if("children"!==l)if("string"==typeof u)if(o.has(l)&&u.startsWith("#")){const t=u.slice(1),n=r.get(t);n&&(e[l]="#"+n)}else if(i.has(l))e[l]=cn(u,r);else if(a.has(l)||s(l,n)){const t=u.startsWith("#"),n=r.get(t?u.slice(1):u);n&&(e[l]=t?"#"+n:n)}else u.includes("url(#")&&(e[l]=cn(u,r));else if("style"===l&&"object"==typeof u&&null!==u)for(const[t,e]of Object.entries(u))"string"==typeof e&&(u[t]=cn(e,r));else"object"==typeof u&&null!==u&&t(u,l);else if(Array.isArray(u))for(const e of u)t(e)}(n);const c=null==(e=n.animator)?void 0:e.bindings;if(Array.isArray(c)){const t=c.map(t=>{var e;const n=t.target.startsWith("#"),o=n?t.target.slice(1):t.target,i=null!=(e=r.get(o))?e:o;return u(l({},t),{target:n?"#"+i:i})});n.animator=u(l({},n.animator),{bindings:t})}return n}function cn(t,e){return t.replace(/url\(#([^)]+)\)/g,(t,n)=>{const r=e.get(n);return r?"url(#"+r+")":t})}function fn(t,e=!1){var n,r,o,i;const a=t.v,s=t.i,l=t.o,u=t.c;if(!a.length)return"";const c=[],f=a.length;c.push("M"+a[0][0]+","+a[0][1]);for(let t=1;t<f;t++){const o=a[t-1],i=null!=(n=null==l?void 0:l[t-1])?n:o,u=null!=(r=null==s?void 0:s[t])?r:a[t],f=a[t];!e&&i[0]===o[0]&&i[1]===o[1]&&u[0]===f[0]&&u[1]===f[1]?c.push("L"+f[0]+","+f[1]):c.push("C"+i[0]+","+i[1]+","+u[0]+","+u[1]+","+f[0]+","+f[1])}if(u&&f>0){const t=a[f-1],n=null!=(o=null==l?void 0:l[f-1])?o:t,r=null!=(i=null==s?void 0:s[0])?i:a[0],u=a[0];!e&&n[0]===t[0]&&n[1]===t[1]&&r[0]===u[0]&&r[1]===u[1]||c.push("C"+n[0]+","+n[1]+","+r[0]+","+r[1]+","+u[0]+","+u[1]),c.push("z")}return c.join("")}function dn(t,e,n){return t+(e-t)*n}function hn(t,e,n){const r=[],o=Math.max(t.length,e.length);for(let i=0;i<o;i++)r[i]=dn(t[i]||0,e[i]||0,n);return r}function pn(t,e,n){return[dn(t[0]||0,e[0]||0,n),dn(t[1]||0,e[1]||0,n),dn(t[2]||0,e[2]||0,n),dn(void 0===t[3]?1:t[3],void 0===e[3]?1:e[3],n)]}function mn(t,e,n){const r=Math.max(t.length,e.length),o=[];for(let i=0;i<r;i++)o.push(gn(t[i],e[i],n));return o}function gn(t,e,n){var r,o,i,a,s,l,u,c,f;if(!t||!e)return t||e||{v:[]};const d=Math.min(Math.max(n,0),1),h=Math.min(t.v.length,e.v.length),p=[],m=[],g=[];for(let n=0;n<h;n++){const f=t.v[n],h=e.v[n];p.push(hn(f,h,d));const v=null!=(o=null==(r=t.i)?void 0:r[n])?o:f,y=null!=(a=null==(i=e.i)?void 0:i[n])?a:h;m.push(hn(v,y,d));const b=null!=(l=null==(s=t.o)?void 0:s[n])?l:f,k=null!=(c=null==(u=e.o)?void 0:u[n])?c:h;g.push(hn(b,k,d))}return{v:p,i:m.length?m:void 0,o:g.length?g:void 0,c:null!=(f=t.c)?f:e.c}}function vn(t,e,n){if(n<=0)return 0;if(n>=1)return 1;const r=3*t,o=3*(e-t)-r,i=1-r-o;function a(t){return((i*t+o)*t+r)*t}function s(t){return(3*i*t+2*o)*t+r}let l=n,u=0,c=1;for(let t=0;t<8;t++){const t=a(l)-n;if(Math.abs(t)<1e-6)return l;const e=s(l);if(Math.abs(e)<1e-6)break;l-=t/e}for(l=n;u<c;){const t=a(l);if(Math.abs(t-n)<1e-6)return l;n>t?u=l:c=l,l=(c+u)/2}return l}function yn(t){const[e,n,r,o]=t,i=3*n,a=3*(o-n)-i,s=1-i-a;return function(t){return n=vn(e,r,t),((s*n+a)*n+i)*n;var n}}function bn(t,e,n){return[t[0]+(e[0]-t[0])*n,t[1]+(e[1]-t[1])*n]}function kn(t,e,n,r,o){const i=bn(t,e,o),a=bn(e,n,o),s=bn(n,r,o),l=bn(i,a,o),u=bn(a,s,o),c=bn(l,u,o);return{left:[t,i,l,c],right:[c,u,s,r]}}function An(t,e){if(!t)return{left:void 0,right:void 0};if(e<=0)return{left:void 0,right:t};if(e>=1)return{left:t,right:void 0};const[n,r,o,i]=t,a=vn(n,o,e),s=[n,r],l=[o,i],{left:u,right:c}=kn([0,0],s,l,[1,1],a),f=u[3][0],d=u[3][1];let h,p;f>1e-9&&Math.abs(d)>1e-9&&(h=[u[1][0]/f,u[1][1]/d,u[2][0]/f,u[2][1]/d]);const m=1-f,g=1-d;return m>1e-9&&Math.abs(g)>1e-9&&(p=[(c[1][0]-f)/m,(c[1][1]-d)/g,(c[2][0]-f)/m,(c[2][1]-d)/g]),{left:h,right:p}}function wn(t){if(t)return[1-t[2],1-t[3],1-t[0],1-t[1]]}function xn(t){const e=Math.round(255*t[0]),n=Math.round(255*t[1]),r=Math.round(255*t[2]);return 4===t.length?"rgba("+e+","+n+","+r+","+t[3]+")":"rgb("+e+","+n+","+r+")"}function jn(t){if(t){if(Array.isArray(t))return t;if("string"==typeof t)return t.startsWith("#")?function(t){const e=t.slice(1),n=e.length<=4,r=n?e[0]+e[0]:e.slice(0,2),o=n?e[1]+e[1]:e.slice(2,4),i=n?e[2]+e[2]:e.slice(4,6),a=4===e.length?e[3]+e[3]:8===e.length?e.slice(6,8):null,s=[parseInt(r,16)/255,parseInt(o,16)/255,parseInt(i,16)/255];return null!==a&&s.push(parseInt(a,16)/255),s}(t):t.startsWith("rgb")?function(t){var e;const n=null==(e=t.match(/rgba?\((.*)\)/))?void 0:e[1];if(!n)throw new Error("Invalid rgb/rgba format");const r=n.split(",").map(t=>+t.trim());return[r[0]/255,r[1]/255,r[2]/255,...void 0!==r[3]?[r[3]]:[]]}(t):void console.warn("Unsupported color format: "+t)}}var On=new Set(["color","fill","flood-color","lighting-color","stop-color","stroke"]),Sn=new Set(["translate","rotate","scale","skew"]),Mn=new Set(["offset-distance","offsetDistance"]);function Pn(t,e){var n;if(!t)return"";const r=null==(n=null==e?void 0:e.withUnits)||n,o=[],i=t.translate,a=t.origin,s=t.rotate,l=t.skew,u=t.scale,c=r?"px":"",f=r?"deg":"";return i&&o.push("translate("+i[0]+c+","+i[1]+c+")"),a&&o.push("translate("+a[0]+c+","+a[1]+c+")"),null!=s&&o.push("rotate("+s+f+")"),null!=l&&o.push("skewX("+l+f+")"),u&&o.push("scale("+u[0]+","+u[1]+")"),a&&o.push("translate("+-a[0]+c+","+-a[1]+c+")"),o.join("")}var _n=new Set(["offset-distance","offsetDistance"]),zn=1e3;function Dn(t){return t.includes("-")?t.replace(/-([a-z])/g,(t,e)=>e.toUpperCase()):t}function Nn(t){return!t.includes("-")&&/[a-z][A-Z]/.test(t)}var In=new Set(["viewBox","preserveAspectRatio","gradientUnits","gradientTransform","spreadMethod","patternUnits","patternContentUnits","patternTransform","clipPathUnits","maskUnits","maskContentUnits","markerUnits","markerWidth","markerHeight","refX","refY","textLength","lengthAdjust","startOffset","filterUnits","primitiveUnits","tableValues","stdDeviation","baseFrequency","numOctaves","surfaceScale","diffuseConstant","specularConstant","specularExponent","kernelMatrix","kernelUnitLength","edgeMode","preserveAlpha","targetX","targetY"]);function Tn(t){return In.has(t)?t:t.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}function Cn(t,e,n){return Math.max(e,Math.min(t,n))}function En(t,e,n,r,o){if(o<=0)return[t[0],t[1]];if(o>=1)return[r[0],r[1]];const i=1-o,a=i*i,s=o*o,l=a*i,u=3*o*a,c=3*s*i,f=s*o;return[l*t[0]+u*e[0]+c*n[0]+f*r[0],l*t[1]+u*e[1]+c*n[1]+f*r[1]]}var Un=1e-4;function Rn(t,e,n,r,o){const i=Fn(t,e,n,r,o);if(0===i[0]&&0===i[1]){return Fn(t,e,n,r,o<.5?o+Un:o-Un)}return i}function Fn(t,e,n,r,o){const i=1-o,a=3*i*i,s=6*o*i,l=3*o*o;return[a*(e[0]-t[0])+s*(n[0]-e[0])+l*(r[0]-n[0]),a*(e[1]-t[1])+s*(n[1]-e[1])+l*(r[1]-n[1])]}function Bn(t,e,n,r,o=100){const i=o+1,a=new Float64Array(i),s=new Float64Array(i);let l=En(t,e,n,r,0);a[0]=0,s[0]=0;let u=0;for(let c=1;c<i;c++){const i=c/o,f=En(t,e,n,r,i),d=f[0]-l[0],h=f[1]-l[1];u+=Math.sqrt(d*d+h*h),a[c]=i,s[c]=u,l=f}return{ts:a,ds:s}}function Ln(t,e){const{ts:n,ds:r}=t,o=n.length-1;if(e<=n[0])return r[0];if(e>=n[o])return r[o];let i=1,a=o;for(;i<a;){const t=i+a>>>1;n[t]<e?i=t+1:a=t}const s=n[a-1],l=n[a]-s,u=l>0?(e-s)/l:0;return r[a-1]+u*(r[a]-r[a-1])}var Vn=new Set(["script","foreignobject"]),Wn=new Set(["href","xlink:href","src","filter","clippath","mask","markerstart","markermid","markerend"]),Gn=new Set(["href","xlink:href","src"]),Zn=new Set(["mixBlendMode","isolation"]),Kn=/^data:image\/(?:png|jpe?g|gif|webp|bmp);base64,/i,Jn=/^data:image\/svg\+xml(?:;[^,]*)?,/i,Xn=/^data:image\/[^;,]*;base64,([A-Za-z0-9+/]{8})/i,qn=["iVBORw0K","/9j/","R0lGOD","UklGR","Qk"];function Qn(t,e){const n=t.toLowerCase();if(!function(t){return!!t.startsWith("on")}(n)){if("fill"===n||"stroke"===n||"stopcolor"===n){const t=String(e);return t.includes("url(")&&!/^url\(#[^)]+\)$/.test(t)?void console.warn('Attribute "'+n+'" blocked: url() must be internal url(#id), got:',e):e}if(Wn.has(n)){const t=String(e);return t.startsWith("#")||(/^url\(#[^)]+\)$/.test(t)||Gn.has(n)&&(Kn.test(t)||Jn.test(t)||function(t){const e=Xn.exec(t);return!!e&&qn.some(t=>e[1].startsWith(t))}(t)))?e:void console.warn('Attribute "'+n+'" blocked: must be #id, url(#id), or data:image/… URI, got:',e)}return e}console.warn("Attribute blocked (event handler / dangerous): ",n)}function Yn(t){const e={};for(const n of Object.keys(t)){const r=Dn(n);if(Lt.has(r))continue;if("style"===r)continue;let o=t[n];if(On.has(r)&&Array.isArray(o))e[r]=xn(o);else if("transform"!==r||null===o||"object"!=typeof o||Array.isArray(o)||o.keyframes)Sn.has(r)?(Array.isArray(o)&&("translate"===r&&(o=o.map(t=>t+"px")),o=o.join(",")),"rotate"===r&&(o+="deg"),e[Bt]=r+"("+o+")"):Array.isArray(o)?e[r]=o.join(","):null!=o&&(e[r]=String(o));else{const t=o.value&&"object"==typeof o.value?o.value:o;e[Bt]=Pn(t,{withUnits:!1})}}return e}function Hn(t,e){if(!t)return t;const n=e&&"object"==typeof e&&!Array.isArray(e)?e:function(t){var e,n;if(!t||"string"!=typeof t)return;const r={},o=/([a-zA-Z]+)\s*\(([^)]*)\)/g,i=["translate","rotate","skewX","scale"];let a,s=-1;for(;null!==(a=o.exec(t));){const t=a[1],o=i.indexOf(t);if(o<0||o<=s)return;s=o;const l=a[2].split(/[\s,]+/).filter(Boolean).map(Number);if(l.some(t=>Number.isNaN(t)))return;if("translate"===t){if(l.length<1||l.length>2)return;r.translate=[l[0],null!=(e=l[1])?e:0]}else if("rotate"===t){if(1!==l.length)return;r.rotate=l[0]}else if("skewX"===t){if(1!==l.length)return;r.skew=l[0]}else{if(l.length<1||l.length>2)return;r.scale=[l[0],null!=(n=l[1])?n:l[0]]}}return t.replace(/([a-zA-Z]+)\s*\(([^)]*)\)/g,"").replace(/[\s,]/g,"").length?void 0:Object.keys(r).length?r:void 0}(e);if(!n||!Object.keys(n).length)return t;const r=t=>t&&"object"==typeof t&&!Array.isArray(t)?l(l({},n),t):t,o=t[Bt];if(o&&"object"==typeof o){const e=o;if(Array.isArray(e.keyframes)){const n=u(l({},e),{keyframes:e.keyframes.map(t=>u(l({},t),{value:r(t.value)}))});return void 0!==n.value&&(n.value=r(n.value)),u(l({},t),{transform:n})}return t}const i=Object.keys(t).filter(t=>Sn.has(t));if(1!==i.length)return t;const a=i[0],s=t[a];if(!s||"object"!=typeof s||!Array.isArray(s.keyframes))return t;const c=u(l({},s),{keyframes:s.keyframes.map(t=>u(l({},t),{value:u(l({},n),{[a]:t.value})}))});void 0!==c.value&&(c.value=u(l({},n),{[a]:c.value}));const f=l({},t);return delete f[a],u(l({},f),{transform:c})}function $n(t){const e=se(t);if(!e)return;if(Array.isArray(e)&&e.length>=2&&"number"==typeof e[0]&&"number"==typeof e[1])return[e[0],e[1]];const n=e.translate;return Array.isArray(n)&&n.length>=2?[n[0],n[1]]:void 0}function tr(t){return ae(t)}function er(t){return le(t)}function nr(t){const e=t.keyframes;if(!Array.isArray(e))return!1;if(t.autoOrient)return!0;for(const t of e)if(ue(t)||ce(t))return!0;return!1}var rr=new WeakMap;function or(t,e,n,r){let o=rr.get(t);const i=null==o?void 0:o.get(e);if(i)return i;const a=ce(t),s=ue(e),l=[n[0]+(a?a[0]:0),n[1]+(a?a[1]:0)],u=[r[0]+(s?s[0]:0),r[1]+(s?s[1]:0)],c=Bn(n,l,u,r),f={P0:n,P1:l,P2:u,P3:r,lut:c,totalArc:c.ds[c.ds.length-1]};return o||(o=new WeakMap,rr.set(t,o)),o.set(e,f),f}function ir(t,e){var n,r,o;if(!nr(t))return t;const i=t.keyframes;if(!Array.isArray(i)||i.length<2)return t;const a=!!t.autoOrient,s=null!=(n=null==e?void 0:e.flatnessTolerance)?n:.5,l=null!=(r=null==e?void 0:e.rotationTolerance)?r:5,u=null!=(o=null==e?void 0:e.maxSamplesPerSegment)?o:32,c=[],f=$n(i[0]);if(!f)return t;const d=a?function(t,e){const n=$n(t),r=$n(e);if(!n||!r)return 0;const o=or(t,e,n,r),i=Rn(o.P0,o.P1,o.P2,o.P3,0);return 180*Math.atan2(i[1],i[0])/Math.PI}(i[0],i[1]):void 0;c.push(sr(tr(i[0]),cr(lr(i[0]),lr(i[0]),0,f,d,a)));for(let t=0;t<i.length-1;t++){const e=i[t],n=i[t+1],r=$n(e),o=$n(n);r&&o?(a&&t>0&&dr(c,e,n,r,o,l),pr(c,e,n,r,o,a,s,l,u)):c.push(sr(tr(n),cr(lr(n),lr(n),1,null!=o?o:[0,0],void 0,a)))}const h=er(i[i.length-1]);h&&(c[c.length-1].e=h),a&&ar(c);const p={keyframes:c};return void 0!==t.loop&&(p.loop=t.loop),p}function ar(t){let e;for(const n of t){const t=se(n);if(!t||"number"!=typeof t.rotate)continue;if(void 0===e){e=t.rotate;continue}let r=t.rotate;for(;r-e>180;)r-=360;for(;r-e<-180;)r+=360;t.rotate=r,e=r}}function sr(t,e){return{t:t,v:e}}function lr(t){const e=se(t);if(e&&"object"==typeof e&&!Array.isArray(e))return e}function ur(t,e,n){if(void 0===t)return e;if(void 0===e)return t;if("number"==typeof t&&"number"==typeof e)return t+(e-t)*n;if(Array.isArray(t)&&Array.isArray(e)&&t.length===e.length){const r=new Array(t.length);for(let o=0;o<t.length;o++){const i="number"==typeof t[o]?t[o]:0,a="number"==typeof e[o]?e[o]:0;r[o]=i+(a-i)*n}return r}return n<.5?t:e}function cr(t,e,n,r,o,i){const a={translate:r},s=new Set;if(t)for(const e of Object.keys(t))s.add(e);if(e)for(const t of Object.keys(e))s.add(t);for(const r of s){if("translate"===r)continue;if("rotate"===r&&i)continue;const o=null==t?void 0:t[r],s=null==e?void 0:e[r];void 0===o&&void 0===s||(a[r]=ur(o,s,n))}return void 0!==o&&(a.rotate=o+fr(t,e,n)),a}function fr(t,e,n){const r="number"==typeof(null==t?void 0:t.rotate)?t.rotate:void 0,o="number"==typeof(null==e?void 0:e.rotate)?e.rotate:void 0;if(void 0===r&&void 0===o)return 0;const i=ur(r,o,n);return"number"==typeof i?i:0}function dr(t,e,n,r,o,i){const a=t[t.length-1],s=se(a),l=null==s?void 0:s.rotate;if("number"!=typeof l)return;const u=lr(e),c=l-fr(u,u,0),f=or(e,n,r,o),d=Rn(f.P0,f.P1,f.P2,f.P3,0),h=180*Math.atan2(d[1],d[0])/Math.PI,p=function(t,e){let n=t-e;for(;n>180;)n-=360;for(;n<-180;)n+=360;return n}(h,c);if(Math.abs(p)<=i)return;const m=tr(e),g=Math.min(m+hr,(m+tr(n))/2),v=cr(lr(e),lr(e),0,r,h,!0);t.push(sr(g,v))}var hr=.05;function pr(t,e,n,r,o,i,a,s,l){const u=or(e,n,r,o),c=tr(e),f=tr(n),d=er(e),h=(p=d)?yn([p[1],p[0],p[3],p[2]]):t=>t;var p;const m=lr(e),g=lr(n),v=function(t,e,n,r,o){const i=[];mr(t.P0[0],t.P1[0],t.P2[0],t.P3[0],i),mr(t.P0[1],t.P1[1],t.P2[1],t.P3[1],i),i.sort((t,e)=>t-e);const a=[0];for(const t of i)t>a[a.length-1]+1e-6&&t<.999999&&a.push(t);a.push(1);const s=[],l={remaining:o-a.length};for(let o=0;o<a.length-1;o++)gr(a[o],a[o+1],s,t,e,n,r,l);return s}(u,i,a,s,l),y=[];for(const t of v){const e=Ln(u.lut,t),n=Cn(u.totalArc>0?e/u.totalArc:t,0,1),r={u:Cn(h(n),0,1),p:n,pos:En(u.P0,u.P1,u.P2,u.P3,t)};if(i){const e=Rn(u.P0,u.P1,u.P2,u.P3,t);r.rotateDeg=180*Math.atan2(e[1],e[0])/Math.PI}y.push(r)}let b=d,k=0;const A=t.length-1;for(let e=0;e<y.length;e++){const n=y[e],r=k<1?Cn((n.u-k)/(1-k),0,1):1,{left:o,right:a}=An(b,r),s=0===e?A:t.length-1;o?t[s].e=o:delete t[s].e;const l=c+n.u*(f-c),u=cr(m,g,n.p,n.pos,n.rotateDeg,i);t.push(sr(l,u)),b=a,k=n.u}}function mr(t,e,n,r,o){const i=e-t,a=n-e,s=i-2*a+(r-n),l=2*(a-i),u=i;if(Math.abs(s)<1e-10){if(Math.abs(l)>1e-10){const t=-u/l;t>1e-6&&t<.999999&&o.push(t)}return}const c=l*l-4*s*u;if(c<0)return;const f=Math.sqrt(c),d=(-l-f)/(2*s),h=(-l+f)/(2*s);d>1e-6&&d<.999999&&o.push(d),h>1e-6&&h<.999999&&o.push(h)}function gr(t,e,n,r,o,i,a,s){const l=(t+e)/2,u=En(r.P0,r.P1,r.P2,r.P3,t),c=En(r.P0,r.P1,r.P2,r.P3,e),f=e-t,d=En(r.P0,r.P1,r.P2,r.P3,t+.25*f),h=En(r.P0,r.P1,r.P2,r.P3,l),p=En(r.P0,r.P1,r.P2,r.P3,t+.75*f),m=Math.max(vr(d,u,c),vr(h,u,c),vr(p,u,c));let g=!0;if(o){const n=Rn(r.P0,r.P1,r.P2,r.P3,t),o=Rn(r.P0,r.P1,r.P2,r.P3,e),i=180*Math.atan2(n[1],n[0])/Math.PI,s=180*Math.atan2(o[1],o[0])/Math.PI;let l=Math.abs(i-s);l>180&&(l=360-l),l>a&&(g=!1)}m<=i&&g||s.remaining<=0||f<1e-6?n.push(e):(s.remaining-=1,gr(t,l,n,r,o,i,a,s),gr(l,e,n,r,o,i,a,s))}function vr(t,e,n){const r=n[0]-e[0],o=n[1]-e[1],i=r*r+o*o;if(i<1e-20){const n=t[0]-e[0],r=t[1]-e[1];return Math.sqrt(n*n+r*r)}const a=(t[0]-e[0])*o-(t[1]-e[1])*r;return Math.abs(a)/Math.sqrt(i)}function yr(t,e){const n=br(t,e);return null!=n?n:t}function br(t,e){let n,r;if(t.children)for(let r=0;r<t.children.length;r++){const o=br(t.children[r],e);null!==o&&(n||(n=t.children.slice()),n[r]=o)}const o=t.animate;if(o&&"object"==typeof o&&!Array.isArray(o)){const n=Hn(o,t.transform),i=n.transform;if(i&&"object"==typeof i&&nr(i)){const t=ir(i,e);t!==i&&(r=u(l({},n),{transform:t}))}}if(!n&&!r)return null;const i=l({},t);return n&&(i.children=n),r&&(i.animate=r),i}var kr=1;function Ar(t,e){if(t===e)return!0;if(typeof t!=typeof e||null===t||null===e||"object"!=typeof t)return!1;if(Array.isArray(t)!==Array.isArray(e))return!1;const n=Object.keys(t),r=Object.keys(e);return n.length===r.length&&n.every(n=>Ar(t[n],e[n]))}function wr(t){const e=[];let n;const r=function(t){const e=t.split(/([MLCZmlcz]|[\s,]+)/).map(t=>t.trim()).filter(t=>t&&","!==t),n=[];let r=null;for(const t of e)if(/[MLCZmlcz]/.test(t))r={type:t,values:[]},n.push(r);else if(r){const e=+t;r.values.push(Number.isNaN(e)?0:e)}return n}(t);for(const t of r){const r=t.type,o=t.values;if("M"===r||"m"===r){const t=o[0]||0,r=o[1]||0;n={v:[[t,r]],i:[[t,r]],o:[[t,r]],c:!1},e.push(n);continue}if(n||(n={v:[[0,0]],i:[[0,0]],o:[[0,0]],c:!1},e.push(n)),"L"===r){const t=o[0]||0,e=o[1]||0;n.v.push([t,e]),n.i.push([t,e]),n.o.push([t,e])}else if("C"===r){const t=o[0]||0,e=o[1]||0,r=o[2]||0,i=o[3]||0,a=o[4]||0,s=o[5]||0;n.o[n.o.length-1]=[t,e],n.v.push([a,s]),n.i.push([r,i]),n.o.push([a,s])}else"Z"===r||"z"===r?n.c=!0:console.warn('Unsupported path command "'+r+'"')}return e}function xr(t){return t.startsWith("path(")&&t.endsWith(")")?t.slice(5,-1):/^[MmZzLlHhVvCcSsQqTtAa]/.test(t)?t:void 0}function jr(t){return"string"==typeof t&&void 0!==xr(t)}function Or(t){if(t&&"object"==typeof t&&"string"==typeof t.pathData){const e=xr(t.pathData);return e?{paths:wr(e)}:t}if(t&&"object"==typeof t&&"paths"in t){const e=t.paths;if(Array.isArray(e)&&e.length>0&&jr(e[0])){const t=[];for(const n of e){const e=xr(n);e&&t.push(...wr(e))}return{paths:t}}return t}if(Array.isArray(t)){if(t.length>0&&jr(t[0])){const e=[];for(const n of t){const t=xr(n);t&&e.push(...wr(t))}return{paths:e}}return{paths:t}}if(jr(t)){return{paths:wr(xr(t))}}return t}function Sr(t,e){var n;if(t)return Array.isArray(t)?t:(null==(n=null==e?void 0:e.easings)?void 0:n[t])?e.easings[t]:void console.warn("Unknown easing name: "+t)}function Mr(t,e){var n;if("string"==typeof t){const r=null==(n=null==e?void 0:e.animations)?void 0:n[t];return r||console.warn("Unknown animation name: "+t),r}return t}function Pr(t,e,n,r){var o,i;if("d"===t){return{paths:mn(null!=(o=null==e?void 0:e.paths)?o:Array.isArray(e)?e:[],null!=(i=null==n?void 0:n.paths)?i:Array.isArray(n)?n:[],r)}}return On.has(t)?pn(e||[0,0,0,1],n||[0,0,0,1],r):"transform"!==t||"object"!=typeof e||null===e||Array.isArray(e)||"object"!=typeof n||null===n||Array.isArray(n)?"rotate"===t&&"number"==typeof e&&"number"==typeof n?dn(e,n,r):Sn.has(t)||"stroke-dasharray"===t||"strokeDasharray"===t?hn(e||[],n||[],r):dn(+(e||0),+(n||0),r):function(t,e,n){const r=new Set([...Object.keys(null!=t?t:{}),...Object.keys(null!=e?e:{})]),o={};for(const i of r){const r=null==t?void 0:t[i],a=null==e?void 0:e[i];if("rotate"===i||"skew"===i)o[i]=dn(+(null!=r?r:0),+(null!=a?a:0),n);else if("translate"===i||"scale"===i||"origin"===i){const t="scale"===i?[1,1]:[0,0];o[i]=hn(r||t,a||t,n)}else o[i]=null!=a?a:r}return o}(e,n,r)}function _r(t,e,n,r){var o,i,a,s,c;const f=e.length-1,d=Cn(null!=(o=n.segmentCount)?o:f,1,f);let h;h=n.repeatAt===Pt.start?e.slice(0,d+1):e.slice(f-d);const p=null!=(i=e[0].t)?i:0,m=null!=(a=e[e.length-1].t)?a:0;let g,v;n.repeatAt===Pt.start?(g=0,v=p):(g=m,v=r);const y=v-g;if(y<=0)return e;const b=null!=(s=h[0].t)?s:0,k=(null!=(c=h[h.length-1].t)?c:0)-b;if(k<=0)return e;const A=h.map(t=>({relT:(t.t-b)/k,v:t.v,e:t.e,tangentIn:ue(t),tangentOut:ce(t)})),w=Math.floor(y/k),x=y-w*k,j=x/k,O=[],S=n.repeatAt!==Pt.start,M=e[e.length-1];let P,_=!1;function z(e,n,r){var o;let i;if(n){i=[];for(let t=A.length-1;t>=0;t--)i.push({relT:1-A[t].relT,v:A[t].v,e:t>0?wn(A[t-1].e):void 0,tangentIn:A[t].tangentOut,tangentOut:A[t].tangentIn})}else i=A;const a=void 0!==r?r:1;for(let n=0;n<i.length;n++){const r=i[n];if(r.relT>a+1e-9){const o=i[n-1],s=r.relT-o.relT,l=(a-o.relT)/s,u=o.e?yn(o.e)(l):l,c=Pr(t,o.v,r.v,u),{left:f}=An(o.e,l);return O.length>0&&o.relT<=a&&(O[O.length-1].e=f),void O.push({t:e+a*k,v:c,e:void 0})}const s=O.length>0?O[O.length-1]:M,l=S&&0===n&&void 0!==s&&Math.abs((null!=(o=s.t)?o:0)-(e+r.relT*k))<1e-9;if(l){if(Ar(s.v,r.v)){O.length>0?(s.e=r.e,s.tangentOut=r.tangentOut):(P=r.e,_=!0);continue}O.length>0&&(delete s.tangentIn,delete s.tangentOut)}const u={t:e+r.relT*k+(l?1:0),v:r.v,e:n<i.length-1?r.e:void 0};r.tangentIn&&(u.tangentIn=r.tangentIn),r.tangentOut&&(u.tangentOut=r.tangentOut),O.push(u)}}if(n.repeatAt===Pt.start){if(j>1e-9){!function(e,n,r){let o;if(n){o=[];for(let t=A.length-1;t>=0;t--)o.push({relT:1-A[t].relT,v:A[t].v,e:t>0?wn(A[t-1].e):void 0,tangentIn:A[t].tangentOut,tangentOut:A[t].tangentIn})}else o=A;const i=1-r;for(let n=0;n<o.length;n++){const r=o[n];if(r.relT<i-1e-9)continue;const a=o[n-1];if(a&&a.relT<i-1e-9&&r.relT>i+1e-9){const n=r.relT-a.relT,o=(i-a.relT)/n,s=a.e?yn(a.e)(o):o,l=Pr(t,a.v,r.v,s),{right:u}=An(a.e,o);O.push({t:e,v:l,e:u})}const s={t:e+(r.relT-i)*k,v:r.v,e:n<o.length-1?r.e:void 0};r.tangentIn&&(s.tangentIn=r.tangentIn),r.tangentOut&&(s.tangentOut=r.tangentOut),O.push(s)}}(g,n.direction===_t.alternate&&w%2==0,j)}for(let t=0;t<w;t++){const e=w-1-t,r=n.direction===_t.alternate&&e%2==0;z(g+x+t*k,r)}}else{for(let t=0;t<w;t++){const e=n.direction===_t.alternate&&t%2==0;z(g+t*k,e)}if(j>1e-9){const t=n.direction===_t.alternate&&w%2==0;z(g+w*k,t,j)}}if(n.repeatAt===Pt.start)return[...O,...e];if(_&&e.length>0){return[...e.slice(0,-1),u(l({},e[e.length-1]),{e:P}),...O]}return[...e,...O]}function zr(t,e,n,r){var o;const i=e.keyframes||[],a=[];for(const e of i){const n=ae(e);let i=se(e);const s=le(e);"d"===t&&(i=Or(i));const l=Nn(t)?Tn(t):t;On.has(l)&&(i=null!=(o=jn(i))?o:i);const u={t:n,v:i,e:Sr(s,r)},c=ue(e),f=ce(e);c&&(u.tangentIn=c),f&&(u.tangentOut=f),a.push(u)}a.sort((t,e)=>{var n,r;return(null!=(n=t.t)?n:0)-(null!=(r=e.t)?r:0)});const s=e.loop,l=!0===s?{}:s||void 0;return l&&a.length>=2?_r(t,a,l,n):a}function Dr(t,e,n){const r=e.loop;if(null==r||!1===r)return e;const o=!0===r?{}:r,i=e.keyframes;if(!Array.isArray(i)||i.length<2)return e;const a=Nn(t)?Tn(t):t,s=On.has(a),l=i.map(e=>{var n;const r=ae(e);let o=se(e);"d"===t&&(o=Or(o)),s&&(o=null!=(n=jn(o))?n:o);const i={t:r,v:o,e:le(e)},a=ue(e),l=ce(e);return a&&(i.tangentIn=a),l&&(i.tangentOut=l),i}),u={keyframes:_r(t,l,o,n)};return void 0!==e.autoOrient&&(u.autoOrient=e.autoOrient),u}function Nr(t,e){const n=Ir(t,e);return null!=n?n:t}function Ir(t,e){let n,r;if(t.children)for(let r=0;r<t.children.length;r++){const o=Ir(t.children[r],e);null!==o&&(n||(n=t.children.slice()),n[r]=o)}const o=t.animate;if(o&&"object"==typeof o&&!Array.isArray(o)){const t=o;for(const n of Object.keys(t)){const o=t[n],i=Dr(n,o,e);i!==o&&(r||(r=l({},t)),r[n]=i)}}if(!n&&!r)return null;const i=l({},t);return n&&(i.children=n),r&&(i.animate=r),i}var Tr=0;function Cr(t,e=yt.native){const n=qt(t)||{},r=te(t),o=n.duration||1e3,i=[],a=(t,n,i)=>{if(0===n.length)return null;const a=function(t,e,n,r=yt.native){const o={};for(const[i,a]of Object.entries(t)){if("transform"===i&&"offsetPath"===a.alongPathMode&&void 0!==t.offsetDistance)continue;const s=zr(i,a,e,n);if(s.length>0){const t={keyframes:s};void 0!==a.autoOrient&&(t.autoOrient=a.autoOrient),void 0!==a.loop&&(t.loop=a.loop),o[i]=r===yt.native&&"transform"===i?ir(t):t}}return o}(Hn(function(t){const e={};for(const n of t)for(const[t,r]of Object.entries(n))e[t]=r;return e}(n),i),o,r,e);return 0===Object.keys(a).length?null:{id:t,animate:a}},s=ee(t);if(s)for(const t of s){const e=t.target.startsWith("#")?t.target.slice(1):t.target,n=t.animateWith.map(t=>Mr(t,r)).filter(t=>!!t),o=a(e,n);o&&i.push(o)}const l=t=>{const e=t.animate;if(e&&Object.keys(e).length>0){const n=t.id||"_px_el_"+ ++Tr;t.id=n;const o=a(n,function(t,e){if(!t)return[];const n=[];if("string"==typeof t){const r=Mr(t,e);r&&n.push(r)}else if(Array.isArray(t))for(const r of t){const t=Mr(r,e);t&&n.push(t)}else n.push(t);return n}(e,r),t.transform);o&&i.push(o)}if(t.children)for(let e=0;e<t.children.length;e++)l(t.children[e])};if(t.children)for(let e=0;e<t.children.length;e++)l(t.children[e]);return i}function Er(t,e,n){var r,o,i,a,s;const l=e.keyframes||[];if(0===l.length)return null;const{prevKf:u,nextKf:c}=function(t,e){var n,r;const o=t.length-1;let i=t[0],a=t[o>0?1:0];for(let s=0;s<o;s++){const l=null!=(n=t[s].t)?n:0,u=null!=(r=t[s+1].t)?r:0;if(l<=e&&e<=u){i=t[s],a=t[s+1];break}e>u&&s===o-1&&(i=t[o>0?o-1:0],a=t[o])}return{prevKf:i,nextKf:a}}(l,n);let f=u===c?0:(d=n,h=null!=(r=u.t)?r:0,p=null!=(o=c.t)?o:0,m=0,g=1,p===h?m:m+(d-h)/(p-h)*(g-m));var d,h,p,m,g;f=Cn(f,0,1);const v=le(u);if(v&&Array.isArray(v))try{f=yn(v)(f)}catch(t){}let y=Nn(t)?Tn(t):t,b=null;const k=null==u?void 0:u.v,A=null==c?void 0:c.v;if("d"===y){b=mn(null!=(i=null==k?void 0:k.paths)?i:Array.isArray(k)?k:[],null!=(a=null==A?void 0:A.paths)?a:Array.isArray(A)?A:[],f).map(t=>fn(t)).join("")}else if(On.has(y))b=xn(pn(k||[0,0,0,1],A||[0,0,0,1],f)),y=t;else if("stroke-dasharray"===y)b=hn(k||[],A||[],f).join(" "),y=t;else if("transform"!==y||null===k||"object"!=typeof k||Array.isArray(k))if("translate"===y){b="translate("+hn(k||[0,0],A||[0,0],f).join(",")+")",y="transform"}else if("rotate"===y){b="rotate("+dn(+(k||0),+(A||0),f)+")",y="transform"}else if("scale"===y){b="scale("+hn(k||[1,1],A||[1,1],f).join(",")+")",y="transform"}else{b=dn(+(k||0),+(A||0),f)}else{const t=new Set([...k?Object.keys(k):[],...A?Object.keys(A):[]]),n={};for(const e of t){const t=null==k?void 0:k[e],r=null==A?void 0:A[e];if("rotate"===e||"skew"===e)n[e]=dn(+(null!=t?t:0),+(null!=r?r:0),f);else if("translate"===e||"scale"===e||"origin"===e){const o="scale"===e?[1,1]:[0,0],i=hn(t||o,r||o,f);n[e]=i}}if(nr(e)){const t=k.translate,r=A.translate;if(Array.isArray(t)&&Array.isArray(r)){const o=function(t,e,n,r,o,i){const a=or(t,e,n,r),s=0===a.totalArc?o:function(t,e){const n=e*t.ds[t.ds.length-1],{ts:r,ds:o}=t,i=o.length-1;if(n<=0)return r[0];if(n>=o[i])return r[i];let a=1,s=i;for(;a<s;){const t=a+s>>>1;o[t]<n?a=t+1:s=t}const l=o[s-1],u=o[s]-l,c=u>0?(n-l)/u:0;return r[s-1]+c*(r[s]-r[s-1])}(a.lut,o),l=En(a.P0,a.P1,a.P2,a.P3,s);if(!i)return{translate:l};const u=Rn(a.P0,a.P1,a.P2,a.P3,s);return{translate:l,rotateDeg:180*Math.atan2(u[1],u[0])/Math.PI}}(u,c,[+t[0],+t[1]],[+r[0],+r[1]],f,!!e.autoOrient);n.translate=[o.translate[0],o.translate[1]],void 0!==o.rotateDeg&&(n.rotate=o.rotateDeg+(null!=(s=n.rotate)?s:0))}}b=Pn(n,{withUnits:!1}),y="transform"}return Mn.has(y)&&"number"==typeof b&&(b=100*b+"%"),{k:y,v:null===b?"":""+b}}function Ur(t,e){const n={};for(const[r,o]of Object.entries(t)){const t=Er(r,o,e);t&&(n[t.k]=t.v)}return n}var Rr=/[MmLlHhVvCcSsQqTtAaZz]/;function Fr(t,e,n){return{P1:[t[0]+2/3*(e[0]-t[0]),t[1]+2/3*(e[1]-t[1])],P2:[n[0]+2/3*(e[0]-n[0]),n[1]+2/3*(e[1]-n[1])]}}function Br(t){const e=function(t){const e=function(t){const e=[],n=/([MmLlHhVvCcSsQqTtAaZz])|(-?\d*\.?\d+(?:[eE][-+]?\d+)?)/g;let r;for(;null!==(r=n.exec(t));)e.push(r[0]);return e}(t),n=[];let r=0,o=0,i=0,a=0,s=0,l=0,u=0,c=0,f=0,d="";const h=()=>parseFloat(e[r++]),p=(t,e,r)=>{const a=[o,i],s=Bn(a,t,e,r,48);n.push({P0:a,P1:t,P2:e,P3:r,lut:s,len:s.ds[s.ds.length-1]}),o=r[0],i=r[1]},m=(t,e)=>{p([o+(t-o)/3,i+(e-i)/3],[o+2*(t-o)/3,i+2*(e-i)/3],[t,e])};for(;r<e.length;){let t=e[r];Rr.test(t)?r++:t="M"===d?"L":"m"===d?"l":d;const n=t>="a",g=t.toUpperCase();if("Z"!==g){if("M"===g){const e=h()+(n?o:0),r=h()+(n?i:0);o=e,i=r,a=e,s=r,d=t;continue}if("L"===g)m(h()+(n?o:0),h()+(n?i:0));else if("H"===g)m(h()+(n?o:0),i);else if("V"===g)m(o,h()+(n?i:0));else if("C"===g){const t=[h()+(n?o:0),h()+(n?i:0)],e=[h()+(n?o:0),h()+(n?i:0)],r=[h()+(n?o:0),h()+(n?i:0)];l=e[0],u=e[1],p(t,e,r)}else if("S"===g){const t="C"===d.toUpperCase()||"S"===d.toUpperCase()?[2*o-l,2*i-u]:[o,i],e=[h()+(n?o:0),h()+(n?i:0)],r=[h()+(n?o:0),h()+(n?i:0)];l=e[0],u=e[1],p(t,e,r)}else if("Q"===g){const t=[h()+(n?o:0),h()+(n?i:0)],e=[h()+(n?o:0),h()+(n?i:0)];c=t[0],f=t[1];const{P1:r,P2:a}=Fr([o,i],t,e);p(r,a,e)}else if("T"===g){const t="Q"===d.toUpperCase()||"T"===d.toUpperCase()?[2*o-c,2*i-f]:[o,i],e=[h()+(n?o:0),h()+(n?i:0)];c=t[0],f=t[1];const{P1:r,P2:a}=Fr([o,i],t,e);p(r,a,e)}else{if("A"!==g){r++;continue}r+=5,m(h()+(n?o:0),h()+(n?i:0))}d=t}else m(a,s),o=a,i=s,d=t}return n.length?n:null}(t);if(!e)return null;const n=new Float64Array(e.length+1);for(let t=0;t<e.length;t++)n[t+1]=n[t]+e[t].len;const r=n[e.length],o=e[0].P0,i=e[e.length-1].P3,a=Math.hypot(i[0]-o[0],i[1]-o[1])<.001,s=t=>{let r=0;for(;r<e.length-1&&t>n[r+1];)r++;const o=e[r],i=t-n[r],a=o.len>0?function(t,e){const{ts:n,ds:r}=t,o=r.length-1;if(e<=0)return n[0];if(e>=r[o])return n[o];let i=1,a=o;for(;i<a;){const t=i+a>>>1;r[t]<e?i=t+1:a=t}const s=r[a-1],l=r[a]-s,u=l>0?(e-s)/l:0;return n[a-1]+u*(n[a]-n[a-1])}(o.lut,i):0,[s,l]=En(o.P0,o.P1,o.P2,o.P3,a),[u,c]=Rn(o.P0,o.P1,o.P2,o.P3,a);return{x:s,y:l,angle:Math.atan2(c,u)}};return{totalLength:r,closed:a,sampleAtDistance(t){if(a&&r>0&&(t<0||t>r))return s((t%r+r)%r);if(!a&&(t<0||t>r)){const e=t<0?0:r,n=s(e),o=t-e;return{x:n.x+Math.cos(n.angle)*o,y:n.y+Math.sin(n.angle)*o,angle:n.angle}}return s((o=r,(e=t)<(n=0)?n:e>o?o:e));var e,n,o}}}function Lr(t,e,n){const r={};return"translate"===t?r.translate=e:"rotate"===t?r.rotate=e:"skew"===t?r.skew=e:r.scale=e,n&&"translate"!==t&&(r.origin=n),r}function Vr(t){var e,n;if(void 0===t)return{kind:"absent"};if(Array.isArray(t))return{kind:"static",value:t};if("object"==typeof t){const r=t,o=r.keyframes;if(o){const t={kind:"animated",keyframes:o.map(Gr),autoOrient:r.autoOrient,loop:r.loop},n=null!=(e=r.value)?e:r.v;return void 0!==n&&"animated"===t.kind&&(t.base=n),t}const i=null!=(n=r.value)?n:r.v;if(void 0!==i)return{kind:"static",value:i}}return{kind:"static",value:t}}function Wr(t,e,n,r){var o,i,a,s;const u=t=>(null==r?void 0:r.asString)&&null!=t?String(t):t;if("absent"===n.kind)return;if("static"===n.kind)return void(t[e]=u(n.value));const c=t.animate&&"object"==typeof t.animate&&!Array.isArray(t.animate)?t.animate:void 0,f=l({},c||{}),d={keyframes:n.keyframes};void 0!==n.loop&&(d.loop=n.loop),void 0!==n.autoOrient&&(d.autoOrient=n.autoOrient),f[e]=d,t.animate=f;const h=null!=(s=null!=(i=n.base)?i:null==(o=n.keyframes[0])?void 0:o.value)?s:null==(a=n.keyframes[0])?void 0:a.v;void 0!==h&&(t[e]=u(h))}function Gr(t){if(!t||"object"!=typeof t)return t;const e=t;if(void 0===e.t&&void 0===e.v&&void 0===e.e&&void 0===e.to&&void 0===e.ti)return t;const n=l({},e);return void 0===n.time&&void 0!==e.t&&(n.time=e.t),void 0===n.value&&void 0!==e.v&&(n.value=e.v),void 0===n.easing&&void 0!==e.e&&(n.easing=e.e),void 0===n.tangentOut&&void 0!==e.to&&(n.tangentOut=e.to),void 0===n.tangentIn&&void 0!==e.ti&&(n.tangentIn=e.ti),n}function Zr(t,e){const n={value:e};return void 0!==t.time&&(n.time=t.time),void 0!==t.easing&&(n.easing=t.easing),void 0!==t.tangentOut&&(n.tangentOut=t.tangentOut),void 0!==t.tangentIn&&(n.tangentIn=t.tangentIn),n}function Kr(t){if(null===t||"object"!=typeof t)return t;if(Array.isArray(t))return t.map(Kr);const e={};for(const n of Object.keys(t))e[n]=Kr(t[n]);return e}function Jr(t,e){const n=new Map,r=t=>{var o;if("string"==typeof t.id){const r=e();n.set(t.id,r),t.id=r}null==(o=t.children)||o.forEach(r)};r(t);const o=t=>t.replace(/url\(#([^)]+)\)/g,(t,e)=>{const r=n.get(e);return r?"url(#"+r+")":t}),i=t=>{var e;if("string"==typeof t.href&&t.href.startsWith("#")){const e=n.get(t.href.slice(1));e&&(t.href="#"+e)}for(const e of Object.keys(t)){if("children"===e||"effects"===e||"meta"===e||"animate"===e||"href"===e||"id"===e)continue;const n=t[e];"string"==typeof n&&-1!==n.indexOf("url(#")&&(t[e]=o(n))}null==(e=t.children)||e.forEach(i)};return i(t),n}function Xr(t){const e="number"==typeof t?t:"string"==typeof t?parseFloat(t):NaN;return Number.isFinite(e)?e:0}function qr(t){var e;const n=Xr(t.x),r=Xr(t.y);if(delete t.x,delete t.y,!n&&!r)return t;const o="translate("+n+","+r+")";if(void 0!==t.transform||void 0!==t.animate){const n={type:"g",transform:o,children:null!=(e=t.children)?e:[]};t.children=[n]}else t.transform=o;return t}function Qr(t,e){return"_lw_"+e+"_"+t.nextId++}function Yr(t){return"string"==typeof t?t.replace(/^#/,""):void 0}function Hr(t,e){var n;"string"==typeof t.id&&e.set(t.id,t),null==(n=t.children)||n.forEach(t=>Hr(t,e))}var $r=Kr;function to(t){const e=Vr(t);if("static"===e.kind&&"number"==typeof e.value)return{min:e.value,max:e.value};if("animated"===e.kind&&e.keyframes.length){const t=e.keyframes.map(t=>Number(t.value)||0);return{min:Math.min(...t),max:Math.max(...t)}}return{min:0,max:0}}function eo(t){let e=0,n=16;const r=t=>{var o;const i=parseFloat(String(null!=(o=t.fontSize)?o:""))||0;i&&(n=Math.max(n,i));const a=t.textContent;if("string"==typeof a&&(e+=a.length),t.children)for(const e of t.children)r(e)};return r(t),e*n}var no=t=>Math.round(1e3*t)/1e3;function ro(t,e){var n;if("clip"===e.pathOverflow)return{d:t,startShift:0};const r=Br(t);if(!r||r.closed||r.totalLength<=0)return{d:t,startShift:0};const o=r.totalLength,i=.15*o,a=to(e.startOffset),s=to(e.textLength).max||(null!=(n=e.advance)?n:0),l=Math.max(0,-a.min),u=Math.max(0,a.max+s-o),c=l>0?l+i:0,f=u>0?u+i:0;if(f<=0&&c<=0)return{d:t,startShift:0};const d=r.sampleAtDistance(0),h=r.sampleAtDistance(o);let p=t;if(c>0){const e=d.x-Math.cos(d.angle)*c,n=d.y-Math.sin(d.angle)*c,r=t.replace(/^\s*[Mm]\s*-?[\d.]+[\s,]+-?[\d.]+/,"");p="M"+no(e)+","+no(n)+"L"+no(d.x)+","+no(d.y)+r}if(f>0){const t=h.x+Math.cos(h.angle)*f,e=h.y+Math.sin(h.angle)*f;p+="L"+no(t)+","+no(e)}return{d:p,startShift:c}}function oo(t,e,n){var r;if(!e||"string"!=typeof e.pathData||!e.pathData)return t;const o=Qr(n,"tpath"),{d:i,startShift:a}=ro(e.pathData,{pathOverflow:e.pathOverflow,startOffset:e.startOffset,textLength:e.textLength,advance:eo(t)});n.defs.push({type:"path",id:o,d:i});const s={type:"textPath",href:"#"+o,children:null!=(r=t.children)?r:[]};return void 0!==e.lengthAdjust&&(s.lengthAdjust=e.lengthAdjust),void 0!==e.method&&(s.method=e.method),void 0!==e.spacing&&(s.spacing=e.spacing),io(s,"startOffset",function(t,e){if(!e||null==t)return t;const n=Vr(t);if("absent"===n.kind)return t;if("static"===n.kind)return"number"==typeof t?n.value+e:{value:n.value+e};const r={keyframes:n.keyframes.map(t=>u(l({},t),{value:(Number(t.value)||0)+e}))};return void 0!==n.loop&&(r.loop=n.loop),void 0!==n.autoOrient&&(r.autoOrient=n.autoOrient),void 0!==n.base&&(r.value=n.base+e),r}(e.startOffset,a)),io(s,"textLength",e.textLength),t.children=[s],t}function io(t,e,n){null!=n&&Wr(t,e,Vr(n),{asString:!0})}var ao=(t,e,n)=>{const r={type:t};for(const t in e)void 0!==e[t]&&(r[t]=e[t]);const o=Array.isArray(n)?n.filter(t=>null!=t):null!=n?[n]:[];return o.length&&(r.children=o),r};function so(t,e){return Math.round(t)===t?""+Math.round(t):t.toFixed(e)}function lo(t,e){let n="";for(let r=0;r<t.length;r++){const o=so(t[r],e);r>0&&45!==o.charCodeAt(0)&&(n+=" "),n+=o}return n}function uo(t,e,n){return[t[0]*e+t[2]*n+t[4],t[1]*e+t[3]*n+t[5]]}var co=/([MLCQZ])|(-?\d*\.?\d+(?:e[-+]?\d+)?)/gi;function fo(t,e,n=2){const r=[];let o;for(co.lastIndex=0;null!==(o=co.exec(t));)r.push(o[0]);let i="",a=0;const s=()=>parseFloat(r[a++]);for(;a<r.length;){const t=r[a++];if("M"===t||"L"===t){const[r,o]=uo(e,s(),s());i+=t+lo([r,o],n)}else if("C"===t){const[t,r]=uo(e,s(),s()),[o,a]=uo(e,s(),s()),[l,u]=uo(e,s(),s());i+="C"+lo([t,r,o,a,l,u],n)}else if("Q"===t){const[t,r]=uo(e,s(),s()),[o,a]=uo(e,s(),s());i+="Q"+lo([t,r,o,a],n)}else"Z"!==t&&"z"!==t||(i+="Z")}return i}var ho=["fontFamily","fontSize","fontWeight","fontStyle","textAnchor","letterSpacing","wordSpacing","textDecoration","textTransform","whiteSpace","x","y","dx","dy","lengthAdjust","fill","stroke","strokeWidth","effects",Rt,"xml:space"],po=["fillOpacity","fillRule","strokeOpacity","strokeDasharray","strokeDashoffset","strokeLinecap","strokeLinejoin","strokeMiterlimit","mixBlendMode","filter"],mo=["fill","stroke","strokeWidth","opacity","fillOpacity","strokeOpacity","strokeDasharray","strokeDashoffset"];function go(t){if("number"==typeof t)return t;if("string"==typeof t){const e=parseFloat(t);return isNaN(e)?void 0:e}}function vo(t){return"string"==typeof t?t:void 0}function yo(t){const e=t.animate;if(!e||"object"!=typeof e)return;let n;for(const t of mo)void 0!==e[t]&&((null!=n?n:n={})[t]=e[t]);return n}function bo(t,e){var n,r,o,i,a,s,l,u,c,f;const d="text"===t.type,h=t.style,p=e=>{var n;return d?void 0:null!=(n=t[e])?n:null==h?void 0:h[e]},m={fontFamily:null!=(n=vo(t.fontFamily))?n:e.fontFamily,fontSize:null!=(r=go(t.fontSize))?r:e.fontSize,fill:null!=(o=t.fill)?o:e.fill,stroke:null!=(i=t.stroke)?i:e.stroke,strokeWidth:null!=(a=t.strokeWidth)?a:e.strokeWidth,letterSpacing:null!=(s=go(t.letterSpacing))?s:e.letterSpacing,wordSpacing:null!=(l=go(t.wordSpacing))?l:e.wordSpacing,opacity:null!=(u=go(p("opacity")))?u:e.opacity,animate:null!=(c=d?void 0:yo(t))?c:e.animate};for(const t of po){const n=null!=(f=p(t))?f:e[t];void 0!==n&&(m[t]=n)}return m}function ko(t){var e,n,r;return{fontFamily:vo(t.fontFamily),fontSize:null!=(e=go(t.fontSize))?e:16,fill:t.fill,stroke:t.stroke,strokeWidth:t.strokeWidth,letterSpacing:null!=(n=go(t.letterSpacing))?n:0,wordSpacing:null!=(r=go(t.wordSpacing))?r:0}}function Ao(t){const e={};void 0!==t.fill&&(e.fill=t.fill),void 0!==t.stroke&&(e.stroke=t.stroke),void 0!==t.strokeWidth&&(e.strokeWidth=t.strokeWidth),void 0!==t.opacity&&1!==t.opacity&&(e.opacity=t.opacity);for(const n of po)void 0!==t[n]&&(e[n]=t[n]);return void 0!==t.animate&&(e.animate=t.animate),e}function wo(t,e,n,r){var o;const i=t.fontFamily?e[t.fontFamily]:n;return i||null==r||r.push('textGlyphs: no glyphs for font "'+(null!=(o=t.fontFamily)?o:"")+'"'),i}function xo(t){const e=Object.keys(t);return 1===e.length?t[e[0]]:void 0}function jo(t,e){if(t<=0||e<=0)return"";const n=.08,r=t*n,o=.92*t,i=.92*-e,a=o-r,s=-i,l=Math.max(1,.12*Math.min(a,s)),u="M"+r+" 0L"+o+" 0L"+o+" "+i+"L"+r+" "+i+"Z";if(a<=2*l||s<=2*l)return u;const c=r+l,f=o-l,d=-l,h=i+l;return u+"M"+c+" "+d+"L"+c+" "+h+"L"+f+" "+h+"L"+f+" "+d+"Z"}function Oo(t,e){var n,r,o;const{glyphs:i,create:a=ao,warnings:s}=e,l=xo(i),u={x:null!=(n=go(t.x))?n:0,y:null!=(r=go(t.y))?r:0},c=[],f=[{start:u.x,end:u.x}];let d=0;const h=(t,e)=>{var n;const r=wo(e,i,l,s),o=(null==r?void 0:r.unitsPerEm)||1e3,a=e.fontSize/o,h=null!=(n=null==r?void 0:r.ascent)?n:.9*o,p=Ao(e);for(let n=0;n<t.length;n++){const i=t.charAt(n),s=null==r?void 0:r.glyphs[i];if(s&&s.pathData)c.push({glyphD:s.pathData,m:[a,0,0,a,u.x,u.y],paint:p,line:d,x:u.x,y:u.y,scale:a}),u.x+=s.width*a;else if(/\S/.test(i)){const t=s&&s.width>0?s.width:.6*o;c.push({glyphD:jo(t,h),m:[a,0,0,a,u.x,u.y],paint:p,isMissing:!0,line:d,x:u.x,y:u.y,scale:a}),u.x+=t*a}else u.x+=(s?s.width:0)*a;u.x+=e.letterSpacing+(" "===i?e.wordSpacing:0),f[d].end=u.x}},p=(t,e)=>{var n,r,o;const i=bo(t,e),a=go(t.x),s=go(t.y);void 0!==a&&(u.x=a,d=f.length,f.push({start:u.x,end:u.x})),void 0!==s&&(u.y=s),u.x+=null!=(n=go(t.dx))?n:0,u.y+=null!=(r=go(t.dy))?r:0;const l=vo(t[Rt]);if(l&&!(null==(o=t.children)?void 0:o.length)&&h(l,i),t.children)for(const e of t.children)p(e,i)},m=ko(t);if(t.children)for(const e of t.children)p(e,m);const g=vo(t[Rt]);g&&!(null==(o=t.children)?void 0:o.length)&&h(g,m);const v=vo(t.textAnchor);if("middle"===v||"end"===v)for(const t of c){const e=f[t.line].end-f[t.line].start,n="middle"===v?-e/2:-e;t.m=[t.scale,0,0,t.scale,t.x+n,t.y]}return Uo(t,Eo(c,a,s),a)}function So(t,e){var n,r,o,i,a;if(null==(n=e.alongPath)?void 0:n.pathD)return function(t,e,n){var r,o;const{glyphs:i,warnings:a,alongPath:s}=n,l=Br(e);if(!l)return null==a||a.push("textGlyphs: unparsable along-path geometry (caret)"),[];const u=xo(i),c=[];let f=0;const d=(t,e)=>{var n,r;const o=bo(t,e),s=vo(t[Rt]);if(s&&!(null==(n=t.children)?void 0:n.length)){const t=wo(o,i,u,a),e=(null==t?void 0:t.unitsPerEm)||1e3,n=o.fontSize/e,l=(null!=(r=null==t?void 0:t.ascent)?r:.9*e)*n;for(let e=0;e<s.length;e++){const r=s.charAt(e),i=null==t?void 0:t.glyphs[r],a=(i?i.width:0)*n,u=a+o.letterSpacing+(" "===r?o.wordSpacing:0);c.push({advStart:f,advEnd:f+u,glyphW:a,ascent:l,fontSize:o.fontSize}),f+=u}}if(t.children)for(const e of t.children)d(e,o)};d(t,ko(t));const h=f,p=Vr(null==s?void 0:s.textLength),m="animated"===p.kind?Number(null==(r=p.keyframes[0])?void 0:r.value)||0:"static"===p.kind&&Number(p.value)||0,g=m>0&&h>0?m/h:1,v=Vr(null==s?void 0:s.startOffset),{along:y,perp:b}=Po(t),k=y+("animated"===v.kind?Number(null==(o=v.keyframes[0])?void 0:o.value)||0:"static"===v.kind&&Number(v.value)||0),A=t=>({x:t.x-b*Math.sin(t.angle),y:t.y+b*Math.cos(t.angle),angle:t.angle});return c.map(t=>{const e=k+t.advStart*g,n=k+t.advEnd*g,r=A(l.sampleAtDistance(e)),o=A(l.sampleAtDistance(n)),i=l.sampleAtDistance(k+(t.advStart+t.glyphW/2)*g);return{x:r.x,y:r.y,width:t.advEnd-t.advStart,ascent:t.ascent,fontSize:t.fontSize,endX:o.x,endY:o.y,rotation:180*i.angle/Math.PI}})}(t,e.alongPath.pathD,e);const{glyphs:s,warnings:l}=e,u=xo(s),f={x:null!=(r=go(t.x))?r:0,y:null!=(o=go(t.y))?o:0},d=[],h=[{start:f.x,end:f.x}];let p=0;const m=(t,e)=>{var n;const r=wo(e,s,u,l),o=(null==r?void 0:r.unitsPerEm)||1e3,i=e.fontSize/o,a=(null!=(n=null==r?void 0:r.ascent)?n:.9*o)*i;for(let n=0;n<t.length;n++){const o=t.charAt(n),s=null==r?void 0:r.glyphs[o],l=(s?s.width:0)*i+e.letterSpacing+(" "===o?e.wordSpacing:0);d.push({x:f.x,y:f.y,width:l,ascent:a,fontSize:e.fontSize,line:p}),f.x+=l,h[p].end=f.x}},g=(t,e)=>{var n,r,o;const i=bo(t,e),a=go(t.x),s=go(t.y);void 0!==a&&(f.x=a,p=h.length,h.push({start:f.x,end:f.x})),void 0!==s&&(f.y=s),f.x+=null!=(n=go(t.dx))?n:0,f.y+=null!=(r=go(t.dy))?r:0;const l=vo(t[Rt]);if(l&&!(null==(o=t.children)?void 0:o.length)&&m(l,i),t.children)for(const e of t.children)g(e,i)},v=ko(t);if(t.children)for(const e of t.children){const t=d.length;if(g(e,v),d.length===t){const t=bo(e,v),n=wo(t,s,u),r=(null==n?void 0:n.unitsPerEm)||1e3;d.push({x:f.x,y:f.y,width:0,ascent:(null!=(i=null==n?void 0:n.ascent)?i:.9*r)*(t.fontSize/r),fontSize:t.fontSize,line:p})}}const y=vo(t[Rt]);y&&!(null==(a=t.children)?void 0:a.length)&&m(y,v);const b=vo(t.textAnchor);if("middle"===b||"end"===b)for(const t of d){const e=h[t.line].end-h[t.line].start;t.x+="middle"===b?-e/2:-e}return d.map(t=>{var e=t,{line:n}=e;return c(e,["line"])})}function Mo(t,e,n,r,o=0){const{x:i,y:a,angle:s}=t.sampleAtDistance(e),l=Math.cos(s),u=Math.sin(s),c=r/2;return[n*l,n*u,-n*u,n*l,i-n*l*c-o*u,a-n*u*c+o*l]}function Po(t){var e,n,r;return{along:(null!=(e=go(t.x))?e:0)+(null!=(n=go(t.dx))?n:0),perp:null!=(r=go(t.dy))?r:0}}function _o(t,e,n,r,o,i){const{glyphs:a,create:s=ao,warnings:c}=r,f=e?Br(e):null;if(!f)return null==c||c.push("textGlyphs: unparsable along-path geometry"),null;const d=xo(a),{cells:h,width:p}=function(t,e,n,r){const o=[];let i=0;const a=(t,s)=>{var l,u;const c=bo(t,s),f=vo(t[Rt]);if(f&&!(null==(l=t.children)?void 0:l.length)){const t=wo(c,e,n,r);if(t){const e=c.fontSize/t.unitsPerEm,n=null!=(u=t.ascent)?u:.9*t.unitsPerEm,r=Ao(c);for(let a=0;a<f.length;a++){const s=f.charAt(a),l=t.glyphs[s];if(l&&l.pathData){const t=l.width*e;o.push({glyphD:l.pathData,widthEm:l.width,scale:e,paint:r,midBase:i+t/2}),i+=t}else if(/\S/.test(s)){const a=l&&l.width>0?l.width:.6*t.unitsPerEm,s=a*e;o.push({glyphD:jo(a,n),widthEm:a,scale:e,paint:r,isMissing:!0,midBase:i+s/2}),i+=s}else i+=(l?l.width:0)*e;i+=c.letterSpacing+(" "===s?c.wordSpacing:0)}}}if(t.children)for(const e of t.children)a(e,c)};return a(t,ko(t)),{cells:o,width:i}}(t,a,d,c);if(!h.length)return Uo(t,[],s);const{along:m,perp:g}=Po(t),v=zo(n),y=zo(o),b=t=>t>0&&p>0?t/p:1,k="clip"===i&&!f.closed;if(v.animated||y.animated){const e=function(t,e){const n=[...t,...e].sort((t,e)=>t-e),r=[];for(const t of n)r.length&&t===r[r.length-1]||r.push(t);return r}(v.times,y.times),n=(t,e)=>m+v.at(e)+b(y.at(e))*t.midBase,r=v.animated?v.loop:y.loop;return Uo(t,function(t,e,n,r,o,i,a,s=0){const c=Math.max(e.totalLength/Do,.5),f=t=>t>=0&&t<=e.totalLength,d=[];for(const h of t){const t=[h.scale,0,0,h.scale,-h.scale*(h.widthEm/2),0],p=fo(h.glyphD,t),m=(t,n)=>{const{x:r,y:o,angle:i}=e.sampleAtDistance(t),a=Math.cos(i),l=Math.sin(i);return{time:n,value:{translate:[Io(r-s*l,3),Io(o+s*a,3)],rotate:Io(180*i/Math.PI,3)}}},g=[],v=[],y=(t,e)=>{g.push(m(t,e)),a&&v.push({time:e,value:f(t)?1:0})};y(n(h,r[0]),r[0]);for(let t=1;t<r.length;t++){const e=r[t-1],o=r[t],i=n(h,e),a=n(h,o),s=Math.min(No,Math.max(1,Math.ceil(Math.abs(a-i)/c)));for(let t=1;t<=s;t++){const r=e+t/s*(o-e);y(n(h,r),r)}}ar(g);const b={keyframes:g};void 0!==o&&(b.loop=o);const k={transform:b};if(h.paint.animate&&Object.assign(k,h.paint.animate),a&&v.some(t=>0===t.value)){const t={keyframes:v};void 0!==o&&(t.loop=o),k.opacity=t}d.push(i("path",u(l(l({d:p},To(h.paint)),Co(h.isMissing)),{animate:k}),[]))}return d}(h,f,n,e,r,s,k,g),s)}const A=b(y.at(0)),w=m+v.at(0);return Uo(t,Eo((k?h.filter(t=>{const e=w+t.midBase*A;return e>=0&&e<=f.totalLength}):h).map(t=>({glyphD:t.glyphD,paint:t.paint,isMissing:t.isMissing,m:Mo(f,w+t.midBase*A,t.scale,t.widthEm,g)})),s,c),s)}function zo(t){var e;const n=Vr(t);if("animated"===n.kind&&n.keyframes.length>=2){const t=[...n.keyframes].sort((t,e)=>(Number(t.time)||0)-(Number(e.time)||0)),e=t.map(t=>Number(t.time)||0),r=t.map(t=>Number(t.value)||0);return{animated:!0,times:e,loop:n.loop,at(t){if(t<=e[0])return r[0];for(let n=1;n<e.length;n++)if(t<=e[n]){const o=e[n]-e[n-1],i=o>0?(t-e[n-1])/o:1;return r[n-1]+i*(r[n]-r[n-1])}return r[r.length-1]}}}const r="animated"===n.kind?Number(null==(e=n.keyframes[0])?void 0:e.value)||0:"static"===n.kind&&Number(n.value)||0;return{animated:!1,times:[],at:()=>r}}var Do=48,No=64;function Io(t,e){const n=a(10,e);return Math.round(t*n)/n}function To(t){const e={};void 0!==t.fill&&(e.fill=t.fill),void 0!==t.stroke&&(e.stroke=t.stroke),void 0!==t.strokeWidth&&(e.strokeWidth=t.strokeWidth),void 0!==t.opacity&&(e.opacity=t.opacity);for(const n of po)void 0!==t[n]&&(e[n]=t[n]);return e}function Co(t){return t?{[Ft]:"px-missing-glyph"}:{}}function Eo(t,e,n){if(!t.length)return null==n||n.push("textGlyphs: nothing to render"),[];const r=new Map;for(const e of t){const t=JSON.stringify([e.paint,!!e.isMissing]),n=fo(e.glyphD,e.m),o=r.get(t);o?o.d+=n:r.set(t,{paint:e.paint,d:n,isMissing:e.isMissing})}const o=[];for(const{paint:t,d:n,isMissing:i}of r.values())o.push(e("path",l(l(l({d:n},To(t)),Co(i)),void 0!==t.animate?{animate:l({},t.animate)}:{}),[]));return o}function Uo(t,e,n){const r={};for(const e of Object.keys(t))"type"!==e&&"children"!==e&&-1===ho.indexOf(e)&&(r[e]=t[e]);if(r.style&&"object"==typeof r.style){const t=l({},r.style);delete t["white-space"],Object.keys(t).length?r.style=t:delete r.style}return n("g",r,e)}function Ro(t,e){return e.alongPath?_o(t,e.alongPath.pathD,e.alongPath.startOffset,e,e.alongPath.textLength,e.alongPath.pathOverflow):Oo(t,e)}function Fo(t,e,n){if(!e)return t;delete t.transform;let r=t;return r=Lo(r,e.origin,!0),r=Bo(r,"scale",e.scale,n),r=Bo(r,"skew",e.skew,n),r=Bo(r,"rotate",e.rotate,n),r=Lo(r,e.origin,!1),!function(t){if(!t||"object"!=typeof t)return!1;const e=t;return!!e.autoOrient||Array.isArray(e.keyframes)&&e.keyframes.some(t=>t.tangentOut||t.tangentIn)}(e.translate)?r=Bo(r,"translate",e.translate,n):(r=Lo(r,e.origin,!0),r=Bo(r,"translate",e.translate,n),r=Lo(r,e.origin,!1)),r!==t&&t.id&&(r.id=t.id,delete t.id),r}function Bo(t,e,n,r){if(void 0===n)return t;const o=Vr(n);if("static"===o.kind)return{type:"g",transform:{value:Lr(e,o.value,void 0)},children:[t]};if("animated"===o.kind){const n={keyframes:o.keyframes.map(t=>Zr(t,Lr(e,t.value,void 0)))};return o.autoOrient&&(n.autoOrient=!0),void 0!==o.loop&&(n.loop=o.loop),{type:"g",animate:{transform:n},children:[t]}}return t}function Lo(t,e,n){if(void 0===e)return t;const r=Vr(e),o=t=>n?[-t[0],-t[1]]:t;if("absent"===r.kind)return t;if("static"===r.kind)return 0===r.value[0]&&0===r.value[1]?t:{type:"g",transform:{value:{translate:o(r.value)}},children:[t]};if("animated"===r.kind){const e={keyframes:r.keyframes.map(t=>Zr(t,{translate:o(t.value)}))};return void 0!==r.loop&&(e.loop=r.loop),{type:"g",animate:{transform:e},children:[t]}}return t}function Vo(t,e,n){var r,o,i;if("use"===t.type&&"translate"===(null==(o=null==(r=t.effects)?void 0:r.clone)?void 0:o.without)){const r=Yr(t.effects.clone.source);"string"==typeof r&&r&&!e.contentRefInnerIds.has(r)&&e.contentRefInnerIds.set(r,n(r))}null==(i=t.children)||i.forEach(t=>Vo(t,e,n))}function Wo(t,e,n,r,o){const i=function(t,e){var n,r,o;const i={};let a=!1;const s=null==(n=t.animate)?void 0:n.transform;if(s&&"object"==typeof s&&Array.isArray(s.keyframes)){const e=s.keyframes;if(e.some(t=>t.value&&t.value.translate)){const n=Zo(s),r={keyframes:e.map(t=>{const e=t.value||{},r={};void 0!==e.translate&&(r.translate=e.translate),n&&void 0!==e.origin&&(r.origin=e.origin);const o={value:r};return void 0!==t.time&&(o.time=t.time),void 0!==t.easing&&(o.easing=t.easing),void 0!==t.tangentOut&&(o.tangentOut=t.tangentOut),void 0!==t.tangentIn&&(o.tangentIn=t.tangentIn),o})};s.autoOrient&&(r.autoOrient=!0);const o=s.loop;void 0!==o&&(r.loop=o),i.animate={transform:r};const l=e.some(t=>{const e=t.value||{};return void 0!==e.rotate||void 0!==e.scale}),u=e.map(t=>{const e=t.value||{},r={};void 0!==e.rotate&&(r.rotate=e.rotate),void 0!==e.scale&&(r.scale=e.scale),void 0===e.origin||n&&!l||(r.origin=e.origin);const o={value:r};return void 0!==t.time&&(o.time=t.time),void 0!==t.easing&&(o.easing=t.easing),o});if(u.every(t=>0===Object.keys(t.value).length))delete t.animate.transform,t.animate&&0===Object.keys(t.animate).length&&delete t.animate;else{const e={keyframes:u};void 0!==o&&(e.loop=o),t.animate.transform=e}a=!0}}const u=void 0!==(null==e?void 0:e.translate),c=a||u,f=a&&Zo((null==(r=t.animate)?void 0:r.transform)||void 0)||a&&Zo((null==(o=i.animate)?void 0:o.transform)||void 0);if("string"==typeof t.transform){const e=function(t){const e=[],n=/(translate|rotate|scale|matrix|skewX|skewY)\(([^)]*)\)/g;let r;for(;r=n.exec(t);)e.push({name:r[1],full:r[0]});if(!e.length)return{rest:t||void 0};if(e.every(t=>"translate"===t.name))return{translate:e.map(t=>t.full).join("")};const o=e[0],i=e[e.length-1];if("translate"===i.name&&"translate"===o.name){const n=Go(i.full),r=Go(o.full),a=-n[0],s=-n[1],l=r[0]-a,u=r[1]-s;if(0===l&&0===u)return{rest:t};return{translate:"translate("+l+","+u+")",rest:"translate("+a+","+s+")"+e.slice(1).map(t=>t.full).join("")}}if("translate"===i.name)return{rest:t};const a=[];let s=0;for(;s<e.length&&"translate"===e[s].name;)a.push(e[s].full),s++;if(!a.length)return{rest:t};const l=e.slice(s).map(t=>t.full).join("");return{translate:a.join(""),rest:l||void 0}}(t.transform);c?void 0!==e.translate?e.rest?t.transform=e.rest:delete t.transform:!function(t){const e=/(translate|rotate|scale|matrix|skewX|skewY)\(([^)]*)\)/g,n=[];let r;for(;r=e.exec(t);)n.push({name:r[1],full:r[0]});if(1!==n.length)return!1;if("translate"===n[0].name)return!0;if("matrix"!==n[0].name)return!1;const o=/matrix\(([^)]*)\)/.exec(n[0].full);if(!o)return!1;const i=o[1].split(/[\s,]+/).filter(Boolean).map(Number);return i.length>=4&&1===i[0]&&0===i[1]&&0===i[2]&&1===i[3]}(t.transform)?f&&function(t){const e=/(translate|rotate|scale|matrix|skewX|skewY)\(([^)]*)\)/g;let n,r=0,o=!1;for(;n=e.exec(t);)r++,"matrix"===n[1]&&(o=!0);return 1===r&&o}(t.transform)&&delete t.transform:delete t.transform:e.translate&&(i.transform=e.translate,e.rest?t.transform=e.rest:delete t.transform)}else if(t.transform&&"object"==typeof t.transform&&!Array.isArray(t.transform)&&!t.transform.keyframes){const e=t.transform.value,n=!(!e||"object"!=typeof e),r=n?e:t.transform,o=t=>n?{value:t}:t;if(Array.isArray(r.translate)){const e=l({},r);delete e.translate;const n=Object.keys(e).length>0;c||(i.transform=o({translate:r.translate})),n?t.transform=o(e):delete t.transform}}return i}(t,e);"string"==typeof t.id&&delete t.id;const{outer:a,inner:s}=function(t){if(!t)return{};const e=Zo(t.translate),n=void 0!==t.rotate||void 0!==t.scale,r={},o={};void 0!==t.translate&&(r.translate=t.translate);e&&void 0!==t.origin&&(r.origin=t.origin);void 0!==t.rotate&&(o.rotate=t.rotate);void 0!==t.scale&&(o.scale=t.scale);void 0!==t.skew&&(o.skew=t.skew);void 0===t.origin||e&&!n||(o.origin=t.origin);return{outer:Object.keys(r).length?r:void 0,inner:Object.keys(o).length?o:void 0}}(e);let u=t;u=Fo(u,s,o);let c={type:"g",id:n,children:[{type:"g",id:r,children:[u]}]};return void 0!==i.transform&&(c.transform=i.transform),void 0!==i.animate&&(c.animate=i.animate),a&&(delete c.id,c=Fo(c,a,o),c.id=n),c}function Go(t){const e=/translate\(([^)]*)\)/.exec(t);if(!e)return[0,0];const n=e[1].split(/[\s,]+/).filter(Boolean).map(Number);return[n[0]||0,n[1]||0]}function Zo(t){if(!t||"object"!=typeof t)return!1;const e=t;return!!e.autoOrient||!!Array.isArray(e.keyframes)&&e.keyframes.some(t=>t.tangentOut||t.tangentIn)}function Ko(t,e,n,r){if(!e)return t;const o=Qr(n,"grad"),i=function(t,e){const n={type:t.type===Jt.radial?"radialGradient":"linearGradient",id:e};t.type===Jt.linear?(Jo(n,"x1","y1",t.start),Jo(n,"x2","y2",t.end)):(Jo(n,"cx","cy",t.center),function(t,e,n){const r=Vr(n);if("absent"===r.kind)return;Wr(t,e,r,{asString:!0})}(n,"r",t.radius),Jo(n,"fx","fy",t.focal));t.gradientUnits&&(n.gradientUnits=t.gradientUnits);t.spreadMethod&&(n.spreadMethod=t.spreadMethod);t.gradientTransform&&(n.gradientTransform=t.gradientTransform);return n.children=function(t){var e,n;if(!t)return[];const r=Vr(t);if("absent"===r.kind)return[];if("static"===r.kind)return Array.isArray(r.value)?r.value.map(Xo):[];const o=r.keyframes;if(!o.length)return[];const i=r.loop;let a=0;for(const t of o){const e=se(t);Array.isArray(e)&&e.length>a&&(a=e.length)}if(!a)return[];const s=se(o[0]),l=[];for(let t=0;t<a;t++){const r=null!=(n=null!=(e=null==s?void 0:s[t])?e:qo(o,0,t))?n:{offset:t/Math.max(1,a-1),color:"#000000"};l.push({offset:r.offset,color:r.color})}return l.map((t,e)=>function(t,e,n,r,o){var i;const a=[],s=[];let l=!1;for(const r of e){const o=ae(r),u=se(r),c=null!=(i=null==u?void 0:u[n])?i:qo(e,e.indexOf(r),n);if(!c)continue;const f=le(r),d={time:o,value:c.color};void 0!==f&&(d.easing=f),a.push(d);const h={time:o,value:c.offset};void 0!==f&&(h.easing=f),s.push(h),c.offset!==t.offset&&(l=!0)}const u={type:"stop",offset:Qo(t.offset),stopColor:t.color},c={};a.length&&(c.stopColor={keyframes:a},void 0!==o&&(c.stopColor.loop=o));l&&s.length&&(c.offset={keyframes:s},void 0!==o&&(c.offset.loop=o));Object.keys(c).length&&(u.animate=c);return u}(t,o,e,0,i))}(t.stops),n}(e,o);return n.defs.push(i),t[r]="url(#"+o+")",t}function Jo(t,e,n,r){var o,i,a;const s=Vr(r);if("absent"===s.kind)return;if("static"===s.kind)return t[e]=String(s.value[0]),void(t[n]=String(s.value[1]));const l=t=>{const e={keyframes:s.keyframes.map(e=>{const n={time:e.time,value:Array.isArray(e.value)?e.value[t]:void 0};return void 0!==e.easing&&(n.easing=e.easing),n})};return void 0!==s.loop&&(e.loop=s.loop),e},u=null!=(o=t.animate)?o:{};u[e]=l(0),u[n]=l(1),t.animate=u;const c=null!=(a=s.base)?a:null==(i=s.keyframes[0])?void 0:i.value;Array.isArray(c)&&(t[e]=String(c[0]),t[n]=String(c[1]))}function Xo(t){return{type:"stop",offset:Qo(t.offset),stopColor:t.color}}function qo(t,e,n){for(let r=e;r>=0;r--){const e=se(t[r]);if(null==e?void 0:e[n])return e[n]}for(let r=e+1;r<t.length;r++){const e=se(t[r]);if(null==e?void 0:e[n])return e[n]}}function Qo(t){return Math.round(1e3*t)/10+"%"}function Yo(t){return"string"==typeof t?t:t&&"object"==typeof t&&"string"==typeof t.pathData?t.pathData:void 0}function Ho(t,e,n,r){if(!e)return t;const o=Yr(e.source);if(!o)return r.errors.push("maskedBy.source missing — cannot build mask"),t;const i=Qr(r,"mask");let a={type:"use",href:"#"+o};if(n)a=$o(a,n,r);else if(ri(t))a=function(t,e){var n;const r=e.animate&&"object"==typeof e.animate&&!Array.isArray(e.animate)?e.animate:void 0,o=null==r?void 0:r.transform,i=o&&"object"==typeof o&&Array.isArray(o.keyframes)?o.keyframes:void 0;if(!i||!i.length)return t;const a=[],s=[],c=[];for(const t of i){const e=(null!=(n=t.value)?n:t.v)||{},r=Zr(t,void 0);if(Array.isArray(e.translate)&&a.push(u(l(l({},r),ni(t)),{value:{translate:[-e.translate[0],-e.translate[1]]}})),"number"==typeof e.rotate){const t={rotate:-e.rotate};Array.isArray(e.origin)&&(t.origin=[e.origin[0],e.origin[1]]),s.push(u(l({},r),{value:t}))}if(Array.isArray(e.scale)){const t={scale:[1/e.scale[0],1/e.scale[1]]};Array.isArray(e.origin)&&(t.origin=[e.origin[0],e.origin[1]]),c.push(u(l({},r),{value:t}))}}const f=null==o?void 0:o.loop,d=t=>{const e={keyframes:t};return void 0!==f&&(e.loop=f),e};let h=t;a.length&&(h={type:"g",animate:{transform:d(a)},children:[h]});s.length&&(h={type:"g",animate:{transform:d(s)},children:[h]});c.length&&(h={type:"g",animate:{transform:d(c)},children:[h]});return h}(a,t);else{const e=function(t){if("string"==typeof t.transform){const e=function(t){var e,n,r,o,i,a,s,l,u,c,f,d,h;const p=/([a-zA-Z]+)\s*\(([^)]*)\)/g;let m;const g=[];for(;null!==(m=p.exec(t));){const t=m[2].split(/[\s,]+/).filter(t=>t.length>0).map(Number);g.push({name:m[1],args:t})}if(!g.length)return;const v=g[g.length-1];if("translate"===v.name)for(let t=g.length-2;t>=0;t--){const c=g[t];if("translate"!==c.name)continue;const f=null!=(e=c.args[0])?e:0,d=null!=(n=c.args[1])?n:0,h=null!=(r=v.args[0])?r:0,p=null!=(o=v.args[1])?o:0;if(h!==-f||p!==-d)continue;const m={};m.origin=[f,d];for(let e=0;e<t;e++)if("translate"===g[e].name){const t=null!=(i=g[e].args[0])?i:0,n=null!=(a=g[e].args[1])?a:0;m.translate=m.translate?[m.translate[0]+t,m.translate[1]+n]:[t,n]}for(let e=t+1;e<g.length-1;e++){const t=g[e];if("rotate"===t.name)m.rotate=(null!=(s=m.rotate)?s:0)+(null!=(l=t.args[0])?l:0);else if("scale"===t.name){const e=null!=(u=t.args[0])?u:1,n=t.args.length>1?t.args[1]:e;m.scale=m.scale?[m.scale[0]*e,m.scale[1]*n]:[e,n]}}return m}let y,b,k;for(const t of g)if("translate"===t.name){const e=null!=(c=t.args[0])?c:0,n=null!=(f=t.args[1])?f:0;y=y?[y[0]+e,y[1]+n]:[e,n]}else if("rotate"===t.name)b=(null!=b?b:0)+(null!=(d=t.args[0])?d:0);else if("scale"===t.name){const e=null!=(h=t.args[0])?h:1,n=t.args.length>1?t.args[1]:e;k=k?[k[0]*e,k[1]*n]:[e,n]}const A={};y&&(A.translate=y);void 0!==b&&(A.rotate=b);k&&(A.scale=k);return Object.keys(A).length?A:void 0}(t.transform);if(!e)return;const n={};return e.translate&&(n.translate=e.translate),void 0!==e.rotate&&(n.rotate=e.rotate),e.scale&&(n.scale={value:e.scale}),e.origin&&(n.origin=e.origin),Object.keys(n).length?n:void 0}if(t.transform&&"object"==typeof t.transform&&!t.transform.keyframes){const e=t.transform.value,n=e&&"object"==typeof e?e:t.transform;if(n&&"object"==typeof n){const t={};return Array.isArray(n.translate)&&(t.translate=n.translate),"number"==typeof n.rotate&&(t.rotate=n.rotate),"number"==typeof n.skew&&(t.skew=n.skew),Array.isArray(n.scale)&&(t.scale={value:n.scale}),Array.isArray(n.origin)&&(t.origin=n.origin),Object.keys(t).length?t:void 0}}return}(t);e&&(a=$o(a,e,r))}const s=void 0===n&&!function(t){return"string"==typeof t.transform||(!(!t.transform||"object"!=typeof t.transform)||ri(t))}(t);a=function(t,e,n,r,o){const i=r.idMap.get(n),a=r.maskAncestorChains.get(e)||[],s=o?si(e,r):void 0,l=s?[...a,s]:a,u=i&&r.maskAncestorChains.get(i)||[];if(!l.length&&!u.length)return t;const c=new Set;for(const t of l)if(t.translateKeyframes)for(const e of t.translateKeyframes)c.add(e.time);for(const t of u)if(t.translateKeyframes)for(const e of t.translateKeyframes)c.add(e.time);if(!(c.size>0)){const e=oi(l),n=oi(u),r=n[0]-e[0],o=n[1]-e[1];return 0===r&&0===o?t:{type:"g",transform:"translate("+r+","+o+")",children:[t]}}const f=Array.from(c).sort((t,e)=>t-e);return{type:"g",animate:{transform:{keyframes:f.map(t=>{const e=ii(l,t),n=ii(u,t);return{time:t,value:{translate:[n[0]-e[0],n[1]-e[1]]}}})}},children:[t]}}(a,t,o,r,s);const c={type:"mask",id:i,children:[a]};return e.maskType&&(c.maskType=e.maskType),e.maskUnits&&(c.maskUnits=e.maskUnits),e.maskContentUnits&&(c.maskContentUnits=e.maskContentUnits),void 0!==e.x&&(c.x=String(e.x)),void 0!==e.y&&(c.y=String(e.y)),void 0!==e.width&&(c.width=String(e.width)),void 0!==e.height&&(c.height=String(e.height)),r.defs.push(c),t.mask="url(#"+i+")",t}function $o(t,e,n){if(!e)return t;const r=function(t,e){var n;const r=Vr(t);if("absent"!==r.kind)return"static"===r.kind?r.value:(e.warnings.push("transformBy.origin: animated origin approximated by its first keyframe"),null==(n=r.keyframes[0])?void 0:n.value)}(e.origin,n);let o=t;return o=ti(o,"translate",e.translate,void 0,n),o=ti(o,"rotate",e.rotate,r,n),o=ti(o,"scale",e.scale,r,n),o}function ti(t,e,n,r,o){if(void 0===n)return t;const i=Vr("scale"===e&&Array.isArray(n)?[n[0]/100,n[1]/100]:n);if("static"===i.kind)return{type:"g",transform:{value:Lr(e,ei(e,i.value),r)},children:[t]};if("animated"===i.kind){const n={keyframes:i.keyframes.map(t=>{const n=Zr(t,Lr(e,ei(e,t.value),r));return"translate"===e?l(l({},n),ni(t)):n})};return void 0!==i.loop&&(n.loop=i.loop),{type:"g",animate:{transform:n},children:[t]}}return t}function ei(t,e){return"translate"===t?[-e[0],-e[1]]:"rotate"===t?-e:[1/e[0],1/e[1]]}function ni(t){var e,n;const r={},o=null!=(e=t.tangentOut)?e:t.to,i=null!=(n=t.tangentIn)?n:t.ti;return Array.isArray(o)&&(r.tangentOut=[-o[0],-o[1]]),Array.isArray(i)&&(r.tangentIn=[-i[0],-i[1]]),r}function ri(t){const e=t.animate&&"object"==typeof t.animate&&!Array.isArray(t.animate)?t.animate:void 0;return!(!e||!e.transform)}function oi(t){let e=0,n=0;for(const r of t)r.translate&&(e+=r.translate[0],n+=r.translate[1]);return[e,n]}function ii(t,e){let n=0,r=0;for(const o of t)if(o.translateKeyframes&&o.translateKeyframes.length){const t=ai(o.translateKeyframes,e);n+=t[0],r+=t[1]}else o.translate&&(n+=o.translate[0],r+=o.translate[1]);return[n,r]}function ai(t,e){if(e<=t[0].time)return t[0].value;if(e>=t[t.length-1].time)return t[t.length-1].value;for(let n=1;n<t.length;n++)if(e<=t[n].time){const r=t[n-1],o=t[n],i=(e-r.time)/(o.time-r.time);return[r.value[0]+(o.value[0]-r.value[0])*i,r.value[1]+(o.value[1]-r.value[1])*i]}return t[t.length-1].value}function si(t,e){var n,r,o;const i=t.transform,a=t.animate&&"object"==typeof t.animate&&!Array.isArray(t.animate)?t.animate.transform:void 0;if(void 0===i&&!a)return;const s={};if("string"==typeof i){const t=function(t,e){const n=/([a-zA-Z]+)\s*\(([^)]*)\)/g;let r,o=0,i=0,a=!1,s=!1;for(;null!==(r=n.exec(t));){const t=r[1],e=r[2].split(/[\s,]+/).filter(t=>t.length>0).map(Number);"translate"===t?(o+=e[0]||0,i+=e[1]||0,a=!0):s=!0}s&&e.warnings.push("maskedBy ancestor: non-translate transform in string ignored: "+t);return a?[o,i]:void 0}(i,e);t&&(s.translate=t)}else if(i&&"object"==typeof i&&!i.keyframes){const t=i.value,n=t&&"object"==typeof t?t:i;n&&"object"==typeof n&&Array.isArray(n.translate)&&(s.translate=[n.translate[0]||0,n.translate[1]||0]),!n||void 0===n.rotate&&void 0===n.scale&&void 0===n.skew||e.warnings.push("maskedBy ancestor: non-translate transform parts ignored (rotate/scale not yet supported)")}if(a&&Array.isArray(a.keyframes)){const t=a.keyframes,i=[];for(const a of t){const t=null!=(n=a.value)?n:a.v,s=null!=(o=null!=(r=a.time)?r:a.t)?o:0;t&&"object"==typeof t&&Array.isArray(t.translate)&&(i.push({time:s,value:[t.translate[0]||0,t.translate[1]||0]}),void 0===t.rotate&&void 0===t.scale&&void 0===t.skew||e.warnings.push("maskedBy ancestor: animated non-translate parts ignored"))}i.length&&(s.translateKeyframes=i)}return s.translate||s.translateKeyframes?s:void 0}function li(t,e,n){if(!e)return;const r=Yr(e.source);if(!r)return void(e.without===Nt.translate&&n.errors.push("clone: content ref missing `source`"));const o=e.without===Nt.translate&&n.contentRefInnerIds.get(r)||r;t.href="#"+o}function ui(t,e){const n={};return void 0!==t.translate&&(n.translate=ci(t.translate,t=>[t[0]*e,t[1]*e])),void 0!==t.rotate&&(n.rotate=ci(t.rotate,t=>t*e)),void 0!==t.skew&&(n.skew=ci(t.skew,t=>t*e)),void 0!==t.scale&&(n.scale=function(t,e){const n=t=>[Math.pow(t[0],e),Math.pow(t[1],e)];return ci(t,n,!0)}(t.scale,e)),void 0!==t.origin&&(n.origin=t.origin),Object.keys(n).length?n:void 0}function ci(t,e,n=!1){const r=Vr(t);if("absent"===r.kind)return t;if("static"===r.kind){const o=e(r.value);return("number"==typeof t||Array.isArray(t))&&!n?o:{value:o}}const o={keyframes:r.keyframes.map(t=>t&&void 0!==t.value?u(l({},t),{value:e(t.value)}):t)};return void 0!==r.loop&&(o.loop=r.loop),void 0!==r.autoOrient&&(o.autoOrient=r.autoOrient),void 0!==r.base&&(o.value=e(r.base)),o}function fi(t){var e,n;return{start:null!=(e=t.start)?e:0,stretch:null!=(n=t.stretch)?n:1}}function di(t,e,n){const[r,o]=e;if(!Number.isFinite(r)||!Number.isFinite(o))return void n.warnings.push("retime: timeCrop is not a pair of finite numbers — ignored");const i=o<=r?[{time:0,value:0}]:[...r>0?[{time:Math.max(0,r-1),value:0}]:[],{time:Math.max(0,r),value:1},{time:o,value:1},{time:o+1,value:0}],a=l({},t);for(const e of Object.keys(t))delete t[e];t.type="g",t.children=[a],t.animate={opacity:{keyframes:i}}}function hi(t,e){return{start:e.start+e.stretch*t.start,stretch:e.stretch*t.stretch}}function pi(t){var e,n;return null==(n=null==(e=t.effects)?void 0:e.clone)?void 0:n.retime}function mi(t){var e;const n=null==(e=t.effects)?void 0:e.clone;n&&(delete n.retime,0===Object.keys(n).length&&delete t.effects.clone,t.effects&&0===Object.keys(t.effects).length&&delete t.effects)}function gi(t,e,n){const r=Yr(t.href);if(!r)return void n.errors.push("retime: <use> has no href to follow");const o=vi(r,e,n,new Set);o&&(t.href="#"+o)}function vi(t,e,n,r){if(r.has(t))return void n.errors.push('retime: loop via "'+t+'"');const o=n.idMap.get(t);if(!o)return void n.warnings.push('retime: target "'+t+'" not found');const i=$r(o);if(function(t,e){Jr(t,()=>Qr(e,"retimed"))}(i,n),"use"===o.type?bi(i,e.start,e.stretch):yi(i,e.start,e.stretch),mi(i),"use"===o.type&&o.href){const a=Yr(o.href);if(a){const s=pi(o),l=s?hi(fi(s),e):e,u=new Set(r);u.add(t);const c=vi(a,l,n,u);c&&(i.href="#"+c)}}else!function(t,e,n,r,o){const i=t=>{var a;const s=pi(t);if("use"===t.type&&s&&t.href){const i=Yr(t.href);if(i){const a=hi(fi(s),e),l=new Set(r);l.add(o);const u=vi(i,a,n,l);u&&(t.href="#"+u)}mi(t)}null==(a=t.children)||a.forEach(i)};i(t)}(i,e,n,r,t);return n.defs.push(i),"string"==typeof i.id&&n.idMap.set(i.id,i),"string"==typeof i.id?i.id:void 0}function yi(t,e,n){var r;bi(t,e,n),null==(r=t.children)||r.forEach(t=>yi(t,e,n))}function bi(t,e,n){const r=t=>{for(const r of t)"number"==typeof r.time&&(r.time=e+r.time*n)};if(t.transform&&"object"==typeof t.transform&&Array.isArray(t.transform.keyframes)&&r(t.transform.keyframes),t.animate&&"object"==typeof t.animate)for(const e of Object.keys(t.animate)){const n=t.animate[e];n&&Array.isArray(n.keyframes)&&r(n.keyframes)}}function ki(t,e,n){if(!e)return t;const r=e.subPaths===Ut.combined,o=[],i=t=>{if(Array.isArray(t.children)&&t.children.length>0){for(const e of t.children)i(e);return}const e="string"==typeof t.d?t.d:function(t){var e,n,r,o,i,a,s,l,u,c;if("rect"===t.type){const i=Number(null!=(e=t.x)?e:0),a=Number(null!=(n=t.y)?n:0),s=Number(null!=(r=t.width)?r:0),l=Number(null!=(o=t.height)?o:0);return"M"+(i+s)+","+a+"L"+(i+s)+","+(a+l)+"L"+i+","+(a+l)+"L"+i+","+a+"L"+(i+s)+","+a+"z"}if("ellipse"===t.type||"circle"===t.type){const e=Number(null!=(i=t.cx)?i:0),n=Number(null!=(a=t.cy)?a:0),r="circle"===t.type?Number(null!=(s=t.r)?s:0):Number(null!=(l=t.rx)?l:0),o="circle"===t.type?Number(null!=(u=t.r)?u:0):Number(null!=(c=t.ry)?c:0);if(!(r>0&&o>0))return;const f=r*Ci,d=o*Ci,h=(t,e,n,r,o,i)=>"C"+t+","+e+" "+n+","+r+" "+o+","+i;return"M"+(e+r)+","+n+h(e+r,n+d,e+f,n+o,e,n+o)+h(e-f,n+o,e-r,n+d,e-r,n)+h(e-r,n-d,e-f,n-o,e,n-o)+h(e+f,n-o,e+r,n-d,e+r,n)+"z"}return}(t);if(void 0===e)return;const n=wr(e);if(!n.length)return;const r={leaf:t,subpaths:[]};for(const t of n){const e=Ii(t);r.subpaths.push({subpath:t,lengthPx:e,startOffsetPx:0})}o.push(r)};if(i(t),!o.length)return t;let a=0;const s=r?[...o].reverse():o;for(const t of s)for(const e of t.subpaths)r||(a=0),e.startOffsetPx=a,a+=e.lengthPx;const c=a;if(r&&c<.001)return t;const f=Vr(e.offset),d="absent"===f.kind?{kind:"static",value:0}:f,h=function(t){const e=Vr(t);if("animated"!==e.kind)return e;const n=e.keyframes.map(t=>({time:ae(t),value:se(t),easing:le(t)}));if(!n.some(t=>t.value[0]>t.value[1]))return{kind:"animated",keyframes:n.map(t=>({time:t.time,value:t.value,easing:t.easing}))};const r=[];for(let t=1;t<n.length;t++){const e=n[t-1],o=n[t];if((e.value[1]-e.value[0])*(o.value[1]-o.value[0])<0){const t=Di(e,o);null!==t&&t>e.time&&t<o.time&&r.push(Math.round(t))}}const o=Array.from(new Set(r)).sort((t,e)=>t-e),i=[];let a=0;for(const t of n){for(;a<o.length&&o[a]<t.time;){const t=o[a++],e=Ni(n,t),r=(e[0]+e[1])/2;i.push({time:t,value:[r,r]})}const e=t.value[0]>t.value[1]?[t.value[1],t.value[0]]:t.value;i.push({time:t.time,value:e,easing:t.easing})}for(;a<o.length;){const t=o[a++],e=Ni(n,t),r=(e[0]+e[1])/2;i.push({time:t,value:[r,r]})}return{kind:"animated",keyframes:i}}(e.range),p="absent"===h.kind?{kind:"static",value:[0,1]}:h,m=function(t){if("absent"===t.kind)return[];if("static"===t.kind)return[t.value];const e=[];for(const n of t.keyframes){const t=se(n);"number"==typeof t&&e.push(t)}return e}(d),g=[m.length?Math.min(...m):0,m.length?Math.max(...m):0];if(1===o.length&&o[0].leaf===t&&1===o[0].subpaths.length){const e=o[0],n=e.subpaths[0],i=r?c:n.lengthPx;if(i<.001)return t;const a=r?n.startOffsetPx/i:0;return function(t,e,n,r,o,i){const a=ji(n,e,r),s=Oi(e,r),u=l({},t);return delete u.effects,Pi(u,"strokeDasharray",Mi(i,s)),Pi(u,"strokeDashoffset",Mi(o,a)),Pi(u,"strokeOpacity",zi(i)),u}(e.leaf,i,a,g,d,p)}const v=new Map;for(const t of o){const e=[];for(const o of t.subpaths){const i=r?c:o.lengthPx;if(i<.001)continue;const a=r?o.startOffsetPx/i:0;e.push(...wi(t.leaf,o.subpath,i,a,g,d,p,n))}v.set(t.leaf,Ai(t.leaf,e))}const y=t=>{const e=v.get(t);return e||(Array.isArray(t.children)&&t.children.length>0?u(l({},t),{children:t.children.map(y)}):t)};return y(t)}function Ai(t,e){const n=u(l({},t),{type:"g",children:e});return delete n.d,delete n.strokeDasharray,delete n.strokeDashoffset,delete n.effects,n}function wi(t,e,n,r,o,i,a,s){const l=ji(r,n,o),u=Oi(n,o),c=Mi(i,l),f=Mi(a,u),d=zi(a),h=function(t){return{type:"path",d:t}}(fn(e));return Pi(h,"strokeDasharray",f),Pi(h,"strokeDashoffset",c),Pi(h,"strokeOpacity",d),[h]}var xi=1;function ji(t,e,n){const[r]=Si(n);return n=>e*(-n-r+t)+xi}function Oi(t,e){const[n,r]=Si(e),o=r-n+1;return e=>{const n=Cn(e[0],0,1),r=Cn(e[1],0,1),i=Math.min(n,r),a=Math.max(n,r),s=[0];let l=xi;for(let e=0;e<o;e++)s.push(l+i*t),s.push((a-i)*t),l=(1-a)*t;return s.push(l+xi),s}}function Si(t){return[Math.floor(Math.min(-t[0],-t[1])),Math.ceil(Math.max(-t[0],-t[1]))]}function Mi(t,e){if("absent"!==t.kind)return"static"===t.kind?{kind:"static",value:e(t.value)}:{kind:"animated",keyframes:t.keyframes.map(t=>({time:ae(t),value:e(se(t)),easing:le(t)})),loop:t.loop}}function Pi(t,e,n){n&&Wr(t,e,n)}var _i=10;function zi(t){const e=t=>t[0]===t[1];if("absent"===t.kind)return;if("static"===t.kind)return e(t.value)?{kind:"static",value:0}:void 0;const n=t.keyframes;let r=!1,o=!0;for(const t of n)e(se(t))?r=!0:o=!1;if(!r)return;if(o)return{kind:"static",value:0};const i=[];for(let t=0;t<n.length;t++){const r=n[t],o=t>0?n[t-1]:void 0,a=t<n.length-1?n[t+1]:void 0,s=ae(r),l=e(se(r)),u=o?l&&e(se(o)):l,c=a?l&&e(se(a)):l;u&&!c?(i.push({time:s,value:0}),i.push({time:s+_i,value:1})):!u&&c&&(i.push({time:s-_i,value:1}),i.push({time:s,value:0}))}return i.length<=1?void 0:{kind:"animated",keyframes:i}}function Di(t,e){const n=n=>{const r=(n-t.time)/(e.time-t.time),o=t.value[0]+(e.value[0]-t.value[0])*r;return t.value[1]+(e.value[1]-t.value[1])*r-o};let r=t.time,o=e.time,i=n(r);if(0===i)return r;const a=n(o);if(0===a)return o;if(i*a>0)return null;for(let t=0;t<100;t++){const t=(r+o)/2,e=n(t);if(0===e||Math.abs(o-r)<1e-4)return t;i*e<0?o=t:(r=t,i=e)}return(r+o)/2}function Ni(t,e){if(e<=t[0].time)return t[0].value;if(e>=t[t.length-1].time)return t[t.length-1].value;for(let n=1;n<t.length;n++)if(e<=t[n].time){const r=t[n-1],o=t[n],i=(e-r.time)/(o.time-r.time);return[r.value[0]+(o.value[0]-r.value[0])*i,r.value[1]+(o.value[1]-r.value[1])*i]}return t[t.length-1].value}function Ii(t){const e=t.v;if(!e||e.length<2)return 0;let n=0;for(let r=0;r<e.length-1;r++)n+=Ti(t,r,r+1);return t.c&&e.length>1&&(n+=Ti(t,e.length-1,0)),n}function Ti(t,e,n){var r,o,i,a;const s=t.v,l=s[e],u=s[n],c=Bn(l,null!=(o=null==(r=t.o)?void 0:r[e])?o:l,null!=(a=null==(i=t.i)?void 0:i[n])?a:u,u);return c.ds[c.ds.length-1]}var Ci=.5522847498307936;function Ei(t){var e,n;const r={defs:[],warnings:[],errors:[],idMap:new Map,nextId:0,contentRefInnerIds:new Map,maskAncestorChains:new Map,engine:kt(null==(e=qt(t))?void 0:e.engine),glyphs:null==(n=te(t))?void 0:n.fonts},o=$r(t);Hr(o,r.idMap),Vo(o,r,()=>Qr(r,"inner")),function(t,e){const n=new Set,r=t=>{var o,i;const a=Yr(null==(i=null==(o=t.effects)?void 0:o.maskedBy)?void 0:i.source);if("string"==typeof a){n.add(t);const r=e.idMap.get(a);r&&n.add(r)}if(Array.isArray(t.children))for(const e of t.children)r(e)};if(r(t),0===n.size)return;const o=(t,r)=>{if(n.has(t)&&e.maskAncestorChains.set(t,r),Array.isArray(t.children)){const n=si(t,e),i=n?[...r,n]:r;for(const e of t.children)o(e,i)}};o(t,[])}(o,r);const i=function(t,e){return function(t,e){e.idMap.clear(),Hr(t,e.idMap);const n=[],r=t=>{var e;pi(t)&&n.push(t),null==(e=t.children)||e.forEach(r)};r(t);const o=new Map;for(const t of n){let n=0;const r=new Set,i=o=>{var a;if(o){if(o!==t&&pi(o)&&n++,"use"===o.type&&o.href){const t=Yr(o.href);t&&!r.has(t)&&(r.add(t),i(e.idMap.get(t)))}null==(a=o.children)||a.forEach(i)}},a=Yr(t.href);a&&(r.add(a),i(e.idMap.get(a))),o.set(t,n)}n.sort((t,e)=>{var n,r;return(null!=(n=o.get(e))?n:0)-(null!=(r=o.get(t))?r:0)});for(const t of n){const n=pi(t);if(!n)continue;const r=n.timeCrop;mi(t),gi(t,fi(n),e),r&&di(t,r,e)}}(t,e),t}(Ui(o,r),r);return function(t,e){if(!e.length)return;(t.children||(t.children=[])).unshift({type:"defs",children:e})}(i,r.defs),{root:i,defs:r.defs,warnings:r.warnings,errors:r.errors}}function Ui(t,e){t.children&&(t.children=t.children.map(t=>Ui(t,e)));const n=t.effects,r="string"==typeof t.id?t.id:void 0,o=r?e.contentRefInnerIds.get(r):void 0;if(!n&&!o)return t;const{transformBy:i,repeater:a,maskedBy:s,clipPath:l,strokeTrim:u,clone:c,fillGradient:f,strokeGradient:d,textPath:h,text:p}=null!=n?n:{};n&&delete t.effects;let m=t,g=!1;if(null==p?void 0:p.useGlyphs)if(h){const t="string"==typeof h.pathData?h.pathData:void 0,n=function(t,e,n,r,o,i){return e.glyphs?_o(t,n,r,{glyphs:e.glyphs,warnings:e.warnings},o,i):(e.warnings.push("textGlyphs: no definitions.fonts"),null)}(m,e,t,h.startOffset,h.textLength,h.pathOverflow);n&&(m=n,g=!0)}else m=function(t,e,n){return(null==e?void 0:e.useGlyphs)?n.glyphs?Oo(t,{glyphs:n.glyphs,warnings:n.warnings}):(n.warnings.push("textGlyphs: no definitions.fonts — left as native <text>"),t):t}(m,p,e),g=!0;return g||(m=oo(m,h,e)),m=function(t,e,n){return Ko(t,e,n,"fill")}(m,f,e),m=function(t,e,n){return Ko(t,e,n,"stroke")}(m,d,e),m=ki(m,u,e),m=function(t,e,n){var r,o;if(!e)return t;const i=null!=(r=e.copies)?r:1;if(i<1)return n.errors.push("repeater.copies invalid: "+e.copies),t;const a=t.transform,s=null==(o=t.animate)?void 0:o.transform,l=$r(t);delete l.transform,l.animate&&(delete l.animate.transform,0===Object.keys(l.animate).length&&delete l.animate),delete l.id;const u=[l];for(let t=1;t<i;t++){const r=$r(l),o=ui(e,t),i=o?Fo(r,o,n):r;u.push(i)}const c={type:"g",children:u};return t.id&&(c.id=t.id),void 0!==a&&(c.transform=a),void 0!==s&&(c.animate={transform:s}),c}(m,a,e),m=Ho(m,s,i,e),m=function(t,e,n){if(!(null==e?void 0:e.pathData))return t;const r=Qr(n,"clip"),o={type:"path"},i=Vr(e.pathData);return"absent"!==i.kind&&("static"===i.kind?o.d=Yo(i.value):(Wr(o,"d",i),void 0!==o.d&&(o.d=Yo(o.d)))),n.defs.push({type:"clipPath",id:r,children:[o]}),t.clipPath="url(#"+r+")",t}(m,l,e),o?(li(m,c,e),m=Wo(m,i,r,o,e)):m=function(t,e,n,r){return li(t,e,r),Fo(t,n,r)}(m,c,i,e),(null==c?void 0:c.retime)&&(t.effects={clone:{retime:c.retime}}),r&&e.idMap.set(r,m),m}function Ri(t,e,n,r,o){const i=1-o,a=i*i*i,s=3*i*i*o,l=3*i*o*o,u=o*o*o;return[a*t[0]+s*e[0]+l*n[0]+u*r[0],a*t[1]+s*e[1]+l*n[1]+u*r[1]]}function Fi(t,e,n,r,o=64){let i=0,a=t;for(let s=1;s<=o;s++){const l=Ri(t,e,n,r,s/o);i+=Math.hypot(l[0]-a[0],l[1]-a[1]),a=l}return i}var Bi=t=>{const e=Math.round(1e4*t)/1e4;return Object.is(e,-0)?"0":String(e)};function Li(t){const e=t=>{var n;let r=t;const o=t.animate,i=null==o?void 0:o.transform;if(i){const e=function(t){var e,n,r;if("offsetPath"!==t.alongPathMode)return;const o=t.keyframes;if(!o||o.length<2)return;const i=se(o[0]),a=(null==i?void 0:i.origin)&&i.origin.length>=2?[i.origin[0],i.origin[1]]:[0,0],s=[];let l=!1;for(const t of o){const n=se(t),r=null==n?void 0:n.translate;if(!r||r.length<2)return;if(Object.keys(n).some(t=>t!==Vt&&t!==Gt&&t!==Wt))return;if(void 0!==(null==n?void 0:n.rotate)){if(0!==n.rotate)return;l=!0}const o=null!=(e=null==n?void 0:n.origin)?e:[0,0];if(o[0]!==a[0]||o[1]!==a[1])return;s.push([r[0]+a[0],r[1]+a[1]])}if(!o.some(t=>ue(t)||ce(t)))return;let u="M"+Bi(s[0][0])+","+Bi(s[0][1]);const c=[];for(let t=0;t<s.length-1;t++){const e=s[t],i=s[t+1],a=null!=(n=ce(o[t]))?n:[0,0],l=null!=(r=ue(o[t+1]))?r:[0,0],f=[e[0]+a[0],e[1]+a[1]],d=[i[0]+l[0],i[1]+l[1]];u+="C"+Bi(f[0])+","+Bi(f[1])+","+Bi(d[0])+","+Bi(d[1])+","+Bi(i[0])+","+Bi(i[1]),c.push(Fi(e,f,d,i))}const f=c.reduce((t,e)=>t+e,0);if(!(f>0))return;const d=[];let h=0;for(let t=0;t<o.length;t++){t>0&&(h+=c[t-1]);const e={t:ae(o[t]),v:h/f},n=le(o[t]);void 0!==n&&(e.e=n),d.push(e)}return{pathStr:u,distanceKfs:d,autoOrient:!!t.autoOrient,anchor:a,keyframesCarryRotate:l}}(i);if(e){const n=l({},o);delete n[Bt];const a={keyframes:e.distanceKfs};void 0!==i.loop&&(a.loop=i.loop),n.offsetDistance=a;const s=t.transform;let c=s;if(s&&"object"==typeof s){const t=l({},s);delete t[Vt],delete t[Gt],e.keyframesCarryRotate&&delete t[Wt],c=Object.keys(t).length?t:void 0}r=u(l({},t),{animate:n,style:u(l({},t.style),{offsetPath:"path('"+e.pathStr+"')",offsetAnchor:Bi(e.anchor[0])+"px "+Bi(e.anchor[1])+"px",offsetRotate:e.autoOrient?"auto":"0deg",offsetDistance:"0%"})}),void 0!==c?r.transform=c:delete r.transform}}if(null==(n=r.children)?void 0:n.length){const t=r.children.map(e);t.some((t,e)=>t!==r.children[e])&&(r=u(l({},r),{children:t}))}return r};return e(t)}function Vi(t){var e;const n=function(t){const e=new Map,n=t=>{var r;"string"==typeof t.id&&e.set(t.id,t),null==(r=t.children)||r.forEach(n)};return n(t),e}(t),r=function(t,e){const n=new WeakMap,r=new Set,o=(t,r)=>{const i=n.get(t);if(void 0!==i)return i;if(r.has(t))return!1;r.add(t);let a=!1;if(t.animate&&"object"==typeof t.animate&&!Array.isArray(t.animate))for(const e in t.animate){a=!0;break}if(!a&&t.children)for(const e of t.children)if(o(e,r)){a=!0;break}if(!a&&"use"===t.type&&"string"==typeof t.href){const n=Gi(t.href),i=n?e.get(n):void 0;i&&(a=o(i,r))}return r.delete(t),n.set(t,a),a};for(const[t,n]of e)o(n,new Set)&&r.add(t);return r}(0,n);if(0===r.size)return t;let o=0;const i=function(t){const e=Ki(t.viewBox);if(e)return[e[2],e[3]];const n=Wi(t.width),r=Wi(t.height);return void 0!==n&&void 0!==r?[n,r]:[1,1]}(t),a=[],s=Ji(t,n,r,()=>"_lw_use_mat_"+ ++o,a,i);if(0===a.length)return s;const c={type:"defs",children:a},f=[...null!=(e=s.children)?e:[],c];return u(l({},s),{children:f})}function Wi(t){if("number"==typeof t)return t;if("string"==typeof t){const e=parseFloat(t);return Number.isFinite(e)?e:void 0}}function Gi(t){if("string"==typeof t)return t.startsWith("#")?t.slice(1):t}function Zi(t,e,n,r,o,i,a){var s,c,f,d;const h=Kr(e);Jr(h,o);const p="symbol"===h.type?Ki(h.viewBox):void 0,m=null!=(c=null!=(s=Wi(t.width))?s:null==p?void 0:p[2])?c:a[0],g=null!=(d=null!=(f=Wi(t.height))?f:null==p?void 0:p[3])?d:a[1],v="symbol"===h.type?function(t,e,n,r,o){const i=Ki(t.viewBox),a=u(l({},t),{type:"g"});if(delete a.viewBox,delete a.preserveAspectRatio,delete a.width,delete a.height,!i)return a;const[s,c,f,d]=i,h=f>0&&d>0?Math.min(r/f,o/d):1,p=(r-f*h)/2,m=(o-d*h)/2,g=[];0===p&&0===m||g.push("translate("+p+","+m+")");1!==h&&g.push("scale("+h+")");0===s&&0===c||g.push("translate("+-s+","+-c+")");g.length&&(a.transform=g.join(""));const v=e();return n.push({type:"clipPath",id:v,children:[{type:"rect",x:s,y:c,width:f,height:d}]}),a.clipPath="url(#"+v+")",a}(h,o,i,m,g):h,y=Ji(v,n,r,o,i,a),b=u(l({},t),{type:"g",children:[y]});return delete b.href,delete b.width,delete b.height,qr(b)}function Ki(t){if("string"!=typeof t)return;const e=t.trim().split(/[\s,]+/).map(Number);return e.length<4||e.some(t=>!Number.isFinite(t))?void 0:[e[0],e[1],e[2],e[3]]}function Ji(t,e,n,r,o,i){if("use"===t.type&&"string"==typeof t.href){const a=Gi(t.href);if(a&&n.has(a)){const s=e.get(a);if(s)return Zi(t,s,e,n,r,o,i)}}if(!t.children)return t;let a=!1;const s=t.children.map(t=>{const s=Ji(t,e,n,r,o,i);return s!==t&&(a=!0),s});return a?u(l({},t),{children:s}):t}var Xi=new Set(["reverse","alternate-reverse"]);function qi(t,e){if(void 0!==t[e])return!1;if(Sn.has(e))return!1;if("transform"===e)for(const e of Sn)if(void 0!==t[e])return!1;return!0}function Qi(t,e,n){const r=Object.values(Ur({[e]:t[e]},n));return 1===r.length&&""!==r[0]?r[0]:void 0}function Yi(t,e){const n=ln(t),r=new Map;for(const[t,e]of Hi(n))void 0===e.id&&(e.id="__px_rest_"+t),r.set(String(e.id),t);const o=new Map;for(const t of Cr(n,e)){const e=r.get(t.id);void 0!==e&&o.set(e,t.animate)}return o}function Hi(t){const e=new Map;let n=0;const r=t=>{if(t.animate&&e.set(String(n++),t),t.children)for(const e of t.children)r(e)};if(t.children)for(const e of t.children)r(e);return e}function $i(t,e,n){var r,o;let i=Ei(t).root;i=Li(i);return i=Nr(i,null!=(o=null==(r=qt(i))?void 0:r.duration)?o:zn),e===yt.native&&(i=yr(i,null==n?void 0:n.motionPath),i=Vi(i),i=function(t){const e=t=>t.startsWith("#")?t.slice(1):t,n=(t,e)=>{var r;e(t),null==(r=t.children)||r.forEach(t=>n(t,e))};let r=!0;for(;r;){r=!1;const o=new Set;n(t,t=>{"use"===t.type&&"string"==typeof t.href&&o.add(e(t.href))}),n(t,t=>{if(!t.children)return;let e=t.children;"defs"===t.type&&(e=e.filter(t=>!(("g"===t.type||"symbol"===t.type)&&"string"==typeof t.id&&!o.has(t.id)))),e=e.filter(t=>!("defs"===t.type&&(!t.children||0===t.children.length))),e.length!==t.children.length&&(t.children=e,r=!0)})}return t}(i)),i=function(t,e){var n;const r=ln(t),o=qt(r)||{},i=+(o.duration||zn),a=Xi.has(String(o.direction))?i:0,s=Hi(r);if(!s.size)return r;const l=Yi(r,e),u=new Map;for(const[t,e]of l){const r=s.get(t);if(r)for(const o of Object.keys(e)){if(!qi(r,o))continue;const i=Qi(e,o,a);void 0!==i&&(r[o]=i,u.set(t,[...null!=(n=u.get(t))?n:[],o]))}}if(u.size){const t=Yi(r,e);for(const[e,n]of u){if(JSON.stringify(t.get(e))===JSON.stringify(l.get(e)))continue;const r=s.get(e);if(r)for(const t of n)delete r[t]}}return r}(i,e),i}function ta(t){var e;return un($i(t,kt(null==(e=qt(t))?void 0:e.engine)))}var ea=(t=>(t[t.buildFailed=1001]="buildFailed",t[t.invalidDocumentAtSrc=1002]="invalidDocumentAtSrc",t[t.loadFailed=1003]="loadFailed",t[t.animationBuildFailed=1004]="animationBuildFailed",t[t.effectsShape=1101]="effectsShape",t[t.timelineOverrideIgnored=1102]="timelineOverrideIgnored",t[t.blockedTag=1103]="blockedTag",t[t.unsupportedAnimatedAttrs=1104]="unsupportedAnimatedAttrs",t[t.noBindings=1105]="noBindings",t[t.unresolvedBinding=1106]="unresolvedBinding",t[t.triggersNoRoot=1201]="triggersNoRoot",t[t.noRootForSelector=1202]="noRootForSelector",t[t.noRootElement=1203]="noRootElement",t[t.noElementsForSelector=1206]="noElementsForSelector",t[t.setAttributeNoElement=1207]="setAttributeNoElement",t[t.scrollSmoothingNeedsOwnDriver=1301]="scrollSmoothingNeedsOwnDriver",t[t.scrollNativeUnavailable=1302]="scrollNativeUnavailable",t[t.scrollSubjectInvalid=1303]="scrollSubjectInvalid",t[t.scrollSubjectNoMatch=1304]="scrollSubjectNoMatch",t[t.scrollNoRootToObserve=1305]="scrollNoRootToObserve",t[t.scrollTriggerIgnored=1306]="scrollTriggerIgnored",t[t.rateRejected=1401]="rateRejected",t[t.controlPropsConflict=1501]="controlPropsConflict",t[t.rnCompileFailed=1601]="rnCompileFailed",t[t.rnRenderFailed=1602]="rnRenderFailed",t[t.rnBoundaryCaught=1603]="rnBoundaryCaught",t[t.rnUnsupported=1604]="rnUnsupported",t))(ea||{}),na={document:"document",host:"host",platform:"platform",usage:"usage",internal:"internal"};function ra(t){return"PX"+t+" https://github.com/pixodesk/pixodesk-svg-animator/blob/main/docs/diagnostics.md#px"+t}function oa(t,e){const n=e?e+" ":"";return{warn:(e,r,...o)=>{const i=ra(r);(null==t?void 0:t.onWarn)?t.onWarn({code:r,kind:e,data:o,message:i}):(null==t?void 0:t.muteWarn)||console.warn(n+e+" "+i,...o)},error:(e,r,...o)=>{const i=ra(r),a=function(t){return t.find(t=>t instanceof Error)}(o);(null==t?void 0:t.onError)?t.onError({code:r,kind:e,data:o,message:i,error:a}):(null==t?void 0:t.muteError)||console.error(n+e+" "+i,...o)}}}function ia(t){try{return{problems:He(t)}}catch(t){return{problems:[]}}}function aa(t,e){const{problems:n}=ia(t);if(!n.length)return;const r=n.slice(0,6),o=n.length-r.length;console.warn(e+": this document does not match the animation schema in "+n.length+" place"+(1===n.length?"":"s")+".\n"+r.map(t=>" - "+t).join("\n")+(o>0?"\n … and "+o+" more":"")+"\n\nIf you did not author these keys, the usual cause is a build that MANGLES PROPERTY NAMES. An animation document is data loaded at runtime, so renaming the property reads inside the player stops them matching the keys in the JSON, and the animation silently does nothing. Feed the published reserved-name list to your minifier — @pixodesk/svg-animator-web/mangle-reserved.json — see docs/library/minification.md.")}export{l as __spreadValues,u as __spreadProps,c as __objRest,f as PX_UNKNOWN_KEY_ERROR,z as schemaKeys,D as describeSchema,I as px,T as PX_WIRE_SCHEMA_VERSION,C as PX_WIRE_VERSION_KEY,U as PxWireVersionRelation,F as parseWireVersion,B as formatWireVersion,L as PX_WIRE_VERSION,G as readWireVersion,Z as compareWireVersion,K as wireVersionAdvice,J as PxWireStepKind,X as PX_WIRE_BASELINE_VERSION,q as PX_WIRE_STEPS,Q as applyWireSteps,Y as convertWireDocument,tt as downgradeWireDocument,et as PxFillMode,nt as PxPlaybackDirection,rt as PX_ANIM_SRC_ATTR_NAME,ot as PX_ANIM_ATTR_NAME,it as PxTriggerStart,at as PxOffScreenAction,st as PxMouseOutAction,lt as PxFinishAction,ut as PxScrollKind,ct as PxScrollAxis,ft as PxScrollSource,dt as PxPinAlign,ht as PxScrollPhase,pt as PxAlongPathMode,mt as PX_TIMELINE_SHARED_KEYS,gt as PX_TIME_ONLY_TIMELINE_KEYS,yt as PxTimelineEngine,bt as PxTimelineEngineSetting,kt as resolveTimelineEngine,At as isNativeForced,wt as mayUseNativeScrollTimeline,xt as PX_TRIGGER_DEFAULTS,jt as PxControlMode,Ot as resolveControlMode,St as controlModeTakesOverTrigger,Mt as resolveTrigger,Pt as PxLoopRepeatAt,_t as PxLoopDirection,zt as PxMaskType,Dt as PxUnits,Nt as PxCloneWithout,It as PxPathOverflow,Tt as PxLengthAdjust,Ct as PxTextPathMethod,Et as PxTextPathSpacing,Ut as PxStrokeTrimSubPaths,Rt as PX_TEXT_CONTENT_ATTR,Zt as PX_TRANSFORM_PART_KEYS,Kt as PxGradientSpreadMethod,Jt as PxGradientType,Xt as isPxDocument,qt as getAnimatorConfig,Ht as flattenAnimatorTimeline,$t as nestAnimatorTimeline,te as getDefinitions,ee as getBindings,ne as getChildren,oe as PxKeyframeValueSchema,ie as PxKeyframeSchema,se as keyframeValue,le as keyframeEasing,fe as PxLoopSchema,de as PxPropertyAnimationSchema,he as PxTransformPartsSchema,pe as PxTransformValueSchema,ge as PxElementAnimationSchema,ve as PxTriggerSchema,ke as PxDefinitionsSchema,Ae as PxScrollRangePointSchema,we as PxScrollRangeSchema,xe as PxScrollSchema,ze as PxTimelineSchema,Ne as PxAnimatorConfigSchema,Ie as PxAttrValueSchema,Ue as PxTransformByEffectSchema,Re as PxRepeaterEffectSchema,Fe as PxMaskedByEffectSchema,Be as PxClipPathEffectSchema,Le as PxStrokeTrimEffectSchema,Ve as PxRetimeEffectSchema,We as PxCloneEffectSchema,Ge as PxGradientStopSchema,Ke as PxFillGradientEffectSchema,Xe as PxTextPathEffectSchema,qe as PxTextEffectSchema,Qe as PxEffectsSchema,Ye as validateNodeEffects,He as validateDocument,$e as PxNodeBaseSchema,tn as PxNodeSchema,en as PxSvgNodeRootSchema,nn as PxAnimatedSvgDocumentSchema,rn as PxBezierPathSchema,on as isValidPxDocument,sn as generateUniqueId,ln as deepClone,un as generateNewIds,fn as bezierToSvgPath,yn as cubicBezier,kn as subdivideCubicBezier,An as splitEasing,wn as reverseEasing,xn as toRGBA,On as PX_COLOR_ATTR_NAMES,Sn as PX_TRANSFORM_FN_NAMES,Mn as PX_PCT_BASED_ATTR_NAMES,Pn as composeTransformParts,_n as PX_STYLE_ATTR_NAMES,zn as PX_DEFAULT_DURATION_MS,Dn as kebabToCamelCaseWord,Tn as camelCaseToKebabWordIfNeeded,Cn as clamp,Vn as PX_DISALLOWED_SVG_TAGS_LOWER,Zn as PX_CSS_ONLY_STYLE_PROPS,Qn as sanitizeAttributeValue,Yn as toDomProps,Hn as mergeStaticTransformIntoAnimDef,ir as materializeMotionPathInPropAnim,kr as PX_LOOP_JUMP_SHIFT_MS,Pr as interpolateValue,Cr as normalizeBindings,Ur as calcAnimationValues,Br as createPathSampler,ro as extendedPathForBrowser,So as layoutGlyphTextChars,_o as materializeGlyphTextAlongPath,Ro as materializeGlyphText,Ei as materializeNodeEffects,$i as materializeAllInTree,ta as prepareDocumentForRender,ea as PxDiagnosticCode,na as PxDiagnosticKind,oa as createDiagnostics,ia as diagnoseDocument,aa as reportDocumentDiagnostics};
|