flo-mat 2.0.2 → 2.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/browser/index.js +8230 -8229
- package/browser/index.min.js +1 -1
- package/node/circle.d.ts +20 -20
- package/node/circle.js +31 -31
- package/node/compare-curvatures-at-interface.d.ts +19 -19
- package/node/compare-curvatures-at-interface.js +124 -124
- package/node/contact-point.d.ts +26 -26
- package/node/contact-point.js +25 -25
- package/node/cp-node/clone.d.ts +8 -8
- package/node/cp-node/clone.js +31 -31
- package/node/cp-node/remove.d.ts +9 -9
- package/node/cp-node/remove.js +19 -19
- package/node/cp-node.d.ts +202 -202
- package/node/cp-node.js +320 -320
- package/node/curve.d.ts +46 -46
- package/node/curve.js +88 -88
- package/node/debug/cp-node-for-debugging.d.ts +11 -11
- package/node/debug/cp-node-for-debugging.js +1 -1
- package/node/debug/debug-elem-types.d.ts +32 -32
- package/node/debug/debug-elem-types.js +1 -1
- package/node/debug/debug.d.ts +50 -50
- package/node/debug/debug.js +75 -75
- package/node/debug/functions/draw-elem/bounding-hull.d.ts +3 -3
- package/node/debug/functions/draw-elem/bounding-hull.js +7 -7
- package/node/debug/functions/draw-elem/branch.d.ts +4 -4
- package/node/debug/functions/draw-elem/branch.js +22 -22
- package/node/debug/functions/draw-elem/culls.d.ts +4 -4
- package/node/debug/functions/draw-elem/culls.js +21 -21
- package/node/debug/functions/draw-elem/draw-circle-percent.d.ts +3 -3
- package/node/debug/functions/draw-elem/draw-circle-percent.js +12 -12
- package/node/debug/functions/draw-elem/draw-elem.d.ts +8 -8
- package/node/debug/functions/draw-elem/draw-elem.js +45 -45
- package/node/debug/functions/draw-elem/dull-corner.d.ts +4 -4
- package/node/debug/functions/draw-elem/dull-corner.js +10 -10
- package/node/debug/functions/draw-elem/leaves.d.ts +4 -4
- package/node/debug/functions/draw-elem/leaves.js +12 -12
- package/node/debug/functions/draw-elem/loop.d.ts +4 -4
- package/node/debug/functions/draw-elem/loop.js +11 -11
- package/node/debug/functions/draw-elem/loops.d.ts +4 -4
- package/node/debug/functions/draw-elem/loops.js +6 -6
- package/node/debug/functions/draw-elem/loose-bounding-box.d.ts +3 -3
- package/node/debug/functions/draw-elem/loose-bounding-box.js +9 -9
- package/node/debug/functions/draw-elem/mat.d.ts +4 -4
- package/node/debug/functions/draw-elem/mat.js +30 -30
- package/node/debug/functions/draw-elem/max-vertex.d.ts +4 -4
- package/node/debug/functions/draw-elem/max-vertex.js +8 -8
- package/node/debug/functions/draw-elem/min-y.d.ts +4 -4
- package/node/debug/functions/draw-elem/min-y.js +13 -13
- package/node/debug/functions/draw-elem/one-prong-at-dull-corner.d.ts +4 -4
- package/node/debug/functions/draw-elem/one-prong-at-dull-corner.js +12 -12
- package/node/debug/functions/draw-elem/one-prong.d.ts +4 -4
- package/node/debug/functions/draw-elem/one-prong.js +16 -16
- package/node/debug/functions/draw-elem/sharp-corner.d.ts +4 -4
- package/node/debug/functions/draw-elem/sharp-corner.js +9 -9
- package/node/debug/functions/draw-elem/three-prong.d.ts +4 -4
- package/node/debug/functions/draw-elem/three-prong.js +16 -16
- package/node/debug/functions/draw-elem/tight-bounding-box.d.ts +3 -3
- package/node/debug/functions/draw-elem/tight-bounding-box.js +7 -7
- package/node/debug/functions/draw-elem/two-prong.d.ts +4 -4
- package/node/debug/functions/draw-elem/two-prong.js +36 -36
- package/node/debug/functions/draw-elem/vertex.d.ts +4 -4
- package/node/debug/functions/draw-elem/vertex.js +27 -27
- package/node/debug/functions/general.d.ts +48 -48
- package/node/debug/functions/general.js +52 -52
- package/node/debug/functions/three-prong.d.ts +11 -11
- package/node/debug/functions/three-prong.js +184 -184
- package/node/debug/functions/two-prong.d.ts +13 -13
- package/node/debug/functions/two-prong.js +117 -117
- package/node/debug/three-prong-for-debugging.d.ts +31 -31
- package/node/debug/three-prong-for-debugging.js +20 -20
- package/node/debug/two-prong-for-debugging.d.ts +26 -26
- package/node/debug/two-prong-for-debugging.js +1 -1
- package/node/find-mats.d.ts +26 -26
- package/node/find-mats.js +122 -122
- package/node/get-boundary-bezier-parts-to-next.d.ts +9 -9
- package/node/get-boundary-bezier-parts-to-next.js +42 -42
- package/node/get-boundary-beziers-to-next.d.ts +8 -8
- package/node/get-boundary-beziers-to-next.js +44 -44
- package/node/get-bounding-box-.d.ts +2 -2
- package/node/get-bounding-box-.js +4 -4
- package/node/get-branches.d.ts +12 -12
- package/node/get-branches.js +68 -68
- package/node/get-curve/get-curve-between.d.ts +9 -9
- package/node/get-curve/get-curve-between.js +56 -56
- package/node/get-curve/get-edge-direction.d.ts +9 -9
- package/node/get-curve/get-edge-direction.js +53 -53
- package/node/get-curve-to-next.d.ts +9 -9
- package/node/get-curve-to-next.js +11 -11
- package/node/get-interface-ccw.d.ts +24 -24
- package/node/get-interface-ccw.js +97 -97
- package/node/index.d.ts +36 -36
- package/node/index.js +32 -32
- package/node/loop/get-max-coordinate.d.ts +10 -10
- package/node/loop/get-max-coordinate.js +43 -43
- package/node/loop.d.ts +16 -16
- package/node/loop.js +34 -34
- package/node/mat/add-to-cp-graph.d.ts +16 -16
- package/node/mat/add-to-cp-graph.js +30 -30
- package/node/mat/bezier-piece.d.ts +12 -12
- package/node/mat/bezier-piece.js +1 -1
- package/node/mat/closest-boundary-point/closest-points-on-curve.d.ts +14 -14
- package/node/mat/closest-boundary-point/closest-points-on-curve.js +72 -72
- package/node/mat/closest-boundary-point/cull-bezier-pieces.d.ts +9 -9
- package/node/mat/closest-boundary-point/cull-bezier-pieces.js +19 -19
- package/node/mat/closest-boundary-point/cull-by-loose-bounding-box.d.ts +11 -11
- package/node/mat/closest-boundary-point/cull-by-loose-bounding-box.js +24 -24
- package/node/mat/closest-boundary-point/cull-by-tight-boundary-box.d.ts +11 -11
- package/node/mat/closest-boundary-point/cull-by-tight-boundary-box.js +26 -26
- package/node/mat/closest-boundary-point/get-best-distance-squared.d.ts +8 -8
- package/node/mat/closest-boundary-point/get-best-distance-squared.js +24 -24
- package/node/mat/closest-boundary-point/get-close-boundary-points.d.ts +17 -17
- package/node/mat/closest-boundary-point/get-close-boundary-points.js +80 -80
- package/node/mat/closest-boundary-point/get-closest-boundary-point.d.ts +18 -18
- package/node/mat/closest-boundary-point/get-closest-boundary-point.js +40 -40
- package/node/mat/corner.d.ts +37 -37
- package/node/mat/corner.js +1 -1
- package/node/mat/create-new-cp-tree.d.ts +9 -9
- package/node/mat/create-new-cp-tree.js +23 -23
- package/node/mat/elem-type-two-prong.d.ts +3 -3
- package/node/mat/elem-type-two-prong.js +1 -1
- package/node/mat/find-mat/add-1-prong.d.ts +12 -12
- package/node/mat/find-mat/add-1-prong.js +42 -42
- package/node/mat/find-mat/add-2-prong.d.ts +21 -21
- package/node/mat/find-mat/add-2-prong.js +192 -192
- package/node/mat/find-mat/add-3-prong.d.ts +19 -19
- package/node/mat/find-mat/add-3-prong.js +54 -54
- package/node/mat/find-mat/add-debug-info.d.ts +9 -9
- package/node/mat/find-mat/add-debug-info.js +67 -67
- package/node/mat/find-mat/create-get-interesting-points-on-loop.d.ts +11 -11
- package/node/mat/find-mat/create-get-interesting-points-on-loop.js +51 -51
- package/node/mat/find-mat/create-initial-cp-graph.d.ts +12 -12
- package/node/mat/find-mat/create-initial-cp-graph.js +40 -40
- package/node/mat/find-mat/find-2-prong/add-debug-info.d.ts +8 -8
- package/node/mat/find-mat/find-2-prong/add-debug-info.js +21 -21
- package/node/mat/find-mat/find-2-prong/cull-bezier-pieces.d.ts +11 -11
- package/node/mat/find-mat/find-2-prong/cull-bezier-pieces.js +29 -29
- package/node/mat/find-mat/find-2-prong/find-2-prong.d.ts +37 -37
- package/node/mat/find-mat/find-2-prong/find-2-prong.js +232 -232
- package/node/mat/find-mat/find-2-prong/find-equidistant-point-on-line.d.ts +9 -9
- package/node/mat/find-mat/find-2-prong/find-equidistant-point-on-line.js +39 -39
- package/node/mat/find-mat/find-2-prong/get-initial-bezier-pieces.d.ts +11 -11
- package/node/mat/find-mat/find-2-prong/get-initial-bezier-pieces.js +37 -37
- package/node/mat/find-mat/find-2-prong/x-for-debugging.d.ts +9 -9
- package/node/mat/find-mat/find-2-prong/x-for-debugging.js +1 -1
- package/node/mat/find-mat/find-3-prong/calc-better-x.d.ts +19 -19
- package/node/mat/find-mat/find-3-prong/calc-better-x.js +36 -36
- package/node/mat/find-mat/find-3-prong/calc-initial-3-prong-center.d.ts +13 -13
- package/node/mat/find-mat/find-3-prong/calc-initial-3-prong-center.js +25 -25
- package/node/mat/find-mat/find-3-prong/find-3-prong-for-delta3s.d.ts +22 -22
- package/node/mat/find-mat/find-3-prong/find-3-prong-for-delta3s.js +159 -159
- package/node/mat/find-mat/find-3-prong/find-3-prong.d.ts +16 -16
- package/node/mat/find-mat/find-3-prong/find-3-prong.js +76 -76
- package/node/mat/find-mat/find-3-prong/get-closest-points.d.ts +9 -9
- package/node/mat/find-mat/find-3-prong/get-closest-points.js +16 -16
- package/node/mat/find-mat/find-and-add-2-prongs-on-all-paths.d.ts +15 -15
- package/node/mat/find-mat/find-and-add-2-prongs-on-all-paths.js +20 -20
- package/node/mat/find-mat/find-and-add-2-prongs.d.ts +16 -16
- package/node/mat/find-mat/find-and-add-2-prongs.js +73 -73
- package/node/mat/find-mat/find-and-add-3-prongs.d.ts +13 -13
- package/node/mat/find-mat/find-and-add-3-prongs.js +146 -146
- package/node/mat/find-mat/find-and-add-hole-closing-2-prongs.d.ts +14 -14
- package/node/mat/find-mat/find-and-add-hole-closing-2-prongs.js +33 -33
- package/node/mat/find-mat/get-potential-2-prongs.d.ts +4 -4
- package/node/mat/find-mat/get-potential-2-prongs.js +16 -16
- package/node/mat/find-mat/get-sharp-corners.d.ts +4 -4
- package/node/mat/find-mat/get-sharp-corners.js +17 -17
- package/node/mat/geometry/get-closest-square-distance-to-rect.d.ts +5 -5
- package/node/mat/geometry/get-closest-square-distance-to-rect.js +49 -49
- package/node/mat/geometry/get-closest-squared-distance-to-rotated-rect.d.ts +5 -5
- package/node/mat/geometry/get-closest-squared-distance-to-rotated-rect.js +15 -15
- package/node/mat/get-boundary-piece-beziers.d.ts +11 -11
- package/node/mat/get-boundary-piece-beziers.js +58 -58
- package/node/mat/get-contact-circles-at-interface.d.ts +8 -8
- package/node/mat/get-contact-circles-at-interface.js +20 -20
- package/node/mat/get-largest-vertex.d.ts +4 -4
- package/node/mat/get-largest-vertex.js +9 -9
- package/node/mat/get-leaves.d.ts +4 -4
- package/node/mat/get-leaves.js +12 -12
- package/node/mat/get-neighboring-cps.d.ts +14 -14
- package/node/mat/get-neighboring-cps.js +30 -30
- package/node/mat/get-two-prong-type.d.ts +5 -5
- package/node/mat/get-two-prong-type.js +8 -8
- package/node/mat/is-another-cp-closeby.d.ts +20 -20
- package/node/mat/is-another-cp-closeby.js +55 -55
- package/node/mat/simplify-mat-map-only.d.ts +23 -23
- package/node/mat/simplify-mat-map-only.js +80 -80
- package/node/mat/to-scale-axis/add-debug-info.d.ts +7 -7
- package/node/mat/to-scale-axis/add-debug-info.js +13 -13
- package/node/mat/to-scale-axis/cull-non-cycles.d.ts +9 -9
- package/node/mat/to-scale-axis/cull-non-cycles.js +51 -51
- package/node/mat/to-scale-axis/cull.d.ts +12 -12
- package/node/mat/to-scale-axis/cull.js +132 -132
- package/node/mat/trim-mat.d.ts +8 -8
- package/node/mat/trim-mat.js +16 -16
- package/node/mat.d.ts +22 -22
- package/node/mat.js +1 -1
- package/node/point-on-shape.d.ts +73 -73
- package/node/point-on-shape.js +167 -167
- package/node/simplify-mat.d.ts +16 -16
- package/node/simplify-mat.js +71 -71
- package/node/svg/get-loop-bounds.d.ts +12 -12
- package/node/svg/get-loop-bounds.js +80 -80
- package/node/svg/get-min-y-pos.d.ts +8 -8
- package/node/svg/get-min-y-pos.js +9 -9
- package/node/svg/get-shape-bounds.d.ts +9 -9
- package/node/svg/get-shape-bounds.js +35 -35
- package/node/sweep-line/sweep-line.d.ts +18 -18
- package/node/sweep-line/sweep-line.js +72 -72
- package/node/to-scale-axis.d.ts +16 -16
- package/node/to-scale-axis.js +74 -74
- package/node/traverse-edges.d.ts +10 -10
- package/node/traverse-edges.js +21 -21
- package/node/traverse-vertices.d.ts +12 -12
- package/node/traverse-vertices.js +27 -27
- package/package.json +11 -11
- package/tsconfig.json +0 -1
package/browser/index.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var t={d:(n,e)=>{for(var r in e)t.o(e,r)&&!t.o(n,r)&&Object.defineProperty(n,r,{enumerable:!0,get:e[r]})},o:(t,n)=>Object.prototype.hasOwnProperty.call(t,n)},n={};function e(t){let n="";for(let e=0;e<t.length;e++){const r=t[e];0===e&&(n="M "+r[0][0].toString()+" "+r[0][1].toString()+"\n"),4===r.length?n+="C "+r[1][0].toString()+" "+r[1][1].toString()+" "+r[2][0].toString()+" "+r[2][1].toString()+" "+r[3][0].toString()+" "+r[3][1].toString()+" \n":3===r.length?n+="Q "+r[1][0].toString()+" "+r[1][1].toString()+" "+r[2][0].toString()+" "+r[2][1].toString()+" \n":2===r.length&&(n+="L "+r[1][0].toString()+" "+r[1][1].toString()+" \n")}return n+" z\n"}t.d(n,{M1:()=>ht,bt:()=>R,A3:()=>e,zh:()=>rd,Ls:()=>nd,CU:()=>Jp,gM:()=>ed,SQ:()=>dp,BG:()=>id,Ij:()=>od,tQ:()=>Ia,C_:()=>Op,aS:()=>va,DZ:()=>ua,wH:()=>lt,N0:()=>ft,Jt:()=>f,tO:()=>qa,bQ:()=>Td,UW:()=>Id,_T:()=>Ed,Dw:()=>Md,xs:()=>Tp,y9:()=>wp,Fw:()=>Mp,QE:()=>xp});class r{constructor(){this.initialPoint=void 0,this.vals=void 0,this.prev2ndCubicControlPoint=void 0,this.prev2ndQuadraticControlPoint=void 0,this.p=[0,0]}}function o(t){const n=[t.p,t.initialPoint];return t.prev2ndCubicControlPoint=void 0,t.prev2ndQuadraticControlPoint=void 0,n}function i(t){t.prev2ndCubicControlPoint=void 0,t.prev2ndQuadraticControlPoint=void 0;const n=(e=t.p,t.vals[0],t.vals[1],t.vals[2],t.vals[3],t.vals[4],[[e,[t.vals[5],t.vals[6]]]]);var e;const r=n[n.length-1];return t.p=r[r.length-1],n}const s={c:function(t){const n=[t.p,[t.vals[0],t.vals[1]],[t.vals[2],t.vals[3]],[t.vals[4],t.vals[5]]];return t.prev2ndCubicControlPoint=n[2],t.prev2ndQuadraticControlPoint=void 0,n},h:function(t){const n=[t.p,[t.vals[0],t.p[1]]];return t.prev2ndCubicControlPoint=void 0,t.prev2ndQuadraticControlPoint=void 0,n},l:function(t){const n=[t.p,t.vals];return t.prev2ndCubicControlPoint=void 0,t.prev2ndQuadraticControlPoint=void 0,n},q:function(t){const n=[t.vals[0],t.vals[1]],e=[t.vals[2],t.vals[3]];return t.prev2ndCubicControlPoint=void 0,t.prev2ndQuadraticControlPoint=n,[t.p,n,e]},s:function(t){const n=t.prev2ndCubicControlPoint?[t.p[0]-t.prev2ndCubicControlPoint[0]+t.p[0],t.p[1]-t.prev2ndCubicControlPoint[1]+t.p[1]]:t.p,e=[t.p,n,[t.vals[0],t.vals[1]],[t.vals[2],t.vals[3]]];return t.prev2ndCubicControlPoint=e[2],t.prev2ndQuadraticControlPoint=void 0,e},t:function(t){const n=t.prev2ndQuadraticControlPoint?[t.p[0]-t.prev2ndQuadraticControlPoint[0]+t.p[0],t.p[1]-t.prev2ndQuadraticControlPoint[1]+t.p[1]]:t.p,e=[t.vals[0],t.vals[1]];return t.prev2ndCubicControlPoint=void 0,t.prev2ndQuadraticControlPoint=n,[t.p,n,e]},v:function(t){const n=[t.p,[t.p[0],t.vals[0]]];return t.prev2ndCubicControlPoint=void 0,t.prev2ndQuadraticControlPoint=void 0,n},z:o};function c(t){let n=0,e=0,r=1,o=0,i=1,s=1;const c=t._currentIndex;if(t._skipOptionalSpaces(),t._currentIndex<t._endIndex&&"+"===t._string[t._currentIndex]?t._currentIndex+=1:t._currentIndex<t._endIndex&&"-"===t._string[t._currentIndex]&&(t._currentIndex+=1,i=-1),t._currentIndex===t._endIndex||(t._string[t._currentIndex]<"0"||t._string[t._currentIndex]>"9")&&"."!==t._string[t._currentIndex])throw new Error("The first character of a number must be one of [0-9+-.].");const u=t._currentIndex;for(;t._currentIndex<t._endIndex&&t._string[t._currentIndex]>="0"&&t._string[t._currentIndex]<="9";)t._currentIndex+=1;if(t._currentIndex!==u){let n=t._currentIndex-1,r=1;for(;n>=u;)e+=r*(Number(t._string[n])-0),n-=1,r*=10}if(t._currentIndex<t._endIndex&&"."===t._string[t._currentIndex]){if(t._currentIndex+=1,t._currentIndex>=t._endIndex||t._string[t._currentIndex]<"0"||t._string[t._currentIndex]>"9")throw new Error("There must be a least one digit following the .");for(;t._currentIndex<t._endIndex&&t._string[t._currentIndex]>="0"&&t._string[t._currentIndex]<="9";)r*=10,o+=Number(t._string.charAt(t._currentIndex))/r,t._currentIndex+=1}if(t._currentIndex!==c&&t._currentIndex+1<t._endIndex&&("e"===t._string[t._currentIndex]||"E"===t._string[t._currentIndex])&&"x"!==t._string[t._currentIndex+1]&&"m"!==t._string[t._currentIndex+1]){if(t._currentIndex+=1,"+"===t._string[t._currentIndex]?t._currentIndex+=1:"-"===t._string[t._currentIndex]&&(t._currentIndex+=1,s=-1),t._currentIndex>=t._endIndex||t._string[t._currentIndex]<"0"||t._string[t._currentIndex]>"9")throw new Error("There must be an exponent.");for(;t._currentIndex<t._endIndex&&t._string[t._currentIndex]>="0"&&t._string[t._currentIndex]<="9";)n*=10,n+=Number(t._string[t._currentIndex]),t._currentIndex+=1}let l=e+o;if(l*=i,n&&(l*=Math.pow(10,s*n)),c===t._currentIndex)throw new Error("Internal error: startIndex === source._currentIndex");return t._skipOptionalSpacesOrDelimiter(),l}const u={Z:"Z",M:"M",L:"L",C:"C",Q:"Q",A:"A",H:"H",V:"V",S:"S",T:"T",z:"Z",m:"m",l:"l",c:"c",q:"q",a:"a",h:"h",v:"v",s:"s",t:"t"};class l{constructor(t){this._string=t,this._currentIndex=0,this._endIndex=this._string.length,this._prevCommand=void 0,this._skipOptionalSpaces()}parseSegment(){const t=this._string[this._currentIndex];let n,e=u[t];if(void 0===e){if(void 0===this._prevCommand)throw new Error("Implicit command not allowed for first commands.");if(!("+"===t||"-"===t||"."===t||t>="0"&&t<="9")||"Z"===this._prevCommand)throw new Error("Remaining coordinates not found for implicit command");e="M"===this._prevCommand?"L":"m"===this._prevCommand?"l":this._prevCommand}else this._currentIndex+=1;this._prevCommand=e;const r=e.toUpperCase();if("H"===r||"V"===r?n=[c(this)]:"M"===r||"L"===r||"T"===r?n=[c(this),c(this)]:"S"===r||"Q"===r?n=[c(this),c(this),c(this),c(this)]:"C"===r?n=[c(this),c(this),c(this),c(this),c(this),c(this)]:"A"===r?n=[c(this),c(this),c(this),this._parseArcFlag(),this._parseArcFlag(),c(this),c(this)]:"Z"===r&&(this._skipOptionalSpaces(),n=[]),void 0===n)throw new Error("Unknown command");return{type:e,values:n}}hasMoreData(){return this._currentIndex<this._endIndex}initialCommandIsMoveTo(){if(!this.hasMoreData())return!0;const t=u[this._string[this._currentIndex]];return"M"===t||"m"===t}_isCurrentSpace(){const t=this._string[this._currentIndex];return t<=" "&&(" "===t||"\n"===t||"\t"===t||"\r"===t||"\f"===t)}_skipOptionalSpaces(){for(;this._currentIndex<this._endIndex&&this._isCurrentSpace();)this._currentIndex+=1;return this._currentIndex<this._endIndex}_skipOptionalSpacesOrDelimiter(){return!(this._currentIndex<this._endIndex&&!this._isCurrentSpace()&&","!==this._string[this._currentIndex])&&(this._skipOptionalSpaces()&&this._currentIndex<this._endIndex&&","===this._string[this._currentIndex]&&(this._currentIndex+=1,this._skipOptionalSpaces()),this._currentIndex<this._endIndex)}_parseArcFlag(){if(this._currentIndex>=this._endIndex)throw new Error("Unable to parse arc flag");let t;const n=this._string[this._currentIndex];if(this._currentIndex+=1,"0"===n)t=0;else{if("1"!==n)throw new Error("Unable to parse arc flag - arc flag must be 0 or 1");t=1}return this._skipOptionalSpacesOrDelimiter(),t}}function f(t){return function(t){if(0===t.length)return[];if("m"!==t[0].type.toLowerCase())throw new Error("Invalid SVG - every new path must start with an M or m.");const n=new r,e=[];let c,u=[];for(let r=0;r<t.length;r++){const l=t[r],f=l.type.toLowerCase();if(n.vals=l.values,l.type===f)if("v"===f)n.vals[0]+=n.p[1];else if("a"===f)n.vals[5]+=n.p[0],n.vals[6]+=n.p[1];else for(let t=0;t<n.vals.length;t++)n.vals[t]+=n.p[t%2];if("m"!==f){if("a"===f)u.push(...i(n));else{const t=s[f];if(!t)throw new Error("Invalid SVG - command not recognized.");const e=t(n);n.p=e[e.length-1],u.push(e)}c=f}else u.length&&("z"!==c&&u.push(o(n)),e.push(u),u=[]),n.initialPoint=n.p=n.vals,c=f}return u.length>0&&("z"!==c&&u.push(o(n)),e.push(u)),e}(function(t){if(!t.length)return[];const n=new l(t),e=[];if(!n.initialCommandIsMoveTo())throw new Error("Path must start with m or M");for(;n.hasMoreData();)e.push(n.parseSegment());return e}(t))}function h(t){const n=1/Math.sqrt(t[0]*t[0]+t[1]*t[1]);return[t[0]*n,t[1]*n]}function a(t,n){const e=n[0]-t[0],r=n[1]-t[1];return e*e+r*r}function p(t,n){return[n[0]-t[0],n[1]-t[1]]}function d(t,n,e){return[t[0]+(n[0]-t[0])*e,t[1]+(n[1]-t[1])*e]}function g(t,n){return t[0]===n[0]&&t[1]===n[1]}function v(t,n,e){let r,o=Number.POSITIVE_INFINITY;for(let i=0;i<n.length;i++){const s=n[i],c=a(t,e(s));c<o&&(r=s,o=c)}return r}function m(t,n){return t[0]*n[0]+t[1]*n[1]}const _="function"==typeof WeakMap;function b(t){if(!_)return t;const n=new WeakMap;return function(e){let r=n.get(e);return void 0!==r||(r=t(e),n.set(e,r)),r}}function x(t,n){if(0===n)return t[0];if(1===n)return t[t.length-1];if(4===t.length){const[[e,r],[o,i],[s,c],[u,l]]=t,f=e+(o-e)*n,h=o+(s-o)*n,a=f+(h-f)*n,p=r+(i-r)*n,d=i+(c-i)*n,g=p+(d-p)*n;return[a+(h+(s+(u-s)*n-h)*n-a)*n,g+(d+(c+(l-c)*n-d)*n-g)*n]}if(3===t.length){const[[e,r],[o,i],[s,c]]=t,u=e+(o-e)*n,l=r+(i-r)*n;return[u+(o+(s-o)*n-u)*n,l+(i+(c-i)*n-l)*n]}if(2===t.length){const[[e,r],[o,i]]=t;return[e+(o-e)*n,r+(i-r)*n]}if(1===t.length)return t[0];throw new Error("The given bezier curve must be of order <= 3.")}function I(t,n){let e=0;for(let r=0;r<t.length;r++)e=e*n+t[r];return e}function N(t){if(4===t.length)return function(t){const[[n,e],[r,o],[i,s],[c,u]]=t;return[[3*(c-n+3*(r-i)),6*(i+n-2*r),3*(r-n)],[3*(u-e+3*(o-s)),6*(s+e-2*o),3*(o-e)]]}(t);if(3===t.length)return function(t){const[[n,e],[r,o],[i,s]]=t;return[[2*(i+n-2*r),2*(r-n)],[2*(s+e-2*o),2*(o-e)]]}(t);if(2===t.length)return function(t){const[[n,e],[r,o]]=t;return[[r-n],[o-e]]}(t);if(1===t.length)return[[0],[0]];throw new Error("The bezier curve must be of order <= 3.")}function S(t){if(4===t.length){const[[n,e],[r,o],[i,s],[c,u]]=t;return[[6*(c-n+3*(r-i)),6*(i+n-2*r)],[6*(u-e+3*(o-s)),6*(s+e-2*o)]]}if(3===t.length){const[[n,e],[r,o],[i,s]]=t;return[[2*(i-2*r+n)],[2*(s-2*o+e)]]}if(t.length<=2)return[[0],[0]];throw new Error("The given bezier curve must be of order <= 3.")}function E(t,n){const[e,r]=N(t);return[I(e,n),I(r,n)]}function w(t,n){return t[0]*n[1]-t[1]*n[0]}const M=134217729;function C(t,n){const e=t*n,r=M*t,o=r-(r-t),i=t-o,s=M*n,c=s-(s-n),u=n-c;return[i*u-(e-o*c-i*c-o*u),e]}function T(t,n){const e=t.length,r=n.length;let o=0,i=0;const s=[];for(;o<e&&i<r;)0!==t[o]?0!==n[i]?Math.abs(t[o])<=Math.abs(n[i])?(s.push(t[o]),o++):(s.push(n[i]),i++):i++:o++;for(;o<e;)s.push(t[o]),o++;for(;i<r;)s.push(n[i]),i++;if(0===s.length)return[0];const c=s.length;if(1===c)return s;const u=[],l=s[1],f=s[0];let h=l+f;const a=f-(h-l);0!==a&&u.push(a),i=0;for(let t=2;t<c;t++){const n=s[t],e=h+n,r=e-h,o=h-(e-r)+(n-r);0!==o&&u.push(o),h=e}return 0===h&&0!==u.length||u.push(h),u}function O(t){const n=t.length,e=new Array(n);for(let r=0;r<n;r++)e[r]=-t[r];return e}const P=O,y=T;function A(t,n){const e=P(n);return y(t,e)}function B(t){let n=t[0];for(let e=1;e<t.length;e++)n+=t[e];return n}function z(t,n){const e=t-n,r=t-e;return[t-(e+r)+(r-n),e]}function Y(t){const n=t.slice(),e=n.length;if(1===e)return n;let r=n[e-1],o=e;for(let t=e-2;t>=0;--t){const e=r,i=n[t];r=e+i;const s=i-(r-e);s&&(n[--o]=r,r=s)}let i=0;for(let t=o;t<e;++t){const e=n[t],o=r;r=e+o;const s=o-(r-e);s&&(n[i++]=s)}return n[i++]=r,n.length=i,n}function F(t,n,e){const r=(t[0]-e[0])*(n[1]-e[1]),o=(t[1]-e[1])*(n[0]-e[0]),i=r-o;let s;if(r>0){if(o<=0)return i;s=r+o}else{if(!(r<0))return i;if(o>=0)return i;s=-r-o}return Math.abs(i)>=3330669073875472e-31*s?i:function(t,n,e,r){const o=t[0]-e[0],i=n[0]-e[0],s=t[1]-e[1],c=n[1]-e[1],u=A(C(o,c),C(s,i));let l=B(u);if(Math.abs(l)>=2220446049250315e-31*r)return l;const f=z(t[0],e[0])[0],h=z(n[0],e[0])[0],a=z(t[1],e[1])[0],p=z(n[1],e[1])[0];if(0===f&&0===a&&0===h&&0===p)return l;const d=1109335647967049e-46*r+3330669073875471e-31*Math.abs(l);if(l+=o*p+c*f-(s*h+i*a),Math.abs(l)>=d)return l;const g=T(u,A(C(f,c),C(a,i))),v=T(g,A(C(o,p),C(s,h)));let m=T(v,A(C(f,p),C(a,h)));return m=Y(m),m[m.length-1]}(t,n,e,s)}function V(t){return t[t.length-1]}function k(t,n){const e=t.length;let r;const o=t[0];let i=o*n;const s=134217729*o,c=s-(s-o),u=o-c,l=134217729*n,f=l-(l-n),h=n-f,a=[],p=u*h-(i-c*f-u*f-c*h);0!==p&&a.push(p);for(let o=1;o<e;o++){const e=t[o],s=e*n,c=134217729*e,u=c-(c-e),l=e-u,f=134217729*n,h=f-(f-n),p=n-h,d=l*p-(s-u*h-l*h-u*p),g=i+d,v=g-i,m=i-(g-v)+(d-v);0!==m&&a.push(m),r=g;const _=s+r,b=r-(_-s);0!==b&&a.push(b),i=_}return 0===i&&0!==a.length||a.push(i),a}function L(t,n){const e=n.length;let r;const o=n[0];let i=o*t;const s=134217729*o,c=s-(s-o),u=o-c,l=134217729*t,f=l-(l-t),h=t-f,a=[],p=u*h-(i-c*f-u*f-c*h);0!==p&&a.push(p);for(let o=1;o<e;o++){const e=n[o],s=e*t,c=134217729*e,u=c-(c-e),l=e-u,f=134217729*t,h=f-(f-t),p=t-h,d=l*p-(s-u*h-l*h-u*p),g=i+d,v=g-i,m=i-(g-v)+(d-v);0!==m&&a.push(m),r=g;const _=s+r,b=r-(_-s);0!==b&&a.push(b),i=_}return 0===i&&0!==a.length||a.push(i),a}const D=k,X=T;function Q(t,n){let e=[0];for(let r=0;r<t.length;r++)e=X(e,D(n,t[r]));return e}function q(t){if(4===t.length){const[[n,e],[r,o]]=t;return[3*(r-n),3*(o-e)]}if(3===t.length){const[[n,e],[r,o]]=t;return[2*(r-n),2*(o-e)]}if(2===t.length){const[[n,e],[r,o]]=t;return[r-n,o-e]}if(1===t.length)return[0,0];throw new Error("The given bezier curve must be of order <= 3.")}function $(t){if(4===t.length){const[[n,e],[r,o],[i,s]]=t;return[6*(i+n-2*r),6*(s+e-2*o)]}if(3===t.length){const[[n,e],[r,o],[i,s]]=t;return[2*(i+n-2*r),2*(s+e-2*o)]}if(t.length<=2)return[0,0];throw new Error("The given bezier curve must be of order <= 3")}function H(t){if(4===t.length){const[[n,e],[r,o],[i,s],[c,u]]=t;return[6*(c-n+3*(r-i)),6*(u-e+3*(o-s))]}if(t.length<=3)return[0,0];throw new Error("The given bezier curve must be of order <= 3.")}const G=b((function(t){return function(t,n){const e=function(t,n){const e=t[t.length-2],r=n[0],o=n[1],i=[r[0]-e[0],r[1]-e[1]],s=[o[0]-r[0],o[1]-r[1]],c=F(e,r,o);return 0!==c?c:m(i,s)>0?0:function(t,n){const[e,r]=q(t),[o,i]=$(t),[s,c]=q(n),[u,l]=$(n),f=A(C(e,i),C(r,o)),h=A(C(s,l),C(c,u)),a=V(f),p=V(h);if(a!==p)return a-p;const d=T(C(s,s),C(c,c)),g=T(C(e,e),C(r,r)),v=Q(d,d),m=Q(v,d),_=Q(g,g),b=Q(_,g);if(0!==a||0!==p){const t=Q(f,f),n=Q(h,h),e=V(A(Q(t,m),Q(n,b)));if(0!==e)return a>0?e:-e}const[x,I]=H(t),[N,S]=H(n),E=A(C(e,I),C(r,x)),w=T(C(e,o),C(r,i)),M=A(C(s,S),C(c,N)),O=T(C(s,u),C(c,l)),P=A(Q(g,E),k(Q(f,w),3)),y=A(Q(d,M),k(Q(h,O),3)),B=V(P),z=V(y);if(a!==p)return B-z;if(0===B&&0===z)return 0;const Y=Q(P,P),F=Q(v,m),L=Q(y,y),D=Q(_,b),X=V(A(Q(Y,F),Q(L,D)));return B>0?X:-X}(t.slice().reverse(),n)}(t,n),r=e<0,o=e>0,i=t[t.length-2],s=t[t.length-1],c=[s[0]-i[0],s[1]-i[1]],u=n[0],l=n[1],f=[l[0]-u[0],l[1]-u[1]],a=[h(c),h(f)],p=w(a[0],a[1]);let d,g;return m(c,f)>0?(d=p<-.0698,g=p>.0698):(d=r,g=o),{tangents:a,crossTangents:p,isSharp:r,isDull:o,isQuiteSharp:d,isQuiteDull:g}}(t.ps,t.next.ps)}));class R{constructor(t,n){this.curve=t,this.t=n,this.p_=void 0}get p(){return void 0===this.p_?this.p_=x(this.curve.ps,this.t):this.p_}}function U(t){return 0===t.t||1===t.t}function j(t){return G(1===t.t?t.curve:t.curve.prev)}const Z=b((t=>!!U(t)&&j(t).isSharp)),W=b((t=>!!U(t)&&j(t).isDull)),J=b((t=>!!U(t)&&j(t).isQuiteSharp));function K(t,n){if(!U(n))return 0;if(!W(n))return 0;var e;return-m([(e=j(n).tangents[0])[1],-e[0]],h(p(n.p,t.center)))}function tt(t,n){if(void 0===t||void 0===n)return;let e;return e=t.curve.idx-n.curve.idx,0!==e||(e=t.t-n.t),e}b((t=>!!U(t)&&j(t).isQuiteDull));const nt=b((t=>1/-function(t,n){const[e,r]=N(t),[o,i]=S(t),s=I(e,n),c=I(r,n),u=I(o,n);return(s*I(i,n)-c*u)/Math.sqrt((s*s+c*c)**3)}(t.curve.ps,t.t)));function et(t,n){if(Z(n))return{center:n.p,radius:0};let e=nt(n);e<0&&(e=Number.POSITIVE_INFINITY),e=Math.min(e,t);const r=n.curve.ps,o=n.t,i=E(r,o),s=h([-i[1],i[0]]),c=x(r,o);return{center:[c[0]-s[0]*e,c[1]-s[1]*e],radius:e}}function rt(t,n){let e=tt(t.pointOnShape,n.pointOnShape);if(void 0!==e)return 0!==e?e:(e=t.order-n.order,0!==e?e:t.order2-n.order2)}function ot(t,n){const[[e,r],[o,i]]=t,[[s,c],[u,l]]=n,f=o-e,h=i-r,a=u-s,p=l-c,d=a*h-p*f;if(0===d)return;const g=((c-r)*f-(s-e)*h)/d;return[s+g*a,c+g*p]}function it(t){return[-t[1],t[0]]}function st(t,n){function e(n){return[t[0]+n[0],t[1]+n[1]]}return void 0===n?e:e(n)}function ct(t,n,e){function r(e){return[e[0]*n-e[1]*t,e[0]*t+e[1]*n]}return void 0===e?r:r(e)}function ut(t){const n=t.cp.circle.center,e=t,r=t.nextOnCircle,o=e.cp.pointOnShape,i=r.cp.pointOnShape,s=o.p,c=i.p;let u;if(Z(o)){let t,n;0===o.t?(t=o.curve,n=o.curve.prev):1===o.t&&(t=o.curve.next,n=o.curve);const e=h(E(t.ps,0)),r=[-(l=h(E(n.ps,1)))[0],-l[1]],i=m(e,r),s=Math.sqrt((1+i)/2);u=ct(Math.sqrt((1-i)/2),s,r)}else u=s[0]===c[0]&&s[1]===c[1]?p(s,n):it(p(s,c));var l;return[n,st(h(u),n)]}function lt(t,n){const e=t.cp.circle.center,r=ut(t),o=n.cp.circle.center,i=ut(n.prevOnCircle),s=ot(r,i),c=p(e,o);let u;if(s){const t=p(e,s),n=p(o,s);u=m(t,c)<0||m(n,c)>0}else u=!0;if(!u)return[e,s,o];const l=it(c),f=p(r[0],r[1]),h=p(i[0],i[1]),a=Math.abs(w(c,f))/9,g=Math.abs(w(c,h))/9;if(a>.01||g>.01)return[e,o];if(a>1e-4||g>1e-4){const t=d(e,o,1/3),n=d(e,o,2/3),s=st(l,t),c=[n,st(l,n)];return[e,ot(r,[t,s]),ot(i,c),o]}return[e,o]}function ft(t){return lt(t,t.next)}class ht{constructor(t,n,e,r,o,i,s){this.cp=t,this.isHoleClosing=n,this.isIntersection=e,this.prev=r,this.next=o,this.prevOnCircle=i,this.nextOnCircle=s}get matCurveToNextVertex(){return ft(this)}getChildren(){const t=[],n=this.next;let e=n;do{t.push(e),e=e.nextOnCircle}while(e.nextOnCircle!==n);return t}get vertexChildren(){if(this.isTerminating())return[];const t=this,n=[];let e=t;for(;e!==t.prevOnCircle;)e.isTerminating()||n.push(e.next),e=e.nextOnCircle;return n}getAllOnLoop(){const t=this,n=[t];let e=this.next;for(;e!==t;)n.push(e),e=e.next;return n}static insert(t,n,e,r,o){const i=new ht(r,t,n);let s,c;return"undefined"!=typeof _debug_&&_debug_.generated.elems.cpNode.push({generated:_debug_.generated,cpNode:i}),o?(s=o,c=s.next):(s=i,c=i),c.prev=i,s.next=i,i.prev=s,i.next=c,e.insert(i),i}getCpNodesOnCircle(t=!1){const n=this;let e=n;const r=[];do{t?t=!1:r.push(e),e=e.nextOnCircle}while(e!==n);return r}static isOnSameCircle(t,n){return t.getCpNodesOnCircle(!0).indexOf(n)>=0}isTerminating(){return this===this.next.prevOnCircle}isFullyTerminating(){return this.prevOnCircle.getCpNodesOnCircle(!0).every((t=>t.isTerminating()))}getFirstExit(){const t=this;let n=t;for(;n.next===n.prevOnCircle;)if(n=n.next,n===t)return;return n}isSharp(){return 0===this.cp.circle.radius}isOneProng(){const t=this;if(0===t.cp.circle.radius)return!0;const n=t.nextOnCircle,e=t.cp.pointOnShape.p,r=n.cp.pointOnShape.p;return e[0]===r[0]&&e[1]===r[1]}getProngCount(){const t=this;let n=t,e=0;do{e++,n=n.nextOnCircle}while(n!==t);return e}getRealProngCount(){return this.isOneProng()?1:this.getProngCount()}}ht.comparator=(t,n)=>rt(t.cp,n.cp),ht.remove=function(t,n){const e=t.prev,r=t.next;e.next=r,r.prev=e;const o=r.prevOnCircle,i=e.nextOnCircle;o.next=i,i.prev=o,n&&n.remove(t,!1)};const at=Number.EPSILON/2,pt=at*at;function dt(t,n){const e=t[0],r=t[1],o=n[0],i=n[1],s=r-i,c=s-r,u=e-o,l=u-e,f=r-(s-c)+(-i-c)+u,h=s+f,a=e-(u-l)+(-o-l)+(f-(h-s)),p=h+a;return[a-(p-h),p]}const gt=dt,vt=dt;function mt(t,n){const e=t[0],r=t[1],o=n[0],i=n[1],s=r/i,c=i*s,u=134217729*i,l=u-(u-i),f=i-l,h=134217729*s,a=h-(h-s),p=s-a,d=o*s,g=c+d,v=d-(g-c)+(f*p-(c-l*a-f*a-l*p)),m=g+v,_=(r-m+(e-(v-(m-g))))/i,b=s+_;return[_-(b-s),b]}Number.EPSILON;const _t=mt,bt=Number.EPSILON/2,xt=bt*bt,It=Number.EPSILON/2,Nt=function(t,n){const e=n[0],r=n[1],o=r*t,i=134217729*r,s=i-(i-r),c=r-s,u=134217729*t,l=u-(u-t),f=t-l,h=c*f-(o-s*l-c*l-s*f)+e*t,a=o+h;return[h-(a-o),a]},St=function(t,n){const e=t[0],r=t[1],o=r+n,i=o-r,s=e+(r-(o-i)+(n-i)),c=o+s;return[s-(c-o),c]},Et=function(t,n){const e=t[0],r=t[1],o=n[0],i=n[1],s=r+i,c=s-r,u=e+o,l=u-e,f=r-(s-c)+(i-c)+u,h=s+f,a=e-(u-l)+(o-l)+(f-(h-s)),p=h+a;return[a-(p-h),p]},wt=dt,Mt=function(t){return[2*t[0],2*t[1]]},Ct=function(t){return[4*t[0],4*t[1]]},Tt=function(t,n){const e=t[1],r=n[1],o=e*r,i=134217729*e,s=i-(i-e),c=e-s,u=134217729*r,l=u-(u-r),f=r-l,h=c*f-(o-s*l-c*l-s*f)+(e*n[0]+t[0]*r),a=o+h;return[h-(a-o),a]},Ot=mt,Pt=function(t){return[-t[0],-t[1]]},yt=function(t,n){const e=t-n,r=t-e;return[t-(e+r)+(r-n),e]},At=function(t,n){const e=t*n,r=134217729*t,o=r-(r-t),i=t-o,s=134217729*n,c=s-(s-n),u=n-c;return[i*u-(e-o*c-i*c-o*u),e]},Bt=function(t,n,e,r){const o=t/n,i=Math.abs(t),s=Math.abs(n),c=s-r;return c<=0?{est:o,err:Number.POSITIVE_INFINITY}:{est:o,err:(s*e+i*r)/c**2+It*Math.abs(i/s)}},zt=Nt,Yt=B,Ft=function(t){const n=3*pt;return n/(1-n)}(),Vt=k;function kt(t,n){const e=t+n,r=e-t;return[t-(e-r)+(n-r),e]}const Lt=kt,Dt=C,Xt=Math.abs,Qt=Number.EPSILON/2;function qt(t,n){let e=t[0],r=.5*Xt(e);for(let o=1;o<t.length;o++)e=e*n+t[o],r=r*Xt(n)+Xt(e);return r=Qt*(2*r-Xt(e)),[e,r]}const $t=Math.abs,Ht=function(t){const n=t*at;return n/(1-n)},Gt=qt,Rt=I,Ut=Ht(1),jt=Ht(2);function Zt(t,n,e,r=1){const o=Math.abs(n),i=t[0],[s,c]=Gt(i,n),u=jt*function(t,n){let e=0;for(let r=0;r<t.length;r++)e=e*n+$t(t[r]);return e}(i,o),l=void 0!==e?Rt(e,o):0;if((c+u+l)*r<Math.abs(s))return s;const f=function(t,n){const e=[],r=[];let o,i=t[0];for(let s=1;s<t.length;s++){const[c,u]=Dt(i,n);[o,i]=Lt(u,t[s]),e.push(c),r.push(o)}return{r̂:i,pπ:e,pσ:r}}(i,n),{pπ:h,pσ:a}=f;let{r̂:p}=f;const[d,g]=Gt(h,n),[v,m]=Gt(a,n),[_,b]=Gt(t[1],n);let x=g+m+b+l;return p=d+v+_+p,x+=Ut*p,x*r<Math.abs(p)?p:0}const Wt=T,Jt=k;function Kt(t,n){let e=[0];for(let r=0;r<t.length;r++)e=Wt(t[r],Jt(e,n));return e}const tn=Zt,nn=Kt,en=B,rn=Zt,on=Kt,sn=B,cn=Number.EPSILON,un=Math.abs,ln=Math.max;function fn(t){const n=[];for(let e=0;e<t.length;e++)n.push(-t[e]);return n}const hn=fn,an=function(t){return n=>1/t(function(t){return t.slice().reverse()}(n))};function pn(t){const n=t.length-1;if(n<1)return 0;t[0]<0&&(t=hn(t));const e=[];for(let t=0;t<n;t++)e.push(1);let r=0;for(let o=0;o<=n;o++){if(t[o]>=0)continue;let n=Number.POSITIVE_INFINITY,i=!1;for(let r=0;r<o;r++){if(t[r]<=0)continue;const s=(-t[o]/(t[r]/2**e[r]))**(1/(o-r));e[r]++,n>s&&(n=s),i=!0}i&&r<n&&(r=n)}return r}an(pn);const dn=(yn=pn,t=>-yn(function(t){const n=t.length-1;if(n<0)return[];const e=t.slice();for(let t=0;t<n+1;t++)t%2&&(e[t]=-e[t]);return e}(t))),gn=(an(dn),function(t){const{p:n,pE:e}=t,r=[],o=[],i=n.length-1;for(let t=0;t<i;t++){const s=i-t,c=zt(s,n[t]);r.push(c);const u=0==(s&s-1)?0:Ft,l=Yt(c);o.push(s*e[t]+Math.abs(l)*u)}return{p:r,pE:o}}),vn=Zt,mn=Kt,_n=function(t){const n=t[0].length,e=[];for(let r=0;r<n;r++){const o=[];for(let e=0;e<t.length;e++)o.push(t[e][n-(r+1)]);e.push(o)}return e},bn=function(t,n,e,r){const o=tn(t,e,n,4);return 0!==o?o:en(nn(r(),e))},xn=function(t,n,e,r,o,i,s,c){let u=e,l=r,f=u,h=o,a=l-u,p=a;for(;;){let d;un(h)<un(i)&&(u=l,l=f,f=u,o=i,i=h,h=o);const g=ln(un(u),un(l));d=g<=1?cn:cn*2**Math.ceil(Math.log2(g));const v=.5*(f-l);if(un(v)<=d)return l<f?[l,f]:[f,l];if(un(a)<d||un(o)<=un(i))a=v,p=a;else{let t,n,e=i/o;if(u===f)t=2*v*e,n=1-e;else{n=o/h;const r=i/h;t=e*(2*v*n*(n-r)-(l-u)*(r-1)),n=(n-1)*(r-1)*(e-1)}0<t?n=-n:t=-t,e=a,a=p,2*t<3*v*n-un(d*n)&&t<un(.5*e*n)?p=t/n:(a=v,p=a)}if(u=l,o=i,d<un(p)?l+=p:0<v?l+=d:l-=d,0===(i=c?sn(on(s(),l)):rn(t,l,n))){if(c)return[l,l];const o=Math.max(e,l-d),u=Math.min(r,l+d);if(rn(t,o,n)*rn(t,u,n)!=0)return[o,u];if(c=!0,0===(i=sn(on(s(),l))))return[l,l]}(0<i&&0<h||i<=0&&h<=0)&&(f=u,h=o,a=l-u,p=a)}},In=dn,Nn=pn,Sn=function(t){const n=[],e=t.length-1;for(let r=0;r<e;r++)n.push(Vt(t[r],e-r));return n},En=B,wn=qt,Mn=V,Cn=Math.max,Tn=Math.min,On=Math.abs,Pn=1+Number.EPSILON;var yn;function An(t,n=0,e=1,r,o,i){o||(o=()=>t),r=r||new Array(t.length).fill(0);let s,c,u=0;for(;t.length>0&&On(t[0][1])<=r[0]&&(c=c||o(),0===Mn(c[0]));)(t=t.slice()).shift(),(r=r.slice()).shift(),c.shift();if(0===t.length)return i?void 0:[];if(1===t.length)return[];if(n===Number.NEGATIVE_INFINITY||e===Number.POSITIVE_INFINITY){const r=t.map((t=>t[1]));n===Number.NEGATIVE_INFINITY&&(n=In(r)),e===Number.POSITIVE_INFINITY&&(e=Nn(r))}const l=_n(t);let f,h;const a=t.length-1;let p,d;f=0,h=!1;do{if(p=h?En(mn(x(),n)):vn(l,n,r),0===p){if(f++,f>=3&&!h){h=!0;continue}n-=2*Number.EPSILON*Cn(1,On(n))}}while(0===p);f=0,h=!1;do{if(d=h?En(mn(x(),e)):vn(l,e,r),0===d){if(f++,f>=3&&!h){h=!0;continue}e+=2*Number.EPSILON*Cn(1,On(e))}}while(0===d);const g=[{p:t,pE:r}],v=[_n(t)];for(let t=1;t<=a;t++){const n=gn(g[t-1]);g.push(n),v.push(_n(n.p))}let m,_,b=[];for(u=a-1;u>=0;u--)m=g[u].pE,_=v[u],b=I();function x(){if(void 0!==s)return s[u];let t=c||o();for(s=[t];t.length>1;)t=Sn(t),s.push(t);return s[u]}return b;function I(){const t=[],r=bn(_,m,n,x);if(!b.length){const t=bn(_,m,e,x);if(r*t>=0)return[];const[o,i]=xn(_,m,n,e,r,t,x);return[{tS:o,tE:i,multiplicity:1}]}let o=b[0].tS,i=bn(_,m,o,x);if(r*i>0);else if(r*i<0){const[e,s]=xn(_,m,n,o,r,i,x);t.push({tS:e,tE:s,multiplicity:1})}let s,c=n,l=r,f=o,h=i;for(let n=0;n<b.length;n++){const r=b[n+1];s=b[n],o=f,c=b[n].tE,f=r?r.tS:e;const u=l;if(i=h,l=bn(_,m,c,x),h=bn(_,m,f,x),i*l>0)if(l*h>0)c!==o&&s.multiplicity%2==1&&p();else if(l*h<0){c!==o&&s.multiplicity%2==1&&p();const[n,e]=xn(_,m,c,f,l,h,x);t.push({tS:n,tE:e,multiplicity:1})}else c!==o&&s.multiplicity%2==1&&p();else if(i*l<0){if(t.push({tS:s.tS,tE:s.tE,multiplicity:3}),l*h<0){const[n,e]=xn(_,m,c,f,l,h,x);t.push({tS:n,tE:e,multiplicity:1})}}else if(0===l)0===i?t.push({tS:s.tS,tE:s.tE,multiplicity:s.multiplicity+1}):i*h>0?t.push({tS:s.tS,tE:s.tE,multiplicity:2}):t.push({tS:s.tS,tE:s.tE,multiplicity:3});else{if(l*h<0){const[n,e]=xn(_,m,c,f,l,h,x);t.push({tS:n,tE:e,multiplicity:1})}u*l>0?t.push({tS:s.tS,tE:s.tE,multiplicity:2}):t.push({tS:s.tS,tE:s.tE,multiplicity:3})}}for(let n=0;n<t.length-1;n++){const e=t[n],r=t[n+1];if(e.tE>=r.tS)return Bn(t)}return t;function p(){const n=(c-o)*Pn;let e=1,r=0;for(let t=u+2;t<=a;t++){const i=v[t][0],s=wn(i,o);r+=(On(s[0])+s[1])*e,e*=n*Pn}const f=l>0?Tn(i,l):Cn(i,l),h=2*Number.EPSILON*Cn(1,On(c)),p=r*(2*h);(f+(l>0?2*-p*h:2*p*h))*l<0&&t.push({tS:s.tS,tE:s.tE,multiplicity:2})}}}function Bn(t){const n=[],e=t[0];let r={tS:e.tS,tE:e.tE,multiplicity:e.multiplicity};for(let e=0;e<t.length-1;e++){const o=t[e],i=t[e+1];o.tE<i.tS?(n.push(r),r={tS:i.tS,tE:i.tE,multiplicity:i.multiplicity}):(r.tE=i.tE,r.multiplicity=o.multiplicity+i.multiplicity)}return n.push(r),n}function zn(t,n=Number.NEGATIVE_INFINITY,e=Number.POSITIVE_INFINITY,r){return An(t.map((t=>[0,t])),n,e,void 0,void 0,r)}const Yn=Math.abs;function Fn(t,n){if(0===n[0]&&0===n[1])return[0,0];if(0===n[0]&&1===n[1])return[0,0];const e=Yn(n[1]);if(4===t.length){const[[n,r],[o,i],[s,c],[u,l]]=t,f=Yn(n),h=Yn(r),a=Yn(o),p=Yn(i),d=Yn(s),g=Yn(c),v=f+(a+f)*e,m=a+(d+a)*e,_=v+(m+v)*e,b=h+(p+h)*e,x=p+(g+p)*e,I=b+(x+b)*e;return[_+(m+(d+(Yn(u)+d)*e+m)*e+_)*e,I+(x+(g+(Yn(l)+g)*e+x)*e+I)*e]}if(3===t.length){const[[n,r],[o,i],[s,c]]=t,u=Yn(n),l=Yn(r),f=Yn(o),h=Yn(i),a=u+(f+u)*e,p=l+(h+l)*e;return[a+(f+(Yn(s)+f)*e+a)*e,p+(h+(Yn(c)+h)*e+p)*e]}if(2===t.length){const[[n,r],[o,i]]=t,s=Yn(n),c=Yn(r);return[s+(Yn(o)+s)*e,c+(Yn(i)+c)*e]}if(1===t.length)return[0,0];throw new Error("The given bezier curve must be of order <= 3.")}const Vn=Number.EPSILON/2,kn=Vn*Vn;function Ln(t){const n=t*Vn;return n/(1-n)}function Dn(t){const n=t*kn;return n/(1-n)}Ln(1),Dn(3);const Xn=Math.abs,Qn=[[0,0],[0,0],[0,0],[0,0]];function qn(t,n,e){return 0===n?1===e?{ps:t,_ps:Qn}:function(t,n){const e=t[0],r=t[1],o=t[2],i=t[3],s=e[0],c=e[1],u=r[0],l=r[1],f=o[0],h=o[1],a=i[0],p=i[1],d=s-n*(s-u),g=u-n*(u-f),v=d-n*(d-g),m=v-n*(v-(g-n*(g-(f-n*(f-a))))),_=c-n*(c-l),b=l-n*(l-h),x=_-n*(_-b),I=x-n*(x-(b-n*(b-(h-n*(h-p))))),N=Xn(n),S=Xn(s),E=Xn(u),w=Xn(f),M=Xn(a),C=Xn(c),T=Xn(l),O=Xn(h),P=S+N*(S+E),y=E+N*(E+w),A=P+N*(P+y),B=C+N*(C+T),z=T+N*(T+O),Y=B+N*(B+z);return{ps:[[s,c],[d,_],[v,x],[m,I]],_ps:[[0,0],[P,B],[A,Y],[A+N*(A+(y+N*(y+(w+N*(w+M))))),Y+N*(Y+(z+N*(z+(O+N*(O+Xn(p))))))]]}}(t,e):1===e?function(t,n){const e=t[0],r=t[1],o=t[2],i=t[3],s=e[0],c=e[1],u=r[0],l=r[1],f=o[0],h=o[1],a=i[0],p=i[1],d=s-n*(s-u),g=u-n*(u-f),v=f-n*(f-a),m=d-n*(d-g),_=g-n*(g-v),b=m-n*(m-_),x=c-n*(c-l),I=l-n*(l-h),N=h-n*(h-p),S=x-n*(x-I),E=I-n*(I-N),w=S-n*(S-E),M=Xn(n),C=Xn(s),T=Xn(u),O=Xn(f),P=Xn(a),y=Xn(c),A=Xn(l),B=Xn(h),z=C+M*(C+T),Y=T+M*(T+O),F=O+M*(O+P),V=z+M*(z+Y),k=Y+M*(Y+F),L=y+M*(y+A),D=A+M*(A+B),X=B+M*(B+Xn(p)),Q=L+M*(L+D),q=D+M*(D+X);return{ps:[[b,w],[_,E],[v,N],[a,p]],_ps:[[V+M*(V+k),Q+M*(Q+q)],[k,q],[F,X],[0,0]]}}(t,n):function(t,n,e){const r=t[0],o=t[1],i=t[2],s=t[3],c=r[0],u=r[1],l=o[0],f=o[1],h=i[0],a=i[1],p=n*n,d=n*p,g=e*e,v=e*g,m=n*e,_=c-l,b=h-l,x=s[0]-c,I=_+b,N=n*_,S=e*_,E=x-3*b,w=u-f,M=a-f,C=s[1]-u,T=w+M,O=n*w,P=e*w,y=C-3*M,A=d*E+(3*n*(n*I-_)+c),B=m*(n*E+2*I)+(p*I+c-(S+2*N)),z=m*(e*E+2*I)+(g*I+c-(2*S+N)),Y=v*E+(3*e*(e*I-_)+c),F=d*y+(3*n*(n*T-w)+u),V=m*(n*y+2*T)+(p*T+u-(P+2*O)),k=m*(e*y+2*T)+(g*T+u-(2*P+O)),L=v*y+(3*e*(e*T-w)+u),D=Xn(n),X=Xn(e),Q=Xn(m),q=Xn(d),$=Xn(v),H=Xn(c),G=Xn(l),R=H+G,U=Xn(h)+G,j=R+U,Z=D*R,W=X*R,J=Xn(x)+3*U,K=Xn(u),tt=Xn(f),nt=K+tt,et=Xn(a)+tt,rt=nt+et,ot=D*nt,it=X*nt,st=Xn(C)+3*et;return{ps:[[A,F],[B,V],[z,k],[Y,L]],_ps:[[q*J+(3*D*(D*j+R)+H),q*st+(3*D*(D*rt+nt)+K)],[Q*(D*J+2*j)+(p*j+H+(W+2*Z)),Q*(D*st+2*rt)+(p*rt+K+(it+2*ot))],[Q*(X*J+2*j)+(g*j+H+(2*W+Z)),Q*(X*st+2*rt)+(g*rt+K+(2*it+ot))],[$*J+(3*X*(X*j+R)+H),$*st+(3*X*(X*rt+nt)+K)]]}}(t,n,e)}const $n=Math.abs,Hn=[[0,0],[0,0],[0,0]];function Gn(t,n,e){return 0===n?1===e?{ps:t,_ps:Hn}:function(t,n){const e=t[0],r=t[1],o=t[2],i=e[0],s=e[1],c=r[0],u=r[1],l=o[0],f=o[1],h=n*n,a=i-c,p=s-u,d=[[i,s],[-n*a+i,-n*p+s],[h*(a+(l-c))-(2*n*a-i),h*(p+(f-u))-(2*n*p-s)]],g=$n(n),v=$n(i),m=$n(c),_=$n(l),b=v+m,x=$n(s),I=$n(u),N=x+I;return{ps:d,_ps:[[0,0],[g*b+v,g*N+x],[h*(b+(_+m))+(2*g*b+v),h*(N+($n(f)+I))+(2*g*N+x)]]}}(t,e):1===e?function(t,n){const e=t[0],r=t[1],o=t[2],i=e[0],s=e[1],c=r[0],u=r[1],l=o[0],f=o[1],h=n*n,a=i-c,p=l-c,d=s-u,g=f-u,v=[[h*(a+p)-(2*n*a-i),h*(d+g)-(2*n*d-s)],[n*p+c,n*g+u],[l,f]],m=$n(n),_=$n(i),b=$n(c),x=_+b,I=$n(l)+b,N=$n(s),S=$n(u),E=N+S;return{ps:v,_ps:[[h*(x+I)+(2*m*x+_),h*(E+($n(f)+S))+(2*m*E+N)],[m*I+b,0],[0,0]]}}(t,n):function(t,n,e){const r=t[0],o=t[1],i=t[2],s=r[0],c=r[1],u=o[0],l=o[1],f=i[0],h=i[1],a=n*n,p=e*e,d=n*e,g=s-u,v=g+(f-u),m=c-l,_=m+(h-l),b=a*v-(2*n*g-s),x=d*v-(g*(e+n)-s),I=p*v-(2*e*g-s),N=a*_-(2*n*m-c),S=d*_-(m*(e+n)-c),E=p*_-(2*e*m-c),w=$n(n),M=$n(e),C=$n(d),T=$n(s),O=$n(u),P=T+O,y=P+$n(f)+O,A=$n(c),B=$n(l),z=A+B,Y=z+$n(h)+B;return{ps:[[b,N],[x,S],[I,E]],_ps:[[a*y+(2*w*P+T),a*Y+(2*w*z+A)],[C*y+(P*(M+w)+T),C*_+(z*(M+w)+A)],[p*y+(2*M*P+T),p*Y+(2*M*z+A)]]}}(t,n,e)}const Rn=Math.abs,Un=[[0,0],[0,0]];const jn=Number.EPSILON/2,Zn=Ln(1);function Wn(t,n){return n[0]!==n[1]?4===t.length?function(t,n){const{ps:e,_ps:r}=qn(t,n[0],n[1]),o=e[0][0],i=e[1][0],s=e[2][0],c=e[3][0],u=9*jn*r[0][0],l=9*jn*r[1][0],f=9*jn*r[2][0],h=9*jn*r[3][0],a=e[0][1],p=e[1][1],d=e[2][1],g=e[3][1],v=9*jn*r[0][1],m=9*jn*r[1][1],_=9*jn*r[2][1],b=9*jn*r[3][1],x=Math.min(o-u,i-l,s-f,c-h),I=Math.max(o+u,i+l,s+f,c+h);return[[x,Math.min(a-v,p-m,d-_,g-b)],[I,Math.max(a+v,p+m,d+_,g+b)]]}(t,n):3===t.length?function(t,n){const{ps:e,_ps:r}=Gn(t,n[0],n[1]),o=e[0][0],i=e[1][0],s=e[2][0],c=5*jn*r[0][0],u=5*jn*r[1][0],l=5*jn*r[2][0],f=e[0][1],h=e[1][1],a=e[2][1],p=5*jn*r[0][1],d=5*jn*r[1][1],g=5*jn*r[2][1],v=Math.min(o-c,i-u,s-l),m=Math.max(o+c,i+u,s+l);return[[v,Math.min(f-p,h-d,a-g)],[m,Math.max(f+p,h+d,a+g)]]}(t,n):function(t,n){const{ps:e,_ps:r}=function(t,n,e){return 0===n?1===e?{ps:t,_ps:Un}:function(t,n){const e=t[0],r=t[1],o=e[0],i=e[1],s=r[0],c=r[1],u=[[o,i],[n*(s-o)+o,n*(c-i)+i]],l=Rn(n),f=Rn(o),h=Rn(s),a=Rn(i);return{ps:u,_ps:[[0,0],[l*(h+f)+f,l*(Rn(c)+a)+a]]}}(t,e):1===e?function(t,n){const e=t[0],r=t[1],o=e[0],i=e[1],s=r[0],c=r[1],u=[[n*(s-o)+o,n*(c-i)+i],[s,c]],l=Rn(n),f=Rn(o),h=Rn(s),a=Rn(i);return{ps:u,_ps:[[l*(h+f)+f,l*(Rn(c)+a)+a],[0,0]]}}(t,n):function(t,n,e){const r=t[0],o=t[1],i=r[0],s=r[1],c=o[0],u=o[1],l=[[n*(c-i)+i,n*(u-s)+s],[e*(c-i)+i,e*(u-s)+s]],f=Rn(n),h=Rn(e),a=Rn(i),p=Rn(c),d=Rn(s),g=Rn(u);return{ps:l,_ps:[[f*(p+a)+a,f*(g+d)+d],[h*(p+a)+a,h*(g+d)+d]]}}(t,n,e)}(t,n[0],n[1]),o=e[0][0],i=e[1][0],s=3*jn*r[0][0],c=3*jn*r[1][0],u=e[0][1],l=e[1][1],f=3*jn*r[0][1],h=3*jn*r[1][1],a=Math.min(o-s,i-c),p=Math.max(o+s,i+c);return[[a,Math.min(u-f,l-h)],[p,Math.max(u+f,l+h)]]}(t,n):function(t,n){const e=t[0],r=t[t.length-1];if(0===n)return[e,e];if(1===n)return[r,r];const o=x(t,n);let i;if(4===t.length)i=Fn(t,[0,n]).map((t=>8*Zn*t));else if(3===t.length)i=Fn(t,[0,n]).map((t=>5*Zn*t));else if(2===t.length)i=Fn(t,[0,n]).map((t=>2*Zn*t));else if(1===t.length)return[o,o];return[[o[0]-i[0],o[1]-i[1]],[o[0]+i[0],o[1]+i[1]]]}(t,n[0])}function Jn(t){const n=t[0],e=t[t.length-1];let r,o;if(n[1]<e[1]?(r={ts:[0,0],box:[n,n]},o={ts:[1,1],box:[e,e]}):(r={ts:[1,1],box:[e,e]},o={ts:[0,0],box:[n,n]}),2===t.length)return{minY:r,maxY:o};const[,i]=N(t),s=zn(i,0,1);for(let n=0;n<s.length;n++){const e=s[n],i=[e.tS,e.tE],c=Wn(t,i);c[0][1]<r.box[0][1]&&(r={ts:i,box:c}),c[1][1]>o.box[0][1]&&(o={ts:i,box:c})}return{minY:r,maxY:o}}function Kn(t){const n=function(t){const n=t[0],e=t[t.length-1];let r,o;if(n[0]<e[0]?(r={ts:[0,0],box:[n,n]},o={ts:[1,1],box:[e,e]}):(r={ts:[1,1],box:[e,e]},o={ts:[0,0],box:[n,n]}),2===t.length)return{minX:r,maxX:o};const[i]=N(t),s=zn(i,0,1);for(let n=0;n<s.length;n++){const e=s[n],i=[e.tS,e.tE],c=Wn(t,i);c[0][0]<r.box[0][0]&&(r={ts:i,box:c}),c[1][0]>o.box[0][0]&&(o={ts:i,box:c})}return{minX:r,maxX:o}}(t),e=Jn(t);return[[n.minX.box[0][0],e.minY.box[0][1]],[n.maxX.box[1][0],e.maxY.box[1][1]]]}function te(t,n){const e=n[0]-t[0],r=n[1]-t[1];return Math.sqrt(e*e+r*r)}function ne(t){let n=0;for(let e=0;e<t.length-1;e++)n+=te(t[e],t[e+1]);return n}function ee(t){const[n,e]=t[0],[r,o]=t[t.length-1];let i,s;const c=ne(t);if(256*a(t[0],t[t.length-1])<c*c){const[r,o]=x(t,.5),c=Math.sqrt((r-n)*(r-n)+(o-e)*(o-e));i=(o-e)/c,s=(r-n)/c}else{const t=Math.sqrt((r-n)*(r-n)+(o-e)*(o-e));i=(o-e)/t,s=(r-n)/t}const u=function(t,n,e){const r=st(t[0].map((t=>-t)));return Kn(t.map((t=>ct(-n,e,r(t)))))}(t,i,s),[[l,f],[h,p]]=u,d=[u[0],[h,f],u[1],[l,p]],g=ct(i,s);return d.map((n=>st(t[0],g(n))))}function re(t,n,e){if(n===e)return;const r=t[n];t[n]=t[e],t[e]=r}const oe=function(t,n=!1){if(!t.length)return;function e(t,e,r){const o=F(t,e,r);return n?o<0:o<=0}const r=t.slice(),o=r.length,i=function(t){let n,e=[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY];for(let r=0;r<t.length;r++){const o=t[r][1];(o<e[1]||o===e[1]&&t[r][0]<e[0])&&(n=r,e=t[r])}return n}(r),[s]=r.splice(i,1);r.sort(((t,n)=>{let e=-F(s,t,n);return 0!==e?e:(e=t[1]-n[1],0!==e?e:t[0]-n[0])})),r.unshift(s);let c=1;for(let t=2;t<o;t++){for(;e(r[c-1],r[c],r[t]);)if(c>1)c-=1;else{if(t===o-1){c-=1;break}t+=1}c+=1,re(r,c,t)}return r.slice(0,c+1)},ie=yt,se=Et,ce=Nt,ue=Tt,le=Mt,fe=Ct,he=wt;function ae(t,n){const e=t[0],r=t[1],o=t[2],i=t[3],s=e[0],c=e[1],u=r[0],l=r[1],f=o[0],h=o[1],a=i[0],p=i[1],[d,g]=n,v=ie(s,d),m=ie(u,d),_=ie(f,d),b=ie(a,d),x=ie(c,g),I=ie(l,g),N=ie(h,g),S=ie(p,g),E=ue(v,v),w=ce(6,ue(v,m)),M=ce(6,ue(v,_)),C=le(ue(v,b)),T=ce(9,ue(m,m)),O=ce(18,ue(m,_)),P=ce(6,ue(m,b)),y=ce(9,ue(_,_)),A=ce(6,ue(_,b)),B=ue(b,b),z=ue(x,x),Y=ce(6,ue(x,I)),F=ce(6,ue(x,N)),V=le(ue(x,S)),k=ce(9,ue(I,I)),L=ce(18,ue(I,N)),D=ce(6,ue(I,S)),X=ce(9,ue(N,N)),Q=ce(6,ue(N,S)),q=ue(S,S),$=se(P,y),H=se(C,O),G=se(M,T),R=se(D,X),U=se(V,L),j=se(F,k);return[ce(6,se(se(se(se(he(B,A),he(E,w)),$),he(G,H)),se(se(se(he(q,Q),he(z,Y)),R),he(j,U)))),ce(5,se(he(se(se(A,ce(5,w)),ce(3,H)),le(se(se($,le(G)),ce(3,E)))),he(se(se(Q,ce(5,Y)),ce(3,U)),le(se(se(R,le(j)),ce(3,z)))))),fe(se(he(he($,ce(3,he(H,le(G)))),ce(5,he(le(w),ce(3,E)))),he(he(R,ce(3,he(U,le(j)))),ce(5,he(le(Y),ce(3,z)))))),ce(3,se(he(H,le(he(le(G),ce(5,he(w,le(E)))))),he(U,le(he(le(j),ce(5,he(Y,le(z)))))))),le(se(he(G,ce(5,he(w,ce(3,E)))),he(j,ce(5,he(Y,ce(3,z)))))),se(he(w,ce(6,E)),he(Y,ce(6,z)))]}const pe=yt,de=Et,ge=Nt,ve=Tt,me=Mt,_e=wt,be=Ct;function xe(t,n){const[[e,r],[o,i],[s,c]]=t,[u,l]=n,f=pe(e,u),h=pe(o,u),a=pe(s,u),p=pe(r,l),d=pe(i,l),g=pe(c,l),v=ve(f,f),m=ve(f,h),_=ve(f,a),b=ve(h,h),x=ve(h,a),I=ve(a,a),N=ve(p,p),S=ve(p,d),E=ve(p,g),w=ve(d,d),M=ve(d,g),C=ve(g,g),T=de(E,me(w)),O=de(_,me(b));return[de(_e(de(de(C,N),me(T)),be(de(M,S))),_e(de(de(I,v),me(O)),be(de(x,m)))),ge(3,de(de(_e(M,T),_e(ge(3,S),N)),de(_e(x,O),_e(ge(3,m),v)))),de(_e(T,ge(3,_e(me(S),N))),_e(O,ge(3,_e(me(m),v)))),de(_e(S,N),_e(m,v))]}const Ie=At,Ne=Et,Se=function(t){return[-2*t[0],-2*t[1]]},Ee=wt;function we(t,n){const[[e,r],[o,i]]=t,[s,c]=n,u=e-s,l=o-s,f=r-c,h=i-c,a=Ie(u,u),p=Ie(u,l),d=Ie(l,l),g=Ie(f,f),v=Ie(f,h),m=Ie(h,h),_=Ne(p,v),b=Ne(g,a);return[Ne(Ne(d,m),Ne(b,Se(_))),Ee(_,b)]}function Me(t){const n=new ArrayBuffer(8);return new DataView(n).setFloat64(0,t,!1),Array.from(new Uint8Array(n))}function Ce(t){return Me(t).map(Te).join("")}function Te(t){let n=t.toString(2);for(;n.length<8;n="0"+n);return n}function Oe(t){const n=Me(t),e=n[0],r=n[1],o=e>>7,i=((127&e)<<4)+((240&r)>>4),s=0===i?0:16,c=0===i?i-1022:i-1023,u=n.slice(1);return u[0]=(15&r)+s,{sign:o,exponent:c,significand:u}}function Pe(t){return Oe(t).significand}function ye(t){return Math.log2(t&-t)}function Ae(t){if(0===t||!Number.isFinite(t))return NaN;const n=Pe(t),e=n.length;for(let t=e-1;t>=0;t--){if(0===n[t])continue;const r=ye(n[t]);if(Number.isFinite(r))return 8*(e-t-1)+r}return NaN}function Be(t){return t>=128?7:t>=64?6:t>=32?5:t>=16?4:t>=8?3:t>=4?2:t>=2?1:t>=1?0:NaN}function ze(t){if(0===t||!Number.isFinite(t))return NaN;const n=Pe(t),e=n.length;for(let t=0;t<e;t++){const r=Be(n[t]);if(Number.isFinite(r))return 8*(e-t-1)+r}return NaN}function Ye(t){return Oe(t).exponent}function Fe(t){if(0===t||!Number.isFinite(t))return NaN;const n=Ye(t);return ze(t)-52+n}function Ve(t,n){const e=(2**(53-n)+1)*t;return e-(e-t)}const ke=V,Le=Y;function De(t,n){if(t=Le(t),0===ke(t))return[0];const e=Fe(t[t.length-1]);let r=e,o=t.length-1;for(;o>0;){const i=Fe(t[o-1]);if(e-i>n)break;r=i,o--}const i=Math.min(n-(e-r),53);let s=t[o];s=Ve(s,i);const c=t.slice(o);return c[0]=s,c}function Xe(t){return 0===t?0:ze(t)-Ae(t)+1}function Qe(t){const n=Y(t);if(0===V(n))return 0;const e=n[n.length-1],r=n[0];return Ye(e)-Ye(r)+(53-Ae(r))}const qe=Q,$e=De,He=Qe,Ge=A,Re=B;function Ue(t,n,e){let r=n,o=t,i=!1,s=0;e||(s=He(o)-He(r)+1,e=s/53+1,i=!0);let c=[1/Re(r)],u=1;for(;;){if(o=qe(o,c),u>e)return i?(o=$e(o,s),o):o.slice(o.length-e,o.length);r=qe(r,c),c=Ge([2],r),u*=2}}function je(t,n){const e=t.length;let r=n;const o=[];for(let n=0;n<e;n++){const e=t[n],i=r+e,s=i-r,c=r-(i-s)+(e-s);0!==c&&o.push(c),r=i}return 0===r&&0!==o.length||o.push(r),o}const Ze=kt,We=je,Je=T;function Ke(t){let n=[0];for(let e=0;e<t.length;e++){const r=t[e];n=1===r.length?1===n.length?Ze(n[0],r[0]):We(n,r[0]):1===n.length?We(r,n[0]):Je(n,r)}return n}const tr=O,nr=T,er=Y,rr=je,or=Ke,ir=k,sr=A,cr=Math.sign;function ur(t,n){t=er(t);const e=(n=er(n))[n.length-1];if(1===n.length){if(0===e)throw new Error("division by zero");if(1===e)return{div:t,rem:[0]};if(-1===e)return{div:tr(t),rem:[0]}}const r=cr(t[t.length-1]);if(0===r)return{div:[0],rem:[0]};const o=cr(e),i=[];let s=0;for(;;){const r=[];for(let o=t.length-1;o>=0;o--){const s=t[o],c=Math.round((s-s%e)/e);if(r.push(ir(n,c)),0===c)break;i.push(c)}if(t=er(sr(t,or(r))),s===i.length)break;s=i.length}let c=t,u=[0];for(let t=0;t<i.length;t++)u=rr(u,i[t]);u=er(u);const l=cr(c[c.length-1]);return 0!==l&&l!==r&&(r>0?o>0?(u=rr(u,-1),c=nr(c,n)):(u=rr(u,1),c=nr(c,tr(n))):r<0&&(o>0?(u=rr(u,1),c=nr(c,tr(n))):(u=rr(u,-1),c=nr(c,n)))),{div:u,rem:c}}const lr=ur,fr=ur;function hr(t,n){return V(A(t,n))}const ar=O;function pr(t){return t[t.length-1]<0?ar(t):t}function dr(t){const n=[];for(let e=0;e<t.length;e++)n.push(2*t[e]);return n}function gr(t){const n=[];for(let e=0;e<t.length;e++)n.push(-2*t[e]);return n}function vr(t){const n=[];for(let e=0;e<t.length;e++)n.push(.5*t[e]);return n}const mr=Q,_r=C,br=k,xr=kt,Ir=je,Nr=T,Sr=Q,Er=C,wr=k,Mr=Y;function Cr(t){let n=t[0];for(let e=1;e<t.length;e++){const r=t[e];n=1==r.length?1===n.length?Er(n[0],r[0]):wr(n,r[0]):1===n.length?wr(r,n[0]):Sr(r,n)}return Mr(n)}const Tr=Q,Or=Cr,Pr=Y;function yr(t){const n=(t=Pr(t)).length;return 2===n?t:1===n?[0,t[0]]:[t[n-2],t[n-1]]}function Ar(t,n){return!function(t,n){if(0===t||0===n)return!0;Math.abs(n)>Math.abs(t)&&([t,n]=[n,t]);const e=Ae(t),r=ze(n);return e+(Ye(t)-Ye(n))>r}(t,n)}const Br=T,zr=Q,Yr={fastTwoDiff:function(t,n){const e=t-n;return[t-e-n,e]},fastTwoSum:function(t,n){const e=t+n;return[n-(e-t),e]},split:function(t){const n=134217729*t,e=n-(n-t);return[e,t-e]},twoDiff:z,twoProduct:C,twoSum:kt,reduceSignificand:Ve,fastExpansionSum:T,eAdd:Br,growExpansion:je,eAddDouble:je,expansionProduct:Q,eMult:zr,scaleExpansion:k,eMultDouble1:k,scaleExpansion2:L,eMultDouble2:L,eDiv:Ue,eLongDivide:ur,eIntDiv:function(t,n){return lr(t,n).div},eRem:function(t,n){return fr(t,n).rem},eCompress:Y,eEstimate:B,eDiff:A,eNegativeOf:O,eMultBy2:dr,eMultByNeg2:gr,eDivBy2:vr,eSign:V,eCompare:hr,eAbs:pr,eToBitlength:De,eIntPow:function(t,n){if(0===n)return[1];if(1===n)return t;if(2===n)return Tr(t,t);const e=[];for(let r=0;r<n;r++)e.push(t);return Or(e)},eCalculate:function(t){let n=[0];for(let e=0;e<t.length;e++){const r=t[e];let o=r[0];for(let t=1;t<r.length;t++){const n=r[t];o=1==n.length?1===o.length?_r(o[0],n[0]):br(o,n[0]):1===o.length?br(n,o[0]):mr(n,o)}n=1===o.length?1===n.length?xr(n[0],o[0]):Ir(n,o[0]):1===n.length?Ir(o,n[0]):Nr(n,o)}return n},eSum:Ke,eProduct:Cr,eToDd:yr,parseDouble:Oe,parseDoubleDetailed:function(t){const n=Ce(t),[,e,r,o]=n.match(/^(.)(.{11})(.{52})$/),i=0===parseInt(r,2)?"0":"1";return{full:e+r+i+o,sign:e,exponent:r,hidden:i,significand:o}},isBitAligned:function(t,n,e){if(0===t)return!0;const r=Ye(t),o=ze(t)-52+r;return Ae(t)-52+r>=e&&o<=n-1+e},msbExponent:Fe,lsbExponent:function(t){if(0===t||!Number.isFinite(t))return NaN;const n=Ye(t);return Ae(t)-52+n},bitLength:Xe,expBitLength:Qe,doubleToBinaryString:Ce,doubleToOctets:Me,getHighestSetBit:ze,getLowestSetBit:Ae,exponent:Ye,significand:Pe,orient2d:F,isAdjacent:function(t,n){return Ar(t,n)||Ar(t,2*n)||Ar(2*t,n)},isNonOverlappingAll:function(t){for(let n=1;n<t.length;n++)if(Ar(t[n-1],t[n]))return!1;return!0},eIsInteger:function(t){t=Y(t);for(let n=0;n<t.length;n++)if(t[n]%1!=0)return!1;return!0}},Fr=z,Vr=zr,kr=L,Lr=dr,Dr=gr,Xr=Br,Qr=A,qr=z,$r=zr,Hr=L,Gr=dr,Rr=Br,Ur=A;function jr(t){const n=[];for(let e=0;e<t.length;e++)n.push(4*t[e]);return n}const Zr=z,Wr=zr,Jr=gr,Kr=Br,to=A,no=Math.abs;function eo(t){return(t.tS+t.tE)/2}function ro(t){const n=t[0],e=t[1];return[(n[0]+e[0])/2,(n[1]+e[1])/2]}const oo=B,io=z,so=zr,co=Br,uo=Number.EPSILON,{sqrt:lo}=Math,fo=Dn(6);function ho(t,n){const e=t.length-1;let r;if(3===e)r=An(ae(t,n),0,1,function(t,n){const e=t[0],r=t[1],o=t[2],i=t[3],s=no(e[0]),c=no(e[1]),u=no(r[0]),l=no(r[1]),f=no(o[0]),h=no(o[1]),a=no(i[0]),p=no(i[1]),d=no(n[0]),g=no(n[1]),v=s+d,m=u+d,_=f+d,b=a+d,x=c+g,I=l+g,N=h+g,S=p+g,E=v*v,w=6*v*m,M=6*_*b,C=x*x,T=6*x*I,O=6*N*S,P=6*m*b+9*_*_,y=2*v*b+18*m*_,A=6*v*_+9*m*m,B=6*I*S+9*N*N,z=2*x*S+18*I*N,Y=6*x*N+9*I*I;return[6*(b*b+M+(E+w)+P+(A+y)+(S*S+O+(C+T)+B+(Y+z))),5*(M+5*w+3*y+2*(P+2*A+3*E)+(O+5*T+3*z+2*(B+2*Y+3*C))),4*(P+3*(y+2*A)+5*(2*w+3*E)+(B+3*(z+2*Y)+5*(2*T+3*C))),3*(y+2*(2*A+5*(w+2*E))+(z+2*(2*Y+5*(T+2*C)))),2*(A+5*(w+3*E)+(Y+5*(T+3*C))),w+6*E+(T+6*C)]}(t,n).map((t=>10*fo*t)),(()=>function(t,n){const e=t[0],r=t[1],o=t[2],i=t[3],s=e[0],c=e[1],u=r[0],l=r[1],f=o[0],h=o[1],a=i[0],p=i[1],[d,g]=n,v=Fr(s,d),m=Fr(u,d),_=Fr(f,d),b=Fr(a,d),x=Fr(c,g),I=Fr(l,g),N=Fr(h,g),S=Fr(p,g),E=Vr(v,v),w=kr(6,Vr(v,m)),M=kr(6,Vr(v,_)),C=Lr(Vr(v,b)),T=kr(9,Vr(m,m)),O=kr(18,Vr(m,_)),P=kr(6,Vr(m,b)),y=kr(9,Vr(_,_)),A=kr(6,Vr(_,b)),B=Vr(b,b),z=Vr(x,x),Y=kr(6,Vr(x,I)),F=kr(6,Vr(x,N)),V=Lr(Vr(x,S)),k=kr(9,Vr(I,I)),L=kr(18,Vr(I,N)),D=kr(6,Vr(I,S)),X=kr(9,Vr(N,N)),Q=kr(6,Vr(N,S)),q=Vr(S,S),$=Xr(P,y),H=Xr(C,O),G=Xr(M,T),R=Xr(D,X),U=Xr(V,L),j=Xr(F,k),Z=Qr(Xr(Xr(B,E),Xr($,G)),Xr(Xr(H,A),w)),W=Qr(Xr(Xr(q,z),Xr(R,j)),Xr(Xr(U,Q),Y)),J=kr(6,Xr(Z,W)),K=Xr(Dr(Xr(Xr($,Lr(G)),kr(3,E))),Xr(Xr(A,kr(3,H)),kr(5,w))),tt=Xr(Dr(Xr(Xr(R,Lr(j)),kr(3,z))),Xr(Xr(Q,kr(3,U)),kr(5,Y))),nt=kr(5,Xr(K,tt)),et=Xr(Xr($,kr(3,Qr(Lr(G),H))),kr(5,Qr(kr(3,E),Lr(w)))),rt=Xr(Xr(R,kr(3,Qr(Lr(j),U))),kr(5,Qr(kr(3,z),Lr(Y)))),ot=kr(4,Xr(et,rt)),it=Qr(H,Lr(Qr(Lr(G),kr(5,Qr(w,Lr(E)))))),st=Qr(U,Lr(Qr(Lr(j),kr(5,Qr(Y,Lr(z)))))),ct=kr(3,Xr(it,st)),ut=Qr(G,kr(5,Qr(w,kr(3,E)))),lt=Qr(j,kr(5,Qr(Y,kr(3,z)))),ft=Lr(Xr(ut,lt)),ht=Qr(w,kr(6,E)),at=Qr(Y,kr(6,z));return[J,nt,ot,ct,ft,Xr(ht,at)]}(t,n)));else if(2===e)r=An(xe(t,n),0,1,function(t,n){const e=t[0],r=t[1],o=t[2],i=no(e[0]),s=no(e[1]),c=no(r[0]),u=no(r[1]),l=no(o[0]),f=no(o[1]),h=no(n[0]),a=no(n[1]),p=i+h,d=c+h,g=l+h,v=s+a,m=u+a,_=f+a,b=p*p,x=p*d,I=d*g,N=v*v,S=v*m,E=m*_,w=v*_+m*m*2,M=p*g+d*d*2;return[_*_+N+2*w+4*(E+S)+(g*g+b+2*M+4*(I+x)),3*(E+w+(3*S+N)+(I+M+(3*x+b))),w+3*(2*S+N)+(M+3*(2*x+b)),S+N+(x+b)]}(t,n).map((t=>8*fo*t)),(()=>function(t,n){const[[e,r],[o,i],[s,c]]=t,[u,l]=n,f=qr(e,u),h=qr(o,u),a=qr(s,u),p=qr(r,l),d=qr(i,l),g=qr(c,l),v=$r(f,f),m=$r(f,h),_=$r(f,a),b=$r(h,h),x=$r(h,a),I=$r(a,a),N=$r(p,p),S=$r(p,d),E=$r(p,g),w=$r(d,d),M=$r(d,g),C=$r(g,g),T=Rr(E,Gr(w)),O=Rr(_,Gr(b)),P=Rr(Ur(Rr(I,Gr(O)),jr(Rr(x,m))),v),y=Rr(Ur(Rr(C,Gr(T)),jr(Rr(M,S))),N),A=Rr(P,y),B=Rr(Ur(x,O),Ur(Hr(3,m),v)),z=Rr(Ur(M,T),Ur(Hr(3,S),N)),Y=Hr(3,Rr(B,z)),F=Ur(T,Hr(3,Ur(Gr(S),N))),V=Ur(O,Hr(3,Ur(Gr(m),v))),k=Rr(F,V),L=Ur(S,N),D=Ur(m,v);return[A,Y,k,Rr(L,D)]}(t,n)));else{if(1!==e){if(0===e)return[];throw new Error("The given bezier curve must be of order <= 3")}r=An(we(t,n),0,1,function(t,n){const e=t[0],r=t[1],o=no(e[0]),i=no(e[1]),s=no(r[0]),c=no(r[1]),u=no(n[0]),l=no(n[1]),f=o+u,h=s+u,a=i+l,p=c+l,d=f*h+a*p,g=a*a+f*f;return[h*h+p*p+2*d+g,d+g]}(t,n).map((t=>6*fo*t)),(()=>function(t,n){const[[e,r],[o,i]]=t,[s,c]=n,u=Zr(e,s),l=Zr(o,s),f=Zr(r,c),h=Zr(i,c),a=Wr(u,u),p=Wr(u,l),d=Wr(l,l),g=Wr(f,f),v=Wr(f,h),m=Wr(h,h),_=Kr(p,v),b=Kr(g,a);return[Kr(Kr(d,m),Kr(Jr(_),b)),to(_,b)]}(t,n)))}r.push({tS:0,tE:0,multiplicity:1}),r.push({tS:1,tE:1,multiplicity:1});const o=r.map((e=>{const r=Wn(t,[e.tS,e.tE]),o=function(t,n){const e=t[0],r=t[1],o=e[0],i=e[1],s=r[0],c=r[1],u=n[0],l=n[1];let f=Number.POSITIVE_INFINITY,h=Number.NEGATIVE_INFINITY;for(const[t,n]of[[o,i],[o,c],[s,i],[s,c]]){const e=io(t,u),r=io(n,l),o=co(so(e,e),so(r,r)),i=oo(o),s=i*(1-uo),c=i*(1+uo);s<=f&&(f=s),c>=h&&(h=c)}return[f,h]}(r,n);return{p:ro(r),t:eo(e),d:(lo(o[0])+lo(o[1]))/2,dSquaredI:o,box:r,ri:e}}));let i=Number.POSITIVE_INFINITY;for(let t=0;t<o.length;t++){const n=o[t].dSquaredI[1];n<i&&(i=n)}const s=[];for(let t=0;t<o.length;t++){const n=o[t];n.dSquaredI[0]<=i&&s.push(n)}return s}function ao(t,n,e){if(4===t.length)return function(t,n,e){return 0===n?1===e?t:function(t,n){const e=t[0],r=t[1],o=t[2],i=t[3],s=e[0],c=e[1],u=r[0],l=r[1],f=o[0],h=o[1],a=s-n*(s-u),p=u-n*(u-f),d=a-n*(a-p),g=c-n*(c-l),v=l-n*(l-h),m=g-n*(g-v);return[[s,c],[a,g],[d,m],[d-n*(d-(p-n*(p-(f-n*(f-i[0]))))),m-n*(m-(v-n*(v-(h-n*(h-i[1])))))]]}(t,e):1===e?function(t,n){const e=t[0],r=t[1],o=t[2],i=t[3],s=e[0],c=e[1],u=r[0],l=r[1],f=o[0],h=o[1],a=i[0],p=i[1],d=s-n*(s-u),g=u-n*(u-f),v=f-n*(f-a),m=d-n*(d-g),_=g-n*(g-v),b=c-n*(c-l),x=l-n*(l-h),I=h-n*(h-p),N=b-n*(b-x),S=x-n*(x-I);return[[m-n*(m-_),N-n*(N-S)],[_,S],[v,I],[a,p]]}(t,n):function(t,n,e){const r=t[0],o=t[1],i=t[2],s=t[3],c=r[0],u=r[1],l=o[0],f=o[1],h=i[0],a=i[1],p=n*n,d=n*p,g=e*e,v=e*g,m=n*e,_=c-l,b=h-l,x=_+b,I=n*_,N=e*_,S=s[0]-c-3*b,E=u-f,w=a-f,M=E+w,C=n*E,T=e*E,O=s[1]-u-3*w;return[[d*S+(3*n*(n*x-_)+c),d*O+(3*n*(n*M-E)+u)],[m*(n*S+2*x)+(p*x+c-(N+2*I)),m*(n*O+2*M)+(p*M+u-(T+2*C))],[m*(e*S+2*x)+(g*x+c-(2*N+I)),m*(e*O+2*M)+(g*M+u-(2*T+C))],[v*S+(3*e*(e*x-_)+c),v*O+(3*e*(e*M-E)+u)]]}(t,n,e)}(t,n,e);if(3===t.length)return function(t,n,e){return 0===n?1===e?t:function(t,n){const e=t[0],r=t[1],o=t[2],i=e[0],s=e[1],c=r[0],u=r[1],l=n*n,f=i-c,h=s-u;return[[i,s],[-n*f+i,-n*h+s],[l*(f+(o[0]-c))-(2*n*f-i),l*(h+(o[1]-u))-(2*n*h-s)]]}(t,e):1===e?function(t,n){const e=t[0],r=t[1],o=t[2],i=e[0],s=e[1],c=r[0],u=r[1],l=o[0],f=o[1],h=n*n,a=i-c,p=l-c,d=s-u,g=f-u;return[[h*(a+p)-(2*n*a-i),h*(d+g)-(2*n*d-s)],[n*p+c,n*g+u],[l,f]]}(t,n):function(t,n,e){const r=t[0],o=t[1],i=t[2],s=r[0],c=r[1],u=o[0],l=o[1],f=n*n,h=e*e,a=n*e,p=s-u,d=p+(i[0]-u),g=c-l,v=g+(i[1]-l);return[[f*d-(2*n*p-s),f*v-(2*n*g-c)],[a*d-(p*(e+n)-s),a*v-(g*(e+n)-c)],[h*d-(2*e*p-s),h*v-(2*e*g-c)]]}(t,n,e)}(t,n,e);if(2===t.length)return function(t,n,e){return 0===n?1===e?t:function(t,n){const e=t[0],r=t[1],o=e[0],i=e[1];return[[o,i],[n*(r[0]-o)+o,n*(r[1]-i)+i]]}(t,e):1===e?function(t,n){const e=t[0],r=t[1],o=e[0],i=e[1],s=r[0],c=r[1];return[[n*(s-o)+o,n*(c-i)+i],[s,c]]}(t,n):function(t,n,e){const r=t[0],o=t[1],i=r[0],s=r[1],c=o[0],u=o[1];return[[n*(c-i)+i,n*(u-s)+s],[e*(c-i)+i,e*(u-s)+s]]}(t,n,e)}(t,n,e);if(1===t.length)return t;throw new Error("The given bezier curve must be of order <= 3.")}function po(t,n){return n.xs.length<=2}function go(t,n,e,r,o){const i=function(t,n,e){return(r,o,i)=>{n.has(r)||r.orientation||(r.orientation=o*t.orientation,r.parent=i,r.windingNum=i.windingNum+r.orientation,e.push(r))}}(e,o,r);let s,c,u=0,l=1,f=n;for(;f=1===e.orientation?f.nextAround:f.prevAround,f!==n;)u=l,l-=f.dir,-1!==f.dir&&(c?1===u&&0===l?i(f,1,e.parent):0===u&&-1===l&&i(f,-1,e.parent):0===l?c=f:1===l&&i(f,1,e));return po(0,n.container)||(s=[n.p,c.p]),{out_:c,additionalBezier:s}}function vo(t,n){const e=n.next,r=e._x_.curve,o=e._x_.x.ri.tS;let i=n._x_.curve,s=n._x_.x.ri.tS;po(0,n.container)||(s=eo(ho(i.ps,n.p)[0].ri));const c=[];let u;for(;;){if(i===r&&(s<o||s===o&&c.length))return u=ao(i.ps,s,o),{beziers:c,in_:e,inBez:u};{const t=ao(i.ps,s,1);c.push(t)}s=0,i=i.next}}function mo(t,n,e){const r=[],o=[];let i,s=e;do{n.add(s);const{beziers:t,in_:c,inBez:u}=vo(0,s);if(o.push(...t),({out_:s,additionalBezier:i}=go(0,c,e,r,n)),i){const t=ao(u,0,eo(ho(u,i[0])[0].ri));o.push(t),o.push(i)}else o.push(u)}while(s!==e);return{beziers:o,additionalOutsToCheck:r}}function _o(t,n,e,r){const o=[n];for(;o.length;){const t=o.pop();if(e.add(t._x_.curve.loop),r.has(t))continue;t.children=new Set;const{beziers:n,additionalOutsToCheck:i}=mo(0,r,t);t.beziers=n,t.parent.children=t.parent.children||new Set,t.parent.children.add(t),o.push(...i)}}function bo(t){let n=0;for(let e=0;e<=t.length-1&&0===t[e];e++)n++;return 0!==n&&(t=t.slice(n)),t}const xo=bo;function Io(t,n){const e=t.length-1,r=n.length-1;if(e<0||r<0)return[];const o=e+r,i=new Array(o+1).fill(0);for(let s=0;s<e+1;s++)for(let c=0;c<r+1;c++)i[o-(s+c)]+=t[e-s]*n[r-c];return xo(i)}const No=Io;function So(t){let n=[1];for(let e=0;e<t.length;e++)n=No(n,[1,-t[e]]);return n}function Eo(t){return function(n,e,r,o,i=123456789,s=0){const c=[];for(let u=0;u<n;u++){const n=t(e,r,o,i,s),u=n.p;i=n.seed,c.push(u)}return c}}function wo(t){return(134775813*t+1)%4294967296}function Mo(t,n,e,r,o=0){let i=[];for(let s=0;s<t;s++)r=Co(r=wo(r),i,r/4294967296*(e-n)+n,o);return i=i.slice(0,t),{vs:i,seed:r}}function Co(t,n,e,r){return t=wo(t),n.push(e),t/4294967296<r&&(t=Co(t,n,e,r)),t}function To(t,n=-1,e=1,r=123456789){const o=Mo(t,n,e,r);return r=o.seed,{p:o.vs,seed:r}}function Oo(t){const n=[],e=t.length-1;for(let r=0;r<e;r++)n.push((e-r)*t[r]);return n}Eo((function(t,n=0,e=1,r=123456789,o=0){const i=Mo(t,n,e,r,o);return r=i.seed,{p:So(i.vs),seed:r}})),Eo(To);const Po=I,yo=Number.EPSILON/2,Ao=Math.abs,Bo=Math.max,zo=Oo,Yo=I,Fo=function(t,n,e,r=Po(t,n),o=Po(t,e)){let i=n,s=e,c=i,u=r,l=s-i,f=l;for(;;){Ao(u)<Ao(o)&&(i=s,s=c,c=i,r=o,o=u,u=r);const n=2*yo*Bo(1,Ao(i),Ao(s)),e=.5*(c-s);if(Ao(e)<=n)return s;if(Ao(l)<n||Ao(r)<=Ao(o))l=e,f=l;else{let t,h,a=o/r;if(i===c)t=2*e*a,h=1-a;else{h=r/u;const n=o/u;t=a*(2*e*h*(h-n)-(s-i)*(n-1)),h=(h-1)*(n-1)*(a-1)}0<t?h=-h:t=-t,a=l,l=f,2*t<3*e*h-Ao(n*h)&&t<Ao(.5*a*h)?f=t/h:(l=e,f=l)}if(i=s,r=o,n<Ao(f)?s+=f:0<e?s+=n:s-=n,0===(o=Po(t,s)))return s;o*u>0&&(c=i,u=r,l=s-i,f=l)}},Vo=dn,ko=pn,Lo=bo;function Do(t,n=Number.NEGATIVE_INFINITY,e=Number.POSITIVE_INFINITY){t=Lo(t);let r=0;for(;0===t[t.length-1];)t=t.slice(0,-1),r++;if(t.length<=1){const t=[];for(let n=0;n<r;n++)t.push(0);return t}n===Number.NEGATIVE_INFINITY&&(n=Vo(t)),e===Number.POSITIVE_INFINITY&&(e=ko(t));const o=[t];for(let n=1;n<=t.length-1;n++)o.push(zo(o[n-1]));let i=[];for(let r=t.length-2;r>=0;r--){const t=o[r],s=[];let c=n,u=Yo(t,c);0===u&&0===r&&s.push(n);for(let n=0;n<i.length;n++){const e=i[n],r=Yo(t,e);0===r?s.push(e):u*r<0&&s.push(Fo(t,c,e,u,r)),c=e,u=r}const l=Yo(t,e);u*l<0&&s.push(Fo(t,c,e,u,l)),0===l&&0===r&&s.push(e),i=s}if(r>0&&n<=0&&e>=0){const t=[];let n=!1;for(let e=0;e<i.length;e++){if(!n&&i[e]>=0){for(let n=0;n<r;n++)t.push(0);n=!0}t.push(i[e])}return t}return i}function Xo(t){if(4===t.length)return Qo(t);if(3===t.length)return qo(t);if(2===t.length)return function(t){const[[n,e],[r,o]]=t;return[[r-n,n],[o-e,e]]}(t);if(1===t.length)return function(t){const[[n,e]]=t;return[[n],[e]]}(t);throw new Error("The given bezier curve must be of order <= 3.")}function Qo(t){const[[n,e],[r,o],[i,s],[c,u]]=t;return[[c-n+3*(r-i),3*(i+n-2*r),3*(r-n),n],[u-e+3*(o-s),3*(s+e-2*o),3*(o-e),e]]}function qo(t){const[[n,e],[r,o],[i,s]]=t;return[[i+n-2*r,2*(r-n),n],[s+e-2*o,2*(o-e),e]]}const $o=b(Kn);function Ho(t){const n=N(t),e=Do(n[0],0,1),r=Do(n[1],0,1);e.push(0,1),r.push(0,1);let o,i,s,c,u=Number.POSITIVE_INFINITY,l=Number.NEGATIVE_INFINITY,f=Number.POSITIVE_INFINITY,h=Number.NEGATIVE_INFINITY;for(let n=0;n<e.length;n++){const r=e[n],[s]=x(t,r);s<u&&(u=s,o=r),s>l&&(l=s,i=r)}for(let n=0;n<r.length;n++){const e=r[n],[,o]=x(t,e);o<f&&(f=o,s=e),o>h&&(h=o,c=e)}return{ts:[[o,s],[i,c]],box:[[u,f],[l,h]]}}const Go=b(Ho),Ro=1e-6;function Uo(t){const n=t.map((t=>Go(t)));return{minX:Math.min(...n.map((t=>t.box[0][0]))),maxX:Math.max(...n.map((t=>t.box[1][0]))),minY:Math.min(...n.map((t=>t.box[0][1]))),maxY:Math.max(...n.map((t=>t.box[1][1])))}}function jo(t,n){let e;const r=[t];for(;r.length;)o(r.pop());return e;function o(o){if(o===t||function(t,n){let e=0,r=1231;do{e++;const i=To(1,0,1,r),s=i.p[0];r=i.seed;const c=To(1,0,t.length,r),u=Math.floor(c.p[0]);r=c.seed;const l=o(t,n,x(t[u],s));if(void 0!==l)return l}while(e<100);return;function o(t,n,e){if(function(t,n){const e=[t,n].map(Uo);return e[0].minX<e[1].minX||e[0].maxX>e[1].maxX||e[0].minY<e[1].minY||e[0].maxY>e[1].maxY}(t,n))return!1;const r=function(t,n,e){const[r,o]=n;let i=0;for(let e=0;e<t.length;e++){const s=t[e],[[c,u],[l,f]]=$o(s);let a=u>o||f<o||!1;if(a=a||c>r||!1,a)continue;const p=[];let d,g,v;const m=!0;d=t=>Xo(t)[1],g=[0,-o],v=0;const _=s.map(st(g)),b=Do(d(_),0-Ro,1+Ro);for(let t=0;t<b.length;t++){const e=b[t];if(Math.abs(e)<Ro||Math.abs(e-1)<Ro)return;const r=x(_,e);(m&&n[v]>=r[v]||!m&&n[v]<=r[v])&&p.push(e)}if(1===p.length||3===p.length)for(const t of p){const n=h(E(s,t));if(Math.abs(n[1])<Ro)return}i+=p.length}return i}(n,e);return void 0!==r?r%2!=0:void 0}}(n.beziers,o.beziers)){e=o;for(const t of o.children)r.push(t)}}}function Zo(t,n){return Wo(t)-Wo(n)}function Wo(t){let n=Number.POSITIVE_INFINITY;for(const e of t){const t=Go(e).box[0][1];t<n&&(n=t)}return n}function Jo(t){const n=[t],e=Array.from(t.children);for(;e.length;){const t=e.pop();0===t.windingNum&&n.push(t);for(const n of t.children)e.push(n)}return n}function Ko(t,n,e){let[[r,o],[i,s]]=n,[[c,u],[l,f]]=e;return o>s&&([o,s]=[s,o]),u>f&&([u,f]=[f,u]),r>i&&([r,i]=[i,r]),c>l&&([c,l]=[l,c]),t?r<=l&&i>=c&&u<=s&&f>=o:r<l&&i>c&&u<s&&f>o}function ti(t,n){return Ko(!0,t.box,n.box)}function ni(t,n){for(let e=0;e<n.length;e++){const r=n[e];ei(t,[r.a,r.b])}}function ei(t,n){const[e,r]=n;let o=t.get(e);o||(o=[],t.set(e,o));let i=t.get(r);i||(i=[],t.set(r,i)),o.push(r),i.push(e)}function ri(t,n,e,r){e.add(n),r.push(n);const o=t.get(n);for(let n=0;n<o.length;n++){const i=o[n];e.has(i)||ri(t,i,e,r)}}function oi(t){const n=[],e=new Set;for(const r of t){const o=r[0];e.has(o)||(n.push([]),ri(t,o,e,n[n.length-1]))}return n}function ii(t,n){const e=new Set;for(const t of n)for(const n of t)e.add(n);const r=[];for(let n=0;n<t.length;n++){const o=t[n];e.has(o)||r.push(o)}return r}function si(t){const n=[];for(const e of t){let t=Number.POSITIVE_INFINITY,r=Number.POSITIVE_INFINITY,o=Number.NEGATIVE_INFINITY,i=Number.NEGATIVE_INFINITY;const s=[];for(const n of e){const[[e,c],[u,l]]=n.box;e<t&&(t=e),c<r&&(r=c),u>o&&(o=u),l>i&&(i=l),s.push(...n.xs)}const c={box:[[t,r],[o,i]],xs:s,inOuts:void 0};n.push(c)}return n}function ci(t){return{tS:[0,t.tS],tE:[0,t.tE],multiplicity:t.multiplicity}}const ui=Q,li=T,fi=L,hi=An,ai=yr,pi=kt,di=Number.EPSILON;function gi(t,n){const e=t.tS,r=t.tE-e;if(0===r)return[{tS:[0,e],tE:[0,e],multiplicity:t.multiplicity}];const o=function(t,n,e){const r=t.length-1;if(r<0)return[];const o=[];for(let t=0;t<r+1;t++)o.push(new Array(r+1).fill([0]));o[0][0]=[1];for(let t=1;t<=r;t++){o[0][t]=fi(e,o[0][t-1]);for(let r=1;r<=t;r++)o[r][t]=li(fi(e,o[r][t-1]),fi(n,o[r-1][t-1]))}const i=new Array(r+1).fill([0]);for(let n=0;n<=r;n++){i[r-n]=[0];for(let e=n;e<=r;e++){const s=ui(o[n][e],t[r-e]);i[r-n]=li(i[r-n],s)}}return i}(n,r,e),i=o.map(ai),s=i.map((t=>di*di*t[1])),c=hi(i,0,1,s,(()=>o)),u=[];for(const t of c)u.push({tS:pi(e,t.tS*r),tE:pi(e,t.tE*r),multiplicity:t.multiplicity});return u}const vi=yt,mi=Nt,_i=Et,bi=St,xi=Math.abs;function Ii(t){const[[n,e],[r,o],[i,s],[c,u]]=t,l=vi(c,n),f=vi(r,i),h=3*(r-i),a=mi(3,f),p=xi(h),d=_i(l,a),g=p+xi(c-n+h),v=vi(i,2*r),m=bi(v,n),_=xi(i-2*r+n),b=mi(3,m),x=6*_,I=vi(r,n),N=mi(3,I),S=xi(3*(r-n)),E=vi(u,e),w=vi(o,s),M=3*(o-s),C=mi(3,w),T=xi(M),O=_i(E,C),P=T+xi(u-e+M),y=vi(s,2*o),A=bi(y,e),B=xi(s-2*o+e),z=mi(3,A),Y=6*B,F=vi(o,e);return{coeffs:[[d,b,N,[0,n]],[O,z,mi(3,F),[0,e]]],errorBound:[[g,x,S,0],[P,Y,xi(3*(o-e)),0]]}}function Ni(t){const[[n,e],[r,o],[i,s]]=t,c=i-2*r,u=vi(i,2*r),l=bi(u,n),f=xi(c+n),h=vi(2*r,2*n),a=s-2*o,p=vi(s,2*o),d=bi(p,e),g=xi(a+e);return{coeffs:[[l,h,[0,n]],[d,vi(2*o,2*e),[0,e]]],errorBound:[[f,0,0],[g,0,0]]}}function Si(t){const[[n,e],[r,o]]=t;return[[vi(r,n),[0,n]],[vi(o,e),[0,e]]]}const Ei=wt,wi=Nt,Mi=O,Ci=Math.abs;function Ti(t){const[[n,[,e]],[r,[,o]]]=Si(t),i=Mi(r),s=n,c=wi(o,n),u=Ci(c[1]),l=wi(e,r),f=Ci(l[1]),h=Ei(l,c);return{coeffs:{vₓ:i,vᵧ:s,v:h},errorBound:{v_:u+f+Ci(h[1])}}}const Oi=Et,Pi=Nt,yi=Tt,Ai=Math.abs,Bi=Dn(3),zi=Pt,Yi=Mt,Fi=Nt,Vi=Tt,ki=wt,Li=Math.abs;function Di(t){const{coeffs:[[n,e,[,r]],[o,i,[,s]]],errorBound:[[c],[u]]}=Ni(t),l=n[1],f=e[1],h=o[1],a=i[1],p=Li(r),d=Li(f),g=Li(l),v=Li(s),m=Li(a),_=Li(h),b=Vi(n,i),x=c*m+2*Li(l*a),I=Vi(e,o),N=d*u+2*Li(f*h),S=Fi(s,n),E=v*c+Li(s*l),w=Fi(r,o),M=p*u+Li(r*h),C=Fi(s,e),T=Li(s*f),O=Fi(r,i),P=Li(r*a),y=Vi(n,n),A=2*(c*g+Li(l*l)),B=Vi(n,o),z=c*_+g*u+2*Li(l*h),Y=Vi(o,o),F=2*(u*_+Li(h*h)),V=l*a-f*h,k=l*s-r*h,L=f*s-r*a,D=ki(b,I),X=Li(V),Q=x+N+Li(V),q=ki(S,w),$=Li(k),H=E+M+Li(k),G=ki(C,O),R=Li(L),U=T+P+Li(L),j=zi(Y),Z=F,W=Yi(B),J=z,K=zi(y),tt=A,nt=a*V,et=Vi(i,D),rt=m*Q+2*Li(nt),ot=2*k*h,it=Yi(Vi(o,q)),st=2*(u*$+_*H+2*Li(ot)),ct=nt-ot,ut=ki(et,it),lt=rt+st+Li(ct),ft=2*l*k,ht=Yi(Vi(n,q)),at=2*(c*$+g*H+2*Li(ft)),pt=f*V,dt=Vi(e,D),gt=d*Q+2*Li(pt),vt=ft-pt,mt=ki(ht,dt),_t=at+gt+Li(vt),bt=V*L,xt=Vi(D,G),It=Q*R+X*U+2*Li(bt),Nt=k*k,St=Vi(q,q),Et=2*(H*$+Li(Nt)),wt=bt-Nt;return{coeffs:{vₓₓ:j,vₓᵧ:W,vᵧᵧ:K,vₓ:ut,vᵧ:mt,v:ki(xt,St)},errorBound:{vₓₓ_:Z,vₓᵧ_:J,vᵧᵧ_:tt,vₓ_:lt,vᵧ_:_t,v_:It+Et+Li(wt)}}}const Xi=At,Qi=Mt,qi=Nt,$i=Tt,Hi=Et,Gi=Math.abs,Ri=Dn(3),Ui=Math.abs,ji=Pt,Zi=Mt,Wi=function(t){return[t[0]/2,t[1]/2]},Ji=Nt,Ki=Tt,ts=wt,ns=Et;function es(t){const{coeffs:[[n,e,r,[,o]],[i,s,c,[,u]]],errorBound:[[l,f,h],[a,p,d]]}=Ii(t),g=r[1],v=e[1],m=n[1],_=c[1],b=s[1],x=i[1],I=Ui(o),N=Ui(g),S=Ui(v),E=Ui(m),w=Ui(u),M=Ui(_),C=Ui(b),T=Ui(x),O=Ki(n,c),P=m*_,y=l*M+E*d+2*Ui(P),A=Ki(r,i),B=g*x,z=h*T+N*a+2*Ui(B),Y=Ki(n,s),F=m*b,V=l*C+E*p+2*Ui(F),k=Ki(e,s),L=v*b,D=f*C+S*p+2*Ui(L),X=Ki(e,i),Q=v*x,q=f*T+S*a+2*Ui(Q),$=Ki(n,n),H=m*m,G=Ui(H),R=l*E+E*l+2*Ui(H),U=Ki(s,s),j=b*b,Z=p*C+C*p+2*Ui(j),W=Ki(i,i),J=x*x,K=Ui(J),tt=a*T+T*a+2*Ui(J),nt=Ki(r,n),et=g*m,rt=h*E+N*l+2*Ui(et),ot=Ki(e,e),it=v*v,st=f*S+S*f+2*Ui(it),ct=Ki(c,i),ut=_*x,lt=d*T+M*a+2*Ui(ut),ft=Ki(s,i),ht=Ui(b*x),at=p*T+C*a+2*ht,pt=Ki(e,n),dt=Ui(v*m),gt=f*E+S*l+2*dt,vt=Ki(n,i),mt=Ui(m*x),_t=l*T+E*a+2*mt,bt=Ji(u,n),xt=m*u,It=l*w+Ui(xt),Nt=Ji(o,i),St=o*x,Et=I*a+Ui(St),wt=Ji(u,e),Mt=v*u,Ct=f*w+Ui(Mt),Tt=Ji(o,s),Ot=o*b,Pt=I*p+Ui(Ot),yt=Ki(e,c),At=v*_,Bt=f*M+S*d+2*Ui(At),zt=Ki(r,s),Yt=g*b,Ft=h*C+N*p+2*Ui(Yt),Vt=Ji(u,r),kt=g*u,Lt=h*w+Ui(kt),Dt=Ji(o,c),Xt=o*_,Qt=I*d+Ui(Xt),qt=ts(bt,Nt),$t=It+Et+Ui(xt-St),Ht=ts(O,A),Gt=y+z+Ui(P-B),Rt=ts(Y,X),Ut=V+q+Ui(F-Q),jt=ts(wt,Tt),Zt=Ct+Pt+Ui(Mt-Ot),Wt=ts(yt,zt),Jt=Bt+Ft+Ui(At-Yt),Kt=ts(Vt,Dt),tn=Lt+Qt+Ui(kt-Xt),nn=Ui(ut-j),en=ts(ct,U),rn=lt+Z+nn,on=Ui(et-it),sn=ts(nt,ot),cn=rt+st+Ui(et-it),un=Ui(Q+F),ln=ns(X,Y),fn=q+V+Ui(Q+F),hn=B+P,an=Ui(hn),pn=ns(A,O),dn=z+y+an,gn=Zi(Ht),vn=2*Gt,mn=xt-St,_n=P-B,bn=F-Q,xn=Mt-Ot,In=At-Yt,Nn=kt-Xt,Sn=Ui(mn),En=Ui(_n),wn=Ui(bn),Mn=Ui(xn),Cn=Ui(In),Tn=Ui(Nn),On=2*En,Pn=Ki(qt,qt),yn=Ki(qt,Ht),An=Ki(qt,Rt),Bn=Ki(qt,Wt),zn=Ki(Ht,Ht),Yn=Ki(gn,jt),Fn=Ki(Rt,jt),Vn=Ki(Rt,Wt),kn=Ki(Rt,Kt),Ln=$t*Sn+Sn*$t+2*Ui(Pn[1]),Dn=$t*En+Sn*Gt+2*Ui(yn[1]),Xn=$t*wn+Sn*Ut+2*Ui(An[1]),Qn=$t*Cn+Sn*Jt+2*Ui(Bn[1]),qn=Gt*En+En*Gt+2*Ui(zn[1]),$n=vn*Mn+On*Zt+2*Ui(Yn[1]),Hn=Ut*Mn+wn*Zt+2*Ui(Fn[1]),Gn=Ut*Cn+wn*Jt+2*Ui(Vn[1]),Rn=Ut*Tn+wn*tn+2*Ui(Fn[1]),Un=Ki(ji(i),W),jn=a*K+T*tt+2*Ui(Un[1]),Zn=3*E,Wn=Ji(3,n),Jn=3*l+Zn,Kn=Ki(Wn,W),te=Jn*K+Zn*tt+2*Ui(Kn[1]),ne=3*T,ee=Ji(-3,i),re=3*a+ne,oe=Ki(ee,$),ie=re*G+ne*R+2*Ui(oe[1]),se=Ki(n,$),ce=l*G+E*R+2*Ui(se[1]),ue=-3*mn,le=3*Sn,fe=Ji(-3,qt),he=3*$t+le,ae=ts(fe,Wt),pe=Ui(ue-In),de=he+Jt+pe,ge=Ki(ae,W),ve=de*K+pe*tt+2*Ui(ge[1]),me=Ki(Rt,en),_e=Ut*nn+wn*rn+2*Ui(me[1]),be=ns(ge,me),xe=ve+_e+Ui(be[1]),Ie=Ki(gn,ft),Ne=vn*ht+On*at+2*Ui(Ie[1]),Se=ns(be,Ie),Ee=xe+Ne+Ui(Se[1]),we=Ki(ae,$),Me=de*G+pe*R+2*Ui(we[1]),Ce=Ki(Rt,sn),Te=Ut*on+wn*cn+2*Ui(Ce[1]),Oe=ns(we,Ce),Pe=Me+Te+Ui(Oe[1]),ye=Ki(gn,pt),Ae=vn*dt+On*gt+2*Ui(ye[1]),Be=ns(Oe,ye),ze=Pe+Ae+Ui(Be[1]),Ye=Ui(L-hn/2),Fe=ts(k,Wi(pn)),Ve=D+dn/2+Ui(Fe[1]),ke=Ki(ae,vt),Le=de*mt+pe*_t+2*Ui(ke[1]),De=Ki(Ht,ln),Xe=Gt*un+En*fn+2*Ui(De[1]),Qe=ns(ke,De),qe=Le+Xe+Ui(Qe[1]),$e=Ki(Rt,Fe),He=Ut*Ye+wn*Ve+2*Ui($e[1]),Ge=Zi(ts($e,Qe)),Re=2*(He+qe)+Ui(Ge[1]),Ue=Ji(-3,Pn),je=3*Ln+Ui(Ue[1]),Ze=ts(Ue,Zi(Bn)),We=je+2*Qn+Ui(Ze[1]),Je=ns(Yn,kn),Ke=$n+Rn+Ui(Je[1]),tr=ns(Ze,Je),nr=Ui(tr[1]),er=We+Ke+nr,rr=Zi(ts(yn,Fn)),or=Ui(rr[1]),ir=2*(Dn+Hn)+or,sr=ts(An,zn),cr=Xn+qn+Ui(sr[1]),ur=ns(sr,Vn),lr=Ui(ur[1]),fr=cr+Gn+lr,hr=Ki(i,tr),ar=a*nr+T*er+2*Ui(hr[1]),pr=Ki(s,rr),dr=p*or+C*ir+2*Ui(pr[1]),gr=Ki(c,ur),vr=d*lr+M*fr+2*Ui(gr[1]),mr=ns(pr,gr),_r=dr+vr+Ui(mr[1]),br=ns(hr,mr),xr=ar+_r+Ui(br[1]),Ir=Ki(n,tr),Nr=l*nr+E*er+2*Ui(Ir[1]),Sr=Ki(e,rr),Er=f*or+S*ir+2*Ui(Sr[1]),wr=Ki(r,ur),Mr=h*lr+N*fr+2*Ui(wr[1]),Cr=ns(Sr,wr),Tr=Er+Mr+Ui(Cr[1]),Or=ji(ns(Ir,Cr)),Pr=Nr+Tr+Ui(Or[1]),yr=ts(Yn,Pn),Ar=ts(yr,Bn),Br=Ui(Ar[1]),zr=Ki(ur,Kt),Yr=Ki(Fn,jt),Fr=ts(zr,Yr),Vr=fr*Ui(Kt[1])+2*Ui(zr[1])+Hn*Ui(jt[1])+2*Ui(Yr[1])+Ui(Fr[1]),kr=Ki(qt,Ar),Lr=$t*Br+Sn*$n+Ln+Ui(yr[1])+Qn+Br+2*Ui(kr[1]),Dr=ns(kr,Fr);return{coeffs:{vₓₓₓ:Un,vₓₓᵧ:Kn,vₓᵧᵧ:oe,vᵧᵧᵧ:se,vₓₓ:Se,vₓᵧ:Ge,vᵧᵧ:Be,vₓ:br,vᵧ:Or,v:Dr},errorBound:{vₓₓₓ_:jn,vₓₓᵧ_:te,vₓᵧᵧ_:ie,vᵧᵧᵧ_:ce,vₓₓ_:Ee,vₓᵧ_:Re,vᵧᵧ_:ze,vₓ_:xr,vᵧ_:Pr,v_:Lr+Vr+Ui(Dr[1])}}}const rs=At,os=Mt,is=Nt,ss=Tt,cs=Et,us=Math.abs,ls=Dn(3),fs=Et,hs=Nt,as=Tt,ps=Math.abs,ds=Dn(3),gs=At,vs=Mt,ms=Nt,_s=Tt,bs=Et,xs=Math.abs,Is=Dn(3),Ns=At,Ss=Mt,Es=Nt,ws=Tt,Ms=Et,Cs=Math.abs,Ts=Dn(3),Os=Et,Ps=Nt,ys=Tt,As=Math.abs,Bs=Dn(3),zs=At,Ys=Mt,Fs=Nt,Vs=Tt,ks=Et,Ls=Math.abs,Ds=Dn(3),Xs=At,Qs=Mt,qs=Nt,$s=Tt,Hs=Et,Gs=Math.abs,Rs=Dn(3),Us=z,js=kt,Zs=L,Ws=je,Js=Br;function Ks(t){if(4===t.length)return tc(t);if(3===t.length)return nc(t);if(2===t.length)return ec(t);if(1===t.length)return function(t){const[[n,e]]=t;return[[[n]],[[e]]]}(t);throw new Error("The given bezier curve must be of order <= cubic.")}function tc(t){const[[n,e],[r,o],[i,s],[c,u]]=t;return[[Js(Us(c,n),Zs(3,Us(r,i))),Zs(3,Ws(js(i,n),-2*r)),Zs(3,Us(r,n)),[n]],[Js(Us(u,e),Zs(3,Us(o,s))),Zs(3,Ws(js(s,e),-2*o)),Zs(3,Us(o,e)),[e]]]}function nc(t){const[[n,e],[r,o],[i,s]]=t;return[[Ws(js(i,n),-2*r),Us(2*r,2*n),[n]],[Ws(js(s,e),-2*o),Us(2*o,2*e),[e]]]}function ec(t){const[[n,e],[r,o]]=t;return[[Us(r,n),[n]],[Us(o,e),[e]]]}const rc=L,oc=A,ic=O,sc=V;function cc(t){const[[n,[e]],[r,[o]]]=t;if(0!==sc(n)||0!==sc(r))return{vₓ:ic(r),vᵧ:n,v:oc(rc(e,r),rc(o,n))}}const uc=L,lc=Q,fc=T;function hc(t,n){const e=ec(t),[[r,[o]],[i,[s]]]=ec(n),{vₓ:c,vᵧ:u,v:l}=cc(e),f=lc(r,c),h=lc(i,u),a=fc(f,h),p=uc(o,c),d=uc(s,u),g=fc(p,d);return[a,fc(g,l)]}const ac=L,pc=dr,dc=A,gc=Q,vc=O;function mc(t){const[[n,e,[r]],[o,i,[s]]]=t;if(0===V(n)&&0===V(o))return cc([[e,[r]],[i,[s]]]);const c=gc(n,i),u=gc(e,o),l=ac(s,n),f=ac(r,o),h=ac(s,e),a=ac(r,i),p=gc(n,n),d=gc(n,o),g=gc(o,o),v=dc(c,u),m=dc(l,f),_=dc(h,a),b=vc(g),x=pc(d),I=vc(p),N=gc(i,v),S=pc(gc(o,m)),E=dc(N,S),w=pc(gc(n,m)),M=gc(e,v),C=dc(w,M),T=gc(v,_),O=gc(m,m);return{vₓₓ:b,vₓᵧ:x,vᵧᵧ:I,vₓ:E,vᵧ:C,v:dc(T,O)}}const _c=C,bc=L,xc=Q,Ic=T,Nc=dr,Sc=V;function Ec(t,n){const e=nc(t);if(0===Sc(e[0][0])&&0===Sc(e[1][0]))return hc([t[0],t[2]],n);const[[r,[o]],[i,[s]]]=ec(n),{vₓₓ:c,vₓᵧ:u,vᵧᵧ:l,vₓ:f,vᵧ:h,v:a}=mc(e),p=_c(o,o),d=bc(o,r),g=_c(o,s),v=bc(o,i),m=xc(r,r),_=bc(s,r),b=xc(r,i),x=_c(s,s),I=bc(s,i),N=xc(i,i),S=xc(m,c),E=xc(N,l),w=xc(b,u),M=Ic(S,E),C=Ic(M,w),T=xc(d,c),O=xc(I,l),P=Ic(v,_),y=xc(P,u),A=Nc(Ic(T,O)),B=Ic(A,y),z=xc(r,f),Y=xc(i,h),F=Ic(z,Y),V=Ic(B,F),k=xc(p,c),L=xc(g,u),D=xc(x,l),X=Ic(k,L),Q=Ic(X,D),q=bc(o,f),$=bc(s,h),H=Ic(q,$),G=Ic(Q,H);return[C,V,Ic(G,a)]}const wc=Q,Mc=z,Cc=A,Tc=V,Oc=B,Pc=k,yc=kt;function Ac(t,n=!1){if(!n){const[[n,e],[r,o],[i,s],[c,u]]=t;return[[n,e],[Oc(Cc(Pc(yc(r/4,i/4),3),yc(n/4,c/4))),Oc(Cc(Pc(yc(o/4,s/4),3),yc(e/4,u/4)))],[c,u]]}const[e,r,o,i]=t,s=function(t,n){const[[e,r],[o,i]]=t,[[s,c],[u,l]]=n,f=Mc(o,e),h=Mc(i,r),a=Mc(u,s),p=Mc(l,c),d=Cc(wc(a,h),wc(p,f));if(0===Tc(d))return;const g=Mc(s,e),v=Mc(c,r),m=Cc(wc(v,f),wc(g,h)),_=Oc(m)/Oc(d);return[s+_*Oc(a),c+_*Oc(p)]}([e,r],[i,o]);if(void 0!==s)return[e,s,i]}const Bc=L,zc=Q,Yc=T,Fc=A,Vc=O,kc=dr,Lc=vr,Dc=V;function Xc(t){const[[n,e,r,[o]],[i,s,c,[u]]]=t;if(0===Dc(n)&&0===Dc(i))return mc([[e,r,[o]],[s,c,[u]]]);const l=zc(n,c),f=zc(r,i),h=zc(n,s),a=zc(e,s),p=zc(e,i),d=zc(n,n),g=zc(s,s),v=zc(i,i),m=zc(r,n),_=zc(e,e),b=zc(c,i),x=zc(s,i),I=zc(e,n),N=zc(n,i),S=Bc(u,n),E=Bc(o,i),w=Bc(u,e),M=Bc(o,s),C=zc(e,c),T=zc(r,s),O=Bc(u,r),P=Bc(o,c),y=Fc(S,E),A=Fc(l,f),B=Fc(h,p),z=Fc(w,M),Y=Fc(C,T),F=Fc(O,P),V=Fc(b,g),k=Fc(m,_),L=Yc(p,h),D=Yc(f,l),X=kc(A),Q=zc(y,y),q=zc(y,A),$=zc(y,B),H=zc(y,Y),G=zc(A,A),R=zc(X,z),U=zc(B,z),j=zc(B,Y),Z=zc(B,F),W=zc(Vc(i),v),J=zc(Bc(3,n),v),K=zc(Bc(-3,i),d),tt=zc(n,d),nt=Fc(Bc(-3,y),Y),et=zc(nt,v),rt=zc(B,V),ot=Yc(et,rt),it=zc(X,x),st=Yc(ot,it),ct=zc(nt,d),ut=zc(B,k),lt=Yc(ct,ut),ft=zc(X,I),ht=Yc(lt,ft),at=Fc(a,Lc(D)),pt=zc(nt,N),dt=zc(A,L),gt=Yc(pt,dt),vt=zc(B,at),mt=kc(Fc(vt,gt)),_t=Bc(-3,Q),bt=Fc(_t,kc(H)),xt=Yc(R,Z),It=Yc(bt,xt),Nt=kc(Fc(q,U)),St=Fc($,G),Et=Yc(St,j),wt=zc(i,It),Mt=zc(s,Nt),Ct=zc(c,Et),Tt=Yc(Mt,Ct),Ot=Yc(wt,Tt),Pt=zc(n,It),yt=zc(e,Nt),At=zc(r,Et),Bt=Yc(yt,At),zt=Vc(Yc(Pt,Bt)),Yt=Fc(R,Q),Ft=Fc(Yt,H),Vt=zc(Et,F),kt=zc(U,z),Lt=Fc(Vt,kt),Dt=zc(y,Ft);return{vₓₓₓ:W,vₓₓᵧ:J,vₓᵧᵧ:K,vᵧᵧᵧ:tt,vₓₓ:st,vₓᵧ:mt,vᵧᵧ:ht,vₓ:Ot,vᵧ:zt,v:Yc(Dt,Lt)}}const Qc=C,qc=L,$c=Q,Hc=T,Gc=dr,Rc=V;function Uc(t,n){const e=tc(t);if(0===Rc(e[0][0])&&0===Rc(e[1][0]))return Ec(Ac(t),n);const[[r,[o]],[i,[s]]]=ec(n),{vₓₓₓ:c,vₓₓᵧ:u,vₓᵧᵧ:l,vᵧᵧᵧ:f,vₓₓ:h,vₓᵧ:a,vᵧᵧ:p,vₓ:d,vᵧ:g,v}=Xc(e),m=Qc(o,o),_=qc(o,r),b=Qc(o,s),x=qc(o,i),I=$c(r,r),N=qc(s,r),S=$c(r,i),E=Qc(s,s),w=qc(s,i),M=$c(i,i),C=qc(o,c),T=$c(Qc(3,o),c),O=qc(o,u),P=qc(s,u),y=qc(o,l),A=qc(s,l),B=qc(s,f),z=$c(Qc(3,s),f),Y=$c(r,c),F=$c(r,l),V=$c(i,u),k=$c(i,f),L=Hc(Y,V),D=Hc(F,k),X=$c(I,L),Q=$c(M,D),q=Hc(X,Q),$=Hc(T,P),H=Gc(Hc(O,A)),G=Hc(y,z),R=Hc($,h),U=Hc(H,a),j=Hc(G,p),Z=$c(I,R),W=$c(S,U),J=$c(M,j),K=Hc(Z,W),tt=Hc(K,J),nt=Gc(Hc(P,h)),et=Gc(Hc(y,p)),rt=Hc(T,nt),ot=Hc(z,et),it=Hc(O,a),st=Hc(A,a),ct=$c(_,rt),ut=$c(w,ot),lt=$c(x,it),ft=$c(N,st),ht=$c(r,d),at=$c(i,g),pt=Hc(ct,ut),dt=Hc(lt,ft),gt=Hc(pt,dt),vt=Hc(ht,at),mt=Hc(gt,vt),_t=Hc(C,P),bt=Hc(B,y),xt=Hc(_t,h),It=Hc(bt,p),Nt=$c(m,xt),St=$c(E,It),Et=$c(b,a),wt=Hc(Nt,St),Mt=Hc(wt,Et),Ct=qc(o,d),Tt=qc(s,g),Ot=Hc(Ct,Tt),Pt=Hc(Mt,Ot);return[q,tt,mt,Hc(Pt,v)]}const jc=L,Zc=Q,Wc=T,Jc=V;function Kc(t,n){const e=ec(t),[[r,o,[i]],[s,c,[u]]]=nc(n);if(0===Jc(r)&&0===Jc(s))return hc(t,[n[0],n[2]]);const{vₓ:l,vᵧ:f,v:h}=cc(e),a=Zc(r,l),p=Zc(s,f),d=Wc(a,p),g=Zc(o,l),v=Zc(c,f),m=Wc(g,v),_=jc(i,l),b=jc(u,f),x=Wc(_,b);return[d,m,Wc(x,h)]}const tu=C,nu=L,eu=Q,ru=T,ou=dr,iu=V;function su(t,n){const e=nc(t);if(0===iu(e[0][0])&&0===iu(e[1][0]))return Kc([t[0],t[2]],n);const[[r,o,[i]],[s,c,[u]]]=nc(n);if(0===iu(r)&&0===iu(s))return Ec(t,[n[0],n[2]]);const{vₓₓ:l,vₓᵧ:f,vᵧᵧ:h,vₓ:a,vᵧ:p,v:d}=mc(e),g=tu(i,i),v=nu(i,o),m=nu(i,r),_=tu(i,u),b=nu(i,c),x=nu(i,s),I=eu(o,o),N=eu(o,r),S=nu(u,o),E=eu(o,c),w=eu(o,s),M=eu(r,c),C=eu(r,r),T=nu(u,r),O=eu(r,s),P=tu(u,u),y=nu(u,c),A=nu(u,s),B=eu(c,c),z=eu(c,s),Y=eu(s,s),F=eu(C,l),V=eu(O,f),k=eu(Y,h),L=ru(F,V),D=ru(L,k),X=eu(N,l),Q=eu(z,h),q=ru(w,M),$=eu(q,f),H=ou(ru(X,Q)),G=ru(H,$),R=ru(ou(m),I),U=ru(ou(A),B),j=ru(x,E),Z=ru(j,T),W=eu(R,l),J=eu(U,h),K=eu(Z,f),tt=eu(r,a),nt=eu(s,p),et=ru(W,J),rt=ru(et,K),ot=ru(tt,nt),it=ru(rt,ot),st=eu(v,l),ct=eu(y,h),ut=ru(b,S),lt=eu(ut,f),ft=ou(ru(st,ct)),ht=eu(o,a),at=eu(c,p),pt=ru(ft,lt),dt=ru(ht,at),gt=ru(pt,dt),vt=eu(g,l),mt=eu(_,f),_t=eu(P,h),bt=nu(i,a),xt=nu(u,p),It=ru(vt,mt),Nt=ru(It,_t),St=ru(bt,xt),Et=ru(Nt,St);return[D,G,it,gt,ru(Et,d)]}const cu=C,uu=L,lu=Q,fu=T,hu=dr,au=V;function pu(t,n){const e=tc(t);if(0===au(e[0][0])&&0===au(e[1][0]))return su(Ac(t),n);const[[r,o,[i]],[s,c,[u]]]=nc(n);if(0===au(r)&&0===au(s))return Uc(t,[n[0],n[2]]);const{vₓₓₓ:l,vₓₓᵧ:f,vₓᵧᵧ:h,vᵧᵧᵧ:a,vₓₓ:p,vₓᵧ:d,vᵧᵧ:g,vₓ:v,vᵧ:m,v:_}=Xc(e),b=cu(i,i),x=uu(i,o),I=uu(i,r),N=cu(i,u),S=uu(i,c),E=uu(i,s),w=lu(o,o),M=lu(o,r),C=uu(u,o),T=lu(o,c),O=lu(o,s),P=lu(r,c),y=lu(r,r),A=uu(u,r),B=lu(r,s),z=cu(u,u),Y=uu(u,c),F=uu(u,s),V=lu(c,c),k=lu(c,s),L=lu(s,s),D=lu(r,l),X=lu(r,h),Q=lu(s,f),q=lu(s,a),$=fu(D,Q),H=fu(X,q),G=lu(y,$),R=lu(L,H),U=fu(G,R),j=fu(I,w),Z=fu(F,V),W=fu(hu(I),w),J=fu(hu(F),V),K=fu(hu(T),A),tt=fu(hu(T),E),nt=fu(hu(A),T),et=fu(uu(6,I),w),rt=fu(uu(6,F),V),ot=fu(O,P),it=fu(E,A),st=fu(hu(C),S),ct=fu(hu(S),C),ut=fu(E,T),lt=fu(ut,A),ft=uu(3,y),ht=uu(3,L),at=lu(ft,l),pt=lu(y,f),dt=hu(lu(B,f)),gt=hu(lu(B,h)),vt=lu(L,h),mt=lu(ht,a),_t=fu(at,dt),bt=fu(pt,gt),xt=fu(_t,vt),It=fu(bt,mt),Nt=lu(o,xt),St=lu(c,It),Et=fu(Nt,St),wt=lu(s,W),Mt=lu(s,tt),Ct=lu(r,K),Tt=lu(r,J),Ot=lu(uu(3,r),j),Pt=lu(uu(3,s),Z),yt=fu(wt,Ct),At=fu(Mt,Tt),Bt=lu(Ot,l),zt=lu(Pt,a),Yt=lu(yt,f),Ft=lu(At,h),Vt=fu(Bt,zt),kt=fu(Yt,Ft),Lt=lu(y,p),Dt=lu(L,g),Xt=lu(B,d),Qt=fu(Lt,Dt),qt=fu(Vt,kt),$t=fu(Qt,Xt),Ht=fu(qt,$t),Gt=lu(o,et),Rt=lu(c,rt),Ut=uu(2*i,ot),jt=lu(hu(c),it),Zt=lu(o,nt),Wt=lu(o,J),Jt=fu(Ut,Zt),Kt=fu(jt,Wt),tn=lu(k,g),nn=lu(M,p),en=lu(ot,d),rn=fu(tn,nn),on=lu(Gt,l),sn=lu(Jt,f),cn=lu(Rt,a),un=lu(Kt,h),ln=fu(on,cn),fn=fu(sn,un),hn=fu(ln,fn),an=fu(hu(rn),en),pn=fu(hn,an),dn=lu(cu(3,i),j),gn=lu(cu(3,u),Z),vn=uu(i,tt),mn=uu(i,J),_n=uu(u,W),bn=uu(u,K),xn=fu(vn,_n),In=fu(mn,bn),Nn=lu(dn,l),Sn=lu(gn,a),En=lu(xn,f),wn=lu(In,h),Mn=lu(W,p),Cn=lu(J,g),Tn=lu(lt,d),On=lu(r,v),Pn=lu(s,m),yn=fu(Nn,Sn),An=fu(En,wn),Bn=fu(Mn,Cn),zn=fu(yn,An),Yn=fu(Bn,Tn),Fn=fu(On,Pn),Vn=fu(zn,Yn),kn=fu(Vn,Fn),Ln=lu(cu(3,i),x),Dn=lu(cu(3,u),Y),Xn=uu(i,st),Qn=uu(u,ct),qn=lu(x,p),$n=lu(Y,g),Hn=lu(S,d),Gn=lu(C,d),Rn=hu(fu(qn,$n)),Un=fu(Hn,Gn),jn=lu(o,v),Zn=lu(c,m),Wn=lu(Ln,l),Jn=lu(Dn,a),Kn=lu(Xn,f),te=lu(Qn,h),ne=fu(Wn,Jn),ee=fu(Kn,te),re=fu(ne,ee),oe=fu(Rn,Un),ie=fu(jn,Zn),se=fu(re,oe),ce=fu(se,ie),ue=uu(i,l),le=uu(i,h),fe=uu(u,f),he=uu(u,a),ae=fu(ue,fe),pe=fu(le,he),de=fu(ae,p),ge=fu(pe,g),ve=lu(b,de),me=lu(z,ge),_e=lu(N,d),be=uu(i,v),xe=uu(u,m),Ie=fu(ve,me),Ne=fu(Ie,_e),Se=fu(be,xe),Ee=fu(Ne,Se);return[U,Et,Ht,pn,kn,ce,fu(Ee,_)]}const du=L,gu=Q,vu=T,mu=V;function _u(t,n){const e=ec(t),[[r,o,i,[s]],[c,u,l,[f]]]=tc(n);if(0===mu(r)&&0===mu(c))return Kc(t,Ac(n));const{vₓ:h,vᵧ:a,v:p}=cc(e),d=gu(r,h),g=gu(c,a),v=vu(d,g),m=gu(o,h),_=gu(u,a),b=vu(m,_),x=gu(i,h),I=gu(l,a),N=vu(x,I),S=du(s,h),E=du(f,a),w=vu(S,E);return[v,b,N,vu(w,p)]}const bu=C,xu=L,Iu=Q,Nu=T,Su=dr,Eu=V;function wu(t,n){const e=nc(t);if(0===Eu(e[0][0])&&0===Eu(e[1][0]))return _u([t[0],t[2]],n);const[[r,o,i,[s]],[c,u,l,[f]]]=tc(n);if(0===Eu(r)&&0===Eu(c))return su(t,Ac(n));const{vₓₓ:h,vₓᵧ:a,vᵧᵧ:p,vₓ:d,vᵧ:g,v}=mc(e),m=bu(s,s),_=xu(s,i),b=xu(s,o),x=xu(s,r),I=bu(s,f),N=xu(s,l),S=xu(s,u),E=xu(s,c),w=Iu(i,i),M=Iu(i,o),C=Iu(i,r),T=xu(f,i),O=Iu(i,l),P=Iu(i,u),y=Iu(i,c),A=Iu(o,l),B=Iu(o,o),z=Iu(o,r),Y=xu(f,o),F=Iu(o,u),V=Iu(o,c),k=Iu(r,r),L=xu(f,r),D=Iu(r,l),X=Iu(r,u),Q=Iu(r,c),q=bu(f,f),$=xu(f,l),H=xu(f,u),G=xu(f,c),R=Iu(l,l),U=Iu(l,u),j=Iu(c,c),Z=Iu(u,u),W=Iu(u,c),J=Iu(l,c),K=Iu(k,h),tt=Iu(Q,a),nt=Iu(j,p),et=Nu(K,tt),rt=Nu(et,nt),ot=Iu(z,h),it=Iu(W,p),st=Nu(ot,it),ct=Nu(V,X),ut=Iu(ct,a),lt=Nu(Su(st),ut),ft=Nu(Su(C),B),ht=Nu(Su(J),Z),at=Nu(y,F),pt=Nu(at,D),dt=Iu(ft,h),gt=Iu(ht,p),vt=Nu(dt,gt),mt=Iu(pt,a),_t=Nu(vt,mt),bt=Nu(x,M),xt=Nu(G,U),It=Nu(E,P),Nt=Nu(A,L),St=Nu(It,Nt),Et=Iu(bt,h),wt=Iu(xt,p),Mt=Su(Nu(Et,wt)),Ct=Iu(St,a),Tt=Iu(r,d),Ot=Iu(c,g),Pt=Nu(Tt,Ot),yt=Nu(Mt,Ct),At=Nu(yt,Pt),Bt=Nu(Su(b),w),zt=Nu(Su(H),R),Yt=Nu(S,O),Ft=Nu(Yt,Y),Vt=Iu(Bt,h),kt=Iu(zt,p),Lt=Iu(Ft,a),Dt=Nu(Vt,kt),Xt=Nu(Dt,Lt),Qt=Iu(o,d),qt=Iu(u,g),$t=Nu(Qt,qt),Ht=Nu(Xt,$t),Gt=Iu(_,h),Rt=Iu($,p),Ut=Nu(N,T),jt=Iu(Ut,a),Zt=Su(Nu(Gt,Rt)),Wt=Nu(Zt,jt),Jt=Iu(i,d),Kt=Iu(l,g),tn=Nu(Jt,Kt),nn=Nu(Wt,tn),en=Iu(m,h),rn=Iu(I,a),on=Iu(q,p),sn=xu(s,d),cn=xu(f,g),un=Nu(en,rn),ln=Nu(un,on),fn=Nu(sn,cn),hn=Nu(ln,fn);return[rt,lt,_t,At,Ht,nn,Nu(hn,v)]}const Mu=C,Cu=L,Tu=Q,Ou=T,Pu=dr,yu=V,Au=[[function(t,n){const{coeffs:{vₓ:e,vᵧ:r,v:o},errorBound:{v_:i}}=Ti(t),[[s,[,c]],[u,[,l]]]=Si(n),f=s[1],h=u[1],a=e[1],p=r[1],d=o[1],g=f*a,v=2*Ai(g),m=yi(s,e),_=h*p,b=2*Ai(_),x=yi(u,r),I=g+_,N=Oi(m,x),S=v+b+Ai(I),E=c*a,w=Pi(c,e),M=Ai(E),C=l*p,T=Pi(l,r),O=Ai(C),P=E+C,y=Oi(w,T),A=M+O+Ai(P),B=Oi(y,o),z=A+i+Ai(P+d);return{coeffs:[N,B],errBound:[Bi*S,Bi*z]}},function(t,n){const{coeffs:{vₓ:e,vᵧ:r,v:o},errorBound:{v_:i}}=Ti(t),{coeffs:[[s,c,[,u]],[l,f,[,h]]],errorBound:[[a],[p]]}=Ni(n),d=e[1],g=r[1],v=o[1],m=ps(d),_=ps(g),b=(ps(v),c[1]),x=s[1],I=f[1],N=l[1],S=x*d,E=as(s,e),w=a*m+2*ps(S),M=N*g,C=as(l,r),T=p*_+2*ps(M),O=S+M,P=fs(E,C),y=w+T+ps(O),A=b*d,B=as(c,e),z=2*ps(A),Y=I*g,F=as(f,r),V=2*ps(Y),k=A+Y,L=fs(B,F),D=z+V+ps(k),X=hs(u,e),Q=u*d,q=ps(Q),$=hs(h,r),H=h*g,G=ps(H),R=Q+H,U=fs(X,$),j=q+G+ps(R),Z=R+v,W=fs(U,o),J=j+i+ps(Z);return{coeffs:[P,L,W],errBound:[ds*y,ds*D,ds*J]}},function(t,n){const{coeffs:{vₓ:e,vᵧ:r,v:o},errorBound:{v_:i}}=Ti(t),{coeffs:[[s,c,u,[,l]],[f,h,a,[,p]]],errorBound:[[d,g,v],[m,_,b]]}=Ii(n),x=As(e[1]),I=As(r[1]),N=ys(s,e),S=d*x+2*As(N[1]),E=ys(f,r),w=m*I+2*As(E[1]),M=Os(N,E),C=S+w+As(M[1]),T=ys(c,e),O=g*x+2*As(T[1]),P=ys(h,r),y=_*I+2*As(P[1]),A=Os(T,P),B=O+y+As(A[1]),z=ys(u,e),Y=v*x+2*As(z[1]),F=ys(a,r),V=b*I+2*As(F[1]),k=Os(z,F),L=Y+V+As(k[1]),D=Ps(l,e),X=As(D[1]),Q=Ps(p,r),q=As(Q[1]),$=Os(D,Q),H=X+q+As($[1]),G=Os($,o),R=H+i+As(G[1]);return{coeffs:[M,A,k,G],errBound:[Bs*C,Bs*B,Bs*L,Bs*R]}}],[function(t,n){const{coeffs:{vₓₓ:e,vₓᵧ:r,vᵧᵧ:o,vₓ:i,vᵧ:s,v:c},errorBound:{vₓₓ_:u,vₓᵧ_:l,vᵧᵧ_:f,vₓ_:h,vᵧ_:a,v_:p}}=Di(t),[[d,[,g]],[v,[,m]]]=Si(n),_=e[1],b=r[1],x=o[1],I=i[1],N=s[1],S=c[1],E=Gi(_),w=Gi(b),M=Gi(x),C=d[1],T=v[1],O=Gi(g),P=Gi(C),y=Gi(m),A=Gi(T),B=g*g,z=g*C,Y=g*m,F=g*T,V=C*C,k=C*m,L=C*T,D=m*m,X=m*T,Q=T*T,q=Xi(g,g),$=qi(g,d),H=Gi(z),G=Xi(g,m),R=qi(g,v),U=Gi(F),j=Gi(V),Z=$i(d,d),W=2*j,J=qi(m,d),K=Gi(k),tt=Gi(L),nt=$i(d,v),et=2*tt,rt=Xi(m,m),ot=qi(m,v),it=Gi(X),st=Gi(Q),ct=$i(v,v),ut=2*st,lt=V*_,ft=$i(Z,e),ht=W*E*j*u+2*Gi(lt),at=Q*x,pt=$i(ct,o),dt=ut*M*st*f+2*Gi(at),gt=L*b,vt=$i(nt,r),mt=et*w*tt*l+2*Gi(gt),_t=lt+at,bt=Hi(ft,pt),xt=ht+dt+Gi(_t),It=_t+gt,Nt=Hi(bt,vt),St=xt+mt+Gi(It),Et=z*_,wt=$i($,e),Mt=H*(E+u)+2*Gi(Et),Ct=X*x,Tt=$i(ot,o),Ot=it*(M+f)+2*Gi(Ct),Pt=F+k,yt=Hi(R,J),At=U+K+Gi(Pt),Bt=Pt*b,zt=$i(yt,r),Yt=At*w+Gi(Pt)*l+2*Gi(Bt),Ft=2*(Et+Ct),Vt=Qi(Hi(wt,Tt)),kt=2*(Mt+Ot)+Gi(Ft),Lt=Ft+Bt,Dt=Hi(Vt,zt),Xt=kt+Yt+Gi(Lt),Qt=C*I,qt=$i(d,i),$t=P*h+2*Gi(Qt),Ht=T*N,Gt=$i(v,s),Rt=A*a+2*Gi(Ht),Ut=Qt+Ht,jt=Hi(qt,Gt),Zt=$t+Rt+Gi(Ut),Wt=Lt+Ut,Jt=Hi(Dt,jt),Kt=Xt+Zt+Gi(Wt),tn=B*_,nn=$i(q,e),en=2*Gi(tn),rn=Y*b,on=$i(G,r),sn=2*Gi(rn),cn=D*x,un=$i(rt,o),ln=2*Gi(cn),fn=tn+rn,hn=Hi(nn,on),an=en+sn+Gi(fn),pn=fn+cn,dn=Hi(hn,un),gn=an+ln+Gi(pn),vn=g*I,mn=qi(g,i),_n=O*h+Gi(vn),bn=m*N,xn=qi(m,s),In=y*a+Gi(bn),Nn=vn+bn,Sn=Hi(mn,xn),En=_n+In+Gi(Nn),wn=pn+Nn,Mn=Hi(dn,Sn),Cn=gn+En+Gi(wn),Tn=wn+S,On=Hi(Mn,c),Pn=Cn+p+Gi(Tn);return{coeffs:[Nt,Jt,On],errBound:[Ri*St,Ri*Kt,Ri*Pn]}},function(t,n){const{coeffs:{vₓₓ:e,vₓᵧ:r,vᵧᵧ:o,vₓ:i,vᵧ:s,v:c},errorBound:{vₓₓ_:u,vₓᵧ_:l,vᵧᵧ_:f,vₓ_:h,vᵧ_:a,v_:p}}=Di(t),{coeffs:[[d,g,[,v]],[m,_,[,b]]],errorBound:[[x],[I]]}=Ni(n),N=e[1],S=r[1],E=o[1],w=i[1],M=s[1],C=c[1],T=xs(N),O=xs(S),P=xs(E),y=xs(w),A=xs(M),B=g[1],z=d[1],Y=_[1],F=m[1],V=xs(v),k=xs(B),L=xs(z),D=xs(b),X=xs(Y),Q=xs(F),q=v*v,$=v*B,H=v*z,G=v*b,R=v*Y,U=v*F,j=B*B,Z=B*z,W=B*b,J=B*Y,K=B*F,tt=z*Y,nt=z*z,et=z*b,rt=z*F,ot=b*b,it=b*Y,st=b*F,ct=Y*Y,ut=Y*F,lt=F*F,ft=xs(q),ht=xs(G),at=xs(ot),pt=gs(v,v),dt=ms(v,g),gt=xs($),vt=ms(v,d),mt=xs(H),_t=gs(v,b),bt=ms(v,_),xt=xs(R),It=ms(v,m),Nt=xs(U),St=_s(g,g),Et=2*xs(j),wt=_s(g,d),Mt=xs(Z),Ct=k*x+2*Mt,Tt=ms(b,g),Ot=xs(W),Pt=_s(g,_),yt=2*xs(J),At=_s(g,m),Bt=k*I+2*xs(K),zt=_s(d,_),Yt=x*X+2*xs(tt),Ft=_s(d,d),Vt=xs(nt),kt=2*(x*L+Vt),Lt=ms(b,d),Dt=xs(et),Xt=_s(d,m),Qt=xs(rt),qt=x*Q+L*I+2*Qt,$t=gs(b,b),Ht=ms(b,_),Gt=xs(it),Rt=ms(b,m),Ut=xs(st),jt=_s(_,_),Zt=2*xs(ct),Wt=_s(_,m),Jt=xs(ut),Kt=X*I+2*Jt,tn=_s(m,m),nn=xs(lt),en=2*(I*Q+nn),rn=nt*N,on=_s(Ft,e),sn=kt*T+Vt*u+2*xs(rn),cn=rt*S,un=_s(Xt,r),ln=qt*O+Qt*l+2*xs(cn),fn=lt*E,hn=_s(tn,o),an=en*P+nn*f+2*xs(fn),pn=rn+cn,dn=bs(on,un),gn=sn+ln+xs(pn),vn=pn+fn,mn=bs(dn,hn),_n=gn+an+xs(vn),bn=Z*N,xn=_s(wt,e),In=Ct*T+Mt*u+2*xs(bn),Nn=ut*E,Sn=_s(Wt,o),En=Kt*P+Jt*f+2*xs(Nn),wn=K+tt,Mn=bs(At,zt),Cn=xs(wn),Tn=Bt+Yt+Cn,On=wn*S,Pn=_s(Mn,r),yn=Tn*O+Cn*l+2*xs(On),An=2*(bn+Nn),Bn=vs(bs(xn,Sn)),zn=2*(In+En)+xs(An),Yn=An+On,Fn=bs(Bn,Pn),Vn=zn+yn+xs(Yn),kn=2*H+j,Ln=xs(kn),Dn=bs(vs(vt),St),Xn=2*mt+Et+xs(kn),Qn=2*st+ct,qn=xs(Qn),$n=bs(vs(Rt),jt),Hn=2*Ut+Zt+xs(Qn),Gn=U+J,Rn=(xs(Gn),bs(It,Pt)),Un=Nt+yt+xs(Gn),jn=Gn+et,Zn=bs(Rn,Lt),Wn=xs(jn),Jn=Un+Dt+Wn,Kn=kn*N,te=_s(Dn,e),ne=Xn*T+Ln*u+2*xs(Kn),ee=Qn*E,re=_s($n,o),oe=Hn*P+qn*f+2*xs(ee),ie=jn*S,se=_s(Zn,r),ce=Jn*O+Wn*l+2*xs(ie),ue=z*w,le=_s(d,i),fe=x*y+L*h+xs(ue),he=F*M,ae=_s(m,s),pe=I*A+Q*a+xs(he),de=Kn+ee,ge=bs(te,re),ve=ne+oe+xs(de),me=de+ie,_e=bs(ge,se),be=ve+ce+xs(me),xe=ue+he,Ie=bs(le,ae),Ne=fe+pe+xs(xe),Se=me+xe,Ee=bs(_e,Ie),we=be+Ne+xs(Se),Me=$*N,Ce=_s(dt,e),Te=gt*(T+u)+2*xs(Me),Oe=it*E,Pe=_s(Ht,o),ye=Gt*(P+f)+2*xs(Oe),Ae=R+W,Be=bs(bt,Tt),ze=xs(Ae),Ye=xt+Ot+ze,Fe=Ae*S,Ve=_s(Be,r),ke=Ye*O+ze*l+2*xs(Fe),Le=2*(Me+Oe),De=vs(bs(Ce,Pe)),Xe=2*(Te+ye)+xs(Le),Qe=B*w,qe=_s(g,i),$e=k*h+2*xs(Qe),He=Y*M,Ge=_s(_,s),Re=X*a+2*xs(He),Ue=Le+Fe,je=bs(De,Ve),Ze=Xe+ke+xs(Ue),We=Qe+He,Je=bs(qe,Ge),Ke=$e+Re+xs(We),tr=Ue+We,nr=bs(je,Je),er=Ze+Ke+xs(tr),rr=q*N,or=_s(pt,e),ir=ft*u+2*xs(rr),sr=G*S,cr=_s(_t,r),ur=ht*l+2*xs(sr),lr=ot*E,fr=_s($t,o),hr=at*f+2*xs(lr),ar=v*w,pr=ms(v,i),dr=V*h+xs(ar),gr=b*M,vr=ms(b,s),mr=D*a+xs(gr),_r=rr+sr,br=bs(or,cr),xr=ir+ur+xs(_r),Ir=_r+lr,Nr=bs(br,fr),Sr=xr+hr+xs(Ir),Er=ar+gr,wr=bs(pr,vr),Mr=dr+mr+xs(Er),Cr=Ir+Er,Tr=bs(Nr,wr),Or=Sr+Mr+xs(Cr),Pr=Cr+C,yr=bs(Tr,c),Ar=Or+p+xs(Pr);return{coeffs:[mn,Fn,Ee,nr,yr],errBound:[Is*_n,Is*Vn,Is*we,Is*er,Is*Ar]}},function(t,n){const{coeffs:{vₓₓ:e,vₓᵧ:r,vᵧᵧ:o,vₓ:i,vᵧ:s,v:c},errorBound:{vₓₓ_:u,vₓᵧ_:l,vᵧᵧ_:f,vₓ_:h,vᵧ_:a,v_:p}}=Di(t),{coeffs:[[d,g,v,[,m]],[_,b,x,[,I]]],errorBound:[[N,S,E],[w,M,C]]}=Ii(n),T=e[1],O=r[1],P=o[1],y=i[1],A=s[1],B=c[1],z=Ls(T),Y=Ls(O),F=Ls(P),V=Ls(y),k=Ls(A),L=v[1],D=g[1],X=d[1],Q=x[1],q=b[1],$=_[1],H=Ls(m),G=Ls(L),R=Ls(D),U=Ls(X),j=Ls(I),Z=Ls(Q),W=Ls(q),J=Ls($),K=m*m,tt=m*L,nt=m*D,et=m*X,rt=m*I,ot=m*Q,it=m*q,st=m*$,ct=L*L,ut=L*D,lt=L*X,ft=L*I,ht=L*Q,at=L*q,pt=L*$,dt=D*Q,gt=D*D,vt=D*X,mt=D*I,_t=D*q,bt=D*$,xt=X*X,It=X*I,Nt=X*Q,St=X*q,Et=X*$,wt=I*I,Mt=I*Q,Ct=I*q,Tt=I*$,Ot=Q*Q,Pt=Q*q,yt=$*$,At=q*q,Bt=q*$,zt=Q*$,Yt=zs(m,m),Ft=Ls(K),Vt=Fs(m,v),kt=Ls(tt),Lt=H*E+kt,Dt=Fs(m,g),Xt=H*S+Ls(nt),Qt=Fs(m,d),qt=H*N+Ls(et),$t=zs(m,I),Ht=Ls(rt),Gt=Fs(m,x),Rt=H*C+Ls(ot),Ut=Fs(m,b),jt=H*M+Ls(it),Zt=Fs(m,_),Wt=H*w+Ls(st),Jt=Vs(v,v),Kt=E*G+G*E+2*Ls(ct),tn=Vs(v,g),nn=E*R+G*S+2*Ls(ut),en=Vs(v,d),rn=E*U+G*N+2*Ls(lt),on=Fs(I,v),sn=j*E+Ls(ft),cn=Vs(v,x),un=E*Z+G*C+2*Ls(ht),ln=Vs(v,b),fn=E*W+G*M+2*Ls(at),hn=Vs(v,_),an=E*J+G*w+2*Ls(pt),pn=Vs(g,x),dn=S*Z+R*C+2*Ls(dt),gn=Vs(g,g),vn=S*R+R*S+2*Ls(gt),mn=Vs(g,d),_n=Ls(vt),bn=S*U+R*N+2*_n,xn=Fs(I,g),In=j*S+Ls(mt),Nn=Vs(g,b),Sn=S*W+R*M+2*Ls(_t),En=Vs(g,_),wn=S*J+R*w+2*Ls(bt),Mn=Vs(d,d),Cn=Ls(xt),Tn=N*U+U*N+2*Cn,On=Fs(I,d),Pn=j*N+Ls(It),yn=Vs(d,x),An=N*Z+U*C+2*Ls(Nt),Bn=Vs(d,b),zn=N*W+U*M+2*Ls(St),Yn=Vs(d,_),Fn=Ls(Et),Vn=N*J+U*w+2*Fn,kn=zs(I,I),Ln=Ls(wt),Dn=Fs(I,x),Xn=Ls(Mt),Qn=j*C+Xn,qn=Fs(I,b),$n=j*M+Ls(Ct),Hn=Fs(I,_),Gn=j*w+Ls(Tt),Rn=Vs(x,x),Un=C*Z+Z*C+2*Ls(Ot),jn=Vs(x,b),Zn=C*W+Z*M+2*Ls(Pt),Wn=Vs(_,_),Jn=Ls(yt),Kn=w*J+J*w+2*Jn,te=Vs(b,b),ne=M*W+W*M+2*Ls(At),ee=Vs(b,_),re=Ls(Bt),oe=M*J+W*w+2*re,ie=Vs(x,_),se=C*J+Z*w+2*Ls(zt),ce=xt*T,ue=Vs(Mn,e),le=Tn*z+Cn*u+2*Ls(ce),fe=Et*O,he=Vs(Yn,r),ae=Vn*Y+Fn*l+2*Ls(fe),pe=yt*P,de=Vs(Wn,o),ge=Kn*F+Jn*f+2*Ls(pe),ve=ce+fe,me=ks(ue,he),_e=le+ae+Ls(ve),be=ve+pe,xe=ks(me,de),Ie=_e+ge+Ls(be),Ne=vt*T,Se=Vs(mn,e),Ee=bn*z+_n*u+2*Ls(Ne),we=Bt*P,Me=Vs(ee,o),Ce=oe*F+re*f+2*Ls(we),Te=Ne+we,Oe=ks(Se,Me),Pe=Ee+Ce+Ls(Te),ye=bt+St,Ae=ks(En,Bn),Be=Ls(ye),ze=wn+zn+Be,Ye=ye*O,Fe=Vs(Ae,r),Ve=ze*Y+Be*l+2*Ls(Ye),ke=2*Te+Ye,Le=ks(Ys(Oe),Fe),De=2*Pe+Ve+Ls(ke),Xe=2*lt+gt,Qe=ks(Ys(en),gn),qe=Ls(Xe),$e=2*rn+vn+Ls(Xe),He=2*zt+At,Ge=ks(Ys(ie),te),Re=Ls(He),Ue=2*se+ne+Ls(He),je=pt+_t,Ze=ks(hn,Nn),We=an+Sn+Ls(je),Je=je+Nt,Ke=ks(Ze,yn),tr=Ls(Je),nr=We+An+tr,er=Xe*T,rr=Vs(Qe,e),or=$e*z+qe*u+2*Ls(er),ir=He*P,sr=Vs(Ge,o),cr=Ue*F+Re*f+2*Ls(ir),ur=er+ir,lr=ks(rr,sr),fr=or+cr+Ls(ur),hr=Je*O,ar=Vs(Ke,r),pr=nr*Y+tr*l+2*Ls(hr),dr=ur+hr,gr=ks(lr,ar),vr=fr+pr+Ls(dr),mr=et+ut,_r=ks(Qt,tn),br=Ls(mr),xr=qt+nn+br,Ir=Tt+Pt,Nr=ks(Hn,jn),Sr=Ls(Ir),Er=Gn+Zn+Sr,wr=st+at,Mr=ks(Zt,ln),Cr=Wt+fn+Ls(wr),Tr=dt+It,Or=ks(pn,On),Pr=dn+Pn+Ls(Tr),yr=wr+Tr,Ar=ks(Mr,Or),Br=Ls(yr),zr=Cr+Pr+Br,Yr=mr*T,Fr=Vs(_r,e),Vr=xr*z+br*u+2*Ls(Yr),kr=Ir*P,Lr=Vs(Nr,o),Dr=Er*F+Sr*f+2*Ls(kr),Xr=2*(Yr+kr),Qr=Ys(ks(Fr,Lr)),qr=2*(Vr+Dr)+Ls(Xr),$r=yr*O,Hr=Vs(Ar,r),Gr=zr*Y+Br*l+2*Ls($r),Rr=X*y,Ur=Vs(d,i),jr=N*V+U*h+2*Ls(Rr),Zr=$*A,Wr=Vs(_,s),Jr=w*k+J*a+2*Ls(Zr),Kr=Rr+Zr,to=ks(Ur,Wr),no=jr+Jr+Ls(Kr),eo=Xr+$r,ro=ks(Qr,Hr),oo=qr+Gr+Ls(eo),io=eo+Kr,so=ks(ro,to),co=oo+no+Ls(io),uo=2*nt+ct,lo=ks(Ys(Dt),Jt),fo=Ls(uo),ho=2*Xt+Kt+fo,ao=2*Ct+Ot,po=ks(Ys(qn),Rn),go=Ls(ao),vo=2*$n+Un+go,mo=it+ht,_o=ks(Ut,cn),bo=jt+un+Ls(mo),xo=mo+mt,Io=ks(_o,xn),No=Ls(xo),So=bo+In+No,Eo=uo*T,wo=Vs(lo,e),Mo=ho*z+fo*u+2*Ls(Eo),Co=ao*P,To=Vs(po,o),Oo=vo*F+go*f+2*Ls(Co),Po=xo*O,yo=Vs(Io,r),Ao=So*Y+No*l+2*Ls(Po),Bo=Eo+Co,zo=ks(wo,To),Yo=Mo+Oo+Ls(Bo),Fo=Bo+Po,Vo=ks(zo,yo),ko=Yo+Ao+Ls(Fo),Lo=D*y,Do=Vs(g,i),Xo=S*V+R*h+2*Ls(Lo),Qo=q*A,qo=Vs(b,s),$o=M*k+W*a+2*Ls(Qo),Ho=Lo+Qo,Go=ks(Do,qo),Ro=Xo+$o+Ls(Ho),Uo=Fo+Ho,jo=ks(Vo,Go),Zo=ko+Ro+Ls(Uo),Wo=tt*T,Jo=Vs(Vt,e),Ko=Lt*z+kt*u+2*Ls(Wo),ti=Mt*P,ni=Vs(Dn,o),ei=Qn*F+Xn*f+2*Ls(ti),ri=ot+ft,oi=ks(Gt,on),ii=Ls(ri),si=Rt+sn+ii,ci=ri*O,ui=Vs(oi,r),li=si*Y+ii*l+2*Ls(ci),fi=2*(Wo+ti),hi=Ys(ks(Jo,ni)),ai=2*(Ko+ei)+Ls(fi),pi=fi+ci,di=ks(hi,ui),gi=ai+li+Ls(pi),vi=L*y,mi=Vs(v,i),_i=E*V+G*h+2*Ls(vi),bi=Q*A,xi=Vs(x,s),Ni=C*k+Z*a+2*Ls(bi),Si=vi+bi,Ei=ks(mi,xi),wi=_i+Ni+Ls(Si),Mi=pi+Si,Ci=ks(di,Ei),Ti=gi+wi+Ls(Mi),Oi=K*T,Pi=Vs(Yt,e),yi=Ft*u+2*Ls(Oi),Ai=rt*O,Bi=Vs($t,r),zi=Ht*l+2*Ls(Ai),Yi=wt*P,Fi=Vs(kn,o),Vi=Ln*f+2*Ls(Yi),ki=m*y,Li=Fs(m,i),Xi=H*h+Ls(ki),Qi=I*A,qi=Fs(I,s),$i=j*a+Ls(Qi),Hi=Oi+Ai,Gi=ks(Pi,Bi),Ri=yi+zi+Ls(Hi),Ui=Hi+Yi,ji=ks(Gi,Fi),Zi=Ri+Vi+Ls(Ui),Wi=ki+Qi,Ji=ks(Li,qi),Ki=Xi+$i+Ls(Wi),ts=Ui+Wi,ns=ks(ji,Ji),es=Zi+Ki+Ls(ts),rs=ts+B,os=ks(ns,c),is=es+p+Ls(rs);return{coeffs:[xe,Le,gr,so,jo,Ci,os],errBound:[Ds*Ie,Ds*De,Ds*vr,Ds*co,Ds*Zo,Ds*Ti,Ds*is]}}],[function(t,n){const{coeffs:{vₓₓₓ:e,vₓₓᵧ:r,vₓᵧᵧ:o,vᵧᵧᵧ:i,vₓₓ:s,vₓᵧ:c,vᵧᵧ:u,vₓ:l,vᵧ:f,v:h},errorBound:{vₓₓₓ_:a,vₓₓᵧ_:p,vₓᵧᵧ_:d,vᵧᵧᵧ_:g,vₓₓ_:v,vₓᵧ_:m,vᵧᵧ_:_,vₓ_:b,vᵧ_:x,v_:I}}=es(t),[[N,[,S]],[E,[,w]]]=Si(n),M=e[1],C=r[1],T=o[1],O=i[1],P=s[1],y=c[1],A=u[1],B=l[1],z=f[1],Y=h[1],F=N[1],V=E[1],k=us(S),L=us(F),D=us(w),X=us(V),Q=S*S,q=S*F,$=S*w,H=S*V,G=F*F,R=F*w,U=F*V,j=w*w,Z=w*V,W=V*V,J=rs(S,S),K=is(S,N),tt=us(q),nt=rs(S,w),et=is(S,E),rt=us(H),ot=ss(N,N),it=2*us(G),st=is(w,N),ct=us(R),ut=ss(N,E),lt=2*us(U),ft=rs(w,w),ht=is(w,E),at=us(Z),pt=ss(E,E),dt=2*us(W),gt=us(Q),vt=us(q),mt=us($),_t=us(H),bt=us(G),xt=us(R),It=us(U),Nt=us(j),St=us(Z),Et=us(W),wt=S*M,Mt=is(S,e),Ct=k*a+us(wt),Tt=3*S,Ot=rs(3,S),Pt=us(Tt),yt=Tt*M,At=ss(Ot,e),Bt=Pt*a+2*us(yt),zt=S*C,Yt=is(S,r),Ft=k*p+us(zt),Vt=w*C,kt=is(w,r),Lt=D*p+us(Vt),Dt=S*T,Xt=is(S,o),Qt=k*d+us(Dt),qt=w*T,$t=is(w,o),Ht=D*d+us(qt),Gt=w*O,Rt=is(w,i),Ut=D*g+us(Gt),jt=3*w,Zt=rs(3,w),Wt=us(jt),Jt=jt*O,Kt=ss(Zt,i),tn=Wt*g+2*us(Jt),nn=F*M,en=ss(N,e),rn=L*a+2*us(nn),on=F*T,sn=ss(N,o),cn=L*d+2*us(on),un=V*C,ln=ss(E,r),fn=X*p+2*us(un),hn=V*O,an=ss(E,i),pn=X*g+2*us(hn),dn=nn+un,gn=cs(en,ln),vn=us(dn),mn=rn+fn+vn,_n=on+hn,bn=cs(sn,an),xn=us(_n),In=cn+pn+xn,Nn=G*dn,Sn=ss(ot,gn),En=it*vn+bt*mn+2*us(Nn),wn=W*_n,Mn=ss(pt,bn),Cn=dt*xn+Et*In+2*us(wn),Tn=Nn+wn,On=cs(Sn,Mn),Pn=En+Cn+us(Tn),yn=yt+Vt,An=cs(At,kt),Bn=Bt+Lt+us(yn),zn=2*(zt+qt),Yn=os(cs(Yt,$t)),Fn=2*(Ft+Ht)+us(zn),Vn=Dt+Jt,kn=cs(Xt,Kt),Ln=Qt+tn+us(Vn),Dn=yn+P,Xn=cs(An,s),Qn=us(Dn),qn=Bn+v+Qn,$n=zn+y,Hn=cs(Yn,c),Gn=us($n),Rn=Fn+m+Gn,Un=Vn+A,jn=cs(kn,u),Zn=us(Un),Wn=Ln+_+Zn,Jn=G*Dn,Kn=ss(ot,Xn),te=it*Qn+bt*qn+2*us(Jn),ne=U*$n,ee=ss(ut,Hn),re=lt*Gn+It*Rn+2*us(ne),oe=W*Un,ie=ss(pt,jn),se=dt*Zn+Et*Wn+2*us(oe),ce=Jn+ne,ue=cs(Kn,ee),le=te+re+us(ce),fe=ce+oe,he=cs(ue,ie),ae=le+se+us(fe),pe=2*(Vt+P),de=os(cs(kt,s)),ge=2*(Lt+v)+us(pe),ve=2*(Dt+A),me=os(cs(Xt,u)),_e=2*(Qt+_)+us(ve),be=yt+pe,xe=cs(At,de),Ie=us(be),Ne=Bt+ge+Ie,Se=Jt+ve,Ee=cs(Kt,me),we=us(Se),Me=tn+_e+we,Ce=zt+y,Te=cs(Yt,c),Oe=us(Ce),Pe=Ft+m+Oe,ye=qt+y,Ae=cs($t,c),Be=us(ye),ze=Ht+m+Be,Ye=q*be,Fe=ss(K,xe),Ve=tt*Ie+vt*Ne+2*us(Ye),ke=Z*Se,Le=ss(ht,Ee),De=at*we+St*Me+2*us(ke),Xe=H*Ce,Qe=ss(et,Te),qe=rt*Oe+_t*Pe+2*us(Xe),$e=R*ye,He=ss(st,Ae),Ge=ct*Be+xt*ze+2*us($e),Re=F*B,Ue=ss(N,l),je=L*b+2*us(Re),Ze=V*z,We=ss(E,f),Je=X*x+2*us(Ze),Ke=Ye+ke,tr=cs(Fe,Le),nr=Ve+De+us(Ke),er=Xe+$e,rr=cs(Qe,He),or=qe+Ge+us(er),ir=Ke+er,sr=cs(tr,rr),cr=nr+or+us(ir),ur=Re+Ze,lr=cs(Ue,We),fr=je+Je+us(ur),hr=ir+ur,ar=cs(sr,lr),pr=cr+fr+us(hr),dr=wt+Vt,gr=cs(Mt,kt),vr=Ct+Lt+us(dr),mr=Gt+Dt,_r=cs(Rt,Xt),br=Ut+Qt+us(mr),xr=dr+P,Ir=cs(gr,s),Nr=vr+v+us(xr),Sr=mr+A,Er=cs(_r,u),wr=br+_+us(Sr),Mr=Q*xr,Cr=ss(J,Ir),Tr=gt*Nr+2*us(Mr),Or=j*Sr,Pr=ss(ft,Er),yr=Nt*wr+2*us(Or),Ar=$*y,Br=ss(nt,c),zr=mt*m+2*us(Ar),Yr=Mr+Or,Fr=cs(Cr,Pr),Vr=Tr+yr+us(Yr),kr=Yr+Ar,Lr=cs(Fr,Br),Dr=Vr+zr+us(kr),Xr=S*B,Qr=is(S,l),qr=k*b+us(Xr),$r=w*z,Hr=is(w,f),Gr=D*x+us($r),Rr=Xr+$r,Ur=cs(Qr,Hr),jr=qr+Gr+us(Rr),Zr=kr+Rr,Wr=cs(Lr,Ur),Jr=Dr+jr+us(Zr),Kr=Zr+Y,to=cs(Wr,h),no=Jr+I+us(Kr);return{coeffs:[On,he,ar,to],errBound:[ls*Pn,ls*ae,ls*pr,ls*no]}},function(t,n){const{coeffs:{vₓₓₓ:e,vₓₓᵧ:r,vₓᵧᵧ:o,vᵧᵧᵧ:i,vₓₓ:s,vₓᵧ:c,vᵧᵧ:u,vₓ:l,vᵧ:f,v:h},errorBound:{vₓₓₓ_:a,vₓₓᵧ_:p,vₓᵧᵧ_:d,vᵧᵧᵧ_:g,vₓₓ_:v,vₓᵧ_:m,vᵧᵧ_:_,vₓ_:b,vᵧ_:x,v_:I}}=es(t),{coeffs:[[N,S,[,E]],[w,M,[,C]]],errorBound:[[T],[O]]}=Ni(n),P=e[1],y=r[1],A=o[1],B=i[1],z=s[1],Y=c[1],F=u[1],V=l[1],k=f[1],L=h[1],D=Cs(P),X=Cs(y),Q=Cs(A),q=Cs(B),$=Cs(z),H=Cs(F),G=Cs(Y),R=Cs(V),U=Cs(k),j=S[1],Z=N[1],W=M[1],J=w[1],K=Cs(E),tt=Cs(j),nt=Cs(Z),et=Cs(C),rt=Cs(W),ot=Cs(J),it=E*E,st=E*j,ct=E*Z,ut=E*C,lt=E*W,ft=E*J,ht=j*j,at=j*Z,pt=j*C,dt=j*W,gt=j*J,vt=Z*W,mt=Z*Z,_t=Z*C,bt=Z*J,xt=C*C,It=C*W,Nt=C*J,St=W*W,Et=W*J,wt=J*J,Mt=Ns(E,E),Ct=Es(E,S),Tt=Cs(st),Ot=Es(E,N),Pt=K*T+Cs(ct),yt=Ns(E,C),At=Es(E,M),Bt=Cs(lt),zt=Es(E,w),Yt=K*O+Cs(ft),Ft=ws(S,S),Vt=2*Cs(ht),kt=ws(S,N),Lt=tt*T+2*Cs(at),Dt=Es(C,S),Xt=Cs(pt),Qt=ws(S,M),qt=2*Cs(dt),$t=ws(S,w),Ht=tt*O+2*Cs(gt),Gt=ws(N,M),Rt=T*rt+2*Cs(vt),Ut=ws(N,N),jt=2*(T*nt+Cs(mt)),Zt=Es(C,N),Wt=et*T+Cs(_t),Jt=ws(N,w),Kt=T*ot+nt*O+2*Cs(bt),tn=Ns(C,C),nn=Es(C,M),en=Cs(It),rn=Es(C,w),on=et*O+Cs(Nt),sn=ws(M,M),cn=2*Cs(St),un=ws(M,w),ln=rt*O+2*Cs(Et),fn=ws(w,w),hn=2*(O*ot+Cs(wt)),an=Cs(it),pn=Cs(st),dn=Cs(ut),gn=Cs(lt),vn=Cs(at),mn=Cs(mt),_n=Cs(bt),bn=Cs(pt),xn=Cs(xt),In=Cs(It),Nn=Cs(Et),Sn=Cs(wt),En=ws(N,e),wn=Z*P,Mn=T*D+nt*a+2*Cs(wn),Cn=ws(N,o),Tn=Z*A,On=T*Q+nt*d+2*Cs(Tn),Pn=ws(w,r),yn=J*y,An=O*X+ot*p+2*Cs(yn),Bn=ws(w,i),zn=J*B,Yn=O*q+ot*g+2*Cs(zn),Fn=wn+yn,Vn=Ms(En,Pn),kn=Cs(Fn),Ln=Mn+An+kn,Dn=Tn+zn,Xn=Ms(Cn,Bn),Qn=Cs(Dn),qn=On+Yn+Qn,$n=mt*Fn,Hn=ws(Ut,Vn),Gn=jt*kn+mn*Ln+2*Cs($n),Rn=wt*Dn,Un=ws(fn,Xn),jn=hn*Qn+Sn*qn+2*Cs(Rn),Zn=$n+Rn,Wn=Ms(Hn,Un),Jn=Gn+jn+Cs(Zn),Kn=ct+ht,te=Ms(Ot,Ft),ne=Cs(Kn),ee=Pt+Vt+ne,re=Nt+St,oe=Ms(rn,sn),ie=Cs(re),se=on+cn+ie,ce=2*ct+ht,ue=Cs(ce),le=Ms(Ss(Ot),Ft),fe=2*Pt+Vt+ue,he=2*Nt+St,ae=Ms(Ss(rn),sn),pe=Cs(he),de=2*on+cn+pe,ge=2*dt+_t,ve=Ms(Ss(Qt),Zt),me=Cs(ge),_e=2*qt+Wt+me,be=2*dt+ft,xe=Ms(Ss(Qt),zt),Ie=Cs(be),Ne=2*qt+Yt+Ie,Se=2*_t+dt,Ee=Ms(Ss(Zt),Qt),we=2*Wt+qt+Cs(Se),Me=6*ct+ht,Ce=6*ct,Te=Es(6,Ot),Oe=6*Pt+Cs(Ce),Pe=Ms(Te,Ft),ye=Oe+Vt+Cs(Ce+ht),Ae=6*Nt+St,Be=6*Nt,ze=Es(6,rn),Ye=6*on+Cs(Be),Fe=Ms(ze,sn),Ve=Ye+cn+Cs(Be+St),ke=gt+vt,Le=Ms($t,Gt),De=Cs(ke),Xe=Ht+Rt+De,Qe=ft+_t,qe=Ms(zt,Zt),$e=Yt+Wt+Cs(Qe),He=2*pt+lt,Ge=Ms(Ss(Dt),At),Re=2*Xt+Bt+Cs(He),Ue=2*lt+pt,je=Ms(Ss(At),Dt),Ze=2*Bt+Xt+Cs(Ue),We=ft+dt,Je=Ms(zt,Qt),Ke=Yt+qt+Cs(We),tr=We+_t,nr=Ms(Je,Zt),er=Cs(tr),rr=Ke+Wt+er,or=3*mt,ir=Es(3,Ut),sr=3*jt+Cs(or),cr=Cs(or),ur=3*wt,lr=Es(3,fn),fr=3*hn+Cs(ur),hr=Cs(ur),ar=or*P,pr=ws(ir,e),dr=sr*D+cr*a+2*Cs(ar),gr=mt*y,vr=ws(Ut,r),mr=jt*X+mn*p+2*Cs(gr),_r=2*bt*y,br=Ss(ws(Jt,r)),xr=2*(Kt*X+_n*p+Cs(_r)),Ir=2*bt*A,Nr=Ss(ws(Jt,o)),Sr=2*(Kt*Q+_n*d+Cs(Ir)),Er=wt*A,wr=ws(fn,o),Mr=hn*Q+Sn*d+2*Cs(Er),Cr=ur*B,Tr=ws(lr,i),Or=fr*q+hr*g+2*Cs(Cr),Pr=ar+_r,yr=Ms(pr,br),Ar=dr+xr+Cs(Pr),Br=gr+Ir,zr=Ms(vr,Nr),Yr=mr+Sr+Cs(Br),Fr=Pr+Er,Vr=Ms(yr,wr),kr=Ar+Mr+Cs(Fr),Lr=Br+Cr,Dr=Ms(zr,Tr),Xr=Yr+Or+Cs(Lr),Qr=j*Fr,qr=ws(S,Vr),$r=tt*kr+Cs(Qr),Hr=W*Lr,Gr=ws(M,Dr),Rr=rt*Xr+Cs(Hr),Ur=Qr+Hr,jr=Ms(qr,Gr),Zr=$r+Rr+Cs(Ur),Wr=J*ce,Jr=ws(w,le),Kr=O*ue+ot*fe+2*Cs(Wr),to=J*be,no=ws(w,xe),eo=O*Ie+ot*Ne+2*Cs(to),ro=Z*ge,oo=ws(N,ve),io=T*me+nt*_e+2*Cs(ro),so=Z*he,co=ws(N,ae),uo=T*pe+nt*de+2*Cs(so),lo=3*Z,fo=Es(3,N),ho=Cs(lo),ao=3*T+ho,po=lo*Kn,go=ws(fo,te),vo=Cs(po),mo=ao*ne+ho*ee+vo,_o=3*J,bo=Es(3,w),xo=Cs(_o),Io=3*O+xo,No=_o*re,So=ws(bo,oe),Eo=Cs(No),wo=Io*ie+xo*se+Eo,Mo=Wr+ro,Co=Ms(Jr,oo),To=Cs(Mo),Oo=Kr+io+To,Po=to+so,yo=Ms(no,co),Ao=Cs(Po),Bo=eo+uo+Ao,zo=po*P,Yo=ws(go,e),Fo=mo*D+vo*a+2*Cs(zo),Vo=No*B,ko=ws(So,i),Lo=wo*q+Eo*g+2*Cs(Vo),Do=Mo*y,Xo=ws(Co,r),Qo=Oo*X+To*p+2*Cs(Do),qo=Po*A,$o=ws(yo,o),Ho=Bo*Q+Ao*d+2*Cs(qo),Go=zo+Vo,Ro=Ms(Yo,ko),Uo=Fo+Lo+Cs(Go),jo=Do+qo,Zo=Ms(Xo,$o),Wo=Qo+Ho+Cs(jo),Jo=mt*z,Ko=ws(Ut,s),ti=jt*$+mn*v+2*Cs(Jo),ni=wt*F,ei=ws(fn,u),ri=hn*H+Sn*_+2*Cs(ni),oi=bt*Y,ii=ws(Jt,c),si=Kt*G+_n*m+2*Cs(oi),ci=Jo+ni,ui=Ms(Ko,ei),li=ti+ri+Cs(ci),fi=Go+jo,hi=Ms(Ro,Zo),ai=Uo+Wo+Cs(fi),pi=ci+oi,di=Ms(ui,ii),gi=li+si+Cs(pi),vi=fi+pi,mi=Ms(hi,di),_i=ai+gi+Cs(vi),bi=j*Me,xi=ws(S,Pe),Ii=tt*ye+2*Cs(bi),Si=2*Ii,Ei=W*Ae,wi=ws(M,Fe),Mi=rt*Ve+2*Cs(Ei),Ci=2*Mi,Ti=2*E*ke,Oi=Es(2*E,Le),Pi=2*K*Xe+Cs(Ti),yi=2*W*Qe,Ai=ws(Ss(M),qe),Bi=2*rt*$e+2*Cs(yi),zi=j*Se,Yi=ws(S,Ee),Fi=tt*we+2*Cs(zi),Vi=j*he,ki=ws(S,ae),Li=tt*de+2*Cs(Vi),Di=Ti+zi,Xi=Ms(Oi,Yi),Qi=Pi+Fi+Cs(Di),qi=Pi+Fi+Qi,$i=yi+Vi,Hi=Ms(Ai,ki),Gi=Bi+Li+Cs($i),Ri=Bi+Li+Gi,Ui=Et*F,ji=ws(un,u),Zi=ln*H+Nn*_+2*Cs(Ui),Wi=at*z,Ji=ws(kt,s),Ki=Lt*$+vn*v+2*Cs(Wi),ts=ke*Y,ns=ws(Le,c),rs=Xe*G+De*m+2*Cs(ts),os=Ui+Wi,is=Ms(ji,Ji),ss=Zi+Ki+Cs(os),cs=bi*P,us=ws(xi,e),ls=Si*D+Ii*a+2*Cs(cs),fs=Di*y,hs=ws(Xi,r),as=qi*X+Qi*p+2*Cs(fs),ps=Ei*B,ds=ws(wi,i),gs=Ci*q+Mi*g+2*Cs(ps),vs=$i*A,ms=ws(Hi,o),_s=Ri*Q+Gi*d+2*Cs(vs),bs=cs+ps,xs=Ms(us,ds),Is=ls+gs+Cs(bs),Os=fs+vs,Ps=Ms(hs,ms),ys=as+_s+Cs(Os),As=bs+Os,Bs=Ms(xs,Ps),zs=Is+ys+Cs(As),Ys=2*os+ts,Fs=Ms(Ss(is),ns),Vs=2*ss+rs+Cs(Ys),ks=As+Ys,Ls=Ms(Bs,Fs),Ds=zs+Vs+Cs(ks),Xs=3*E,Qs=Cs(Xs),qs=Ns(3,E),$s=Xs*Kn,Hs=ws(qs,te),Gs=Cs($s),Rs=Qs*ee+2*Cs($s),Us=3*C,js=Cs(Us),Zs=Ns(3,C),Ws=Us*re,Js=ws(Zs,oe),Ks=Cs(Ws),tc=js*se+2*Cs(Ws),nc=E*be,ec=Es(E,xe),rc=K*Ne+Cs(nc),oc=E*he,ic=Es(E,ae),sc=K*de+Cs(oc),cc=C*ce,uc=Es(C,le),lc=et*fe+Cs(cc),fc=C*ge,hc=Es(C,ve),ac=et*_e+Cs(fc),pc=nc+cc,dc=Ms(ec,uc),gc=Cs(pc),vc=rc+lc+gc,mc=oc+fc,_c=Ms(ic,hc),bc=Cs(mc),xc=sc+ac+bc,Ic=$s*P,Nc=ws(Hs,e),Sc=Rs*D+Gs*a+2*Cs(Ic),Ec=Ws*B,wc=ws(Js,i),Mc=tc*q+Ks*g+2*Cs(Ec),Cc=pc*y,Tc=ws(dc,r),Oc=vc*X+gc*p+2*Cs(Cc),Pc=mc*A,yc=ws(_c,o),Ac=xc*Q+bc*d+2*Cs(Pc),Bc=ce*z,zc=ws(le,s),Yc=fe*$+ue*v+2*Cs(Bc),Fc=he*F,Vc=ws(ae,u),kc=de*H+pe*_+2*Cs(Fc),Lc=tr*Y,Dc=ws(nr,c),Xc=rr*G+er*m+2*Cs(Lc),Qc=Z*V,qc=ws(N,l),$c=T*R+nt*b+2*Cs(Qc),Hc=J*k,Gc=ws(w,f),Rc=O*U+ot*x+2*Cs(Hc),Uc=Ic+Ec,jc=Ms(Nc,wc),Zc=Sc+Mc+Cs(Uc),Wc=Cc+Pc,Jc=Ms(Tc,yc),Kc=Oc+Ac+Cs(Wc),tu=Bc+Fc,nu=Ms(zc,Vc),eu=Yc+kc+Cs(tu),ru=Uc+Wc,ou=Ms(jc,Jc),iu=Zc+Kc+Cs(ru),su=tu+Lc,cu=Ms(nu,Dc),uu=eu+Xc+Cs(su),lu=Qc+Hc,fu=Ms(qc,Gc),hu=$c+Rc+Cs(lu),au=ru+su,pu=Ms(ou,cu),du=iu+uu+Cs(au),gu=au+lu,vu=Ms(pu,fu),mu=du+hu+Cs(gu),_u=Xs*st,bu=ws(qs,Ct),xu=Cs(_u),Iu=Qs*Tt+2*xu,Nu=Us*It,Su=ws(Zs,nn),Eu=Cs(Nu),wu=js*en+2*Eu,Mu=E*He,Cu=Es(E,Ge),Tu=Cs(Mu),Ou=K*Re+Cs(Mu),Pu=C*Ue,yu=Es(C,je),Au=Cs(Pu),Bu=et*Ze+Cs(Pu),zu=st*z,Yu=ws(Ct,s),Fu=Tt*$+pn*v+2*Cs(zu),Vu=It*F,ku=ws(nn,u),Lu=en*H+In*_+2*Cs(Vu),Du=lt*Y,Xu=ws(At,c),Qu=Bt*G+gn*m+2*Cs(Du),qu=pt*Y,$u=ws(Dt,c),Hu=Xt*G+bn*m+2*Cs(qu),Gu=2*(zu+Vu),Ru=Ss(Ms(Yu,ku)),Uu=2*(Fu+Lu)+Cs(Gu),ju=Du+qu,Zu=Ms(Xu,$u),Wu=Qu+Hu+Cs(ju),Ju=j*V,Ku=ws(S,l),tl=tt*b+2*Cs(Ju),nl=W*k,el=ws(M,f),rl=rt*x+2*Cs(nl),ol=_u*P,il=ws(bu,e),sl=Iu*D+xu*a+2*Cs(ol),cl=Nu*B,ul=ws(Su,i),ll=wu*q+Eu*g+2*Cs(cl),fl=Mu*y,hl=ws(Cu,r),al=Ou*X+Tu*p+2*Cs(fl),pl=Pu*A,dl=ws(yu,o),gl=Bu*Q+Au*d+2*Cs(pl),vl=ol+cl,ml=Ms(il,ul),_l=sl+ll+Cs(vl),bl=fl+pl,xl=Ms(hl,dl),Il=al+gl+Cs(bl),Nl=vl+bl,Sl=Ms(ml,xl),El=_l+Il+Cs(Nl),wl=Gu+ju,Ml=Ms(Ru,Zu),Cl=Uu+Wu+Cs(wl),Tl=Ju+nl,Ol=Ms(Ku,el),Pl=tl+rl+Cs(Tl),yl=Nl+wl,Al=Ms(Sl,Ml),Bl=El+Cl+Cs(yl),zl=yl+Tl,Yl=Ms(Al,Ol),Fl=Bl+Pl+Cs(zl),Vl=E*P,kl=Es(E,e),Ll=K*a+Cs(Vl),Dl=E*A,Xl=Es(E,o),Ql=K*d+Cs(Dl),ql=C*y,$l=Es(C,r),Hl=et*p+Cs(ql),Gl=C*B,Rl=Es(C,i),Ul=et*g+Cs(Gl),jl=Vl+ql,Zl=Ms(kl,$l),Wl=Ll+Hl+Cs(jl),Jl=Dl+Gl,Kl=Ms(Xl,Rl),tf=Ql+Ul+Cs(Jl),nf=jl+z,ef=Ms(Zl,s),rf=Wl+v+Cs(nf),of=Jl+F,sf=Ms(Kl,u),cf=tf+_+Cs(of),uf=it*nf,lf=ws(Mt,ef),ff=an*rf+2*Cs(uf),hf=xt*of,af=ws(tn,sf),pf=xn*cf+2*Cs(hf),df=ut*Y,gf=ws(yt,c),vf=dn*m+2*Cs(df),mf=E*V,_f=Es(E,l),bf=K*b+Cs(mf),xf=C*k,If=Es(C,f),Nf=et*x+Cs(xf),Sf=uf+hf,Ef=Ms(lf,af),wf=ff+pf+Cs(Sf),Mf=Sf+df,Cf=Ms(Ef,gf),Tf=wf+vf+Cs(Mf),Of=mf+xf,Pf=Ms(_f,If),yf=bf+Nf+Cs(Of),Af=Mf+Of,Bf=Ms(Cf,Pf),zf=Tf+yf+Cs(Af),Yf=Af+L,Ff=Ms(Bf,h),Vf=zf+I+Cs(Yf);return{coeffs:[Wn,jr,mi,Ls,vu,Yl,Ff],errBound:[Ts*Jn,Ts*Zr,Ts*_i,Ts*Ds,Ts*mu,Ts*Fl,Ts*Vf]}},function(t,n){const{coeffs:{vₓₓₓ:e,vₓₓᵧ:r,vₓᵧᵧ:o,vᵧᵧᵧ:i,vₓₓ:s,vₓᵧ:c,vᵧᵧ:u,vₓ:l,vᵧ:f,v:h},errorBound:{vₓₓₓ_:a,vₓₓᵧ_:p,vₓᵧᵧ_:d,vᵧᵧᵧ_:g,vₓₓ_:v,vₓᵧ_:m,vᵧᵧ_:_,vₓ_:b,vᵧ_:x,v_:I}}=es(t),{coeffs:[[N,S,E,[,w]],[M,C,T,[,O]]],errorBound:[[P,y,A],[B,z,Y]]}=Ii(n),F=e[1],V=r[1],k=o[1],L=i[1],D=s[1],X=c[1],Q=u[1],q=l[1],$=f[1],H=h[1],G=Gs(F),R=Gs(V),U=Gs(k),j=Gs(L),Z=Gs(D),W=Gs(X),J=Gs(Q),K=Gs(q),tt=Gs($),nt=(Gs(H),E[1]),et=S[1],rt=N[1],ot=T[1],it=C[1],st=M[1],ct=Gs(w),ut=Gs(nt),lt=Gs(et),ft=Gs(rt),ht=Gs(O),at=Gs(ot),pt=Gs(it),dt=Gs(st),gt=w*w,vt=w*nt,mt=w*et,_t=w*rt,bt=w*O,xt=w*ot,It=w*it,Nt=w*st,St=nt*nt,Et=nt*et,wt=nt*rt,Mt=nt*O,Ct=nt*ot,Tt=nt*it,Ot=nt*st,Pt=et*ot,yt=et*et,At=et*rt,Bt=et*O,zt=et*it,Yt=et*st,Ft=rt*rt,Vt=rt*O,kt=rt*ot,Lt=rt*it,Dt=rt*st,Xt=O*O,Qt=O*ot,qt=O*it,$t=O*st,Ht=ot*ot,Gt=ot*it,Rt=st*st,Ut=it*it,jt=it*st,Zt=ot*st,Wt=Xs(w,w),Jt=qs(w,E),Kt=ct*A+Gs(vt),tn=qs(w,S),nn=ct*y+Gs(mt),en=qs(w,N),rn=ct*P+Gs(_t),on=Xs(w,O),sn=qs(w,T),cn=ct*Y+Gs(xt),un=qs(w,C),ln=ct*z+Gs(It),fn=qs(w,M),hn=ct*B+Gs(Nt),an=$s(E,E),pn=Gs(St),dn=2*(A*ut+pn),gn=$s(E,S),vn=A*lt+ut*y+2*Gs(Et),mn=$s(E,N),_n=A*ft+ut*P+2*Gs(wt),bn=qs(O,E),xn=ht*A+Gs(Mt),In=$s(E,T),Nn=A*at+ut*Y+2*Gs(Ct),Sn=$s(E,C),En=A*pt+ut*z+2*Gs(Tt),wn=$s(E,M),Mn=A*dt+ut*B+2*Gs(Ot),Cn=$s(S,T),Tn=y*at+lt*Y+2*Gs(Pt),On=$s(S,S),Pn=Gs(yt),yn=2*(y*lt+Pn),An=$s(S,N),Bn=y*ft+lt*P+2*Gs(At),zn=qs(O,S),Yn=ht*y+Gs(Bt),Fn=$s(S,C),Vn=y*pt+lt*z+2*Gs(zt),kn=$s(S,M),Ln=y*dt+lt*B+2*Gs(Yt),Dn=$s(N,N),Xn=2*(P*ft+Gs(Ft)),Qn=qs(O,N),qn=ht*P+Gs(Vt),$n=$s(N,T),Hn=P*at+ft*Y+2*Gs(kt),Gn=$s(N,C),Rn=Gs(Lt),Un=P*pt+ft*z+2*Rn,jn=$s(N,M),Zn=P*dt+ft*B+2*Gs(Dt),Wn=Xs(O,O),Jn=qs(O,T),Kn=ht*Y+Gs(Qt),te=qs(O,C),ne=ht*z+Gs(qt),ee=qs(O,M),re=ht*B+Gs($t),oe=$s(T,T),ie=Gs(Ht),se=2*(Y*at+ie),ce=$s(T,C),ue=Y*pt+at*z+2*Gs(Gt),le=$s(M,M),fe=2*(B*dt+Gs(Rt)),he=$s(C,C),ae=Gs(Ut),pe=2*(z*pt+ae),de=$s(C,M),ge=z*dt+pt*B+2*Gs(jt),ve=$s(T,M),me=Gs(Zt),_e=Y*dt+at*B+2*me,be=Gs(gt),xe=Gs(vt),Ie=Gs(At),Ne=Gs(Ft),Se=Gs(Dt),Ee=Gs(bt),we=Gs(Xt),Me=Gs(Qt),Ce=Gs(jt),Te=Gs(Rt),Oe=rt*Ft,Pe=$s(N,Dn),ye=ft*Ne,Ae=P*Ne+ft*Xn+2*ye,Be=rt*Rt,ze=$s(N,le),Ye=ft*Te,Fe=P*Te+ft*fe+2*Ye,Ve=st*Ft,ke=$s(M,Dn),Le=dt*Ne,De=B*Ne+dt*Xn+2*Le,Xe=st*Rt,Qe=$s(M,le),qe=dt*Te,$e=B*Te+dt*fe+2*qe,He=Oe*F,Ge=$s(Pe,e),Re=Ae*G+ye*a+2*Gs(He),Ue=Be*k,je=$s(ze,o),Ze=Fe*U+Ye*d+2*Gs(Ue),We=Ve*V,Je=$s(ke,r),Ke=De*R+Le*p+2*Gs(We),tr=Xe*L,nr=$s(Qe,i),er=$e*j+qe*g+2*Gs(tr),rr=He+Ue,or=Hs(Ge,je),ir=Re+Ze+Gs(rr),sr=We+tr,cr=Hs(Je,nr),ur=Ke+er+Gs(sr),lr=rr+sr,fr=Hs(or,cr),hr=ir+ur+Gs(lr),ar=2*Yt+Lt,pr=Gs(ar),dr=Hs(Qs(kn),Gn),gr=2*Ln+Un+pr,vr=2*Lt+Yt,mr=Gs(vr),_r=Hs(Qs(Gn),kn),br=2*Un+Ln+Gs(vr),xr=rt*ar,Ir=Gs(xr),Nr=$s(N,dr),Sr=P*pr+ft*gr+2*Ir,Er=st*vr,wr=Gs(Er),Mr=$s(M,_r),Cr=B*mr+dt*br+2*wr,Tr=et*Ft,Or=Gs(Tr),Pr=$s(S,Dn),yr=y*Ne+lt*Xn+2*Or,Ar=it*Rt,Br=Gs(Ar),zr=$s(C,le),Yr=z*Te+pt*fe+2*Br,Fr=F*Tr,Vr=$s(e,Pr),kr=yr*G+G*yr+2*Gs(Fr),Lr=L*Ar,Dr=$s(i,zr),Xr=Yr*j+j*Yr+2*Gs(Lr),Qr=V*xr,qr=$s(r,Nr),$r=Sr*R+R*Sr+2*Gs(Qr),Hr=k*Er,Gr=$s(o,Mr),Rr=Cr*U+U*Cr+2*Gs(Hr),Ur=Qr+Hr,jr=Hs(qr,Gr),Zr=$r+Rr+Gs(Ur),Wr=3*(Fr+Lr),Jr=qs(3,Hs(Vr,Dr)),Kr=3*(kr+Xr)+2*Gs(Wr),to=Ur+Wr,no=Hs(jr,Jr),eo=Zr+Kr+Gs(to),ro=nt*Dt,oo=$s(E,jn),io=A*Se+ut*Zn+2*Gs(ro),so=ot*Ft,co=$s(T,Dn),uo=Y*Ne+at*Xn+2*Gs(so),lo=et*jt,fo=$s(S,de),ho=y*Ce+lt*ge+2*Gs(lo),ao=nt*Rt,po=$s(E,le),go=A*Te+ut*fe+2*Gs(ao),vo=et*Lt,mo=$s(S,Gn),_o=y*Rn+lt*Un+2*Gs(vo),bo=st*yt,xo=$s(M,On),Io=B*Pn+dt*yn+2*Gs(bo),No=rt*Zt,So=$s(N,ve),Eo=P*me+ft*_e+2*Gs(No),wo=it*Lt,Mo=$s(C,Gn),Co=z*Rn+pt*Un+2*Gs(wo),To=ro+vo,Oo=Hs(oo,mo),Po=io+_o+Gs(To),yo=so+bo,Ao=Hs(co,xo),Bo=uo+Io+Gs(yo),zo=lo+No,Yo=Hs(fo,So),Fo=ho+Eo+Gs(zo),Vo=ao+wo,ko=Hs(po,Mo),Lo=go+Co+Gs(Vo),Do=wt+yt,Xo=Hs(mn,On),Qo=Gs(Do),qo=_n+yn+Qo,$o=Zt+Ut,Ho=Gs($o),Go=Hs(ve,he),Ro=_e+pe+Ho,Uo=2*To+yo,jo=Hs(Qs(Oo),Ao),Zo=Gs(Uo),Wo=2*Po+Bo+Zo,Jo=2*zo+Vo,Ko=Hs(Qs(Yo),ko),ti=Gs(Jo),ni=2*Fo+Lo+ti,ei=V*Uo,ri=$s(r,jo),oi=p*Zo+R*Wo+2*Gs(ei),ii=k*Jo,si=$s(o,Ko),ci=d*ti+U*ni+2*Gs(ii),ui=rt*Do,li=$s(N,Xo),fi=Gs(ui),hi=P*Qo+ft*qo+2*fi,ai=st*$o,pi=$s(M,Go),di=Gs(ai),gi=B*Ho+dt*Ro+2*di,vi=F*ui,mi=$s(e,li),_i=a*fi+G*hi+2*Gs(vi),bi=L*ai,xi=$s(i,pi),Ni=g*di+j*gi+2*Gs(bi),Si=ei+ii,Ei=Hs(ri,si),wi=oi+ci+Gs(Si),Mi=3*(vi+bi),Ci=qs(3,Hs(mi,xi)),Ti=3*(_i+Ni)+2*Gs(Mi),Oi=Si+Mi,Pi=Hs(Ei,Ci),yi=wi+Ti+Gs(Oi),Ai=Yt+Lt,Bi=Hs(kn,Gn),zi=Gs(Ai),Yi=Ln+Un+zi,Fi=it*yt,Vi=$s(C,On),ki=z*Pn+pt*yn+2*Gs(Fi),Li=2*nt*Ai,Di=Qs($s(E,Bi)),Xi=2*(A*zi+ut*Yi+2*Gs(Li)),Qi=Fi+Li,qi=Hs(Vi,Di),$i=ki+Xi+Gs(Qi),Hi=2*(Nt+Pt),Gi=Qs(Hs(fn,Cn)),Ri=2*(hn+Tn)+Gs(Hi),Ui=Hi+Vt,ji=Gs(Ui),Zi=Hs(Gi,Qn),Wi=Ri+qn+ji,Ji=rt*Ui,Ki=$s(N,Zi),ts=P*ji+ft*Wi+2*Gs(Ji),ns=Qi+Ji,rs=Hs(qi,Ki),os=Gs(ns),is=$i+ts+os,ss=et*Ut,cs=$s(S,he),us=y*ae+lt*pe+2*Gs(ss),ls=2*ot*Ai,fs=Qs($s(T,Bi)),hs=2*(Y*zi+at*Yi+Gs(ls)),as=ss+ls,ps=Hs(cs,fs),ds=us+hs+Gs(as),gs=2*(Tt+Vt),vs=Qs(Hs(Sn,Qn)),ms=2*(En+qn)+Gs(gs),_s=gs+Nt,bs=Hs(vs,fn),xs=Gs(_s),Is=ms+hn+xs,Ns=st*_s,Ss=$s(M,bs),Es=B*xs+dt*Is+2*Gs(Ns),ws=as+Ns,Ms=Hs(ps,Ss),Cs=Gs(ws),Ts=ds+Es+Cs,Os=et*yt,Ps=$s(S,On),ys=y*Pn+lt*yn+2*Gs(Os),As=2*Et+_t,Bs=Hs(Qs(gn),en),zs=Gs(As),Ys=2*vn+rn+zs,Fs=3*rt,Vs=qs(3,N),ks=Gs(Fs),Ls=3*P+ks,Ds=Fs*As,Us=$s(Vs,Bs),js=Ls*zs+ks*Ys+2*Gs(Ds),Zs=Os+Ds,Ws=Hs(Ps,Us),Js=Gs(Zs),Ks=ys+js+Js,tc=it*Ut,nc=$s(C,he),ec=z*ae+pt*pe+2*Gs(tc),rc=2*Gt+$t,oc=Hs(Qs(ce),ee),ic=Gs(rc),sc=2*ue+re+ic,cc=3*st,uc=qs(3,M),lc=Gs(cc),fc=3*B+lc,hc=cc*rc,ac=$s(uc,oc),pc=fc*ic+lc*sc+2*Gs(hc),dc=tc+hc,gc=Hs(nc,ac),vc=Gs(dc),mc=ec+pc+vc,_c=V*ns,bc=$s(r,rs),xc=p*os+R*is+2*Gs(_c),Ic=k*ws,Nc=$s(o,Ms),Sc=d*Cs+U*Ts+2*Gs(Ic),Ec=_c+Ic,wc=Hs(bc,Nc),Mc=xc+Sc+Gs(Ec),Cc=F*Zs,Tc=$s(e,Ws),Oc=a*Js+G*Ks+2*Gs(Cc),Pc=L*dc,yc=$s(i,gc),Ac=g*vc+j*mc+2*Gs(Pc),Bc=Cc+Pc,zc=Hs(Tc,yc),Yc=Oc+Ac+Gs(Bc),Fc=D*Ft,Vc=$s(Dn,s),kc=Xn*Z+Ne*v+2*Gs(Fc),Lc=Q*Rt,Dc=$s(le,u),Xc=fe*J+Te*_+2*Gs(Lc),Qc=Fc+Lc,qc=Hs(Vc,Dc),$c=kc+Xc+Gs(Qc),Hc=X*Dt,Gc=$s(jn,c),Rc=Zn*W+Se*m+2*Gs(Hc),Uc=Ec+Bc,jc=Hs(wc,zc),Zc=Mc+Yc+Gs(Uc),Wc=Qc+Hc,Jc=Hs(qc,Gc),Kc=$c+Rc+Gs(Wc),tu=Uc+Wc,nu=Hs(jc,Jc),eu=Zc+Kc+Gs(tu),ru=zt+kt,ou=Hs(Fn,$n),iu=Gs(ru),su=Vn+Hn+iu,cu=Ot+zt,uu=Hs(wn,Fn),lu=Gs(cu),fu=Mn+Vn+lu,hu=w*Ai,au=qs(w,Bi),pu=ct*Yi+Gs(hu),du=O*Ai,gu=qs(O,Bi),vu=ht*Yi+Gs(du),mu=nt*ru,_u=$s(E,ou),bu=A*iu+ut*su+2*Gs(mu),xu=ot*cu,Iu=$s(T,uu),Nu=Y*lu+at*fu+2*Gs(xu),Su=2*Vt+Pt,Eu=Hs(Qs(Qn),Cn),wu=Gs(Su),Mu=2*qn+Tn+wu,Cu=2*Nt+Tt,Tu=Hs(Qs(fn),Sn),Ou=Gs(Cu),Pu=2*hn+En+Ou,yu=st*St,Au=$s(M,an),Bu=B*pn+dt*dn+2*Gs(yu),zu=rt*Ht,Yu=$s(N,oe),Fu=P*ie+ft*se+2*Gs(zu),Vu=et*Su,ku=$s(S,Eu),Lu=y*wu+lt*Mu+2*Gs(Vu),Du=it*Cu,Xu=$s(C,Tu),Qu=z*Ou+pt*Pu+2*Gs(Du),qu=2*(hu+mu),$u=Qs(Hs(au,_u)),Hu=2*(pu+bu)+Gs(qu),Gu=2*(du+xu),Ru=Qs(Hs(gu,Iu)),Uu=2*(vu+Nu)+Gs(Gu),ju=2*w*At,Zu=Qs(qs(w,An)),Wu=2*ct*Bn+Gs(ju),Ju=2*O*jt,Ku=Qs(qs(O,de)),tl=2*ht*ge+Gs(Ju),nl=nt*Do,el=$s(E,Xo),rl=A*Qo+ut*qo+2*Gs(nl),ol=ot*$o,il=$s(T,Go),sl=Y*Ho+at*Ro+2*Gs(ol),cl=D*At,ul=$s(An,s),ll=Bn*Z+Ie*v+2*Gs(cl),fl=Q*jt,hl=$s(de,u),al=ge*J+Ce*_+2*Gs(fl),pl=qu+yu,dl=Hs($u,Au),gl=Gs(pl),vl=Hu+Bu+gl,ml=Gu+zu,_l=Hs(Ru,Yu),bl=Gs(ml),xl=Uu+Fu+bl,Il=pl+Vu,Nl=Hs(dl,ku),Sl=Gs(Il),El=vl+Lu+Sl,wl=ml+Du,Ml=Hs(_l,Xu),Cl=Gs(wl),Tl=xl+Qu+Cl,Ol=ju+nl,Pl=Hs(Zu,el),yl=Gs(Ol),Al=Wu+rl+yl,Bl=Ju+ol,zl=Hs(Ku,il),Yl=Gs(Bl),Fl=tl+sl+Yl,Vl=2*(cl+fl),kl=Qs(Hs(ul,hl)),Ll=2*(ll+al)+Gs(Vl),Dl=V*Il,Xl=$s(r,Nl),Ql=p*Sl+R*El+2*Gs(Dl),ql=k*wl,$l=$s(o,Ml),Hl=d*Cl+U*Tl+2*Gs(ql),Gl=F*Ol,Rl=$s(e,Pl),Ul=a*yl+G*Al+2*Gs(Gl),jl=L*Bl,Zl=$s(i,zl),Wl=g*Yl+j*Fl+2*Gs(jl),Jl=Dl+ql,Kl=Hs(Xl,$l),tf=Ql+Hl+Gs(Jl),nf=3*(Gl+jl),ef=qs(3,Hs(Rl,Zl)),rf=3*(Ul+Wl)+2*Gs(nf),of=X*Ai,sf=$s(c,Bi),cf=m*zi+W*Yi+2*Gs(of),uf=Jl+nf,lf=Hs(Kl,ef),ff=tf+rf+Gs(uf),hf=of+Vl,af=Hs(sf,kl),pf=cf+Ll+Gs(hf),df=uf+hf,gf=Hs(lf,af),vf=ff+pf+Gs(df),mf=Ot+ru,_f=Hs(wn,ou),bf=Gs(mf),xf=Mn+su+bf,If=2*wt+yt,Nf=Hs(Qs(mn),On),Sf=Gs(If),Ef=2*_n+yn+Sf,wf=2*Zt+Ut,Mf=Hs(Qs(ve),he),Cf=Gs(wf),Tf=2*_e+pe+Cf,Of=2*w*mf,Pf=qs(2*w,_f),yf=2*ct*xf+Gs(Of),Af=2*O*mf,Bf=qs(2*O,_f),zf=2*ht*xf+Gs(Af),Yf=Tt+2*Pt,Ff=Hs(Sn,Qs(Cn)),Vf=Gs(Yf),kf=En+2*Tn+Vf,Lf=Pt+2*Tt,Df=Hs(Cn,Qs(Sn)),Xf=Gs(Lf),Qf=Tn+2*En+Xf,qf=O*If,$f=qs(O,Nf),Hf=ht*Ef+Gs(qf),Gf=w*wf,Rf=qs(w,Mf),Uf=ct*Tf+Gs(Gf),jf=nt*Yf,Zf=$s(E,Ff),Wf=A*Vf+ut*kf+2*Gs(jf),Jf=ot*Lf,Kf=$s(T,Df),th=Y*Xf+at*Qf+2*Gs(Jf),nh=w*If,eh=qs(w,Nf),rh=ct*Ef+Gs(nh),oh=O*wf,ih=qs(O,Mf),sh=ht*Tf+Gs(oh),ch=et*St,uh=$s(S,an),lh=y*pn+lt*dn+2*Gs(ch),fh=it*Ht,hh=$s(C,oe),ah=z*ie+pt*se+2*Gs(fh),ph=Of+qf,dh=Hs(Pf,$f),gh=yf+Hf+Gs(ph),vh=Af+Gf,mh=Hs(Bf,Rf),_h=zf+Uf+Gs(vh),bh=ph+jf,xh=Hs(dh,Zf),Ih=Gs(bh),Nh=gh+Wf+Ih,Sh=vh+Jf,Eh=Hs(mh,Kf),wh=Gs(Sh),Mh=_h+th+wh,Ch=nh+ch,Th=Hs(eh,uh),Oh=Gs(Ch),Ph=rh+lh+Oh,yh=oh+fh,Ah=Hs(ih,hh),Bh=Gs(yh),zh=sh+ah+Bh,Yh=V*bh,Fh=$s(r,xh),Vh=p*Ih+R*Nh+2*Gs(Yh),kh=k*Sh,Lh=$s(o,Eh),Dh=d*wh+U*Mh+2*Gs(kh),Xh=F*Ch,Qh=$s(e,Th),qh=a*Oh+G*Ph+2*Gs(Xh),$h=L*yh,Hh=$s(i,Ah),Gh=g*Bh+j*zh+2*Gs($h),Rh=Xh+$h,Uh=Gs(Rh),jh=Hs(Qh,Hh),Zh=qh+Gh+Uh,Wh=Yh+kh,Jh=Hs(Fh,Lh),Kh=Vh+Dh+Gs(Wh),ta=Wh+3*Rh,na=Hs(Jh,qs(3,jh)),ea=Kh+3*(Zh+Uh)+Gs(ta),ra=X*mf,oa=$s(c,_f),ia=m*bf+W*xf+2*Gs(ra),sa=D*If,ca=$s(s,Nf),ua=v*Sf+Z*Ef+2*Gs(sa),la=ra+sa,fa=Hs(oa,ca),ha=ia+ua+Gs(la),aa=Q*wf,pa=$s(u,Mf),da=_*Cf+J*Tf+2*Gs(aa),ga=la+aa,va=Hs(fa,pa),ma=ha+da+Gs(ga),_a=ta+ga,ba=Hs(na,va),xa=ea+ma+Gs(_a),Ia=Tt+Pt,Na=Hs(Sn,Cn),Sa=En+Tn+Gs(Ia),Ea=Vt+Nt,wa=Hs(Qn,fn),Ma=qn+hn+Gs(Ea),Ca=Et+_t,Ta=Hs(gn,en),Oa=vn+rn+Gs(Ca),Pa=Gs(Ca),ya=Gt+$t,Aa=Hs(ce,ee),Ba=ue+re+Gs(ya),za=Gs(ya),Ya=2*Ia+Vt,Fa=Hs(Qs(Na),Qn),Va=2*Sa+qn+Gs(Ya),ka=2*Ia+Nt,La=Hs(Qs(Na),fn),Da=2*Sa+hn+Gs(ka),Xa=2*Bt+Ct,Qa=Hs(Qs(zn),In),qa=Gs(Xa),$a=2*Yn+Nn+qa,Ha=2*It+Ct,Ga=Hs(Qs(un),In),Ra=Gs(Ha),Ua=2*ln+Nn+Ra,ja=Ca+Et,Za=Hs(Ta,gn),Wa=Oa+vn+Gs(ja),Ja=ya+Gt,Ka=Hs(Aa,ce),tp=Ba+ue+Gs(Ja),np=3*w,ep=Xs(3,w),rp=np*ja,op=$s(ep,Za),ip=Gs(np)*Wa+2*Gs(rp),sp=3*O,cp=Xs(3,O),up=sp*Ja,lp=$s(cp,Ka),fp=Gs(sp)*tp+2*Gs(up),hp=nt*St,ap=$s(E,an),pp=A*pn+ut*dn+2*Gs(hp),dp=ot*Ht,gp=$s(T,oe),vp=Y*ie+at*se+2*Gs(dp),mp=D*Ca,_p=$s(s,Ta),bp=v*Pa+Z*Oa+Gs(mp),xp=Q*ya,Ip=$s(u,Aa),Np=_*za+J*Ba+Gs(xp),Sp=Ya+Ea,Ep=Hs(Fa,wa),wp=Va+Ma+Gs(Sp),Mp=ka+Ea,Cp=Hs(La,wa),Tp=Da+Ma+Gs(Mp),Op=w*Sp,Pp=qs(w,Ep),yp=ct*wp+Gs(Op),Ap=O*Mp,Bp=qs(O,Cp),zp=ht*Tp+Gs(Ap),Yp=nt*Xa,Fp=$s(E,Qa),Vp=A*qa+ut*$a+2*Gs(Yp),kp=ot*Ha,Lp=$s(T,Ga),Dp=Y*Ra+at*Ua+2*Gs(kp),Xp=rt*q,Qp=$s(N,l),qp=P*K+ft*b+2*Gs(Xp),$p=st*$,Hp=$s(M,f),Gp=B*tt+dt*x+2*Gs($p),Rp=Op+Yp,Up=Hs(Pp,Fp),jp=Gs(Rp),Zp=yp+Vp+jp,Wp=Ap+kp,Jp=Hs(Bp,Lp),Kp=Gs(Wp),td=zp+Dp+Kp,nd=rp+hp,ed=Hs(op,ap),rd=Gs(nd),od=ip+pp+rd,id=up+dp,sd=Hs(lp,gp),cd=Gs(id),ud=fp+vp+cd,ld=Ea+Ia,fd=Hs(wa,Na),hd=Gs(ld),ad=Ma+Sa+hd,pd=2*(mp+xp),dd=Qs(Hs(_p,Ip)),gd=2*(bp+Np)+Gs(pd),vd=V*Rp,md=$s(r,Up),_d=p*jp+R*Zp+2*Gs(vd),bd=k*Wp,xd=$s(o,Jp),Id=d*Kp+U*td+2*Gs(bd),Nd=F*nd,Sd=$s(e,ed),Ed=a*rd+G*od+2*Gs(Nd),wd=L*id,Md=$s(i,sd),Cd=g*cd+j*ud+2*Gs(wd),Td=X*ld,Od=$s(c,fd),Pd=m*hd+W*ad+2*Gs(Td),yd=vd+bd,Ad=Hs(md,xd),Bd=_d+Id+Gs(yd),zd=Nd+wd,Yd=Hs(Sd,Md),Fd=Ed+Cd+Gs(zd),Vd=Td+pd,kd=Hs(Od,dd),Ld=Pd+gd+Gs(Vd),Dd=Xp+$p,Xd=Hs(Qp,Hp),Qd=qp+Gp+Gs(Dd),qd=yd+zd,$d=Hs(Ad,Yd),Hd=Bd+Fd+Gs(qd),Gd=Vd+Dd,Rd=Hs(kd,Xd),Ud=Ld+Qd+Gs(Gd),jd=qd+Gd,Zd=Hs($d,Rd),Wd=Hd+Ud+Gs(jd),Jd=Ct+Bt,Kd=Hs(In,zn),tg=Nn+Yn+Gs(Jd),ng=Ct+It,eg=Hs(In,un),rg=Nn+ln+Gs(ng),og=2*Jd+It,ig=Hs(Qs(Kd),un),sg=2*tg+ln+Gs(og),cg=2*ng+Bt,ug=Hs(Qs(eg),zn),lg=2*rg+Yn+Gs(cg),fg=w*og,hg=qs(w,ig),ag=ct*sg+Gs(fg),pg=O*St,dg=qs(O,an),gg=ht*dn+Gs(pg),vg=O*cg,mg=qs(O,ug),_g=ht*lg+Gs(vg),bg=w*Ht,xg=qs(w,oe),Ig=ct*se+Gs(bg),Ng=w*St,Sg=qs(w,an),Eg=ct*dn+Gs(Ng),wg=et*gt,Mg=$s(S,Wt),Cg=y*be+2*Gs(wg),Tg=O*Ht,Og=qs(O,oe),Pg=ht*se+Gs(Tg),yg=it*Xt,Ag=$s(C,Wn),Bg=z*we+2*Gs(yg),zg=fg+pg,Yg=Hs(hg,dg),Fg=ag+gg+Gs(zg),Vg=ag+gg+Fg,kg=vg+bg,Lg=Hs(mg,xg),Dg=_g+Ig+Gs(kg),Xg=_g+Ig+Dg,Qg=Ng+wg,qg=Hs(Sg,Mg),$g=Gs(Qg),Hg=Eg+Cg+$g,Gg=Tg+yg,Rg=Hs(Og,Ag),Ug=Gs(Gg),jg=Pg+Bg+Ug,Zg=F*Qg,Wg=$s(e,qg),Jg=a*$g+G*Hg+2*Gs(Zg),Kg=L*Gg,tv=$s(i,Rg),nv=g*Ug+j*jg+2*Gs(Kg),ev=3*(Zg+Kg),rv=qs(3,Hs(Wg,tv)),ov=3*(Jg+nv)+2*Gs(ev),iv=Jd+It,sv=Hs(Kd,un),cv=Gs(iv),uv=tg+ln+cv,lv=2*mt+St,fv=Hs(Qs(tn),an),hv=Gs(lv),av=2*nn+dn+hv,pv=2*qt+Ht,dv=Hs(Qs(te),oe),gv=Gs(pv),vv=2*ne+se+gv,mv=V*zg,_v=$s(r,Yg),bv=p*Fg+R*Vg+2*Gs(mv),xv=k*kg,Iv=$s(o,Lg),Nv=d*Dg+U*Xg+2*Gs(xv),Sv=X*iv,Ev=$s(c,sv),wv=m*cv+W*uv+2*Gs(Sv),Mv=D*lv,Cv=$s(s,fv),Tv=v*hv+Z*av+2*Gs(Mv),Ov=Q*pv,Pv=$s(u,dv),yv=_*gv+J*vv+2*Gs(Ov),Av=et*q,Bv=$s(S,l),zv=y*K+lt*b+Gs(Av),Yv=it*$,Fv=$s(C,f),Vv=z*tt+pt*x+Gs(Yv),kv=Av+Yv,Lv=Hs(Bv,Fv),Dv=zv+Vv+Gs(kv),Xv=mv+xv,Qv=Hs(_v,Iv),qv=bv+Nv+Gs(Xv),$v=ev+Sv,Hv=Hs(rv,Ev),Gv=ov+wv+Gs($v),Rv=Mv+Ov,Uv=Hs(Cv,Pv),jv=Tv+yv+Gs(Rv),Zv=Xv+$v,Wv=Hs(Qv,Hv),Jv=qv+Gv+Gs(Zv),Kv=Rv+kv,tm=Hs(Uv,Lv),nm=jv+Dv+Gs(Kv),em=Zv+Kv,rm=Hs(Wv,tm),om=Jv+nm+Gs(em),im=Mt+xt,sm=Hs(bn,sn),cm=Gs(im),um=xn+cn+cm,lm=w*V,fm=qs(w,r),hm=Gs(lm),am=ct*p+hm,pm=O*k,dm=qs(O,o),gm=Gs(pm),vm=ht*d+gm,mm=im+Mt,_m=Hs(sm,bn),bm=Gs(mm),xm=um+xn+bm,Im=im+xt,Nm=Hs(sm,sn),Sm=Gs(Im),Em=um+cn+Sm,wm=nt*gt,Mm=$s(E,Wt),Cm=Gs(wm),Tm=A*be+2*Cm,Om=wm*F,Pm=$s(Mm,e),ym=Tm*G+Cm*a+2*Gs(Om),Am=ot*Xt,Bm=$s(T,Wn),zm=Gs(Am),Ym=Y*we+2*zm,Fm=Am*L,Vm=$s(Bm,i),km=Ym*j+zm*g+2*Gs(Fm),Lm=X*im,Dm=$s(c,sm),Xm=m*cm+W*um+2*Gs(Lm),Qm=vt*D,qm=$s(Jt,s),$m=Kt*Z+xe*v+2*Gs(Qm),Hm=Qt*Q,Gm=$s(Jn,u),Rm=Kn*J+Me*_+2*Gs(Hm),Um=Qm+Hm,jm=Hs(qm,Gm),Zm=$m+Rm+Gs(Um),Wm=nt*q,Jm=$s(E,l),Km=A*K+ut*b+Gs(Wm),t_=ot*$,n_=$s(T,f),e_=Y*tt+at*x+Gs(t_),r_=Wm+t_,o_=Hs(Jm,n_),i_=Km+e_+Gs(r_),s_=lm*mm,c_=$s(fm,_m),u_=am*bm+hm*xm+2*Gs(s_),l_=pm*Im,f_=$s(dm,Nm),h_=vm*Sm+gm*Em+2*Gs(l_),a_=s_+l_,p_=Hs(c_,f_),d_=u_+h_+Gs(a_),g_=3*(Om+Fm),v_=qs(3,Hs(Pm,Vm)),m_=3*(ym+km)+2*Gs(g_),__=Lm+2*Um,b_=Hs(Dm,Qs(jm)),x_=Xm+2*Zm+Gs(__),I_=a_+g_,N_=Hs(p_,v_),S_=d_+m_+Gs(I_),E_=__+r_,w_=Hs(b_,o_),M_=x_+i_+Gs(E_),C_=I_+E_,T_=Hs(N_,w_),O_=S_+M_+Gs(C_),P_=w*F,y_=qs(w,e),A_=ct*a+Gs(P_),B_=O*V,z_=qs(O,r),Y_=ht*p+Gs(B_),F_=P_+B_,V_=Hs(y_,z_),k_=A_+Y_+Gs(F_),L_=w*k,D_=qs(w,o),X_=ct*d+Gs(L_),Q_=O*L,q_=qs(O,i),$_=ht*g+Gs(Q_),H_=L_+Q_,G_=Hs(D_,q_),R_=X_+$_+Gs(H_),U_=F_+D,j_=Hs(V_,s),Z_=k_+v+Gs(U_),W_=H_+Q,J_=Hs(G_,u),K_=R_+_+Gs(W_),tb=gt*U_,nb=$s(Wt,j_),eb=be*Z_+2*Gs(tb),rb=Xt*W_,ob=$s(Wn,J_),ib=we*K_+2*Gs(rb),sb=tb+rb,cb=Hs(nb,ob),ub=eb+ib+Gs(sb),lb=bt*X,fb=$s(on,c),hb=Ee*m+Gs(lb),ab=sb+lb,pb=Hs(cb,fb),db=ub+hb+Gs(ab),gb=w*q,vb=qs(w,l),mb=ct*b+Gs(gb),_b=O*$,bb=qs(O,f),xb=ht*x+Gs(_b),Ib=gb+_b,Nb=Hs(vb,bb),Sb=mb+xb+Gs(Ib),Eb=ab+Ib,wb=Hs(pb,Nb),Mb=db+Sb+Gs(Eb),Cb=Eb+H,Tb=Hs(wb,h),Ob=Mb+I+Gs(Cb);return{coeffs:[fr,no,Pi,nu,gf,ba,Zd,rm,T_,Tb],errBound:[Rs*hr,Rs*eo,Rs*yi,Rs*eu,Rs*vf,Rs*xa,Rs*Wd,Rs*om,Rs*O_,Rs*Ob]}}]],Bu=[[hc,Kc,_u],[Ec,su,wu],[Uc,pu,function(t,n){const e=tc(t);if(0===yu(e[0][0])&&0===yu(e[1][0]))return wu(Ac(t),n);const[[r,o,i,[s]],[c,u,l,[f]]]=tc(n);if(0===yu(r)&&0===yu(c))return pu(t,Ac(n));const{vₓₓₓ:h,vₓₓᵧ:a,vₓᵧᵧ:p,vᵧᵧᵧ:d,vₓₓ:g,vₓᵧ:v,vᵧᵧ:m,vₓ:_,vᵧ:b,v:x}=Xc(e),I=Mu(s,s),N=Cu(s,i),S=Cu(s,o),E=Cu(s,r),w=Mu(s,f),M=Cu(s,l),C=Cu(s,u),T=Cu(s,c),O=Tu(i,i),P=Tu(i,o),y=Tu(i,r),A=Cu(f,i),B=Tu(i,l),z=Tu(i,u),Y=Tu(i,c),F=Tu(o,l),V=Tu(o,o),k=Tu(o,r),L=Cu(f,o),D=Tu(o,u),X=Tu(o,c),Q=Tu(r,r),q=Cu(f,r),$=Tu(r,l),H=Tu(r,u),G=Tu(r,c),R=Mu(f,f),U=Cu(f,l),j=Cu(f,u),Z=Cu(f,c),W=Tu(l,l),J=Tu(l,u),K=Tu(c,c),tt=Tu(u,u),nt=Tu(u,c),et=Tu(l,c),rt=Tu(r,Q),ot=Tu(r,K),it=Tu(c,Q),st=Tu(c,K),ct=Tu(rt,h),ut=Tu(ot,p),lt=Tu(it,a),ft=Tu(st,d),ht=Ou(ct,ut),at=Ou(lt,ft),pt=Ou(ht,at),dt=Ou(Pu(X),H),gt=Ou(Pu(H),X),vt=Tu(r,dt),mt=Tu(c,gt),_t=Tu(o,Q),bt=Tu(u,K),xt=Tu(h,_t),It=Tu(d,bt),Nt=Tu(a,vt),St=Tu(p,mt),Et=Ou(Nt,St),wt=Cu(3,Ou(xt,It)),Mt=Ou(Et,wt),Ct=Tu(i,G),Tt=Tu(l,Q),Ot=Tu(o,nt),Pt=Tu(i,K),yt=Tu(o,H),At=Tu(c,V),Bt=Tu(r,et),zt=Tu(u,H),Yt=Ou(Ct,yt),Ft=Ou(Tt,At),Vt=Ou(Ot,Bt),kt=Ou(Pt,zt),Lt=Ou(y,V),Dt=Ou(et,tt),Xt=Ou(Pu(Yt),Ft),Qt=Ou(Pu(Vt),kt),qt=Tu(a,Xt),$t=Tu(p,Qt),Ht=Tu(r,Lt),Gt=Tu(c,Dt),Rt=Tu(h,Ht),Ut=Tu(d,Gt),jt=Ou(qt,$t),Zt=Cu(3,Ou(Rt,Ut)),Wt=Ou(jt,Zt),Jt=Ou(X,H),Kt=Tu(u,V),tn=Pu(Tu(i,Jt)),nn=Ou(Kt,tn),en=Pu(Ou(T,F)),rn=Ou(en,q),on=Tu(r,rn),sn=Ou(nn,on),cn=Tu(o,tt),un=Pu(Tu(l,Jt)),ln=Ou(cn,un),fn=Pu(Ou(z,q)),hn=Ou(fn,T),an=Tu(c,hn),pn=Ou(ln,an),dn=Tu(o,V),gn=Ou(Pu(P),E),vn=Tu(Cu(3,r),gn),mn=Ou(dn,vn),_n=Tu(u,tt),bn=Ou(Pu(J),Z),xn=Tu(Cu(3,c),bn),In=Ou(_n,xn),Nn=Tu(a,sn),Sn=Tu(p,pn),En=Ou(Nn,Sn),wn=Tu(h,mn),Mn=Tu(d,In),Cn=Ou(wn,Mn),Tn=Tu(Q,g),On=Tu(K,m),Pn=Ou(Tn,On),yn=Tu(G,v),An=Ou(En,Cn),Bn=Ou(Pn,yn),zn=Ou(An,Bn),Yn=Ou(D,$),Fn=Ou(Y,D),Vn=Cu(s,Jt),kn=Cu(f,Jt),Ln=Tu(i,Yn),Dn=Tu(l,Fn),Xn=Ou(Pu(q),F),Qn=Ou(Pu(T),z),qn=Tu(c,O),$n=Tu(r,W),Hn=Tu(o,Xn),Gn=Tu(u,Qn),Rn=Pu(Ou(Vn,Ln)),Un=Pu(Ou(kn,Dn)),jn=Pu(Cu(s,k)),Zn=Pu(Cu(f,nt)),Wn=Tu(i,Lt),Jn=Tu(l,Dt),Kn=Tu(k,g),te=Tu(nt,m),ne=Ou(Rn,qn),ee=Ou(Un,$n),re=Ou(ne,Hn),oe=Ou(ee,Gn),ie=Ou(jn,Wn),se=Ou(Zn,Jn),ce=Pu(Ou(Kn,te)),ue=Tu(a,re),le=Tu(p,oe),fe=Tu(h,ie),he=Tu(d,se),ae=Ou(ue,le),pe=Cu(3,Ou(fe,he)),de=Tu(v,Jt),ge=Ou(ae,pe),ve=Ou(de,ce),me=Ou(ge,ve),_e=Ou(Y,Yn),be=Ou(Pu(y),V),xe=Ou(Pu(et),tt),Ie=Cu(2*s,_e),Ne=Cu(2*f,_e),Se=Ou(z,Pu(F)),Ee=Ou(F,Pu(z)),we=Cu(f,be),Me=Cu(s,xe),Ce=Tu(i,Se),Te=Tu(l,Ee),Oe=Cu(s,be),Pe=Cu(f,xe),ye=Tu(o,O),Ae=Tu(u,W),Be=Ou(Ie,we),ze=Ou(Ne,Me),Ye=Ou(Be,Ce),Fe=Ou(ze,Te),Ve=Ou(Oe,ye),ke=Ou(Pe,Ae),Le=Tu(a,Ye),De=Tu(p,Fe),Xe=Tu(h,Ve),Qe=Tu(d,ke),qe=Ou(Xe,Qe),$e=Ou(Le,De),He=Ou($e,Cu(3,qe)),Ge=Tu(v,_e),Re=Tu(g,be),Ue=Ou(Ge,Re),je=Tu(m,xe),Ze=Ou(Ue,je),We=Ou(He,Ze),Je=Ou(z,F),Ke=Ou(q,T),tr=Ou(P,E),nr=Ou(J,Z),er=Ou(Pu(Je),q),rr=Ou(Pu(Je),T),or=Ou(Pu(L),B),ir=Ou(Pu(C),B),sr=Ou(tr,P),cr=Ou(nr,J),ur=Tu(Mu(3,s),sr),lr=Tu(Mu(3,f),cr),fr=Tu(i,O),hr=Tu(l,W),ar=Tu(g,tr),pr=Tu(m,nr),dr=Ou(er,Ke),gr=Ou(rr,Ke),vr=Cu(s,dr),mr=Cu(f,gr),_r=Tu(i,or),br=Tu(l,ir),xr=Tu(r,_),Ir=Tu(c,b),Nr=Ou(vr,_r),Sr=Ou(mr,br),Er=Ou(ur,fr),wr=Ou(lr,hr),Mr=Ou(Ke,Je),Cr=Pu(Ou(ar,pr)),Tr=Tu(a,Nr),Or=Tu(p,Sr),Pr=Tu(h,Er),yr=Tu(d,wr),Ar=Tu(v,Mr),Br=Ou(Tr,Or),zr=Ou(Pr,yr),Yr=Ou(Ar,Cr),Fr=Ou(xr,Ir),Vr=Ou(Br,zr),kr=Ou(Yr,Fr),Lr=Ou(Vr,kr),Dr=Ou(B,L),Xr=Ou(B,C),Qr=Ou(Pu(Dr),C),qr=Ou(Pu(Xr),L),$r=Cu(s,Qr),Hr=Cu(f,O),Gr=Cu(f,qr),Rr=Cu(s,W),Ur=Cu(s,O),jr=Tu(o,I),Zr=Cu(f,W),Wr=Tu(u,R),Jr=Ou($r,Hr),Kr=Ou(Gr,Rr),to=Ou(Ur,jr),no=Ou(Zr,Wr),eo=Tu(h,to),ro=Tu(d,no),oo=Cu(3,Ou(eo,ro)),io=Ou(Dr,C),so=Ou(Pu(S),O),co=Ou(Pu(j),W),uo=Tu(a,Jr),lo=Tu(p,Kr),fo=Tu(v,io),ho=Tu(g,so),ao=Tu(m,co),po=Tu(o,_),go=Tu(u,b),vo=Ou(po,go),mo=Ou(uo,lo),_o=Ou(oo,fo),bo=Ou(ho,ao),xo=Ou(mo,_o),Io=Ou(bo,vo),No=Ou(xo,Io),So=Ou(A,M),Eo=Cu(s,a),wo=Cu(f,p),Mo=Ou(So,A),Co=Ou(So,M),To=Tu(i,I),Oo=Tu(To,h),Po=Tu(l,R),yo=Tu(Po,d),Ao=Tu(v,So),Bo=Tu(N,g),zo=Tu(U,m),Yo=Ou(Bo,zo),Fo=Tu(i,_),Vo=Tu(l,b),ko=Ou(Fo,Vo),Lo=Tu(Eo,Mo),Do=Tu(wo,Co),Xo=Ou(Lo,Do),Qo=Cu(3,Ou(Oo,yo)),qo=Ou(Ao,Pu(Yo)),$o=Ou(Xo,Qo),Ho=Ou(qo,ko),Go=Ou($o,Ho),Ro=Cu(s,h),Uo=Cu(f,a),jo=Ou(Ro,Uo),Zo=Cu(s,p),Wo=Cu(f,d),Jo=Ou(Zo,Wo),Ko=Ou(jo,g),ti=Ou(Jo,m),ni=Tu(I,Ko),ei=Tu(R,ti),ri=Ou(ni,ei),oi=Tu(w,v),ii=Ou(ri,oi),si=Cu(s,_),ci=Cu(f,b),ui=Ou(si,ci),li=Ou(ii,ui);return[pt,Mt,Wt,zn,me,We,Lr,No,Go,Ou(li,x)]}]];function zu(t,n){const{coeffs:e,errBound:r}=Au[t.length-2][n.length-2](t,n);return{coeffs:e,errBound:r,getPExact:()=>Bu[t.length-2][n.length-2](t,n)}}const Yu=Tt,Fu=Et,Vu=wt,ku=yt,Lu=St,Du=wt,Xu=function(t,n,e,r){const o=t[0],i=t[1],s=n[0],c=n[1],u=_t(t,n),l=Math.abs(o+i),f=Math.abs(s+c),h=f-bt*f-r;return h<=0?{est:u,err:Number.POSITIVE_INFINITY}:{est:u,err:(f*e+l*r)/h**2+9*xt*Math.abs(l/f)}},Qu=St,qu=Tt,$u=Nt,Hu=Et,Gu=Mt,Ru=function(t,n){return gt(t,n)[1]>0?n:t},Uu=function(t,n){return vt(t,n)[1]>0?t:n},ju=Number.EPSILON/2,Zu=ju*ju,Wu=Math.abs,Ju=Du,Ku=[0,1],tl=Qu,nl=Hu,el=qu,rl=$u,ol=Gu,il=Xu,sl=Ru,cl=Uu,ul=Dn(3);function ll(t,n){return n[0][0]!==n[1][0]||n[0][1]!==n[1][1]?4===t.length?function([[t,n],[e,r],[o,i],[s,c]],[u,l]){const f=Ju(l,u),h=3*Zu*Wu(f[1]),a=Ju(Ku,u),p=3*Zu*Wu(a[1]),d=il(f,a,h,p);l=tl(d.est,d.err);const g=Ju(Ku,u),v=el(u,u),m=el(u,g),_=el(g,g),b=el(v,u),x=el(v,g),I=el(_,u),N=el(_,g),S=Ju(Ku,l),E=el(l,l),w=el(l,S),M=el(S,S),C=el(E,l),T=el(E,S),O=el(M,l),P=el(M,S),y=Wu(u[1]),A=Wu(g[1]),B=Wu(v[1]),z=Wu(m[1]),Y=Wu(_[1]),F=Wu(b[1]),V=Wu(x[1]),k=Wu(I[1]),L=Wu(N[1]),D=Wu(l[1]),X=Wu(S[1]),Q=Wu(E[1]),q=Wu(w[1]),$=Wu(M[1]),H=Wu(C[1]),G=Wu(T[1]),R=Wu(O[1]),U=Wu(P[1]);let j=Wu(t),Z=Wu(n),W=Wu(e),J=Wu(r),K=Wu(o),tt=Wu(i),nt=Wu(s),et=Wu(c);const rt=nl(rl(s,u),rl(o,g)),ot=nl(nl(rl(s,v),rl(2*o,m)),rl(e,_)),it=nl(nl(rl(s,b),rl(t,N)),rl(3,nl(rl(o,x),rl(e,I)))),st=nl(el(ot,l),el(it,S)),ct=nl(nl(el(rt,E),el(it,M)),el(ol(ot),w)),ut=nl(nl(rl(s,C),el(it,P)),rl(3,nl(el(rt,T),el(ot,O)))),lt=Wu(it[1]),ft=nt*y+K*A,ht=nt*B+2*K*z+W*Y;j=nt*F+j*L+3*(K*V+W*k),W=ht*D+lt*X,K=ft*Q+lt*$+2*ht*q,nt=nt*H+lt*U+3*(ft*G+ht*R),j*=11*Zu,W*=15*Zu,K*=20*Zu,nt*=22*Zu;const at=nl(rl(c,u),rl(i,g)),pt=nl(nl(rl(c,v),rl(2*i,m)),rl(r,_)),dt=nl(nl(rl(c,b),rl(n,N)),rl(3,nl(rl(i,x),rl(r,I)))),gt=nl(el(pt,l),el(dt,S)),vt=nl(nl(el(at,E),el(dt,M)),el(ol(pt),w)),mt=nl(nl(rl(c,C),el(dt,P)),rl(3,nl(el(at,T),el(pt,O)))),_t=Wu(dt[1]),bt=et*y+tt*A,xt=et*B+2*tt*z+J*Y;Z=et*F+Z*L+3*(tt*V+J*k),J=xt*D+_t*X,tt=bt*Q+_t*$+2*xt*q,et=et*H+_t*U+3*(bt*G+xt*R),Z*=11*Zu,J*=15*Zu,tt*=20*Zu,et*=22*Zu;const It=sl(sl(tl(it,-j),tl(st,-W)),sl(tl(ct,-K),tl(ut,-nt))),Nt=cl(cl(tl(it,+j),tl(st,+W)),cl(tl(ct,+K),tl(ut,+nt)));return[[It,sl(sl(tl(dt,-Z),tl(gt,-J)),sl(tl(vt,-tt),tl(mt,-et)))],[Nt,cl(cl(tl(dt,+Z),tl(gt,+J)),cl(tl(vt,+tt),tl(mt,+et)))]]}(t,n):3===t.length?function([[t,n],[e,r],[o,i]],[s,c]){const u=Ju(c,s),l=3*Zu*Wu(u[1]),f=Ju(Ku,s),h=3*Zu*Wu(f[1]),a=il(u,f,l,h);c=tl(a.est,a.err);const p=Ju(Ku,s),d=el(s,s),g=el(s,p),v=el(p,p),m=Ju(Ku,c),_=el(c,c),b=el(c,m),x=el(m,m),I=Wu(s[1]),N=Wu(p[1]),S=Wu(d[1]),E=Wu(g[1]),w=Wu(v[1]),M=Wu(c[1]),C=Wu(m[1]),T=Wu(_[1]),O=Wu(b[1]),P=Wu(x[1]);let y=Wu(t),A=Wu(n),B=Wu(e),z=Wu(r),Y=Wu(o),F=Wu(i);const V=nl(nl(rl(o,d),rl(2*e,g)),rl(t,v)),k=nl(rl(o,s),rl(e,p)),L=V,D=nl(el(c,k),el(m,V)),X=nl(nl(rl(o,_),el(ol(b),k)),el(x,V)),Q=Y*S+2*B*E+y*w,q=Y*I+B*N;y=Q,B=M*q+C*Q,Y=T*o+2*O*q+P*Q,y*=7*Zu,B*=11*Zu,Y*=14*Zu;const $=nl(nl(rl(i,d),rl(2*r,g)),rl(n,v)),H=nl(rl(i,s),rl(r,p)),G=$,R=nl(el(c,H),el(m,$)),U=nl(nl(rl(i,_),el(ol(b),H)),el(x,$)),j=F*S+2*z*E+A*w,Z=F*I+z*N;A=j,z=M*Z+C*j,F=T*i+2*O*Z+P*j,A*=7*Zu,z*=11*Zu,F*=14*Zu;const W=sl(sl(tl(L,-y),tl(D,-B)),tl(X,-Y)),J=cl(cl(tl(L,+y),tl(D,+B)),tl(X,+Y));return[[W,sl(sl(tl(G,-A),tl(R,-z)),tl(U,-F))],[J,cl(cl(tl(G,+A),tl(R,+z)),tl(U,+F))]]}(t,n):function([[t,n],[e,r]],[o,i]){const s=Ju(i,o),c=3*Zu*Wu(s[1]),u=Ju(Ku,o),l=3*Zu*Wu(u[1]),f=il(s,u,c,l);i=tl(f.est,f.err);const h=Ju(Ku,o),a=Ju(Ku,i),p=Wu(o[1]),d=Wu(h[1]),g=Wu(i[1]),v=Wu(a[1]);let m=Wu(t),_=Wu(n),b=Wu(e),x=Wu(r);const I=nl(rl(e,o),rl(t,h)),N=nl(rl(e,i),el(I,a));m=b*p+m*d,b=b*g+m*v,m*=3*ju,b*=7*ju;const S=nl(rl(r,o),rl(n,h)),E=nl(rl(r,i),el(S,a));_=x*p+_*d,x=x*g+_*v,_*=3*ju,x*=7*ju;const w=sl(tl(I,-m),tl(N,-b)),M=cl(tl(I,+m),tl(N,+b));return[[w,sl(tl(S,-_),tl(E,-x))],[M,cl(tl(S,+_),tl(E,+x))]]}(t,n):function(t,n){const e=t[0],r=t[t.length-1];if(0===n[0]&&0===n[1]){const t=[0,e[0]],n=[0,e[1]];return[[t,n],[t,n]]}if(0===n[0]&&1===n[1]){const t=[0,r[0]],n=[0,r[1]];return[[t,n],[t,n]]}const o=function(t,n){if(0===n[0]&&0===n[1])return t[0].map((t=>[t]));if(0===n[0]&&1===n[1])return t[t.length-1].map((t=>[t]));if(4===t.length){const[[e,r],[o,i],[s,c],[u,l]]=t,f=Lu(Yu(ku(o,e),n),e),h=Lu(Yu(ku(s,o),n),o),a=Lu(Yu(ku(u,s),n),s),p=Fu(f,Yu(Vu(h,f),n)),d=Fu(h,Yu(Vu(a,h),n)),g=Fu(p,Yu(Vu(d,p),n)),v=Lu(Yu(ku(i,r),n),r),m=Lu(Yu(ku(c,i),n),i),_=Lu(Yu(ku(l,c),n),c),b=Fu(v,Yu(Vu(m,v),n)),x=Fu(m,Yu(Vu(_,m),n));return[g,Fu(b,Yu(Vu(x,b),n))]}if(3===t.length){const[[e,r],[o,i],[s,c]]=t,u=Fu([0,e],Yu(ku(o,e),n)),l=Fu([0,o],Yu(ku(s,o),n)),f=Fu(u,Yu(Vu(l,u),n)),h=Fu([0,r],Yu(ku(i,r),n)),a=Fu([0,i],Yu(ku(c,i),n));return[f,Fu(h,Yu(Vu(a,h),n))]}if(2===t.length){const[[e,r],[o,i]]=t;return[Lu(Yu(ku(o,e),n),e),Lu(Yu(ku(i,r),n),r)]}if(1===t.length){const[n,e]=t[0];return[[0,n],[0,e]]}throw new Error("The given bezier curve must be of order <= 3.")}(t,n);let i;if(4===t.length)i=Fn(t,n).map((t=>16*ul*t));else if(3===t.length)i=Fn(t,n).map((t=>10*ul*t));else if(2===t.length)i=Fn(t,n).map((t=>4*ul*t));else if(1===t.length)return[o,o];return[[tl(o[0],-i[0]),tl(o[1],-i[1])],[tl(o[0],+i[0]),tl(o[1],+i[1])]]}(t,n[0])}function fl(t){return(n,e)=>{let[[r,o],[i,s]]=n,[[c,u],[l,f]]=e;return(o[1]>s[1]||o[1]===s[1]&&o[0]>s[0])&&([o,s]=[s,o]),(u[1]>f[1]||u[1]===f[1]&&u[0]>f[0])&&([u,f]=[f,u]),(r[1]>i[1]||r[1]===i[1]&&r[0]>i[0])&&([r,i]=[i,r]),(c[1]>l[1]||c[1]===l[1]&&c[0]>l[0])&&([c,l]=[l,c]),t?(r[1]<l[1]||r[1]===l[1]&&r[0]<=l[0])&&(i[1]>c[1]||i[1]===c[1]&&i[0]>=c[0])&&(u[1]<s[1]||u[1]===s[1]&&u[0]<=s[0])&&(f[1]>o[1]||f[1]===o[1]&&f[0]>=o[0]):(r[1]<l[1]||r[1]===l[1]&&r[0]<l[0])&&(i[1]>c[1]||i[1]===c[1]&&i[0]>c[0])&&(u[1]<s[1]||u[1]===s[1]&&u[0]<s[0])&&(f[1]>o[1]||f[1]===o[1]&&f[0]>o[0])}}function hl(t){return[(t.x.box[0][0]+t.x.box[1][0])/2,(t.x.box[0][1]+t.x.box[1][1])/2]}function al(t,n){const e=zu(t,n);if(void 0===e)return;const{coeffs:r,errBound:o,getPExact:i}=e,s=An(r,0,1,o,i);return 0!==s.length?{ris:s.map(ci),getPExact:i}:void 0}function pl(t){return{tS:B(t.tS),tE:B(t.tE),multiplicity:t.multiplicity}}function dl(t,n){const e=al(t,n);if(void 0===e)return[];const{getPExact:r}=e;let o,{ris:i}=e;const s=al(n,t);if(void 0===s)return[];let{ris:c}=s;const{getPExact:u}=s;let l,f;f=1;let h,a=0;t:for(;a<f;){h=c.map((n=>ll(t,[n.tS,n.tE])));for(let t=0;t<c.length;t++){const n=h[t];for(let e=t+1;e<c.length;e++){const t=h[e];if(fl(!0)(n,t)){const t=[];for(const n of c)t.push(...gi({tS:n.tS[1],tE:n.tE[1],multiplicity:n.multiplicity},(l=l||u(),l)));c=t,a++;continue t}}}break t}f=1;let p,d=0;t:for(;d<f;){p=i.map((t=>ll(n,[t.tS,t.tE])));for(let t=0;t<i.length;t++){const n=p[t];for(let e=t+1;e<i.length;e++){const t=p[e];if(fl(!0)(n,t)){const t=[];for(const n of i)t.push(...gi({tS:n.tS[1],tE:n.tE[1],multiplicity:n.multiplicity},(o=o||r(),o)));i=t,d++;continue t}}}break t}const g=[];for(let t=0;t<c.length;t++){const n=h[t];for(let e=0;e<i.length;e++){const o=p[e];if(fl(!0)(n,o)){const s={compensated:a,ri:pl(c[t]),riExp:a?c[t]:void 0,getPExact:a?void 0:u,kind:1,box:gl(n)},l={compensated:d,ri:pl(i[e]),riExp:d?i[e]:void 0,getPExact:d?void 0:r,kind:1,box:gl(o)};g.push({psX:s,sideX:l})}}}return g}function gl(t){return t.map((t=>t.map(B)))}function vl(t,n){const e=t.xs,r=[],o=new Map;for(const t of e){const n=t.curve,e=o.get(n);e?e.push(t):o.set(n,[t])}const i=function(t){const[[n,e],[r,o]]=t.box,i=[[[r,e],[n,e]],[[n,e],[n,o]],[[n,o],[r,o]],[[r,o],[r,e]]];return(n,e,r)=>{const o=n.ps,s=e.slice();for(let t=0;t<i.length;t++){const n=dl(o,i[t]);for(const{psX:e,sideX:r}of n)s.push({x:e,side:t,sideX:r,curve:void 0})}s.sort(((t,n)=>t.x.ri.tS-n.x.ri.tS));const c=[],u=[];let l,f;for(const n of s)void 0!==n.side?(!0===f&&u.push({dir:1,p:hl(n),_x_:l,container:t,idx:++r,side:n.side,sideX:n.sideX}),f=!1):(!1===f&&(c.push({dir:-1,p:hl(l),_x_:n,container:t,idx:++r,side:l.side,sideX:l.sideX}),n.in_=c[c.length-1]),f=!0),l=n;return{ins:c,outs:u,ioIdx:r}}}(t);for(const t of o){const[e,o]=t;let s,c;({ins:s,outs:c,ioIdx:n}=i(e,o,n)),r.push(...s),r.push(...c)}return{inOuts:r,ioIdx:n}}function ml(t){if(4===t.length){const[[n,e],[r,o],[i,s],[c,u]]=t;return[[3*(r-n),3*(o-e)],[3*(i-r),3*(s-o)],[3*(c-i),3*(u-s)]]}if(3===t.length){const[[n,e],[r,o],[i,s]]=t;return[[2*(r-n),2*(o-e)],[2*(i-r),2*(s-o)]]}if(2===t.length){const[[n,e],[r,o]]=t;return[[r-n,o-e]]}throw new Error("The given bezier curve must be of order 1, 2 or 3.")}function _l(t,n){const e=t.xs;return 2===e.length&&1===e[0].x.kind&&1===e[1].x.kind&&e[0].x.ri.multiplicity%2==1&&e[1].x.ri.multiplicity%2==1?function(t,n){const e=t.xs,r=[],o=e[0],i=e[1],s=o.curve.ps,c=i.curve.ps,u=x(s,o.x.ri.tS),l=o.x.ri.tS,f=o.x.ri.tE,h=i.x.ri.tS,a=i.x.ri.tE;let p,d,g;p=4===s.length||3===s.length?Wn(ml(s),[l,f]):ml(s),d=4===c.length||3===c.length?Wn(ml(c),[h,a]):ml(c);for(let e=0;e<p.length;e++)for(let r=0;r<d.length;r++){const o=Math.sign(F(p[e],d[r],[0,0]));if(0===o)return vl(t,n);if(void 0!==g){if(g!==o)return vl(t,n)}else g=o}return g>0?(r.push({dir:-1,p:u,_x_:o,container:t}),r.push({dir:1,p:u,_x_:i,container:t}),r.push({dir:1,p:u,_x_:o,container:t}),r.push({dir:-1,p:u,_x_:i,container:t}),o.in_=r[0],i.in_=r[3]):(r.push({dir:-1,p:u,_x_:o,container:t}),r.push({dir:-1,p:u,_x_:i,container:t}),r.push({dir:1,p:u,_x_:o,container:t}),r.push({dir:1,p:u,_x_:i,container:t}),o.in_=r[0],i.in_=r[1]),{inOuts:r,ioIdx:n}}(t,n):vl(t,n)}function bl(t,n,e,r){const o=[];for(const r of t)o.push({type:-1,item:r,x:n(r)}),o.push({type:1,item:r,x:e(r)});o.sort(xl);const i=new Set,s=[];for(const t of o){const n=t.item;if(-1===t.type){for(const t of i.values()){const e=r(n,t);e&&s.push({a:n,b:t,u:e})}i.add(n)}else 1===t.type&&i.delete(t.item)}return s}function xl(t,n){const e=t.x-n.x;return 0!==e?e:t.type}const Il=Et,Nl=Q,Sl=T,El=V,wl=B,Ml=Tt,Cl=yr,Tl=Math.abs,Ol=Dn(3);const Pl=Math.abs;const yl=Math.abs,Al=Tt,Bl=Et,zl=Q,Yl=T,Fl=V,Vl=B,kl=yr,Ll=Math.abs,Dl=Ln(1),Xl=Dn(3);function Ql(t,n){const[e,r]=n,o=e.length,i=r.length,s=e[o-1],c=r[i-1],u=1===o&&1===i;{const{vₓₓ:n,vₓᵧ:e,vᵧᵧ:r,vₓ:o,vᵧ:i,v:l}=function(t){const[[n,e,r],[o,i,s]]=qo(t),c=n*i-e*o,u=n*s-r*o;return{vₓₓ:-o*o,vₓᵧ:2*n*o,vᵧᵧ:-n*n,vₓ:i*c-2*o*u,vᵧ:2*n*u-e*c,v:c*(e*s-r*i)-u*u}}(t),{vₓₓ_:f,vₓᵧ_:h,vᵧᵧ_:a,vₓ_:p,vᵧ_:d,v_:g}=function(t){const[n,e]=t[0],[[r,o],[i,s]]=function(t){const[[n,e],[r,o],[i,s]]=t,c=Pl(n),u=Pl(r),l=Pl(i),f=Pl(e),h=Pl(o);return[[l+c+2*u,2*(u+c),0],[Pl(s)+f+2*h,2*(h+f),0]]}(t),c=yl(n),u=yl(e),l=r*s+o*i,f=r*u+c*i;return{vₓₓ_:i*i,vₓᵧ_:2*r*i,vᵧᵧ_:r*r,vₓ_:s*l+2*i*f,vᵧ_:2*r*f+o*l,v_:l*(o*u+c*s)+f*f}}(t),v=u?0:1,m=Ll(s),_=Ll(c);if((v+12)*Dl*(f*(m*m)+h*(m*_)+a*(_*_)+(p*m+d*_)+g)<Ll(n*s*s+e*s*c+r*c*c+(o*s+i*c)+l))return!1}{const{coeffs:{vₓₓ:n,vₓᵧ:o,vᵧᵧ:i,vₓ:u,vᵧ:l,v:f},errorBound:{vₓₓ_:h,vₓᵧ_:a,vᵧᵧ_:p,vₓ_:d,vᵧ_:g,v_:v}}=Di(t),m=kl(e),_=kl(r),b=Ll(s),x=Ll(c),I=b/3,N=x/3,S=Al(m,m),E=S[1],w=2*(b*I+E),M=Al(_,_),C=M[1],T=2*(x*N+C),O=Al(m,_),P=Ll(O[1]),y=b*N+I*x+2*P,A=Al(n,S),B=Ll(n[1])*w+h*E+2*Ll(A[1]),z=Al(o,O),Y=Ll(o[1])*y+a*P+2*Ll(z[1]),F=Al(i,M),V=Ll(i[1])*T+p*C+2*Ll(F[1]),k=Al(m,u),L=Ll(u[1])*I+d*b+2*Ll(k[1]),D=Al(_,l),X=Ll(l[1])*N+g*x+2*Ll(D[1]),Q=Bl(A,z),q=B+Y+Ll(Q[1]),$=Bl(Q,F),H=q+V+Ll($[1]),G=Bl(k,D),R=L+X+Ll(G[1]),U=Bl($,G),j=H+R+Ll(U[1]),Z=Bl(U,f),W=j+v+Ll(Z[1]);if(Xl*W<Ll(Vl(Z)))return!1}{const n=function(t){return mc(nc(t))}(t);if(void 0===n)return u&&s===t[0][0]&&c===t[0][1];n.hasOwnProperty("vₓₓ")||(n.vₓₓ=[0],n.vₓᵧ=[0],n.vᵧᵧ=[0]);const{vₓₓ:o,vₓᵧ:i,vᵧᵧ:l,vₓ:f,vᵧ:h,v:a}=n,p=Yl(Yl(Yl(zl(o,zl(e,e)),zl(i,zl(e,r))),zl(l,zl(r,r))),Yl(Yl(zl(e,f),zl(r,h)),a));return 0===Fl(p)}}const ql=Math.abs,$l=Tt,Hl=Et,Gl=Q,Rl=T,Ul=V,jl=B,Zl=yr,Wl=Math.abs,Jl=Ln(1),Kl=Dn(3);function tf(t,n){const[e,r]=n,o=e.length,i=r.length,s=e[o-1],c=r[i-1],u=1===o&&1===i;{const{vₓₓₓ:n,vₓₓᵧ:e,vₓᵧᵧ:r,vᵧᵧᵧ:o,vₓₓ:i,vₓᵧ:l,vᵧᵧ:f,vₓ:h,vᵧ:a,v:p}=function(t){const[[n,e,r,o],[i,s,c,u]]=Qo(t),l=n*c,f=r*i,h=n*s,a=e*i,p=n*n,d=i*i,g=n*u-o*i,v=l-f,m=h-a,_=e*u-o*s,b=e*c-r*s,x=r*u-o*c,I=2*v,N=g*g,S=g*b,E=I*_,w=m*_,M=-3*g-b,C=-3*N-2*S+(E+m*x),T=2*(g*v-w),O=g*m-v*v+m*b;return{vₓₓₓ:-i*d,vₓₓᵧ:3*n*d,vₓᵧᵧ:-3*i*p,vᵧᵧᵧ:n*p,vₓₓ:M*d+m*(c*i-s*s)+I*s*i,vₓᵧ:2*(m*(e*s-(f+l)/2)-(M*n*i+v*(a+h))),vᵧᵧ:M*p+m*(r*n-e*e)+I*e*n,vₓ:i*C+(s*T+c*O),vᵧ:-n*C-(e*T+r*O),v:g*(E-N-S)+(O*x-w*_)}}(t),{vₓₓₓ_:d,vₓₓᵧ_:g,vₓᵧᵧ_:v,vᵧᵧᵧ_:m,vₓₓ_:_,vₓᵧ_:b,vᵧᵧ_:x,vₓ_:I,vᵧ_:N,v_:S}=function(t){const[n,e]=t[0],[[r,o,i],[s,c,u]]=function(t){const[[n,e],[r,o],[i,s],[c,u]]=t,l=Pl(n),f=Pl(r),h=Pl(i),a=Pl(c),p=Pl(e),d=Pl(o),g=Pl(s);return[[a+l+3*(f+h),3*(h+l+2*f),3*(f+l),0],[Pl(u)+p+3*(d+g),3*(g+p+2*d),3*(d+p),0]]}(t),l=ql(n),f=ql(e),h=r*u,a=i*s,p=r*c,d=o*s,g=r*r,v=s*s,m=r*f+l*s,_=h+a,b=p+d,x=o*f+l*c,I=o*u+i*c,N=i*f+l*u,S=2*_,E=m*m,w=m*I,M=S*x,C=b*x,T=3*m+I,O=3*E+2*w+(M+b*N),P=2*(m*_+C),y=m*b+_*_+b*I;return{vₓₓₓ_:s*v,vₓₓᵧ_:3*r*v,vₓᵧᵧ_:3*s*g,vᵧᵧᵧ_:r*g,vₓₓ_:T*v+b*(u*s+c*c)+S*c*s,vₓᵧ_:2*(b*(o*c+(a+h)/2)+(T*r*s+_*(d+p))),vᵧᵧ_:T*g+b*(i*r+o*o)+S*o*r,vₓ_:s*O+(c*P+u*y),vᵧ_:r*O+(o*P+i*y),v_:m*(M+E+w)+(y*N+C*x)}}(t),E=s*s,w=c*c,M=n*(E*s)+e*(E*c)+(r*(s*w)+o*(w*c))+(i*E+l*(s*c)+f*w)+(h*s+a*c+p),C=u?0:1,T=Wl(s),O=Wl(c),P=T*T,y=O*O;if((C+26)*Jl*(d*(P*T)+g*(P*O)+(v*(T*y)+m*(y*O))+(_*P+b*(T*O)+x*y)+(I*T+N*O+S))<Wl(M))return!1}{const{coeffs:{vₓₓₓ:n,vₓₓᵧ:o,vₓᵧᵧ:i,vᵧᵧᵧ:u,vₓₓ:l,vₓᵧ:f,vᵧᵧ:h,vₓ:a,vᵧ:p,v:d},errorBound:{vₓₓₓ_:g,vₓₓᵧ_:v,vₓᵧᵧ_:m,vᵧᵧᵧ_:_,vₓₓ_:b,vₓᵧ_:x,vᵧᵧ_:I,vₓ_:N,vᵧ_:S,v_:E}}=es(t),w=Wl(n[1]),M=Wl(o[1]),C=Wl(i[1]),T=Wl(u[1]),O=Zl(e),P=Zl(r),y=Wl(s),A=Wl(c),B=y/3,z=A/3,Y=$l(O,O),F=Y[1],V=2*(y*B+F),k=$l(O,Y),L=Wl(k[1]),D=y*V+B*F+2*L,X=$l(P,P),Q=X[1],q=2*(A*z+Q),$=$l(P,X),H=Wl($[1]),G=A*q+z*Q+2*H,R=$l(P,Y),U=Wl(R[1]),j=A*V+z*F+2*U,Z=$l(O,X),W=Wl(Z[1]),J=y*q+B*Q+2*W,K=$l(O,P),tt=Wl(K[1]),nt=y*z+B*A+2*tt,et=$l(n,k),rt=w*D+g*L+2*Wl(et[1]),ot=$l(o,R),it=M*j+v*U+2*Wl(ot[1]),st=$l(i,Z),ct=C*J+m*W+2*Wl(st[1]),ut=$l(u,$),lt=T*G+_*H+2*Wl(ut[1]),ft=$l(l,Y),ht=Wl(l[1])*V+b*F+2*Wl(ft[1]),at=$l(f,K),pt=Wl(f[1])*nt+x*tt+2*Wl(at[1]),dt=$l(h,X),gt=Wl(h[1])*q+I*Q+2*Wl(dt[1]),vt=$l(O,a),mt=Wl(a[1])*B+N*y+2*Wl(vt[1]),_t=$l(P,p),bt=Wl(p[1])*z+S*A+2*Wl(_t[1]),xt=Hl(et,ot),It=rt+it+Wl(xt[1]),Nt=Hl(st,ut),St=ct+lt+Wl(Nt[1]),Et=Hl(xt,Nt),wt=It+St+Wl(Et[1]),Mt=Hl(ft,at),Ct=ht+pt+Wl(Mt[1]),Tt=Hl(Mt,dt),Ot=Ct+gt+Wl(Tt[1]),Pt=Hl(Et,Tt),yt=wt+Ot+Wl(Pt[1]),At=Hl(vt,_t),Bt=mt+bt+Wl(At[1]),zt=Hl(At,d),Yt=Bt+E+Wl(zt[1]),Ft=Hl(Pt,zt),Vt=yt+Yt+Wl(Ft[1]);if(Kl*Vt<Wl(jl(Ft)))return!1}{const n=function(t){return Xc(tc(t))}(t);if(void 0===n)return u&&s===t[0][0]&&c===t[0][1];n.hasOwnProperty("vₓₓₓ")||(n.vₓₓₓ=[0],n.vₓₓᵧ=[0],n.vₓᵧᵧ=[0],n.vᵧᵧᵧ=[0]),n.hasOwnProperty("vₓₓ")||(n.vₓₓ=[0],n.vₓᵧ=[0],n.vᵧᵧ=[0]);const{vₓₓₓ:o,vₓₓᵧ:i,vₓᵧᵧ:l,vᵧᵧᵧ:f,vₓₓ:h,vₓᵧ:a,vᵧᵧ:p,vₓ:d,vᵧ:g,v}=n,m=Gl(e,e),_=Gl(e,m),b=Gl(r,r),x=Gl(r,b),I=Gl(r,m),N=Gl(e,b),S=Gl(e,r),E=Gl(o,_),w=Gl(i,I),M=Gl(l,N),C=Gl(f,x),T=Gl(h,m),O=Gl(a,S),P=Gl(p,b),y=Gl(e,d),A=Gl(r,g),B=Rl(E,w),z=Rl(M,C),Y=Rl(B,z),F=Rl(T,O),V=Rl(F,P),k=Rl(Y,V),L=Rl(y,A),D=Rl(L,v),X=Rl(k,D);return 0===Ul(X)}}function nf(t,n){const{coeffs:e,errBound:r,getPExact:o}=zu(t,n);return An(e,0,1,r,o,!0)}const ef=Math.min,rf=Math.max;function of(t,n){let[[e,r],[o,i]]=t,[[s,c],[u,l]]=n;if(e>o&&([e,o]=[o,e]),s>u&&([s,u]=[u,s]),r>i&&([r,i]=[i,r]),c>l&&([c,l]=[l,c]),e<=u&&o>=s&&c<=i&&l>=r)return[[rf(e,s),rf(r,c)],[ef(o,u),ef(i,l)]]}function sf(t,n,e){if(void 0===e)return;if(0===e.length)return[];const r=nf(n,t);if(void 0===r)return;if(0===r.length)return[];const o=r.map((n=>Wn(t,[n.tS,n.tE]))),i=e.map((t=>Wn(n,[t.tS,t.tE]))),s=[];for(let t=0;t<r.length;t++){const n=o[t];for(let o=0;o<e.length;o++){const c=of(n,i[o]);if(void 0!==c){const n={ri:r[t],box:c,kind:1},i={ri:e[o],box:c,kind:1};s.push([n,i])}}}return s}function cf(t,n,e){for(const r of[t,n]){const o=r.length;for(let i=1;i<o+1;i++){const s=r[i-1],c=r[i%o],u=[c[1]-s[1],s[0]-c[0]];let l=Number.POSITIVE_INFINITY,f=Number.NEGATIVE_INFINITY;for(let n=0;n<t.length;n++){const e=u[0]*t[n][0]+u[1]*t[n][1];e<l&&(l=e),e>f&&(f=e)}let h=Number.POSITIVE_INFINITY,a=Number.NEGATIVE_INFINITY;for(let t=0;t<n.length;t++){const e=u[0]*n[t][0]+u[1]*n[t][1];e<h&&(h=e),e>a&&(a=e)}if(e&&(f<h||a<l))return!1;if(!e&&(f<=h||a<=l))return!1}}return!0}const uf=C,lf=T,ff=V,hf=A,af=Number.EPSILON/2,pf=Math.abs;function df(t){const[[n,e],[r,o],[i,s],[c,u]]=t,l=c+3*r,f=n+3*i,h=l-f,a=pf(3*r)+pf(l)+(pf(3*i)+pf(f))+pf(h);if(pf(h)-af*a>0)return!1;const p=u+3*o,d=e+3*s,g=p-d,v=pf(3*o)+pf(p)+(pf(3*s)+pf(d))+pf(g);return!(pf(g)-af*v>0)&&0===ff(hf(lf([c],uf(3,r)),lf([n],uf(3,i))))&&0===ff(hf(lf([u],uf(3,o)),lf([e],uf(3,s))))}const gf=A,vf=V,mf=kt,{abs:_f}=Math;function bf(t){const n=t[0][0],e=t[0][1];for(let r=1;r<t.length;r++)if(n!==t[r][0]||e!==t[r][1])return!1;return!0}function xf(t){return 4===t.length&&df(t)&&(t=Ac(t)),3===t.length&&function(t){const[[n,e],[r,o],[i,s]]=t,c=n+i,u=c-2*r,l=_f(c)+_f(u);if(_f(u)-l>0)return!1;const f=e+s,h=f-2*o,a=_f(f)+_f(h);return!(_f(h)-a>0)&&0===vf(gf(mf(n,i),[2*r]))&&0===vf(gf(mf(e,s),[2*o]))}(t)&&(t=[t[0],t[2]]),2===t.length&&bf(t)&&(t=[t[0]]),t}const If=Number.EPSILON,Nf=If/2;function Sf(t,n){return n<0?t<1?t:1-Nf:0===n?1:t>1?t:1+If}function Ef(t){return B(Ue(t[0],t[1],2))}function wf(t){return V(t[0])*V(t[1])}function Mf(t){return(n,e)=>{const r=Ks(n),o=Ks(e),i=Ks(n.slice().reverse()),s=Ks(e.slice().reverse()),c=t(r,o),u=t(i,o),l=t(r,s),f=t(i,s),h=-wf(u),a=-wf(f),p=Ef(c),d=Ef(l);return[Sf(p,h),Sf(d,a)]}}const Cf=Mf((function(t,n){const e=0===V(t[0][0])?1:0;return function(t,n){const[e,r]=t,[,o]=n;return[A(o,r),e]}(t[e],n[e])}));function Tf(t,n){return hr(zr(t[0],n[1]),zr(t[1],n[0]))*V(t[1])*V(n[1])}const Of=Ye,Pf=Xe,yf=0n;function Af(t){let n=-1024;for(let e=0;e<t.length;e++){const r=t[e];for(let t=0;t<r.length;t++){const e=r[t];if(0===e)continue;const o=-Of(e)+Pf(e)-1;o>n&&(n=o)}}return 0===n?t.map((t=>t.map((t=>BigInt(t))))):n>0?t.map((t=>t.map((t=>{if(0===t)return yf;const e=-Of(t)+Pf(t)-1;return BigInt(t*2**e)*2n**BigInt(n-e)})))):t.map((t=>t.map((t=>BigInt(t*2**n)))))}function Bf(t,n){if(n=n<0n?-n:n,0n===(t=t<0n?-t:t))return n;if(0n===n)return t;for(;0n!==n;){const e=n;n=t%n,t=e}return t}const zf=BigInt(2**53);function Yf(t){if(0n===t)return[0];const n=[];let e=0,r=t;for(;0n!==r;){r=t/zf;const o=t%zf;n.push(Number(o)*2**(53*e)),t=r,e++}return Y(n)}const{round:Ff,sqrt:Vf}=Math;function kf(t){if(t<=1n){if(t<0n)throw new Error("square root of negative numbers are not allowed");return t}let n=BigInt(Ff(Vf(Number(t))));for(;;){const e=n+t/n>>1n;if(e===n)return n;n=e}}function Lf(t){return t<0n?-t:t}function Df(t){let n=0n;for(let e=0;e<t.length;e++)n+=t[e];return n}function Xf(t,n){const[e,r]=Qf(t[0],n[0]),[o,i]=Qf(t[1],n[1]);if(0===Tf(e,o)||0===Tf(e,i))return e;if(0===Tf(r,o)||0===Tf(r,i))return r;throw new Error("An unexpected error occured.")}function Qf(t,n){const[e,r]=t,[o,i]=n,[s,c]=function(t){const[n,e]=Af(t).map(Df),r=Bf(n,e);return[Yf(kf(Lf(n/r))),Yf(kf(Lf(e/r)))]}([o,e]);return[[A(zr(i,c),zr(r,s)),zr(s,dr(e))],[A(zr(i,O(c)),zr(r,s)),zr(s,dr(e))]].sort(Tf)}function qf(t,n){const e=Ks(t),r=0===V(e[0][0])?0:0===V(e[1][0])?1:-1;if(-1!==r){const e=t[0][r],o=t[2][r],i=n[0][r],s=n[2][r];return Cf([[e,e],[o,o]],[[i,i],[s,s]])}return Mf(Xf)(t,n)}const{round:$f,cbrt:Hf}=Math;function Gf(t){const n=(e=t)>0n?1n:e<0n?-1n:0n;var e;if((t=Lf(t))<=1n)return n*t;let r=BigInt($f(Hf(Number(t))));for(;;){const e=(2n*r+t/(r*r))/3n;if(e===r)return n*r;r=e}}function Rf(t){return zr(t,t)}const Uf=Mf((function(t,n){const e=0===V(t[0][0])?1:0;return function(t,n){const[e,r]=t,[o,i]=n,s=function(t){const[n,e]=Af(t).map(Df),r=Bf(n,e);return[Yf(Gf(n/r)),Yf(Gf(e/r))]}([o,e]),c=Rf(s[0]);return[A(zr(i,Rf(s[1])),zr(r,c)),zr(L(3,e),c)]}(t[e],n[e])})),{EPSILON:jf}=Number,Zf=jf/2+jf**2/2;function Wf(t){return t>0?t-t*Zf:t+t*Zf}const{EPSILON:Jf}=Number,Kf=Jf/2+Jf**2/2;function th(t){return t>0?t+t*Kf:t-t*Kf}function nh(t){if(0===t||1===t)return[t,t];const n=Wf(Wf(t)),e=function(t){return th(th(t))}(t);return[n,e]}function eh(t,n,e,r){const o=t.ps,i=n.ps,s=[];let c=nf(o,i);if(void 0===c){const r=2**(e-47),c=function(t,n,e=!1){e||(t=xf(t),n=xf(n));const r=[,,Cf,qf,Uf],[o,i]=r[t.length](t,n),[s,c]=r[t.length](n,t),u=[{tA:o,tB:0,bez:"B",start:!0},{tA:i,tB:1,bez:"B",start:!1},{tA:0,tB:s,bez:"A",start:!0},{tA:1,tB:c,bez:"A",start:!1}].sort(((t,n)=>t.tA-n.tA));if(u[1].tA===u[2].tA){const n=u[1],e=n.tA,r=n.tB,o=Wn(t,[e,e]);return[{p:o[0],kind:4,box:o,t1:e,ri1:{tS:e,tE:e,multiplicity:1},t2:r,ri2:{tS:r,tE:r,multiplicity:1}}]}if(u[0].bez===u[1].bez)return[];const l=u[1],f=u[2],[h,a]=nh(l.tA),[p,d]=nh(l.tB),[g,v]=nh(f.tA),[m,_]=nh(f.tB),b=Wn(t,[h,a]),x=Wn(n,[p,d]),I=Wn(t,[g,v]),N=Wn(n,[m,_]),S=of(b,x),E=of(I,N),w={tS:h,tE:a,multiplicity:1},M={tS:p,tE:d,multiplicity:1},C={tS:g,tE:v,multiplicity:1},T={tS:m,tE:_,multiplicity:1};return[{p:ro(S),kind:5,box:S,t1:eo(w),ri1:w,t2:eo(M),ri2:M},{p:ro(E),kind:5,box:E,t1:eo(C),ri1:C,t2:eo(T),ri2:T}]}(o,i);for(const e of c){const i=x(o,e.ri1.tS),c=[[i[0]-r,i[1]-r],[i[0]+r,i[1]+r]],u={x:{ri:e.ri1,kind:5,box:c},curve:t},l={x:{ri:e.ri2,kind:5,box:c},curve:n};s.push([u,l])}return s}if(r&&(c=c.filter((t=>t.tS>0))),0===c.length)return[];const u=sf(o,i,c);if(void 0===u||0===u.length)return[];for(const e of u){const r={x:e[0],curve:t},o={x:e[1],curve:n};s.push([r,o])}return s}const rh=x,oh=Fn,ih=Ln(1);function sh(t,n,e){const r=n.ps;if(0===t)return r[0],{x:{ri:{tS:t,tE:t,multiplicity:1},box:[r[0],r[0]],kind:e},curve:n};if(1===t){const o=r[r.length-1];return{x:{ri:{tS:t,tE:t,multiplicity:1},box:[o,o],kind:e},curve:n}}const{p:o,pE:i}=function(t,n){const e=rh(t,n),r=oh(t,[0,n]);if(4===t.length)return{p:e,pE:r.map((t=>9*ih*t))};if(3===t.length)return{p:e,pE:r.map((t=>6*ih*t))};if(2===t.length)return{p:e,pE:r.map((t=>3*ih*t))};if(1===t.length)return{p:t[0],pE:[0,0]};throw new Error("The given bezier curve must be of order <= 3.")}(r,t);return{x:{ri:{tS:t,tE:t,multiplicity:1},box:[[o[0]-i[0],o[1]-i[1]],[o[0]+i[0],o[1]+i[1]]],kind:e},curve:n}}function ch(t,n){if(n.next===t){if(t.next===n)return;[t,n]=[n,t]}const e=t.ps,r=n.ps;if(function(t,n){if(4===t.length)return tf(t,n);if(3===t.length)return Ql(t,n);if(2===t.length)return function(t,n){const[e,r]=n,o=e.length,i=r.length,s=e[o-1],c=r[i-1],u=1===o&&1===i;{const{coeffs:{vₓ:n,vᵧ:o,v:i},errorBound:{v_:u}}=Ti(t),l=Cl(e),f=Cl(r),h=Tl(s),a=Tl(c),p=Tl(n[1]),d=Tl(o[1]),g=h/3,v=a/3,m=n[1]*s,_=Ml(l,n),b=p*g+2*Tl(m),x=o[1]*c,I=Ml(f,o),N=d*v+2*Tl(x),S=Il(_,I),E=b+N+Tl(S[1]),w=Il(S,i),M=E+u+Tl(w[1]);if(Ol*M<Tl(wl(w)))return!1}{const n=function(t){return cc(ec(t))}(t);if(void 0===n)return u&&s===t[0][0]&&c===t[0][1];const{vₓ:o,vᵧ:i,v:l}=n,f=Nl(e,o),h=Nl(r,i),a=Sl(Sl(f,h),l);return 0===El(a)}}(t,n);if(1===t.length){const e=Y(n[0]),r=Y(n[1]);return 1===e.length&&1===r.length&&e[0]===t[0][0]&&r[0]===t[0][1]}throw new Error("The given bezier curve must be of order <= 3")}(e,r[r.length-1].map((t=>[t])))){const i=sf(e,r,[(o=1,{tS:o,tE:o,multiplicity:1})]);if(void 0===i||0===i.length)return;return[[{x:i[0][0],curve:t},sh(1,n,1)]]}var o}const uh=Math.abs;const lh=Math.abs,fh=Ln(1),hh=Q,ah=T,ph=A,dh=A,gh=Q,vh=L,mh=yt,_h=function(t,n){const e=t+n,r=e-t;return[t-(e-r)+(n-r),e]},bh=Pt,xh=Et,Ih=Mt,Nh=Ot,Sh=T,Eh=je,wh=2*Number.EPSILON,Mh=Math.abs,Ch=Ln(1);function Th(t,n=!0){if(t.length<4)return[];const{coeffs:[e,r,o],errBound:[i,s,c]}=function(t){const{coeffs:[[n,e,r],[o,i,s]],errorBound:[[c,u],[l,f]]}=function(t){const[[n,e],[r,o],[i,s],[c,u]]=t,l=c-n,f=r-i,h=l+3*f,a=i+n,p=a-2*r,d=r-n,g=u-e,v=o-s,m=g+3*v,_=s+e,b=_-2*o,x=o-e;return{coeffs:[[h,3*p,3*d,n],[m,3*b,3*x,e]],errorBound:[[uh(l)+6*uh(f)+uh(h),6*(uh(a)+uh(p)),6*uh(d),0],[uh(g)+6*uh(v)+uh(m),6*(uh(_)+uh(b)),6*uh(x),0]]}}(t),h=lh(n),a=lh(e),p=lh(r),d=lh(o),g=lh(i),v=lh(s),m=e*o,_=n*i,b=n*s,x=r*o,I=e*s,N=r*i,S=u*d+a*l+lh(m),E=c*g+h*f+lh(_),w=c*v+lh(b),M=p*l+lh(x),C=u*v+lh(I),T=p*f+lh(N),O=m-_,P=lh(O),y=S+E+P,A=x-b,B=lh(A),z=M+w+B,Y=I-N,F=lh(Y),V=C+T+F,k=O*O,L=O*A,D=Y*O,X=A*A,Q=D+X;return{coeffs:[k,L,Q],errBound:[2*y*P+lh(k),y*B+P*z+lh(L),V*P+F*y+lh(D)+(2*B*z+lh(X))+lh(Q)].map((t=>fh*t))}}(t);if(Mh(e)<=i){const[[n,e],[r,o],[i,s],[c,u]]=t,l=Sh(mh(c,n),vh(3,mh(r,i))),f=Eh(_h(i,n),-2*r),h=Sh(mh(u,e),vh(3,mh(o,s))),a=Eh(_h(s,e),-2*o);if(0===hr(gh(f,h),gh(l,a)))return[]}const u=r*r,l=4*e*o,f=u-l,h=2*s*Mh(r)+Ch*u+(4*(i*Mh(o)+Mh(e)*c)+Ch*Mh(l))+Ch*Mh(f);if(f<-h)return[];if(f>h){const{est:t,err:u}=function(t,n){if(t-n<=0){const e=t>0?Math.sqrt(t):0;return{est:e,err:Math.max(Math.sqrt(t+n)-e,e)}}const e=Math.sqrt(t),r=Math.sqrt(t-n),o=Math.sqrt(t+n);return{est:e,err:Math.max(Math.abs(r-e),Math.abs(o-e))}}(f,h);let l;l=r>=0?-r-t:-r+t;const a=s+u+Ch*Mh(l),{est:p,err:d}=Bt(l,2*e,a,2*i),{est:g,err:v}=Bt(2*o,l,2*c,a);if(n){if(p+d<0||p-d>1||g+v<0||g-v>1)return[]}else if((p+d<0||p-d>1)&&(g+v<0||g-v>1))return[]}let[a,p,d]=function(t){const[[n,e,r],[o,i,s]]=tc(t),c=hh(e,o),u=hh(n,i),l=hh(n,s),f=hh(r,o),h=hh(e,s),a=hh(r,i),p=ph(c,u),d=ph(f,l),g=ph(h,a),v=hh(p,p),m=hh(p,d),_=hh(p,g),b=hh(d,d);return[v,m,ah(_,b)]}(t);const g=dh(gh(p,p),vh(4,gh(a,d))),v=V(g);if(v<0)return[];if(v>0){const t=function(t){const n=t[0],e=t[1];if(0===e)return[0,0];const r=Math.sqrt(e),o=r*r,i=134217729*r,s=i-(i-r),c=r-s,u=.5*(e-o-(c*c-(o-s*s-s*c*2))+n)/r;return[u-(r+u-r),r+u]}(yr(g));let e;a=yr(a),p=yr(p),d=yr(d),e=V(p)>=0?bh(xh(p,t)):xh(bh(p),t);let r=B(Nh(e,Ih(a))),o=B(Nh(Ih(d),e));if(n){if(r<-wh||r>1+wh||o<-wh||o>1+wh)return[]}else if((r<-wh||r>1+wh)&&(o<-wh||o>1+wh))return[];return[r,o]=r<o?[r,o]:[o,r],r>=0-wh&&r<=1+wh?o>=0-wh&&o<=1+wh?[r,o]:[r]:o>=0-wh&&o<=1+wh?[o]:[]}const m=gr(a);if(V(p)*V(m)<0)return[];if(hr(pr(p),pr(m))>0)return[];const _=yr(p),b=yr(m),x=Nh(_,b),I=x[1]+x[0];return[I,I]}const Oh=Number.EPSILON,Ph=b((function(t){const n=t.curves;let e=Jn(n[0].ps).minY,r=n[0];for(let o=1;o<n.length;o++){const n=Jn(t.curves[o].ps).minY,i=n.box[0][1],s=e.box[0][1];(i<s||i===s&&n.ts[0]>e.ts[0])&&(e=n,r=t.curves[o])}return{curve:r,y:e}}));function yh(t){const{curve:n,y:e}=Ph(t),r=e.ts;return r[0]<=0?[sh(0,n,0),sh(1,n.prev,0)]:r[1]>=1?[sh(1,n,0),sh(0,n.next,0)]:[{x:{ri:{tS:r[0],tE:r[1],multiplicity:1},kind:0,box:e.box},curve:n},{x:{ri:{tS:r[0],tE:r[1],multiplicity:1},kind:0,box:e.box},curve:n}]}function Ah(t,n,e){const r=e-(n-Math.floor(Math.log2(Math.abs(t))))+1;return r<=0?0:e>=53?t:Ve(t,r)}const{abs:Bh}=Math;function zh(t,n){let e=t.side-n.side;if(0!==e)return e;const r=t.sideX,o=n.sideX;e=r.ri.tS-o.ri.tS;const i=8*Number.EPSILON;return Bh(e)>=i?e:(r.compensated||(r.compensated=1,r.riExp=gi(r.ri,r.getPExact())[0]),o.compensated||(o.compensated=1,o.riExp=gi(o.ri,o.getPExact())[0]),e=hr(r.riExp.tS,o.riExp.tS),0!==e?e:(e=n.dir-t.dir,0!==e?e:1===t.dir?t.idx-n.idx:n.idx-t.idx))}function Yh(t,n,e){const r=function(t,n){const e=[];for(const n of t)for(const t of n.curves)e.push(t);const r=bl(e,(t=>$o(t.ps)[0][0]),(t=>$o(t.ps)[1][0]),function(t){return(n,e)=>{const r=n.ps,o=e.ps;if(2===r.length&&2===o.length)return function(t,n,e){let r=t.ps,o=n.ps;const i=$o(r),s=$o(o);if(t.next!==n&&n.next!==t){if(Ko(!0,i,s)){const r=eh(t,n,e,!1);return r.length?r:void 0}return}if(n.next===t&&([t,n]=[n,t],[r,o]=[o,r]),0!==F(r[0],r[1],o[1]))return;if(!Ko(!1,i,s))return;let c;return c=a(r[0],r[1])>a(o[0],o[1])?[eo(ho(r,o[1])[0].ri),1]:[0,eo(ho(o,r[0])[0].ri)],[[sh(1,t,5),sh(0,n,5)],[sh(c[0],t,5),sh(c[1],n,5)]]}(n,e,t);if(n.next===e||e.next===n)return Ko(!1,$o(r),$o(o))&&cf(oe(r),oe(o),!1)?e.next===n?eh(e,n,t,!0):eh(n,e,t,!0):ch(n,e);let i=Ko(!0,$o(r),$o(o));return i?(i=cf(oe(r),oe(o),!0),i?eh(n,e,t,!1):void 0):void 0}}(n)),o=[];for(const t of r)for(const n of t.u)o.push(n);return o}(t,e),o=function(t){const n=[];for(const e of t)for(const t of e.curves){const e=t.ps,r=Th(e);if(0===r.length)continue;const o=r[0]===r[1]?3:2,i=r[0]-Oh,s=r[0]+Oh,c=r[1]-Oh,u=r[1]+Oh,l=Wn(e,[i,s]),f=Wn(e,[c,u]);n.push([{x:{ri:{tS:i,tE:s,multiplicity:1},box:l,kind:o},curve:t},{x:{ri:{tS:c,tE:u,multiplicity:1},box:f,kind:o},curve:t}])}return n}(t),i=function(t){const n=[];for(const e of t)for(const t of e.curves)n.push([sh(1,t,4),sh(0,t.next,4)]);return n}(t),{extremes:s,xs:c}=function(t){const n=new Map,e=[];for(const r of t){const t=yh(r);e.push(t),n.set(r,t)}return{extremes:n,xs:e}}(t);let u=[...r,...o,...i,...c];if("undefined"!=typeof _debug_){for(const t of r)_debug_.generated.elems.intersection.push(...t);for(const t of o)_debug_.generated.elems.intersection.push(...t);for(const t of i)_debug_.generated.elems.intersection.push(...t);for(const t of c)_debug_.generated.elems.intersection.push(...t)}let l=u.map((t=>({xs:t,box:[[t[0].x.box[0][0]-n,t[0].x.box[0][1]-n],[t[0].x.box[1][0]+n,t[0].x.box[1][1]+n]],inOuts:void 0})));for(;;){const t=bl(l,Fh,Vh,ti);if(!t.length)break;const n=new Map;ni(n,t);const e=oi(n),r=ii(l,e);l=[...si(e),...r]}l=function(t){return t.filter((t=>{const n=t.xs;if(2===t.xs.length){const t=n[0];if(1===t.x.kind&&t.x.ri.multiplicity%2==0)return!1}for(const n of t.xs)if(4!==n.x.kind)return!0;return!1}))}(l),l=function(t,n,e){const r=Math.log2(e)-3;return t.map((t=>{const e=t.box.map((t=>t.map((t=>Ah(t,n,n-r)))));return{...t,box:e}}))}(l,e,n),"undefined"!=typeof _debug_&&(_debug_.generated.elems.container=l);let f=0;for(const t of l){for(const n of t.xs)n.container=t;let n;({inOuts:n,ioIdx:f}=_l(t,f)),t.inOuts=n}u=u.filter((t=>void 0!==t[0].container)),function(t){const n=new Map;for(const e of t)for(const t of e){const e=t.curve.loop,r=n.get(e)||[];r.length||n.set(e,r),r.push(t)}for(const t of n){const n=t[1];if(!n||!n.length)continue;n.sort(((t,n)=>{let e=t.curve.idx-n.curve.idx;return 0!==e?e:(e=t.x.ri.tS-n.x.ri.tS,0!==e?e:void 0!==t.in_?-1:1)}));const e=n.length;for(let t=0;t<e;t++)n[t].next=n[(t+1)%e]}}(u);for(const t of l)for(const n of t.inOuts){if(-1===n.dir)continue;let t=n._x_;for(;t=t.next,void 0===t.in_;);n.next=t.in_,n.idx=n.next.idx}for(const t of l)t.inOuts.sort(zh);for(const t of l){const n=t.inOuts;let e=n[n.length-1];for(let t=0;t<n.length;t++){const r=n[t];r.prevAround=e,e.nextAround=r,e=r}}return{extremes:s,containers:l}}function Fh(t){return t.box[0][0]}function Vh(t){return t.box[1][0]}function kh(t){const n=t.inOuts,e=n[0],r=n[n.length-1];return 1===e.dir?(e.orientation=-1,e):(r.orientation=1,r)}function Lh(t=[],n){const e=[],r={beziers:t,curves:e,idx:n};if(!t.length)return r;let o,i=0;for(let n=0;n<t.length;n++){if(2===(s=t[n]).length?s[0][0]===s[1][0]&&s[0][1]===s[1][1]:3===s.length?s[0][0]===s[1][0]&&s[0][1]===s[1][1]&&s[1][1]===s[2][1]&&s[1][1]===s[2][1]:s[0][0]===s[1][0]&&s[0][1]===s[1][1]&&s[1][1]===s[2][1]&&s[1][1]===s[2][1]&&s[2][1]===s[3][1]&&s[2][1]===s[3][1])continue;const c={loop:r,ps:t[n],prev:o,next:void 0,idx:i};o&&(o.next=c),o=c,e.push(c),i++}var s;const c=e[e.length-1];return e[0].prev=c,c.next=e[0],c.ps[c.ps.length-1]=e[0].ps[0],r}const{orient2d:Dh}=Yr;function Xh(t){if(4===t.length)return 0===Dh(t[0],t[1],t[2])&&0===Dh(t[1],t[2],t[3])&&0===Dh(t[0],t[2],t[3]);if(3===t.length)return 0===Dh(t[0],t[1],t[2]);if(t.length<=2)return!0;throw new Error("The given bezier curve must be of order <= 3.")}function Qh(t){if(!Xh(t))return!1;const n=t.map((t=>t[0])),e=t.map((t=>t[1]));return!(qh(n)&&qh(e))}function qh(t){return function(t){for(let n=1;n<t.length;n++)if(t[n-1]>t[n])return!1;return!0}(t)||function(t){for(let n=1;n<t.length;n++)if(t[n-1]<t[n])return!1;return!0}(t)}function $h(t,n){const e=n/Math.sqrt(t[0]*t[0]+t[1]*t[1]);return[e*t[0],e*t[1]]}function Hh(t){for(let n=0;n<t.length-1;n++)for(let e=n+1;e<t.length;e++)if(t[n][0]===t[e][0]&&t[n][1]===t[e][1])return!1;return!0}function Gh(t,n,e){if(!bf(t)){if(2===t.length)return t;if(3===t.length)return Hh(t)?Xh(t)?[t[0],t[2]]:t:Uh(t[0],t[2])?[t[0],t[1]]:[t[0],t[2]];if(Hh(t))return Rh(t);if(Uh(t[0],t[3]))return Uh(t[1],t[2])?[t[0],t[2]]:t;if(Uh(t[0],t[1])&&Uh(t[1],t[2])||Uh(t[1],t[2])&&Uh(t[2],t[3])||Uh(t[0],t[1])&&Uh(t[2],t[3]))return t[0][0]-t[3][0]>4*n||t[0][1]-t[3][1]>4*n?[t[0],t[t.length-1]]:void 0;if(Uh(t[0],t[2])||Uh(t[1],t[3])||Uh(t[1],t[2]))return t;if(Uh(t[0],t[1])){if(a(t[1],t[2])<4*n)return[t[0],t[2],t[2],t[3]];{const r=$h(p(t[1],t[2]),2*n),o=st(t[1],r);return Rh([t[0],e(o),t[2],t[3]])}}if(Uh(t[2],t[3])){if(a(t[2],t[1])<4*n)return[t[0],t[1],t[1],t[3]];{const r=$h(p(t[2],t[1]),2*n),o=st(t[2],r);return Rh([t[0],t[1],e(o),t[3]])}}}}function Rh(t){return Xh(t)?[t[0],t[3]]:df(t)?Ac(t):t}function Uh(t,n){return t[0]===n[0]&&t[1]===n[1]}function jh(t){return t}function Zh(t,n,e,r=!1,o=!0){const i=function(t,n,e=!0){const r=2**t*2**-n,o=e?function(t,n){return e=>[Ah(e[0],t,n),Ah(e[1],t,n)]}(t,n):jh;return t=>{const n=[];for(let e=0;e<t.length;e++){let i=t[e].slice();const s=n[n.length-1],c=s?s[s.length-1]:o(t[0][0]);i[0]=c,i=i.map((t=>o(t))),Qh(i)&&(i=[i[0],i[i.length-1]]),i=Gh(i,r,o),void 0!==i&&n.push(i)}const e=n.length;if(!e)return[];const i=n[e-1];return i[i.length-1]=n[0][0],n}}(e,n,o);let s=t.slice();return s=r?function(t,n,e,r=.02){const o=[];for(const i of t){const t=[];for(const o of i){const i=o.map((t=>t.map((t=>{let o,i=0,s=0,c=0;for(;!(++s>10);){i=(t+Math.random())*(1+(Math.random()-.7)*r),i=Ah(i,e,n);const s=Xe(i);s>c&&(c=s,o=i)}return o}))));t.push(i)}o.push(t)}return o}(s,n,e,1):s,s=s.map(i),s=s.filter((t=>t.length>0)),s}const Wh=b((t=>{let n=0;for(const e of t)for(const t of e)for(const e of t)for(const t of e){const e=Math.abs(t);e>n&&(n=e)}return n}));function Jh(t,n){const e=[],r=t.length-1;for(let n=0;n<r+1;n++)e.push(t[n]/(r+1-n));return e.push(n),e}const Kh=bo;function ta(t,n){const e=t.length-1,r=n.length-1,o=e-r,i=o<0?+o:0,s=o>0?-o:0,c=Math.max(e,r),u=[];for(let e=0;e<c+1;e++){const r=t[e+i]||0,o=n[e+s]||0;u.push(r+o)}return Kh(u)}function na(t){let n=0;for(const e of t.curves){const t=e.ps,[r,o]=Xo(t),[i,s]=N(t);n+=I(Jh(ta(Io(r,s),fn(Io(o,i))),0),1)}return-n/2}function ea(t){return t[0]*t[0]+t[1]*t[1]}function ra(t,n,e){return t[0]*(n[1]*e[2]-n[2]*e[1])-t[1]*(n[0]*e[2]-n[2]*e[0])+t[2]*(n[0]*e[1]-n[1]*e[0])}function oa(t){const n=t[0],e=t[1],r=t[2],o=ea,i=.5*ra([o(n),n[1],1],[o(e),e[1],1],[o(r),r[1],1]),s=.5*ra([n[0],o(n),1],[e[0],o(e),1],[r[0],o(r),1]),c=ra([n[0],n[1],1],[e[0],e[1],1],[r[0],r[1],1]);return[i/c,s/c]}function ia(t){return Math.sqrt(t[0]*t[0]+t[1]*t[1])}const sa=b(Kn),ca=a;function ua(t,n){const e=t[0],r=t[1],o=e[0],i=e[1],s=r[0],c=r[1],u=n[0],l=n[1];return u<o?l<i?ca(t[0],n):l>c?ca([o,c],n):(o-u)**2:u>s?l<i?ca([s,i],n):l>c?ca(t[1],n):(u-s)**2:l<i?(i-l)**2:l>c?(l-c)**2:0}function la(t,n){const e=[0,1,2,3].map((e=>function(t,n){const e=a,r=n[0],o=n[1],i=e(r,o);if(0==i)return e(t,r);let s=((t[0]-r[0])*(o[0]-r[0])+(t[1]-r[1])*(o[1]-r[1]))/i;return s=Math.max(0,Math.min(1,s)),e(t,[r[0]+s*(o[0]-r[0]),r[1]+s*(o[1]-r[1])])}(n,[t[e],t[(e+1)%4]]))),r=a(t[0],t[1]),o=a(t[0],t[3]);return e[0]<=o&&e[2]<=o&&e[1]<=r&&e[3]<=r?0:Math.min(...e)}const fa=b(ee);function ha(t,n){if(t.length>0){const e=function(t,n){let e=Number.POSITIVE_INFINITY;for(let r=0;r<t.length;r++){const o=t[r],i=o.curve.ps,s=x(i,o.ts[0]),c=x(i,o.ts[1]),u=Math.min(a(n,s),a(n,c));u<e&&(e=u)}return 1.01*e}(t,n);t=function(t,n,e){const r=[];for(let o=0;o<t.length;o++){const i=t[o],s=i.curve.ps;ua(sa(s),n)<=e&&r.push(i)}return r}(t,n,e),t=function(t,n,e){const r=[];for(let o=0;o<t.length;o++){const i=t[o],s=i.curve.ps;la(fa(s),n)<=e&&r.push(i)}return r}(t,n,e)}return t}const aa=Nt,pa=Et;function da(t,n){const e=t.length;if(0===n)return t[0];if(1===n)return t[e-1];const[r,o]=Xo(t);return[I(r,n),I(o,n)]}function ga(t,n,[e,r]=[0,1],o,i){const s=function(t,n){if(4===t.length)return ae(t,n);if(3===t.length)return xe(t,n);if(2===t.length)return we(t,n);throw new Error("The given bezier curve must be of order 1,2 or 3")}(t.ps,n),c=t===o?function(t,n){const e=t.length-1,r=[t[0]];for(let o=1;o<e;o++)r.push(pa(t[o],aa(n,r[o-1])));return r}(s,i):s,u=An(c,e,r);let l=!0,f=!0;(1===i&&t===o.next||0===i&&t===o)&&(l=!1),(0===i&&t===o.prev||1===i&&t===o)&&(f=!1),0===e?l&&u.push({tS:0,tE:0}):1===e?f&&u.push({tS:1,tE:1}):u.push({tS:e,tE:e}),0===r?l&&u.push({tS:0,tE:0}):1===r?f&&u.push({tS:1,tE:1}):u.push({tS:r,tE:r});const h=u.map((n=>{const e=n.tS,r=n.tE,o=e<0?0:r>1?1:(e+r)/2;return{p:da(t.ps,o),t:o}}));return h}function va(t,n,e,r){t=ha(t,n);let o,i=Number.POSITIVE_INFINITY;for(let s=0;s<t.length;s++){const c=t[s],u=v(n,ga(c.curve,n,c.ts,e,r),(t=>t.p));if(void 0===u)continue;const l=te(u.p,n);let f=c.curve,h=u.t;l<i&&(0===h&&(h=1,f=c.curve.prev),o={pos:new R(f,h),d:l},i=l)}return o}function ma(t,n){return n.map((n=>{const e=va(n,t,void 0,void 0);return e?e.pos:void 0}))}function _a(t,n,e){const r=ia(e);let o,i,s,c,u=1,l=0;do{i=st([(h=u)*(f=e)[0],h*f[1]],n),s=ma(i,t),c=ia(p(i,oa(s.map((t=>t.p))))),o=c<r,u/=2,l++}while(!o&&l<3);var f,h;return{newX:i,newV:c,newPs:s}}const ba=p;function xa(t,n,e,r,o){const i=1e-10*o,s=[t[0],t[n],t[t.length-1]],c=[r[0],r[n],r[t.length-1]],u=[[s[0],s[1],s[2]],[s[1],s[2],s[0]],[s[2],s[0],s[1]]][e],l=[[c[0],c[1],c[2]],[c[1],c[2],c[0]],[c[2],c[0],c[1]]][e];if(u[0][0].isSharp())return;let f,a,d=0,g=function(t,n){const e=t[0][0].cp.circle.center,r=va(n[1],e,void 0,void 0);return oa([t[0][0].cp.pointOnShape.p,r.pos.p,t[2][1].cp.pointOnShape.p])}(u,l);if("undefined"!=typeof _debug_){const t=_debug_.generated.elems.threeProng,n=t[t.length-1];n.traces[n.traces.length-1].push(g)}let v=Number.POSITIVE_INFINITY;for(;v>i&&d<10;){if(d++,f=ma(g,l),!Number.isFinite(g[0])||!Number.isFinite(g[1]))return;a=oa(f.map((t=>t.p)));const t=ba(g,a);if(!Number.isFinite(t[0])||!Number.isFinite(t[1]))return;const n=_a(l,g,t);if(g=n.newX,f=n.newPs,"undefined"!=typeof _debug_){const t=_debug_.generated.elems.threeProng,n=t[t.length-1];n.traces[n.traces.length-1].push(g)}const e=ia(t);v=Math.abs(e-n.newV)}const m=(te(g,f[0].p)+te(g,f[1].p)+te(g,f[2].p))/3,_={center:g,radius:m};let b=0;for(let t=0;t<3;t++){const n=f[t],e=h(p(n.p,g)),r=it(e);if(W(n)){const t=G(n.curve).tangents.map(it),r=Math.asin(w(t[0],e)),o=Math.asin(w(e,t[1]));let i=0;r>0&&(i+=r),o>0&&(i+=o),b+=i}else{const t=h(E(n.curve.ps,n.t));b+=Math.abs(Math.asin(w(r,t)))}}const x=[];for(let t=0;t<r.length;t++){const n=va(r[t],g,void 0,void 0);x.push(te(n.pos.p,g))}const I=Math.min(...x);return{ps:f,circle:_,error:1*Math.abs(m-I)+1*b,δ3s:u}}function Ia(t){let n=t[0];const e=t[1],r=[];let o=!0;do{if(!o){o=!0,n=n.prevOnCircle;continue}o=!1;const t=n.cp.pointOnShape,e=n.next.cp.pointOnShape;e.curve===t.curve&&J(t)&&J(e)||(e.curve===t.curve&&rt(n.next.cp,n.cp)>0?r.push({curve:t.curve,ts:[t.t,e.t]}):(r.push({curve:t.curve,ts:[t.t,1]}),n.cp.pointOnShape.curve.loop===n.next.cp.pointOnShape.curve.loop&&Na(r,t.curve,e.curve,e.t))),n=n.next}while(n!==e);return r}function Na(t,n,e,r){let o=n;do{o=o.next;const n=o===e?r:1;t.push({curve:o,ts:[0,n]})}while(o!==e)}function Sa(t,n,e,r){const o=t.findBounds(new ht({pointOnShape:n,circle:void 0,order:e,order2:r},!1,!1));return o[0]||o[1]?o[0]&&o[1]?[o[0].datum,o[1].datum]:[t.max(t.root),t.min(t.root)]:[void 0,void 0]}function Ea(t,n,e,r,o){const i=r.map(((r,i)=>{const s=e.get(r.curve.loop),c={pointOnShape:r,circle:t,order:n[i],order2:0},u=o?o[i]:Sa(s,r,n[i],0);return ht.insert(!1,!1,s,c,u[0])})),s=r.length;for(let t=0;t<s;t++){const n=0===t?s-1:t-1,e=t===s-1?0:t+1;i[t].prevOnCircle=i[n],i[t].nextOnCircle=i[e]}}function wa(t,n,e,r,o,i,s){const c=1e-4*i,u=Sa(t.get(n.curve.loop),n,r,o);if(!u[0])return!1;for(const t of u){const r=t.cp.pointOnShape,o=n.p;if(!(te(o,r.p)>c)&&m(h(p(t.cp.pointOnShape.p,t.cp.circle.center)),h(p(o,e.center)))>.9986295347545738)return!0}return!1}function Ma(t,n,e){function r(n,e){let r=t.get(n);r||(r=new Set,t.set(n,r)),r.add(e)}void 0!==n&&(r(n,e),r(e,n))}function Ca(t,n,e){let r;r=t.get(n);const o=r&&r.has(e);r=t.get(e);const i=r&&r.has(n);return o||i}function Ta(t){let n=t;if(n===n.next.prevOnCircle)return[n];const e=[];do{e.push(n);const t=n.next.prevOnCircle;n=n=n===t?n.next.next:t}while(n!==t);return e}let Oa,Pa=0;function ya(t,n,e){let r;do{if(r=Ta(n),r.length>2&&(Aa(t,r,e),Pa++),"undefined"!=typeof _debug_&&Pa===_debug_.directives.stopAfterThreeProngsNum)return}while(r.length>2);return r}function Aa(t,n,e){const r=[];for(const t of n)r.push([t,t.next]);const o=function(t,n){const e=t.map(Ia);if("undefined"!=typeof _debug_){const t=_debug_.generated.elems.threeProng;t.push({generated:void 0,circle:void 0,poss:void 0,cp3ss:void 0,cpss:void 0,bestIndx:void 0,candidateThreeProngs:void 0,visitedCps:void 0,boundaries:void 0,traces:void 0});const n=t[t.length-1];n.boundaries=[];for(const t of e){const e=[];n.boundaries.push(e);for(const n of t){const t=ao(n.curve.ps,n.ts[0],n.ts[1]);e.push(t)}}n.traces=[]}const r=[];let o,i,s=Number.POSITIVE_INFINITY;for(let c=1;c<t.length-1;c++)for(let u=0;u<3;u++){if("undefined"!=typeof _debug_){const t=_debug_.generated.elems.threeProng,n=[];t[t.length-1].traces.push(n)}const l=xa(t,c,u,e,n);if(!l)continue;const{circle:f,ps:h,error:a,δ3s:p}=l;"undefined"!=typeof _debug_&&r.push({circle:f,ps:h}),a<s&&(s=a,i=c-1,o={circle:f,ps:h,δ3s:p})}if("undefined"!=typeof _debug_){const n=_debug_.generated.elems.threeProng,e=n[n.length-1];e.generated=_debug_.generated,e.circle=o.circle,e.poss=o.ps,e.cp3ss=o.δ3s,e.cpss=t,e.bestIndx=i,e.candidateThreeProngs=r}return o}(r,e),i=[];for(let t=0;t<3;t++)i.push(K(o.circle,o.ps[t]));const s=function(t,n,e){const{circle:r,ps:o,δ3s:i}=e;return wa(t,o[0],r,n[0],0,1e3),wa(t,o[1],r,n[1],0,1e3),wa(t,o[2],r,n[2],0,1e3),Ea(r,n,t,o,i),r}(t,i,o);"undefined"!=typeof _debug_&&function(t,n){const e=_debug_.generated.elems.threeProng,r=e[e.length-1];r.visitedCps=n,r.circle=t}(s,n)}class Ba{constructor(t){this.datum=t,this.color=0}}function za(t){return!!t&&0===t.color}class Ya{constructor(t,n=!0,e){if(this.compare=t,this.duplicatesAllowed=n,this.getMinNode=this.getMinOrMaxNode(-1),this.getMaxNode=this.getMinOrMaxNode(1),this.root=void 0,this.nodeCount=0,this.valueCount=0,e)for(const t of e)this.insert(t)}isEmpty(){return!this.root}find(t){const n=this;let e=this.root;for(;e;){const r=n.compare(t,e.datum);if(0===r)return e;e=e[r>0?1:-1]}}toArrayInOrder(){const t=[];return function n(e){e&&(n(e[-1]),t.push(e.datum),void 0!==e.extras&&t.push(...e.extras),n(e[1]))}(this.root),t}insertMulti(t){const n=this;for(const e of t)n.insert(e)}insert(t){const n=this;n.root=function t(e,r){if(void 0===e)return n.valueCount++,n.nodeCount++,new Ba(r);const o=n.compare(r,e.datum);if(0===o&&(n.duplicatesAllowed?(n.valueCount++,void 0===e.extras?e.extras=[r]:e.extras.push(r)):e.datum=r),0!==o){const n=o>0?1:-1;e[n]=t(e[n],r),e[n].parent=e}return za(e[1])&&!za(e[-1])&&(e=Fa(-1,e)),za(e[-1])&&za(e[-1][-1])&&(e=Fa(1,e)),za(e[-1])&&za(e[1])&&ka(e),e}(n.root,t),n.root.color=1,n.root.parent=void 0}remove(t,n=!1,e){const r=this;if(void 0===r.root)return;let o;const i=function t(i,s){const c=r.duplicatesAllowed&&void 0!==i.extras;let u=r.compare(s,i.datum);if(u<0&&!i[-1]||u>0&&!i[1])return i;if(u<0){za(i[-1])||za(i[-1][-1])||(i=La(i));const n=t(i[-1],s);return null===n?null:(i[-1]=n,i[-1]&&(i[-1].parent=i),Da(i))}if(za(i[-1])&&(i=Fa(1,i),u=r.compare(s,i.datum)),0===u&&!i[1]){if(c&&!n){if(void 0===e||!0===e(s,i.datum))return o=i.datum,i.datum=i.extras.pop(),r.valueCount--,0===i.extras.length&&(i.extras=void 0),i;{const t=i.extras;for(let n=0;n<t.length;n++)if(!0===e(s,t[n]))return o=t.splice(n,1)[0],r.valueCount--,0===t.length&&(i.extras=void 0),i;return null}}return void 0===e||!0===e(s,i.datum)?(o=i.datum,r.valueCount-=1+(c?i.extras.length:0),void r.nodeCount--):null}if(za(i[1])||za(i[1][-1])||(i=function(t){return ka(t),za(t[-1][-1])&&ka(t=Fa(1,t)),t}(i),u=r.compare(s,i.datum)),0===u)if(c&&!n)if(void 0===e||!0===e(s,i.datum))o=i.datum,i.datum=i.extras.pop(),r.valueCount--,0===i.extras.length&&(i.extras=void 0);else{const t=i.extras;let n=!1;for(let c=0;c<t.length;c++)if(!0===e(s,t[c])){o=t.splice(c,1)[0],r.valueCount--,0===t.length&&(i.extras=void 0),n=!0;break}if(!n)return null}else{if(void 0!==e&&!0!==e(s,i.datum))return null;{r.valueCount-=1+(c?i.extras.length:0),o=i.datum;const t=r.getMinNode(i[1]);i.datum=t?.datum,r.duplicatesAllowed&&(i.extras=t?.extras),i[1]=Va(i[1]),r.nodeCount--}}else{const n=t(i[1],s);if(null===n)return null;i[1]=n}return i[1]&&(i[1].parent=i),Da(i)}(r.root,t);return null!==i?(r.root=i,void 0!==r.root&&(r.root.color=1,r.root.parent=void 0),o):void 0}findBounds(t){const n=this;let e=n.root;const r=[void 0,void 0];if(void 0===e)return r;for(;e;){const o=n.compare(t,e.datum);o>=0?r[0]=e:r[1]=e,e=e[o>=0?1:-1]}return r}findBoundsExcl(t){const n=this,e=n.root,r=[void 0,void 0];return void 0===e||function e(o){for(;o;){const i=n.compare(t,o.datum);if(0===i)return e(o[-1]),void e(o[1]);i>0?r[0]=o:i<0&&(r[1]=o),o=o[i>0?1:-1]}}(e),r}findAll(t){const n=this;let e=this.root;for(;e;){const r=n.compare(t,e.datum);if(0===r)return[e.datum,...e.extras?e.extras:[]];e=e[r>0?1:-1]}return[]}getMinOrMaxNode(t){return n=>{if(void 0===n&&(n=this.root),n){for(;n[t];)n=n[t];return n}}}min(t){void 0===t&&(t=this.root);const n=this.getMinNode(t);if(void 0!==n)return n.datum}max(t){void 0===t&&(t=this.root);const n=this.getMaxNode(t);if(void 0!==n)return n.datum}}function Fa(t,n){const e=n[-t];return n[-t]=e[t],e[t]&&(e[t].parent=n),e[t]=n,n.parent=e,e.color=n.color,n.color=0,e}function Va(t){if(t[-1])return za(t[-1])||za(t[-1][-1])||(t=La(t)),t[-1]=Va(t[-1]),t[-1]&&(t[-1].parent=t),Da(t)}function ka(t){t.color=(t.color+1)%2,t[-1].color=(t[-1].color+1)%2,t[1].color=(t[1].color+1)%2}function La(t){if(ka(t),za(t[1][-1])){const n=Fa(1,t[1]);t[1]=n,n.parent=t,ka(t=Fa(-1,t))}return t}function Da(t){return za(t[1])&&(t=Fa(-1,t)),za(t[-1])&&za(t[-1][-1])&&(t=Fa(1,t)),za(t[-1])&&za(t[1])&&ka(t),t}const Xa=Number.POSITIVE_INFINITY,Qa=b((function(t){const n=[[{bezier:void 0,t:void 0,val:Xa},{bezier:void 0,t:void 0,val:Xa}],[{bezier:void 0,t:void 0,val:-Xa},{bezier:void 0,t:void 0,val:-Xa}]];return t.curves.forEach((function(t){const e=Ho(t.ps);{const r=e.box[0][0],o=n[0][0].val;(r<o||r===o&&e.ts[0][0]>n[0][0].t)&&(n[0][0]={bezier:t,t:e.ts[0][0],val:r})}{const r=e.box[0][1],o=n[0][1].val;(r<o||r===o&&e.ts[0][1]>n[0][1].t)&&(n[0][1]={bezier:t,t:e.ts[0][1],val:r})}{const r=e.box[1][0],o=n[1][0].val;(r>o||r===o&&e.ts[1][0]>n[1][0].t)&&(n[1][0]={bezier:t,t:e.ts[1][0],val:r})}{const r=e.box[1][1],o=n[1][1].val;(r>o||r===o&&e.ts[1][1]>n[1][1].t)&&(n[1][1]={bezier:t,t:e.ts[1][1],val:r})}})),{minX:new R(n[0][0].bezier,n[0][0].t),minY:new R(n[0][1].bezier,n[0][1].t),maxX:new R(n[1][0].bezier,n[1][0].t),maxY:new R(n[1][1].bezier,n[1][1].t)}})),qa=b((function(t){let n,e,r,o,i=Number.POSITIVE_INFINITY,s=Number.NEGATIVE_INFINITY,c=Number.POSITIVE_INFINITY,u=Number.NEGATIVE_INFINITY;for(const l of t){const t=Qa(l);t.minX.p[0]<i&&(n=t.minX,i=t.minX.p[0]),t.maxX.p[0]>s&&(e=t.maxX,s=t.maxX.p[0]),t.minY.p[1]<c&&(r=t.minY,c=t.minY.p[1]),t.maxY.p[1]>u&&(o=t.maxY,u=t.maxY.p[1])}return{minX:n,minY:r,maxX:e,maxY:o}}));function $a(t,n,e){if(W(e))return void("undefined"!=typeof _debug_&&_debug_.generated.elems.oneProngAtDullCorner.push(e));const r=et(t,e);wa(n,e,r,K(r,e),0,1e3)||(Ea(r,[-.5,.5],n,[e,e]),"undefined"!=typeof _debug_&&_debug_.generated.elems.oneProng.push(e))}function Ha(t){return t.holeClosing?"twoProng_holeClosing":"twoProng_regular"}function Ga(t,n,e){if(t.length<=5)return t;const r=[];for(const o of t){const t=o.curve.ps;ua(sa(t),n)<=1.001*e&&r.push(o)}return r}function Ra(t,n,e){const r=Math.abs((t[1]-n[1])/(t[0]-n[0]))>1;let o,i,s,c,u,l;r?(o=t[1],i=t[0],s=n[1],c=n[0],u=e[1],l=e[0]):(o=t[0],i=t[1],s=n[0],c=n[1],u=e[0],l=e[1]);const f=(i-c)/(o-s),h=c-f*s,a=(s*s+c*c-u*u-l*l+2*h*(l-c))/(2*(s-u+f*(c-l))),p=f*a+h;return r?[p,a]:[a,p]}const Ua=x;function ja(t,n,e,r,o,i,s){const c=(1e-6*n)**2,u=.01*c,l=e,{bezierPieces:f,δ:h}=function(t,n,e,r,o){let i,s;if(t){i=[];for(let t=0;t<n;t++){const n=e[t].curves.map((t=>({curve:t,ts:[0,1]})));i.push(...n)}}else{const t=W(o)?1===o.t?-1:1:0,c=e[n],u=Sa(r.get(c),o,t,0)[0];s=[u,u],i=u&&u!==u.next.next?Ia(s):c.curves.map((t=>({curve:t,ts:[0,1]})))}return{bezierPieces:i,δ:s}}(i,s,t,r,o);let p,g,v;i?(g=[o.p[0],o.p[1]],p=[g[0],g[1]-Math.sqrt(l)],v=l):(g=o.p,p=et(l,o).center,v=a(g,p));const m=function(t,n,e,r){const o=.001*t;let i,s=Number.POSITIVE_INFINITY;for(let o=0;o<n.length;o++){const c=n[o],u=c.curve.ps,l=Ua(u,c.ts[0]);let f=Number.POSITIVE_INFINITY;if(!i||i[0]!==l[0]||i[1]!==l[1]){const n=Za(t,e,r,l);n&&(f=a(e,n))}let h=Number.POSITIVE_INFINITY;const p=Ua(u,c.ts[1]),d=Za(t,e,r,p);d&&(h=a(e,d)),i=p;const g=Math.min(f,h);g<s&&(s=g)}return s+o}(n,f,g,p);v>m&&(p=d(g,p,Math.sqrt(m/v)));const _=[];let b,x=0,I=0,N=!1,S=f;do{x++;const t=a(p,o.p);if(S=Ga(S,p,t),b=va(S,p,o.curve,o.t),void 0===b){if("undefined"!=typeof _debug_){const t=_debug_.generated.elems,n=i?t.twoProng_holeClosing:t.twoProng_regular,e=i?"hole-closing: "+n.length:"regular: "+n.length;console.log("failed: no closest point - "+e)}N=!0;break}"undefined"!=typeof _debug_&&_.push({x:p,y:o,z:b.pos,t:o.t});const n=a(p,b.pos.p);if(1===x&&t<n+1e-8)return void $a(Math.sqrt(l),r,o);if(!i&&a(o.p,b.pos.p)<=c){N=!0;break}const e=Ra(p,o.p,b.pos.p),s=a(p,e);if(p=e,s<u)I++;else if(25===x){N=!0;break}}while(I<1);let E,w=[];return N||(w=function(t,n,e,r){const o=e.curve,i=e.t,s=e.p;t=ha(t,n);const c=[];for(let e=0;e<t.length;e++){const s=t[e],u=ga(s.curve,n,s.ts,o,i);for(let t=0;t<u.length;t++){const e=u[t],o=te(e.p,n);let i=s.curve,l=e.t;Math.abs(o-r)<1e-9&&(0===l&&(l=1,i=s.curve.prev),c.push({pos:new R(i,l),d:o}))}}if(c.length>1){const t=[];for(let n=0;n<c.length;n++)c[n],t.push(n);const n=[];for(let e=0;e<t.length;e++)for(let r=e+1;r<t.length;r++){if(e===r)continue;const o=c[t[e]].pos.p,i=c[t[r]].pos.p,u=s;(Math.abs(o[0]-i[0])<1e-6&&Math.abs(o[1]-i[1])<1e-6||Math.abs(o[0]-u[0])<1e-6&&Math.abs(o[1]-u[1])<1e-6)&&n.push(t[e])}for(let t=n.length-1;t>=0;t--)c.splice(n[t],1)}return c}(S,p,o,te(p,b.pos.p)),w.length||w.push(b)),void 0!==b&&(E={center:p,radius:te(p,b.pos.p)}),"undefined"==typeof _debug_||N||(_.push({x:p,y:o,z:b.pos,t:o.t}),function(t,n,e,r,o,i,s,c){const u={generated:_debug_.generated,bezierPieces:t,pos:e,δ:i,z:o?o.p:void 0,circle:r,xs:s,failed:n,holeClosing:c,notAdded:!1,deleted:!1,cpNode:void 0},l=Ha(u);_debug_.generated.elems[l].push(u)}(f,N,o,E,b.pos,h,_,i)),N?void 0:{circle:E,zs:w}}function Za(t,n,e,r){const o=(1e-4*t)**2;if(a(n,r)<o)return;const i=[(n[0]+r[0])/2,(n[1]+r[1])/2],s=[r[0]-n[0],r[1]-n[1]],c=[-s[1],s[0]],u=ot([n,e],[i,[i[0]+c[0],i[1]+c[1]]]);return u?m([u[0]-n[0],u[1]-n[1]],[e[0]-n[0],e[1]-n[1]])<0?void 0:u:void 0}function Wa(t,n,e,r,o,i){const s=K(n,e),c=r.map((t=>K(n,t.pos)));let u,l=e.t;0===l&&(l=1,u=e.curve.prev,e=new R(u,l));let f=!1;for(let e=0;e<r.length;e++){const o=r[e],s=c[e];if(wa(t,o.pos,n,s,0,i)){f=!0;break}}if(wa(t,e,n,s,0,i)||f)return void("undefined"!=typeof _debug_&&(o?_debug_.generated.elems.twoProng_holeClosing.pop():_debug_.generated.elems.twoProng_regular.pop()));const h=[],a=[],p=[],d=[],g=[];for(let e=0;e<r.length;e++){const i=r[e],s=c[e],u={pointOnShape:i.pos,circle:n,order:s,order2:0};a.push(u);const l=i.pos.curve.loop;g.push(l);const f=t.get(l);p.push(f);const v=Sa(f,i.pos,s,0);d.push(v),h.push(ht.insert(o,!1,f,u,v[0]))}const v={pointOnShape:e,circle:n,order:s,order2:0},m=e.curve.loop,_=t.get(m),b=Sa(_,e,s,0),x=ht.insert(o,!1,_,v,b[0]);if(1===h.length)x.prevOnCircle=h[0],x.nextOnCircle=h[0],h[0].prevOnCircle=x,h[0].nextOnCircle=x;else{const t=h.slice();t.push(x),t.sort(function(t){const n=t.center,e=Ye(t.radius);return function(t,r){let o=t.cp.pointOnShape.p,i=r.cp.pointOnShape.p;o=[o[0]-n[0],o[1]-n[1]],i=[i[0]-n[0],i[1]-n[1]];const s=Ja(o[0],e),c=Ja(o[1],e),u=Ja(i[0],e),l=Ja(i[1],e),f=Ka(s,c);return Ka(u,l)-f}}(n));for(let n=0;n<t.length;n++){const e=n+1===t.length?0:n+1,r=0===n?t.length-1:n-1,o=t[n],i=t[e],s=t[r];o.nextOnCircle=i,o.prevOnCircle=s}}if(o){const t={pointOnShape:r[0].pos,circle:n,order:a[0].order,order2:1},o=ht.insert(!0,!1,p[0],t,h[0]),i={pointOnShape:e,circle:n,order:v.order,order2:-1},s=ht.insert(!0,!1,_,i,x.prev);s.prevOnCircle=o,s.nextOnCircle=o,o.prevOnCircle=s,o.nextOnCircle=s,h[0].next=x,x.prev=h[0],s.next=o,o.prev=s}if("undefined"!=typeof _debug_){let t;t=o?_debug_.generated.elems.twoProng_holeClosing:_debug_.generated.elems.twoProng_regular;const n=t[t.length-1];x||console.log("asas"),n.cpNode=x}return x}function Ja(t,n){return t*2**-(n+1)}function Ka(t,n){return t>0?t>.5?n:n<0?t-2:2-t:t<-.5?4-n:n<0?t+6:2-t}function tp(t,n,e,r,o){const i=r.length,s=function(t){const n=[];for(let e=0;e<t;e++)n.push(e);return n}(i);let c;const u=qa(t),l=(u.maxX.p[0]-u.minX.p[0])**2+(u.maxY.p[1]-u.minY.p[1])**2;for(let u=0;u<i;u++){const i=r[s[u]],f=ja(t,o,l,n,i,!1,e);if(f){const{circle:t,zs:e}=f,r=Wa(n,t,i,e,!1,o);c=c||r}if("undefined"!=typeof _debug_&&u+1===_debug_.directives.stopAfterTwoProngsNum)return}return c}function np(t){if(Xh(t))return{minima:[],maxima:[],inflections:[]};if(4===t.length&&df(t)&&(t=Ac(t)),3===t.length){const n=function(t){const[[n,e],[r,o],[i,s]]=t,c=i-r,u=c-(r-n),l=s-o,f=l-(o-e);return[u*u+f*f,-(n*(u-r)-r*(c-r)+e*(f-o)-o*(l-o))]}(t);return{minima:[],maxima:Do(n,0,1),inflections:[]}}const n=function(t){const[[n,e,r],[o,i,s]]=N(t),[[c,u],[l,f]]=S(t),[h,a]=H(t),p=h*i,d=a*e,g=u*s,v=u*i,m=l*l,_=c*s,b=f*r,x=f*e,I=l*r,E=r*e,w=r*n,M=r*o,C=e*e,T=e*n,O=e*i,P=n*s,y=n*o,A=n*n,B=s*i,z=s*o,Y=i*i,F=i*o,V=o*o,k=h*s-a*r,L=u*r+f*s,D=g-b,X=r*r+s*s,Q=O+P,q=z+Y,$=w+C,G=e*o+n*i,R=A-V,U=T-F,j=E-B,Z=r*i+e*s,W=z+q,J=w+$,K=M+Q,tt=O+Q,nt=J-W,et=Q+P,rt=M+O+P,ot=2*x+I;return{inflectionPoly:[c*o-l*n,u*o+c*i-f*n-l*e,v+_-x-I,g-b],otherExtremaPoly:[A*(p-3*d)+V*(3*p-d)+2*(y*(h*e-a*i+3*(f*l-u*c))+3*c*l*U)+3*(G*(m-c*c)+R*(u*l+f*c)),h*(o*(J+3*q)+n*tt)-a*(r*(3*A+V)+e*(3*T+2*F)+n*W)+3*(u*(f*R-u*y+2*(l*U-c*G))+c*(2*f*U+l*(2*(w-z)+(C-Y))-c*rt)+f*(f*y+2*l*G)+m*K),h*(2*r*G+e*et+i*(4*z+W))-a*(2*r*(3*T+F)+e*(C+2*z)+i*et)+3*(u*(2*(f*U-c*rt)+l*nt-u*G)+c*(2*l*j-c*Z)+f*(f*G+2*l*K+c*nt)+m*Z),h*(r*(M+2*Q)+s*(C+3*q))-a*(r*(3*$+W)+s*tt)+3*(u*(f*nt-u*K+2*(l*j-c*Z))+c*(r*(ot-c*s)-s*(2*f*i+l*s))+f*(f*Q+r*(2*l*i+f*o))+l*s*ot),X*(p-d)+2*(E+B)*k-3*(L*(v+_-x-I)+(u*e+c*r+f*i+l*s)*D),k*X-3*L*D]}}(t),e=n.inflectionPoly,r=n.otherExtremaPoly,o=Do(r,0,1),i=Oo(r),s=[],c=[];for(let t=0;t<o.length;t++){const n=o[t],r=I(i,n);I(e,n)*r>=0?s.push(n):c.push(n)}return{minima:s,maxima:c,inflections:Do(e,0,1)}}const ep=At,rp=Et,op=wt,{atan2:ip}=Math;function sp(t,n){const e=t[0],r=t[1],o=n[0],i=n[1],s=op(ep(i,e),ep(o,r))[1],c=rp(ep(o,e),ep(i,r))[1];return ip(s,c)}const{abs:cp}=Math;function up(t){const n=[];for(let e=0;e<t.length-1;e++){const r=[t[e+1][0]-t[e][0],t[e+1][1]-t[e][1]];0!==(0!==r[0]||r[1])&&n.push(r)}const e=n.length;let r=0;for(let t=0;t<e-1;t++)r+=cp(sp(n[t],n[t+1]));return r}function lp(t,n=.4,e=10,r=2**-16){const o={r:[0,1]};let i=o;for(;void 0!==i;){const o=i.r,s=ao(t,o[0],o[1]);if(ne(s)<=e&&up(s)<=n||o[1]-o[0]<=r){i=i.next;continue}const c=(o[0]+o[1])/2,u=[o[0],c],l=[c,o[1]];i.r=u,i.next={r:l,next:i.next}}i=o;const s=[];for(;void 0!==i;)s.push(i.r[0]),void 0===i.next&&s.push(i.r[1]),i=i.next;return s}function fp(t){const{isQuiteSharp:n,isQuiteDull:e}=G(t);return n?[new R(t,1)]:e?[new R(t,1),new R(t.next,0)]:[]}function hp(t){return Qa(t).minY}const ap=Math.max,pp=Math.abs;function dp(t,n=.4,r=4){let o,i;({maxCurviness:n,maxLength:r,maxCoordinate:o,minBezLength:i}=function(t,n,e){const{maxCoordinate:r,maxRadius:o}=function(t){let n=0,e=Number.POSITIVE_INFINITY,r=Number.NEGATIVE_INFINITY,o=Number.POSITIVE_INFINITY,i=Number.NEGATIVE_INFINITY;for(const s of t)for(const t of s)for(const s of t){const t=s[0],c=s[1],u=ap(pp(t),pp(c));u>n&&(n=u),t<e&&(e=t),t>r&&(r=t),c<o&&(o=c),c>i&&(i=c)}return{maxCoordinate:n,maxRadius:ap(r-e,i-o)}}(t),i=2**Math.ceil(Math.log2(r))*2**-14;n<.05&&(n=.05),n>3&&(n=3),e<.1&&(e=.1),e>100&&(e=100);return{maxCurviness:n,maxLength:e*=2**Math.ceil(Math.log2(o))*2**-10,maxCoordinate:r,minBezLength:i}}(t,n,r));const s=function(t,n){let r;"undefined"!=typeof _debug_&&(r=performance.now()),n=n||Wh(t);const o=Math.ceil(Math.log2(n)),i=2**o*2**-46*16;(function(t){if("undefined"!=typeof _debug_){if("undefined"!=typeof document){const n=function(t){let n="";for(const r of t)n=n+e(r)+"\n";return n}(t);document.getElementsByClassName("shape")[0].setAttributeNS(null,"d",n)}for(const n of t){_debug_.generated.elems.loopPre.push(...t),_debug_.generated.elems.loopsPre.push(t);for(const t of n){const n=$o(t),e=ee(t),r=oe(t);_debug_.generated.elems.bezier_.push(t),_debug_.generated.elems.looseBoundingBox_.push(n),_debug_.generated.elems.tightBoundingBox_.push(e),_debug_.generated.elems.boundingHull_.push(r)}}}})(t=Zh(t,46,o,!1,!0)),t.sort(Zo);const s=t.map(((t,n)=>Lh(t,n))),{extremes:c}=Yh(s,i,o),u={dir:void 0,idx:0,parent:void 0,children:new Set,windingNum:0,p:void 0,_x_:void 0,container:void 0},l=new Set,f=new Set;for(const t of s){if(l.has(t))continue;l.add(t);const n=jo(u,t),e=c.get(t)[0].container;if(!e.inOuts.length)continue;const r=kh(e);r.parent=n,r.windingNum=n.windingNum+r.orientation,r.children=new Set,_o(0,kh(e),l,f)}const h=function(t){const n=[],e=[t];for(;e.length;){const t=e.pop();t.children=t.children||new Set;for(const r of t.children)0===t.windingNum&&n.push(r),e.push(r);0===t.windingNum&&(t.children=new Set)}return n}(u),a=h.map(Jo).map((t=>t.map((n=>function(t,n){return n<0?Lh(t.beziers):function(t){const n=[],e=t.curves;for(let t=e.length-1;t>=0;t--){const r=e[t].ps.slice().reverse();n.push(r)}return Lh(n)}(Lh(t.beziers))}(n,t[0].orientation))))),p=(2**o*2**-12)**2,d=[];for(let t=0;t<a.length;t++){const n=a[t].filter((t=>Math.abs(na(t))>p));n.length&&(n.sort(((t,n)=>Zo(t.beziers,n.beziers))),d.push(n))}return function(t){if("undefined"!=typeof _debug_)for(const n of t)_debug_.generated.elems.loop.push(...n),_debug_.generated.elems.loops.push(n)}(d),"undefined"!=typeof _debug_&&(_debug_.generated.timing.simplifyPaths=performance.now()-r),d}(t,o),c=[];for(const t of s){const e=gp(t,i,n,r,o);e&&c.push(e)}return c}function gp(t,n,e,r,o){!function(t){if("undefined"==typeof _debug_)return;Oa=performance.now();for(const n of t)_debug_.fs.nameObj(n,"l|");const n=_debug_.generated;for(const e of t){let t=0;e.curves.forEach((function(e){const r=e.ps,o=oe(r);n.elems.boundingHull.push(o);const i=sa(r);n.elems.looseBoundingBox.push(i);const s=ee(r);n.elems.tightBoundingBox.push(s);const c=G(e);c.isSharp?n.elems.sharpCorner.push(e):c.isDull&&n.elems.dullCorner.push(e),t++}))}}(t);const i=t.map(function(t,n,e){return function(r){const o=[];for(let i=0;i<r.curves.length;i++){const s=r.curves[i];if(ne(s.ps)<t)continue;const{maxima:c}=np(s.ps),u=[...c].map((t=>new R(s,t)));o.push(...fp(s),...u);let l=lp(s.ps,n,e);2===l.length&&(l=[0,.5,1]);for(let t=1;t<l.length-1;t++)o.push(new R(s,l[t]))}return o.sort(tt),o}}(n,e,r)),s=function(t){const n=[];for(const e of t){const t=[];for(const n of e)J(n)||t.push(n);n.push(t)}return n}(i),c=function(t){const n=[];for(const e of t){const t=[];for(const n of e)J(n)&&t.push(n);n.push(t)}return n}(i),u=new Map;let l=function(t,n,e){let r;for(let o=0;o<e.length;o++){const i=e[o],s=new Ya(ht.comparator,!1);let c,u;for(const t of i){t.curve.next.ps;const n={center:t.p,radius:0},e={pointOnShape:t,circle:n,order:-1,order2:0},r={pointOnShape:t,circle:n,order:1,order2:0};c=ht.insert(!1,!1,s,e,u),u=ht.insert(!1,!1,s,r,c),c.prevOnCircle=u,u.prevOnCircle=c,c.nextOnCircle=u,u.nextOnCircle=c}r||(r=c);const l=t[o];n.set(l,s)}return r}(t,u,c);if(function(t,n,e){const r=qa(t),o=(r.maxX.p[0]-r.minX.p[0])**2+(r.maxY.p[1]-r.minY.p[1])**2,i=t.map(hp);for(let r=1;r<i.length;r++){const s=i[r],c=ja(t,e,o,n,s,!0,r);if(!c)throw new Error("Unable to find hole-closing 2-prong");const{circle:u,zs:l}=c;Wa(n,u,s,[l[0]],!0,e)}}(t,u,o),"undefined"!=typeof _debug_&&_debug_.directives.stopAfterHoleClosers)return;if(function(){if("undefined"==typeof _debug_)return;const t=_debug_.generated.timing,n=performance.now();t.holeClosers+=n-Oa,Oa=n}(),l=function(t,n,e,r){let o;for(let i=0;i<e.length;i++){const s=tp(t,n,i,e[i],r);o=o||s}return o}(t,u,s,o),function(){if("undefined"==typeof _debug_)return;const t=_debug_.generated.timing,n=performance.now();t.oneAnd2Prongs+=n-Oa,Oa=n}(),"undefined"!=typeof _debug_&&_debug_.directives.stopAfterTwoProngs)return;if(void 0===l)return;if(function(t,n,e){const r=new Map,o=[{fromCpNode:void 0,cpStart:n}];for(;o.length;){const{fromCpNode:n,cpStart:i}=o.shift();Ma(r,n,i);for(const n of i.getCpNodesOnCircle()){if(!Z(n.cp.pointOnShape)&&void 0===ya(t,n,e))return;Ca(r,n,n.next)||o.push({fromCpNode:i,cpStart:n.next})}}}(u,l,o),"undefined"!=typeof _debug_&&_debug_.directives.stopAfterThreeProngs)return;const f={cpNode:l,cpTrees:u};return function(t){if("undefined"==typeof _debug_)return;const n=_debug_.generated,e=n.timing;n.elems.mat.push(t),e.threeProngs+=performance.now()-Oa}(f),f}function vp(t){const n=new Map;return t.getAllOnLoop().forEach((function(t){const e=t.cp.pointOnShape.curve.loop;let r=n.get(e);r||(r=new Ya(ht.comparator,!1),n.set(e,r)),r.insert(t)})),n}function mp(t){const n=[];return t.getAllOnLoop().forEach((function(t){t.isTerminating()&&n.push(t)})),n}const _p=["prev","next","prevOnCircle","nextOnCircle"];function bp(t){const n=new Map,e=new ht(t.cp,t.isHoleClosing,t.isIntersection);n.set(t,e);const r=[{cpNode:t,newCpNode:e}];for(;r.length;){const{cpNode:t,newCpNode:e}=r.pop();for(const o of _p){const i=t[o];let s=n.get(i);s||(s=new ht(i.cp,i.isHoleClosing,i.isIntersection),n.set(i,s),r.push({cpNode:i,newCpNode:s})),e[o]=s}}return e}function xp(t){const n=function(t){let n=t;const e=mp(t);for(;e.length;){const r=e.pop();if(r.isHoleClosing||r.isIntersection)continue;let o=r.next;for(;;){o=o.next;let e=!1;const r=o.prevOnCircle;if(o.getProngCount()>2){const n=o.nextOnCircle;ht.isOnSameCircle(o,t)?e=!0:o.next===n?o=n:n.next!==r&&(e=!0)}else if(o.isTerminating()&&!o.isIntersection)return void(n=o);if(e){r.next=o,o.prev=r,n=o;break}}}return n}(bp(t.cpNode));if(n)return{cpNode:n,cpTrees:vp(n)}}function Ip(t,n,e=16){if(n[0]===n[1])return 0;const{weights:r,abscissas:o}=Np[e],[i,s]=n;let c=0;const u=(s-i)/2,l=(s+i)/2;for(let n=0;n<=e-1;n++)c+=r[n]*t(u*o[n]+l);return u*c}const Np={2:{weights:[1,1],abscissas:[-.5773502691896257,.5773502691896257]},4:{weights:[.6521451548625461,.6521451548625461,.3478548451374538,.3478548451374538],abscissas:[-.3399810435848563,.3399810435848563,-.8611363115940526,.8611363115940526]},8:{weights:[.362683783378362,.362683783378362,.3137066458778873,.3137066458778873,.2223810344533745,.2223810344533745,.1012285362903763,.1012285362903763],abscissas:[-.1834346424956498,.1834346424956498,-.525532409916329,.525532409916329,-.7966664774136267,.7966664774136267,-.9602898564975363,.9602898564975363]},16:{weights:[.027152459411754096,.062253523938647894,.09515851168249279,.12462897125553388,.14959598881657674,.16915651939500254,.18260341504492358,.1894506104550685,.1894506104550685,.18260341504492358,.16915651939500254,.14959598881657674,.12462897125553388,.09515851168249279,.062253523938647894,.027152459411754096],abscissas:[-.9894009349916499,-.9445750230732326,-.8656312023878318,-.755404408355003,-.6178762444026438,-.45801677765722737,-.2816035507792589,-.09501250983763744,.09501250983763744,.2816035507792589,.45801677765722737,.6178762444026438,.755404408355003,.8656312023878318,.9445750230732326,.9894009349916499]},64:{weights:[.048690957009139724,.048690957009139724,.04857546744150343,.04857546744150343,.048344762234802954,.048344762234802954,.04799938859645831,.04799938859645831,.04754016571483031,.04754016571483031,.04696818281621002,.04696818281621002,.046284796581314416,.046284796581314416,.04549162792741814,.04549162792741814,.044590558163756566,.044590558163756566,.04358372452932345,.04358372452932345,.04247351512365359,.04247351512365359,.04126256324262353,.04126256324262353,.03995374113272034,.03995374113272034,.038550153178615626,.038550153178615626,.03705512854024005,.03705512854024005,.035472213256882386,.035472213256882386,.033805161837141606,.033805161837141606,.03205792835485155,.03205792835485155,.030234657072402478,.030234657072402478,.028339672614259483,.028339672614259483,.02637746971505466,.02637746971505466,.024352702568710874,.024352702568710874,.022270173808383253,.022270173808383253,.02013482315353021,.02013482315353021,.017951715775697343,.017951715775697343,.015726030476024718,.015726030476024718,.013463047896718643,.013463047896718643,.011168139460131128,.011168139460131128,.008846759826363947,.008846759826363947,.006504457968978363,.006504457968978363,.004147033260562468,.004147033260562468,.001783280721696433,.001783280721696433],abscissas:[-.024350292663424433,.024350292663424433,-.07299312178779904,.07299312178779904,-.12146281929612056,.12146281929612056,-.16964442042399283,.16964442042399283,-.21742364374000708,.21742364374000708,-.2646871622087674,.2646871622087674,-.31132287199021097,.31132287199021097,-.3572201583376681,.3572201583376681,-.4022701579639916,.4022701579639916,-.4463660172534641,.4463660172534641,-.48940314570705296,.48940314570705296,-.5312794640198946,.5312794640198946,-.571895646202634,.571895646202634,-.6111553551723933,.6111553551723933,-.6489654712546573,.6489654712546573,-.6852363130542333,.6852363130542333,-.7198818501716109,.7198818501716109,-.7528199072605319,.7528199072605319,-.7839723589433414,.7839723589433414,-.8132653151227975,.8132653151227975,-.8406292962525803,.8406292962525803,-.8659993981540928,.8659993981540928,-.8893154459951141,.8893154459951141,-.9105221370785028,.9105221370785028,-.9295691721319396,.9295691721319396,-.9464113748584028,.9464113748584028,-.9610087996520538,.9610087996520538,-.973326827789911,.973326827789911,-.983336253884626,.983336253884626,-.9910133714767443,.9910133714767443,-.9963401167719553,.9963401167719553,-.9993050417357722,.9993050417357722]}};function Sp(t){const[n,e]=N(t);return function(t){const r=I(n,t),o=I(e,t);return Math.sqrt(r*r+o*o)}}function Ep(t,n=.4,e=2**-16){const r={r:[0,1]};let o=r;for(;void 0!==o;){const r=o.r;if(up(ao(t,r[0],r[1]))<=n||r[1]-r[0]<=e){o=o.next;continue}const i=(r[0]+r[1])/2,s=[r[0],i],c=[i,r[1]];o.r=s,o.next={r:c,next:o.next}}o=r;const i=[];for(;void 0!==o;)i.push(o.r[0]),void 0===o.next&&i.push(o.r[1]),o=o.next;return i}function wp(t,n){const e=t.getCpNodesOnCircle();for(;e.length;){const t=e.pop();n(t),t.isTerminating()||e.push(...t.getChildren())}}function Mp(t,n){n(t),t.getCpNodesOnCircle().filter((t=>!t.isTerminating())).map((t=>t.next)).forEach((function(t){const e=[t];for(;e.length;){const t=e.pop();n(t),e.push(...t.vertexChildren)}}))}function Cp(t){return function(n){return t*n}}function Tp(t,n,e=Cp){let r=0;if("undefined"!=typeof _debug_){r=performance.now();const n=mp(t.cpNode);_debug_.generated.elems.leaves.push(n)}const o=[];Mp(bp(t.cpNode),(t=>{o.push(t)}));const i=function(t){return t.reduce((function(t,n){return t.cp.circle.radius>=n.cp.circle.radius?t:n}),t[0])}(o),s=e(n);"undefined"!=typeof _debug_&&_debug_.generated.elems.maxVertex.push(i);const c=new Set,u=new Map;wp(i,(function(t){const n=u.get(t)||s(t.cp.circle.radius),e=t.next,r=function(t,n,e=.4,r=16){if(4===n.length)return function(t,n,e=.4,r=16){const o=t[0],i=t[1];if(o===i)return 0;const[[s,c],[u,l],[f,h],[a,p]]=n;if(s===u&&u===f&&f===a&&c===l&&l===h&&h===p)return 0;const d=qn(n,o,i).ps,g=Ep(d,e);let v=0;for(let t=0;t<g.length-1;t++){const n=g[t],e=g[t+1];v+=Ip(Sp(d),[n,e],r)}return v}(t,n,e,r);if(3===n.length)return function(t,n,e=.4,r=16){const o=t[0],i=t[1];if(o===i)return 0;const[[s,c],[u,l],[f,h]]=n;if(s===u&&u===f&&c===l&&l===h)return 0;const a=Gn(n,o,i).ps,p=Ep(a,e);let d=0;for(let t=0;t<p.length-1;t++){const n=p[t],e=p[t+1];d+=Ip(Sp(a),[n,e],r)}return d}(t,n,e,r);if(2===n.length)return function(t,n){const[e,r]=t,[[o,i],[s,c]]=n;return te([o+e*(s-o),i+e*(c-i)],[o+r*(s-o),i+r*(c-i)])}(t,n);if(1===n.length)return 0;throw new Error("The given bezier curve must be of order <= 3.")}([0,1],ft(t)),o=e.cp.circle.radius;if(n-r>s(o)){for(const t of e.getCpNodesOnCircle())u.set(t,n-r);c.add(e.cp.circle)}})),function(t,n){const e=mp(n);function r(t){let n=t;const e=[];do{n.next!==n.nextOnCircle&&e.push(n),n=n.nextOnCircle}while(n!==t.prevOnCircle);return e}for(;e.length;){const o=e.pop();if(o.isHoleClosing||o.isIntersection)continue;if(!t.has(o.cp.circle))continue;let i=o.next;for(;;){i=i.next;let e=!1;const o=i.prevOnCircle;if(t.has(i.cp.circle))if(ht.isOnSameCircle(i,n))e=!0;else{const t=r(i);1===t.length?i=t[0]:e=!0}else e=!0;if(e){o.next=i,i.prev=o;break}}}}(c,i),"undefined"!=typeof _debug_&&_debug_.generated.elems.culls.push(Array.from(c));const l={cpNode:i,cpTrees:void 0};return function(t,n){"undefined"!=typeof _debug_&&(_debug_.generated.elems.sat.push(t),_debug_.generated.timing.sats=performance.now()-n)}(l,r),l}function Op(t,n=1){for(;!t.isFullyTerminating();)t=t.next;const e=[],r=[t.prevOnCircle];let o=[];for(;r.length;){const t=r.pop();o.push(t);let i=t.getChildren();if(t.isFullyTerminating()){o.length>1&&e.push(o),o=[];continue}if(1===i.length){r.push(i[0]);continue}if(i=i.filter((t=>!t.isTerminating())),0===i.length){e.push(o),o=[];continue}if(i.length>1){e.push(o),o=[],r.push(...i);continue}const s=w(h(E(ft(t.next.prevOnCircle),0)),h(E(ft(i[0]),0)));Math.abs(Math.asin(s)*(180/Math.PI))>n&&(e.push(o),o=[]),r.push(i[0])}return o.length&&e.push(o),e}let Pp=0;function yp(t){return t.map((t=>{return(n=t.cp.pointOnShape).p[0]+", "+n.p[1]+" | bz: "+n.curve.idx+" | t: "+n.t;var n}))}function Ap(t,n=3){return t[0].toFixed(n)+", "+t[1].toFixed(n)}const Bp={δToString:yp,δsToString:function(t){return t.map(yp)},pointToStr:Ap,pointsToStr:function(t,n=3){return t.map((t=>Ap(t,n)))},nameObj:function(t,n=""){t.name=""+n+Pp++}},zp="red thin10 nofill ",Yp="http://www.w3.org/2000/svg";function Fp(t,n,e=zp,r){const o=n.center,i=n.radius,s=document.createElementNS(Yp,"circle");return s.setAttributeNS(null,"cx",o[0].toString()),s.setAttributeNS(null,"cy",o[1].toString()),s.setAttributeNS(null,"r",i.toString()),s.setAttributeNS(null,"class",e),t.appendChild(s),r&&setTimeout((()=>s.remove()),r),[s]}function Vp(t,n,e=zp,r){const o=document.createElementNS(Yp,"line");return o.setAttributeNS(null,"x1",n[0][0].toString()),o.setAttributeNS(null,"y1",n[0][1].toString()),o.setAttributeNS(null,"x2",n[1][0].toString()),o.setAttributeNS(null,"y2",n[1][1].toString()),o.setAttributeNS(null,"class",e),t.appendChild(o),r&&setTimeout((()=>o.remove()),r),[o]}function kp(t,n,e=zp,r=3,o){const i=Fp(t,{center:n,radius:r},e),s=[[n[0]-r,n[1]],[n[0]+r,n[1]]],c=[[n[0],n[1]-r],[n[0],n[1]+r]],u=Vp(t,s,e),l=Vp(t,c,e);return o&&setTimeout((()=>{i.forEach((t=>t.remove())),u.forEach((t=>t.remove())),l.forEach((t=>t.remove()))}),o),[...i,...u,...l]}function Lp(t){return 2===t?"L":3===t?"Q":4===t?"C":void 0}function Dp(t,n,e=zp,r){const[[o,i],[s,c],[u,l]]=n,f=document.createElementNS(Yp,"path");return f.setAttributeNS(null,"d",`M${o} ${i} Q${s} ${c} ${u} ${l}`),e&&f.setAttributeNS(null,"class",e),t.appendChild(f),r&&setTimeout((()=>f.remove()),r),[f]}function Xp(t,n,e=zp,r){const[[o,i],[s,c],[u,l],[f,h]]=n;if(o===f&&s===f&&u===f&&i===h&&c===h&&l===h)return kp(t,[o,i],e,.2,r);const a=document.createElementNS(Yp,"path");return a.setAttributeNS(null,"d",`M${o} ${i} C${s} ${c} ${u} ${l} ${f} ${h}`),a.setAttributeNS(null,"class",e),t.appendChild(a),r&&setTimeout((()=>a.remove()),r),[a]}function Qp(t,n,e=zp,r){return 2===n.length?Vp(t,n,e,r):3===n.length?Dp(t,n,e,r):4===n.length?Xp(t,n,e,r):[]}const qp=["red","green","cyan","blue"];function $p(t,n){const e=1-n;if(4===t.length){const[[r,o],[i,s],[c,u],[l,f]]=t;return[r*e**3+3*i*e**2*n+3*c*e*n**2+l*n**3,o*e**3+3*s*e**2*n+3*u*e*n**2+f*n**3]}if(3===t.length){const[[r,o],[i,s],[c,u]]=t;return[r*e**2+2*i*e*n+c*n**2,o*e**2+2*s*e*n+u*n**2]}if(2===t.length){const[[r,o],[i,s]]=t;return[r*e+i*n,o*e+s*n]}return[NaN,NaN]}function Hp(t,n){return 2===t.length?function(t,n){const[[e,r],[o,i]]=t,s=1-n,c=[s*e+n*o,s*r+n*i];return[[[e,r],c],[c,[o,i]]]}(t,n):3===t.length?function(t,n){const[[e,r],[o,i],[s,c]]=t,u=1-n,l=[u*u*e+2*u*n*o+n*n*s,u*u*r+2*u*n*i+n*n*c];return[[[e,r],[u*e+n*o,u*r+n*i],l],[l,[u*o+n*s,u*i+n*c],[s,c]]]}(t,n):4===t.length?function(t,n){const[[e,r],[o,i],[s,c],[u,l]]=t,f=1-n,h=n*n,a=h*n,p=f*f,d=p*f,g=[a*u+3*f*h*s+3*p*n*o+d*e,a*l+3*f*h*c+3*p*n*i+d*r];return[[[e,r],[n*o+f*e,n*i+f*r],[h*s+2*f*n*o+p*e,h*c+2*f*n*i+p*r],g],[g,[h*u+2*n*f*s+p*o,h*l+2*n*f*c+p*i],[n*u+f*s,n*l+f*c],[u,l]]]}(t,n):[]}const Gp={circle:Fp,crossHair:kp,dot:function(t,n,e=3,r="red",o){const[i]=Fp(t,{center:n,radius:e},"dot "+r,o);return o&&setTimeout((()=>i.remove()),o),[i]},line:Vp,rect:function(t,n,e=zp,r){const[[o,i],[s,c]]=n,u=o<s?o:s,l=i<c?i:c,f=Math.abs(o-s),h=Math.abs(i-c),a=document.createElementNS(Yp,"rect");return a.setAttributeNS(null,"x",u.toString()),a.setAttributeNS(null,"y",l.toString()),a.setAttributeNS(null,"width",f.toString()),a.setAttributeNS(null,"height",h.toString()),e&&a.setAttributeNS(null,"class",e),t.appendChild(a),r&&setTimeout((()=>a.remove()),r),[a]},beziers:function(t,n,e,r){const o=void 0===e,i=[];for(let r=0;r<n.length;r++){const s=n[r],c=qp[r%qp.length],u=o?"thin5 nofill "+c:e;i.push(...Qp(t,s,u))}return r&&setTimeout((()=>i.forEach((t=>t.remove()))),r),i},bezier:Qp,bezierPiece:function(t,n,e,r=zp,o){const i=e[0]===e[1]?kp(t,$p(n,e[0]),r,1.5):Qp(t,function(t,n){if(0===n[0]&&1===n[1])return t;if(n[0]===n[1]){const e=$p(t,n[0]);return[e,e,e,e]}return 0===n[0]?Hp(t,n[1])[0]:1===n[1]?Hp(t,n[0])[1]:Hp(Hp(t,n[0])[1],(n[1]-n[0])/(1-n[0]))[0]}(n,e),r);return o&&setTimeout((()=>i.forEach((t=>t.remove()))),o),i},quadBezier:Dp,cubicBezier:Xp,polygon:function(t,n,e=zp,r){const o=document.createElementNS(Yp,"path");let i=`M${n[0][0]} ${n[0][1]} L`;for(let t=0;t<n.length;t++)i+=`${n[t][0]} ${n[t][1]} `;return i+=" z",o.setAttributeNS(null,"d",i),e&&o.setAttributeNS(null,"class",e),t.appendChild(o),r&&setTimeout((()=>o.remove()),r),[o]},loop:function(t,n,e=zp,r){if(!n.length)return[];const o=document.createElementNS(Yp,"path");let i=`M${n[0][0][0]} ${n[0][0][1]} `;for(let t=0;t<n.length;t++){const e=n[t];i+=`${Lp(e.length)} `;for(let t=1;t<e.length;t++)i+=`${e[t][0]} ${e[t][1]} `}return i+=" z",o.setAttributeNS(null,"d",i),e&&o.setAttributeNS(null,"class",e),t.appendChild(o),r&&setTimeout((()=>o.remove()),r),[o]},polyline:function(t,n,e=zp,r){if(n.length<2)return[];const o=document.createElementNS(Yp,"path");let i=`M${n[0][0]} ${n[0][1]} L`;for(let t=0;t<n.length;t++)i+=`${n[t][0]} ${n[t][1]} `;return o.setAttributeNS(null,"d",i),e&&o.setAttributeNS(null,"class",e),t.appendChild(o),r&&setTimeout((()=>o.remove()),r),[o]},text:function(t,n,e,r,o=zp,i){const s=document.createElementNS(Yp,"text");return s.setAttributeNS(null,"x",n[0].toString()),s.setAttributeNS(null,"y",n[1].toString()),s.setAttributeNS(null,"font-size",r.toString()),s.setAttributeNS(null,"class",o),s.textContent=e,t.appendChild(s),i&&setTimeout((()=>s.remove()),i),[s]}};function Rp(t,n,e,r=1e3,o,i="twoProng_regular"){if(void 0===n)return;const s=_debug_.generated.elems[i][n],c=s.xs;console.log(s),console.log(s.xs.map((t=>({x:t.x,y:t.y,z:t.z,d:t.z?a(t.y.p,t.z.p):0,t:t.t}))));for(let n=0;n<c.length;n++){if(o&&(n<o[0]||n>=o[1]))continue;if(e&&n!==c.length-1)continue;const i=s.xs[n],u={center:i.x,radius:te(i.x,i.y.p)};Gp.crossHair(t,i.x,"red thin10 nofill",void 0,r),Gp.circle(t,u,"blue thin10 nofill",r),void 0!==i.z&&Gp.crossHair(t,i.z.p,"yellow thin10 nofill",2,r)}Up.drawNormal(t,n,r)}const Up={logδ:function(t,n="twoProng_regular"){const e=_debug_.generated.elems[n][t].δ;console.log(e)},log:function(t,n="twoProng_regular"){const e=_debug_.generated.elems[n][t];console.log(e)},drawNormal:function t(n,e,r=1e3,o="twoProng_regular"){const i=_debug_.generated.elems[o];if(void 0===e)for(let e=0;e<i.length;e++)t(n,e);const s=i[e];s&&Gp.line(n,[s.pos.p,s.circle.center],"thin10 blue",r)},logδBasic:function(t,n="twoProng_regular"){const e=_debug_.generated.elems[n][t].δ;function r(t){const n=t.cp.pointOnShape;return{bez:n.curve.ps,t:n.t}}console.log(r(e[0])),console.log(r(e[1]))},traceConvergence:Rp,logNearest:function(t,n,e=1e3,r="twoProng_regular"){const o=v(n,_debug_.generated.elems[r],(t=>t.circle.center));let i;[].push(o),console.log(o);for(let t=0;t<_debug_.generated.elems[r].length;t++)if(_debug_.generated.elems[r][t]===o){i=t;break}void 0!==i&&Rp(t,i,!0,e)}},jp={drawSpokes:function(t,n){const e=_debug_.generated.elems.threeProng[n],r=e.circle.center,o=e.poss;Gp.line(t,[o[0].p,r],"thin5 red"),Gp.line(t,[o[1].p,r],"thin5 red"),Gp.line(t,[o[2].p,r],"thin5 red")},traceConvergence:function(t,n,e){let r,o;void 0===n?(r=0,o=_debug_.generated.elems.threeProng.length):(r=n,o=n+1);for(let i=r;i<o;i++){const r=_debug_.generated.elems.threeProng[i];console.log(r);const o=r.candidateThreeProngs;let s,c;void 0===n||-1===e?(s=r.bestIndx,c=r.bestIndx+1):void 0===e?(s=0,c=o.length):(s=e,c=e+1);for(let n=s;n<c;n++){const e=o[n].circle;r.bestIndx===n?(Gp.dot(t,e.center,.2,"green"),Gp.circle(t,e,"black thin10 nofill")):(Gp.dot(t,e.center,.2,"cyan"),Gp.circle(t,e,"cyan thin5 nofill"))}}},showBoundary:function(t,n,e){const r=_debug_.generated.elems.threeProng[n],o=r.candidateThreeProngs,i=void 0===e?0:e,s=void 0===e?o.length:e,c=r.cpss;let u=0;for(let n=1;n<c.length-1;n++){if(!(u>=i&&u<=s)){u++;continue}const e=[c[0],c[n],c[c.length-1]];for(let n=0;n<3;n++){const r=e[n],o=r[0],i=r[1],s=o.cp.pointOnShape,c=i.cp.pointOnShape,u=s.p,l=c.p,f=1+.5*n;g(u,l)?Gp.crossHair(t,u,"red thin10 nofill",f):(Gp.crossHair(t,u,"green thin10 nofill",f),Gp.crossHair(t,l,"blue thin10 nofill",f))}u++}},logδs:function(t){const n=_debug_.generated.elems.threeProng[t];console.log(n.cpss)},logNearest:function(t=!0,n=!0,e=!0){return function(r,o,i=1e3){const s=v(o,_debug_.generated.elems.threeProng,(t=>t.circle?t.circle.center:[0,0])),c=s.circle;console.log(s);const u={center:c.center,radius:c.radius||1};if(Gp.circle(r,u,"blue thin10 nofill",i),Gp.crossHair(r,c.center,"red thin2 nofill",2,i),t&&(Gp.line(r,[s.poss[0].p,c.center],"blue thin5 nofill",i),Gp.line(r,[s.poss[1].p,c.center],"blue thin5 nofill",i),Gp.line(r,[s.poss[2].p,c.center],"blue thin5 nofill",i)),e){const t=s.boundaries,n=t[0],e=t[t.length-1];Gp.beziers(r,n,"red thin20 nofill",i);for(let n=1;n<t.length-1;n++){const e=t[n];Gp.beziers(r,e,"green thin20 nofill",i)}Gp.beziers(r,e,"blue thin20 nofill",i)}if(n){const t=s.traces;for(const n of t)Gp.polyline(r,n,"red thin5 nofill",i)}}}};function Zp(t,n){return{center:t.center,radius:n*t.radius}}function Wp(t,n){let e,r,o=[],i=[],s=[],c=[],u=[];switch(Ha(n)){case"twoProng_regular":e="red ",r="2";break;case"twoProng_holeClosing":e="cyan ",r="10"}return n.failed?o=Gp.dot(t,n.pos.p,.3,"black"):n.failed||(i=Gp.dot(t,n.circle.center,.3,"yellow"),s=Gp.circle(t,n.circle,e+"thin"+r+" nofill"),c=Gp.dot(t,n.pos.p,.0105,e),u=Gp.dot(t,n.z,.021,e)),[...o,...i,...s,...c,...u]}function Jp(t){const n="mat"===t?"thin5 purple nofill":"thin10 red nofill";return(t,e)=>{const r=e.cpNode;if(!r)return;const o=[];return wp(r,(e=>{if(e.isTerminating())return;const r=ft(e);r&&o.push(...Gp.bezier(t,r,n))})),o}}function Kp(t,n,e,r){const o=document.createElementNS("http://www.w3.org/2000/svg","circle");return o.setAttributeNS(null,"cx",n[0].toString()),o.setAttributeNS(null,"cy",n[1].toString()),o.setAttributeNS(null,"r",e.toString()+"%"),o.setAttributeNS(null,"class",r),t.appendChild(o),o}function td(t,n,e,r){const o=document.createElementNS("http://www.w3.org/2000/svg","circle");return o.setAttributeNS(null,"cx",n[0].toString()),o.setAttributeNS(null,"cy",n[1].toString()),o.setAttributeNS(null,"r",e.toString()+"%"),o.setAttributeNS(null,"class",r),t.appendChild(o),o}const nd={oneProng:function(t,n,e,r=0){const o=Zp(et(Number.POSITIVE_INFINITY,n),1);return[...Gp.dot(t,n.p,.05,"gray",r),...Gp.dot(t,o.center,.125,"gray",r),...Gp.circle(t,o,"gray thin10 nofill",r)]},oneProngAtDullCorner:function(t,n){const e=et(Number.POSITIVE_INFINITY,n);return[...Gp.dot(t,n.p,.1,"orange"),...Gp.dot(t,e.center,.25,"orange"),...Gp.circle(t,e,"orange thin10 nofill")]},twoProng_regular:Wp,twoProng_failed:Wp,twoProng_notAdded:Wp,twoProng_deleted:Wp,twoProng_holeClosing:Wp,threeProng:function(t,n){const e=Zp(n.circle,1),r=n.poss,o=Gp.dot(t,r[0].p,.03,"blue"),i=Gp.dot(t,r[1].p,.06,"blue"),s=Gp.dot(t,r[2].p,.1*3*.3,"blue");return[...Gp.dot(t,e.center,.09,"blue"),...o,...i,...s,...Gp.circle(t,e,"blue thin2 nofill")]},boundingHull:function(t,n,e="thin5 black nofill"){return Gp.polygon(t,n,e)},looseBoundingBox:function(t,n){const[[e,r],[o,i]]=n;return n=[[e,r],[o,r],[o,i],[e,i]],Gp.polygon(t,n,"thin5 brown nofill")},tightBoundingBox:function(t,n){return Gp.polygon(t,n,"thin5 pinker nofill")},sharpCorner:function(t,n){const e=n.ps[n.ps.length-1];return Gp.dot(t,e,.6,"green")},dullCorner:function(t,n){const e=n.ps,r=n.ps[e.length-1];return Gp.dot(t,r,.5,"orange")},vertex:function(t,n,e,r,o=!0){const i=o?"":" invisible",s=n.cp.circle,c=n.getCpNodesOnCircle();console.log(c);let u=[];u=[...Gp.circle(t,s,"red thin20 nofill "+i,r),...Gp.crossHair(t,s.center,"red thin20 nofill "+i,3,r)];for(let n=0;n<c.length;n++){const e=c[n].next.cp.circle,o=Gp.circle(t,e,"pink thin20 nofill "+i,r),l=Gp.crossHair(t,e.center,"pink thin20 nofill "+i,3,r);u.push(...o,...l);const f=s.center,h=e.center,a=0===n?"thin10":1===n?"thin20":"thin35",p=Gp.line(t,[f,h],"yellow "+a+" nofill "+i,r);u.push(...p)}return u},mat:Jp("mat"),sat:Jp("sat"),maxVertex:function(t,n){const e=n.cp.circle;return Gp.circle(t,e,"brown thin10 nofill")},leaves:function(t,n){const e=[];for(const r of n){const n=r.cp.circle.center;e.push(Kp(t,n,.5,"pinker thin5 nofill"))}return e},culls:function(t,n){const e=[];for(const r of n){const n=r.center;e.push(td(t,n,.4,"cyan thin5 nofill"))}return e},cpNode:function(t,n){return[]}};function ed(t){if(!t)return void(window._debug_=void 0);let n=window._debug_;n={...n,generated:{...n&&n.generated?n.generated:{},elems:{...n&&n.generated&&n.generated.elems?n.generated.elems:{},twoProng_regular:[],twoProng_failed:[],twoProng_notAdded:[],twoProng_deleted:[],twoProng_holeClosing:[],looseBoundingBox:[],tightBoundingBox:[],oneProng:[],oneProngAtDullCorner:[],sharpCorner:[],dullCorner:[],vertex:[],threeProng:[],boundingHull:[],mat:[],sat:[],cpNode:[],maxVertex:[],leaves:[],culls:[]},timing:{...n&&n.generated&&n.generated.timing?n.generated.timing:{},holeClosers:0,oneAnd2Prongs:0,threeProngs:0,sats:0,simplifyMat:0}},fs:{...n&&n.fs?n.fs:{},drawElem:{...n&&n.fs&&n.fs.drawElem?n.fs.drawElem:{},...nd},...Bp,twoProng:Up,threeProng:jp},directives:{...n&&n.directives?n.directives:{},stopAfterHoleClosers:!1,stopAfterHoleClosersNum:void 0,stopAfterTwoProngs:!1,stopAfterTwoProngsNum:void 0,stopAfterThreeProngs:!1,stopAfterThreeProngsNum:void 0}},window._debug_=n}function rd(t,n,e){const r=[];for(const o of n){if(o.isTerminating())continue;const n=ft(o);n&&r.push(...Gp.bezier(t,n,"thin5 purple nofill",e))}return r}function od(t){const n=t,e=t.next,r=n.cp.pointOnShape,o=e.cp.pointOnShape,i=r.curve,s=o.curve;if(i.loop!==s.loop)return;const c=[];return s===i?c.push(ao(r.curve.ps,r.t,o.t)):(c.push(ao(r.curve.ps,r.t,1)),function(t,n,e,r){let o=n;do{o=o.next;const n=o===e?r:1;t.push(ao(o.ps,0,n))}while(o!==e)}(c,r.curve,o.curve,o.t)),c}function id(t){const n=t,e=t.next,r=n.cp.pointOnShape,o=e.cp.pointOnShape,i=r.curve,s=o.curve;if(i.loop!==s.loop)return;const c=[];return s===i?c.push({ps:r.curve.ps,ts:[r.t,o.t]}):(c.push({ps:r.curve.ps,ts:[r.t,1]}),function(t,n,e,r){let o=n;do{o=o.next;const n=o===e?{ps:o.ps,ts:[0,r]}:{ps:o.ps,ts:[0,1]};t.push(n)}while(o!==e)}(c,r.curve,o.curve,o.t)),c}function sd(t,n){const e=t[0],r=t[1],o=t[2],i=t[3],s=e[0],c=e[1],u=r[0],l=r[1],f=o[0],h=o[1],a=i[0],p=i[1],d=n[0],g=n[1],v=s-d,m=u-d,_=f-d,b=a-d,x=c-g,I=l-g,N=h-g,S=p-g,E=v*v,w=6*v*m,M=6*_*b,C=x*x,T=6*x*I,O=6*N*S,P=6*m*b+9*_*_,y=2*v*b+18*m*_,A=6*v*_+9*m*m,B=6*I*S+9*N*N,z=2*x*S+18*I*N,Y=6*x*N+9*I*I;return[6*(b*b-M+(E-w)+P+(A-y)+(S*S-O+(C-T)+B+(Y-z))),5*(M+5*w+3*y-2*(P+2*A+3*E)+(O+5*T+3*z-2*(B+2*Y+3*C))),4*(P-3*(y-2*A)-5*(2*w-3*E)+(B-3*(z-2*Y)-5*(2*T-3*C))),3*(y-2*(2*A-5*(w-2*E))+(z-2*(2*Y-5*(T-2*C)))),2*(A-5*(w-3*E)+(Y-5*(T-3*C))),w-6*E+(T-6*C)]}function cd(t,n){const e=t[0],r=t[1],o=t[2],i=e[0],s=e[1],c=r[0],u=r[1],l=o[0],f=o[1],h=n[0],a=n[1],p=i-h,d=c-h,g=l-h,v=s-a,m=u-a,_=f-a,b=p*p,x=p*d,I=d*g,N=v*v,S=v*m,E=m*_,w=v*_+m*m*2,M=p*g+d*d*2;return[_*_+N+2*w-4*(E+S)+(g*g+b+2*M-4*(I+x)),3*(E-w+(3*S-N)+(I-M+(3*x-b))),w-3*(2*S-N)+(M-3*(2*x-b)),S-N+(x-b)]}function ud(t,n){const[[e,r],[o,i]]=t,[s,c]=n,u=e-s,l=o-s,f=r-c,h=i-c,a=u*l+f*h,p=f*f+u*u;return[l*l+h*h+(p-2*a),a-p]}const ld=Math.sqrt;function fd(t,n){let e;if(4===t.length)e=sd(t,n);else if(3===t.length)e=cd(t,n);else{if(2!==t.length){if(1===t.length)return{p:t[0],t:0,d:te(t[0],n)};throw new Error("The given bezier curve must be of order <= 3.")}e=ud(t,n)}const r=Do(e,0,1);r.push(0),r.push(1);let o,i=Number.POSITIVE_INFINITY;for(const e of r){const r=x(t,e),s=a(r,n);s<i&&(i=s,o={p:r,t:e,d:ld(s)})}return o}const hd=Math.sqrt;function ad(t){let n=Number.NEGATIVE_INFINITY;for(let e=0;e<t.length;e++){const r=t[e],o=Math.abs(r[0]),i=Math.abs(r[1]);o>n&&(n=o),i>n&&(n=i)}return n}function pd(t){return Math.max(t.hL+t.hEL,t.hR+t.hER)}function dd(t,n){const e=pd(t)-pd(n);return 0!==e?e:t.tS-n.tS}class gd{compare;heap=[];constructor(t){this.compare=t}insert(t){const n=this.heap;n.push(t);let e=n.length-1;for(;;){const r=(e-1-(e+1)%2)/2;if(-1===r)return;const o=n[r];if(this.compare(t,o)<0)break;n[r]=t,n[e]=o,e=r}}popMax(){const t=this.heap,n=t[0];return t[0]=t[t.length-1],t.length--,this.swimDown(),n}swimDown(){const t=this.heap,n=t.length;let e=0;for(;;){const r=2*e+1;if(r>=n)break;const o=2*e+2,i=o>=n||this.compare(t[r],t[o])>0?r:o,s=t[i],c=t[e];if(this.compare(c,s)>0)break;t[i]=c,t[e]=s,e=i}}swapMinOrMax(t){this.heap[0]=t,this.swimDown()}static getParentIdx(t){return(t-1-(t+1)%2)/2}static getLeftChild(t){return 2*t+1}static getRightChild(t){return 2*t+2}}const vd=Math.max;function md(t,n,e,r=50){if(1===t.length)return fd(n,t[0]).d;if(1===n.length)return function(t,n){let e;if(4===t.length)e=sd(t,n);else if(3===t.length)e=cd(t,n);else{if(2!==t.length){if(1===t.length)return{p:t[0],t:0,d:te(t[0],n)};throw new Error("The given bezier curve must be of order <= 3.")}e=ud(t,n)}const r=Do(e,0,1);r.push(0),r.push(1);let o,i=Number.NEGATIVE_INFINITY;for(const e of r){const r=x(t,e),s=a(r,n);s>i&&(i=s,o={p:r,t:e,d:hd(s)})}return o}(t,n[0]).d;if(2===t.length&&2===n.length){const e=fd(n,t[0]).d,r=fd(n,t[t.length-1]).d;return e>r?e:r}const o=vd(ad(t),ad(n));e=e||o/1e6;const[i,s]=_d(t,0,1),c={tS:0,tE:1,hL:fd(n,t[0]).d,hR:fd(n,t[t.length-1]).d,hEL:i,hER:s},u=new gd(dd);u.insert(c);let l=0,f=Number.POSITIVE_INFINITY,h=Number.NEGATIVE_INFINITY;for(;;){const o=u.heap[0],{tS:i,tE:s,hL:c,hR:a}=o,p=(i+s)/2,[d,g]=_d(t,i,p),[v,m]=_d(t,p,s),_=x(t,p),b=te(_,fd(n,_).p),I=vd(c,b,a);if(I>h&&(h=I),f=pd(o),f-h<e)return h;if(l++>r)return h;const N={tS:i,tE:p,hL:c,hR:b,hEL:d,hER:g},S={tS:p,tE:s,hL:b,hR:a,hEL:v,hER:m};u.swapMinOrMax(N),u.insert(S)}}function _d(t,n,e){const r=(e+n)/2,o=ao(t,n,r),i=ao(t,r,e);return[ne(o),ne(i)]}const bd=Math.max;function xd(t,n,e,r){const o=md(t,n,e,r),i=md(n,t,e,r);return bd(o,i)}function Id(t,n=15,e=.125,r=50){let o=t.cpNode;for(;!o.isTerminating();)o=o.next;const i=Op(o,n),s=[];for(let t=0;t<i.length;t++){const n=i[t];let o=0;for(;o<n.length;){const t=o;for(;(o++,o!==n.length)&&!(Nd(t,o,n,r)>e);)s.push(n[o]);if(t+1===o)break}}for(const t of s){const n=t.isTerminating(),e=t.getCpNodesOnCircle().length;n||2!==e||ht.remove(t)}return{cpNode:o,cpTrees:void 0}}function Nd(t,n,e,r){const o=[],i=lt(e[t],e[n].next);for(;t<n+1;t++)o.push(xd(ft(e[t]),i,r));return Math.max(...o)}function Sd(t){if(4===t.length)return t;if(3===t.length)return function(t){const[[n,e],[r,o],[i,s]]=t;return[[n,e],[1/3*n+2/3*r,1/3*e+2/3*o],[2/3*r+1/3*i,2/3*o+1/3*s],[i,s]]}(t);if(2===t.length)return function(t){const[[n,e],[r,o]]=t,i=(r-n)/3,s=(o-e)/3;return[[n,e],[n+i,e+s],[n+2*i,e+2*s],[r,o]]}(t);if(1===t.length){const n=t[0];return[n,n,n,n]}throw new Error("The given bezier curve must be of order <= 3.")}function Ed(t,n=15,e=.1,r=1){const o=new Map;for(;!t.isTerminating();)t=t.next;const i=Op(t,n),s=[];for(let t=0;t<i.length;t++){const n=i[t];let c=0;for(;c<n.length;){const t=c;for(;(c++,c!==n.length)&&!(wd(t,c,n,r)>e);)s.push(n[c]);if(t+1===c);else{const e=n[t],r=n[c-1],i=Sd(lt(e,r.next)),s=i.slice().reverse();let u=e,l=0;for(;u!==r;){const t=fd(i,u.next.cp.circle.center).t;o.set(u,{ps:i,ts:[l,t]});const n=u.nextOnCircle.prev;o.set(n,{ps:s,ts:[1-t,1-l]}),l=t,u=u.next}o.set(u,{ps:i,ts:[l,1]});const f=u.nextOnCircle.prev;o.set(f,{ps:s,ts:[0,1-l]})}}}return{simpleMap:o,cpNode:t}}function wd(t,n,e,r){const o=[],i=lt(e[t],e[n].next);for(let s=t;s<n+1;s++)o.push(xd(ft(e[s]),i,r));return Math.max(...o)}function Md(t,n,e,r){const o=[];for(const r of t)o.push({type:0,item:r,x:n(r)}),o.push({type:1,item:r,x:e(r)});o.sort(Cd);const i=new Set,s=[];for(const t of o){const{item:n}=t;if(0===t.type){for(const t of i.values())r(n,t)&&s.push([n,t]);i.add(n)}else 1===t.type&&i.delete(t.item)}return s}function Cd(t,n){const e=t.x-n.x;return 0!==e?e:0===t.type?-1:1}function Td(t=[]){const n=[],e={beziers:t,curves:n};if(!t.length)return e;let r;for(let o=0;o<t.length;o++){const i={loop:e,ps:t[o],prev:r,next:void 0,idx:o};r&&(r.next=i),r=i,n.push(i)}const o=n[n.length-1];return n[0].prev=o,o.next=n[0],e}var Od=n.M1,Pd=n.bt,yd=n.A3,Ad=n.zh,Bd=n.Ls,zd=n.CU,Yd=n.gM,Fd=n.SQ,Vd=n.BG,kd=n.Ij,Ld=n.tQ,Dd=n.C_,Xd=n.aS,Qd=n.DZ,qd=n.wH,$d=n.N0,Hd=n.Jt,Gd=n.tO,Rd=n.bQ,Ud=n.UW,jd=n._T,Zd=n.Dw,Wd=n.xs,Jd=n.y9,Kd=n.Fw,tg=n.QE;export{Od as CpNode,Pd as PointOnShape,yd as beziersToSvgPathStr,Ad as drawBranch,Bd as drawElemFunctions,zd as drawMat,Yd as enableDebugForMat,Fd as findMats,Vd as getBoundaryBezierPartsToNext,kd as getBoundaryBeziersToNext,Ld as getBoundaryPieceBeziers,Dd as getBranches,Xd as getClosestBoundaryPoint,Qd as getClosestSquareDistanceToRect,qd as getCurveBetween,$d as getCurveToNext,Hd as getPathsFromStr,Gd as getShapeBounds,Rd as loopFromBeziers,Ud as simplifyMat,jd as simplifyMatMapOnly,Zd as sweepLine,Wd as toScaleAxis,Jd as traverseEdges,Kd as traverseVertices,tg as trimMat};
|
|
1
|
+
var t={d:(n,e)=>{for(var r in e)t.o(e,r)&&!t.o(n,r)&&Object.defineProperty(n,r,{enumerable:!0,get:e[r]})},o:(t,n)=>Object.prototype.hasOwnProperty.call(t,n)},n={};function e(t){let n="";for(let e=0;e<t.length;e++){const r=t[e];0===e&&(n="M "+r[0][0].toString()+" "+r[0][1].toString()+"\n"),4===r.length?n+="C "+r[1][0].toString()+" "+r[1][1].toString()+" "+r[2][0].toString()+" "+r[2][1].toString()+" "+r[3][0].toString()+" "+r[3][1].toString()+" \n":3===r.length?n+="Q "+r[1][0].toString()+" "+r[1][1].toString()+" "+r[2][0].toString()+" "+r[2][1].toString()+" \n":2===r.length&&(n+="L "+r[1][0].toString()+" "+r[1][1].toString()+" \n")}return n+" z\n"}t.d(n,{M1:()=>ht,bt:()=>R,A3:()=>e,zh:()=>od,Ls:()=>ed,CU:()=>Kp,gM:()=>rd,SQ:()=>gp,BG:()=>sd,Ij:()=>id,tQ:()=>Na,C_:()=>Pp,aS:()=>ma,DZ:()=>la,wH:()=>lt,N0:()=>ft,Jt:()=>f,tO:()=>$a,bQ:()=>Od,UW:()=>Nd,_T:()=>wd,Dw:()=>Cd,xs:()=>Op,y9:()=>Mp,Fw:()=>Cp,QE:()=>Ip});class r{constructor(){this.initialPoint=void 0,this.vals=void 0,this.prev2ndCubicControlPoint=void 0,this.prev2ndQuadraticControlPoint=void 0,this.p=[0,0]}}function o(t){const n=[t.p,t.initialPoint];return t.prev2ndCubicControlPoint=void 0,t.prev2ndQuadraticControlPoint=void 0,n}function i(t){t.prev2ndCubicControlPoint=void 0,t.prev2ndQuadraticControlPoint=void 0;const n=(e=t.p,t.vals[0],t.vals[1],t.vals[2],t.vals[3],t.vals[4],[[e,[t.vals[5],t.vals[6]]]]);var e;const r=n[n.length-1];return t.p=r[r.length-1],n}const s={c:function(t){const n=[t.p,[t.vals[0],t.vals[1]],[t.vals[2],t.vals[3]],[t.vals[4],t.vals[5]]];return t.prev2ndCubicControlPoint=n[2],t.prev2ndQuadraticControlPoint=void 0,n},h:function(t){const n=[t.p,[t.vals[0],t.p[1]]];return t.prev2ndCubicControlPoint=void 0,t.prev2ndQuadraticControlPoint=void 0,n},l:function(t){const n=[t.p,t.vals];return t.prev2ndCubicControlPoint=void 0,t.prev2ndQuadraticControlPoint=void 0,n},q:function(t){const n=[t.vals[0],t.vals[1]],e=[t.vals[2],t.vals[3]];return t.prev2ndCubicControlPoint=void 0,t.prev2ndQuadraticControlPoint=n,[t.p,n,e]},s:function(t){const n=t.prev2ndCubicControlPoint?[t.p[0]-t.prev2ndCubicControlPoint[0]+t.p[0],t.p[1]-t.prev2ndCubicControlPoint[1]+t.p[1]]:t.p,e=[t.p,n,[t.vals[0],t.vals[1]],[t.vals[2],t.vals[3]]];return t.prev2ndCubicControlPoint=e[2],t.prev2ndQuadraticControlPoint=void 0,e},t:function(t){const n=t.prev2ndQuadraticControlPoint?[t.p[0]-t.prev2ndQuadraticControlPoint[0]+t.p[0],t.p[1]-t.prev2ndQuadraticControlPoint[1]+t.p[1]]:t.p,e=[t.vals[0],t.vals[1]];return t.prev2ndCubicControlPoint=void 0,t.prev2ndQuadraticControlPoint=n,[t.p,n,e]},v:function(t){const n=[t.p,[t.p[0],t.vals[0]]];return t.prev2ndCubicControlPoint=void 0,t.prev2ndQuadraticControlPoint=void 0,n},z:o};function c(t){let n=0,e=0,r=1,o=0,i=1,s=1;const c=t._currentIndex;if(t._skipOptionalSpaces(),t._currentIndex<t._endIndex&&"+"===t._string[t._currentIndex]?t._currentIndex+=1:t._currentIndex<t._endIndex&&"-"===t._string[t._currentIndex]&&(t._currentIndex+=1,i=-1),t._currentIndex===t._endIndex||(t._string[t._currentIndex]<"0"||t._string[t._currentIndex]>"9")&&"."!==t._string[t._currentIndex])throw new Error("The first character of a number must be one of [0-9+-.].");const u=t._currentIndex;for(;t._currentIndex<t._endIndex&&t._string[t._currentIndex]>="0"&&t._string[t._currentIndex]<="9";)t._currentIndex+=1;if(t._currentIndex!==u){let n=t._currentIndex-1,r=1;for(;n>=u;)e+=r*(Number(t._string[n])-0),n-=1,r*=10}if(t._currentIndex<t._endIndex&&"."===t._string[t._currentIndex]){if(t._currentIndex+=1,t._currentIndex>=t._endIndex||t._string[t._currentIndex]<"0"||t._string[t._currentIndex]>"9")throw new Error("There must be a least one digit following the .");for(;t._currentIndex<t._endIndex&&t._string[t._currentIndex]>="0"&&t._string[t._currentIndex]<="9";)r*=10,o+=Number(t._string.charAt(t._currentIndex))/r,t._currentIndex+=1}if(t._currentIndex!==c&&t._currentIndex+1<t._endIndex&&("e"===t._string[t._currentIndex]||"E"===t._string[t._currentIndex])&&"x"!==t._string[t._currentIndex+1]&&"m"!==t._string[t._currentIndex+1]){if(t._currentIndex+=1,"+"===t._string[t._currentIndex]?t._currentIndex+=1:"-"===t._string[t._currentIndex]&&(t._currentIndex+=1,s=-1),t._currentIndex>=t._endIndex||t._string[t._currentIndex]<"0"||t._string[t._currentIndex]>"9")throw new Error("There must be an exponent.");for(;t._currentIndex<t._endIndex&&t._string[t._currentIndex]>="0"&&t._string[t._currentIndex]<="9";)n*=10,n+=Number(t._string[t._currentIndex]),t._currentIndex+=1}let l=e+o;if(l*=i,n&&(l*=Math.pow(10,s*n)),c===t._currentIndex)throw new Error("Internal error: startIndex === source._currentIndex");return t._skipOptionalSpacesOrDelimiter(),l}const u={Z:"Z",M:"M",L:"L",C:"C",Q:"Q",A:"A",H:"H",V:"V",S:"S",T:"T",z:"Z",m:"m",l:"l",c:"c",q:"q",a:"a",h:"h",v:"v",s:"s",t:"t"};class l{constructor(t){this._string=t,this._currentIndex=0,this._endIndex=this._string.length,this._prevCommand=void 0,this._skipOptionalSpaces()}parseSegment(){const t=this._string[this._currentIndex];let n,e=u[t];if(void 0===e){if(void 0===this._prevCommand)throw new Error("Implicit command not allowed for first commands.");if(!("+"===t||"-"===t||"."===t||t>="0"&&t<="9")||"Z"===this._prevCommand)throw new Error("Remaining coordinates not found for implicit command");e="M"===this._prevCommand?"L":"m"===this._prevCommand?"l":this._prevCommand}else this._currentIndex+=1;this._prevCommand=e;const r=e.toUpperCase();if("H"===r||"V"===r?n=[c(this)]:"M"===r||"L"===r||"T"===r?n=[c(this),c(this)]:"S"===r||"Q"===r?n=[c(this),c(this),c(this),c(this)]:"C"===r?n=[c(this),c(this),c(this),c(this),c(this),c(this)]:"A"===r?n=[c(this),c(this),c(this),this._parseArcFlag(),this._parseArcFlag(),c(this),c(this)]:"Z"===r&&(this._skipOptionalSpaces(),n=[]),void 0===n)throw new Error("Unknown command");return{type:e,values:n}}hasMoreData(){return this._currentIndex<this._endIndex}initialCommandIsMoveTo(){if(!this.hasMoreData())return!0;const t=u[this._string[this._currentIndex]];return"M"===t||"m"===t}_isCurrentSpace(){const t=this._string[this._currentIndex];return t<=" "&&(" "===t||"\n"===t||"\t"===t||"\r"===t||"\f"===t)}_skipOptionalSpaces(){for(;this._currentIndex<this._endIndex&&this._isCurrentSpace();)this._currentIndex+=1;return this._currentIndex<this._endIndex}_skipOptionalSpacesOrDelimiter(){return!(this._currentIndex<this._endIndex&&!this._isCurrentSpace()&&","!==this._string[this._currentIndex])&&(this._skipOptionalSpaces()&&this._currentIndex<this._endIndex&&","===this._string[this._currentIndex]&&(this._currentIndex+=1,this._skipOptionalSpaces()),this._currentIndex<this._endIndex)}_parseArcFlag(){if(this._currentIndex>=this._endIndex)throw new Error("Unable to parse arc flag");let t;const n=this._string[this._currentIndex];if(this._currentIndex+=1,"0"===n)t=0;else{if("1"!==n)throw new Error("Unable to parse arc flag - arc flag must be 0 or 1");t=1}return this._skipOptionalSpacesOrDelimiter(),t}}function f(t){return function(t){if(0===t.length)return[];if("m"!==t[0].type.toLowerCase())throw new Error("Invalid SVG - every new path must start with an M or m.");const n=new r,e=[];let c,u=[];for(let r=0;r<t.length;r++){const l=t[r],f=l.type.toLowerCase();if(n.vals=l.values,l.type===f)if("v"===f)n.vals[0]+=n.p[1];else if("a"===f)n.vals[5]+=n.p[0],n.vals[6]+=n.p[1];else for(let t=0;t<n.vals.length;t++)n.vals[t]+=n.p[t%2];if("m"!==f){if("a"===f)u.push(...i(n));else{const t=s[f];if(!t)throw new Error("Invalid SVG - command not recognized.");const e=t(n);n.p=e[e.length-1],u.push(e)}c=f}else u.length&&("z"!==c&&u.push(o(n)),e.push(u),u=[]),n.initialPoint=n.p=n.vals,c=f}return u.length>0&&("z"!==c&&u.push(o(n)),e.push(u)),e}(function(t){if(!t.length)return[];const n=new l(t),e=[];if(!n.initialCommandIsMoveTo())throw new Error("Path must start with m or M");for(;n.hasMoreData();)e.push(n.parseSegment());return e}(t))}function h(t){const n=1/Math.sqrt(t[0]*t[0]+t[1]*t[1]);return[t[0]*n,t[1]*n]}function a(t,n){const e=n[0]-t[0],r=n[1]-t[1];return e*e+r*r}function p(t,n){return[n[0]-t[0],n[1]-t[1]]}function d(t,n,e){return[t[0]+(n[0]-t[0])*e,t[1]+(n[1]-t[1])*e]}function g(t,n){return t[0]===n[0]&&t[1]===n[1]}function v(t,n,e){let r,o=Number.POSITIVE_INFINITY;for(let i=0;i<n.length;i++){const s=n[i],c=a(t,e(s));c<o&&(r=s,o=c)}return r}function m(t,n){return t[0]*n[0]+t[1]*n[1]}const _="function"==typeof WeakMap;function b(t){if(!_)return t;const n=new WeakMap;return function(e){let r=n.get(e);return void 0!==r||(r=t(e),n.set(e,r)),r}}function x(t,n){if(0===n)return t[0];if(1===n)return t[t.length-1];if(4===t.length){const[[e,r],[o,i],[s,c],[u,l]]=t,f=e+(o-e)*n,h=o+(s-o)*n,a=f+(h-f)*n,p=r+(i-r)*n,d=i+(c-i)*n,g=p+(d-p)*n;return[a+(h+(s+(u-s)*n-h)*n-a)*n,g+(d+(c+(l-c)*n-d)*n-g)*n]}if(3===t.length){const[[e,r],[o,i],[s,c]]=t,u=e+(o-e)*n,l=r+(i-r)*n;return[u+(o+(s-o)*n-u)*n,l+(i+(c-i)*n-l)*n]}if(2===t.length){const[[e,r],[o,i]]=t;return[e+(o-e)*n,r+(i-r)*n]}if(1===t.length)return t[0];throw new Error("The given bezier curve must be of order <= 3.")}function I(t,n){let e=0;for(let r=0;r<t.length;r++)e=e*n+t[r];return e}function N(t){if(4===t.length)return function(t){const[[n,e],[r,o],[i,s],[c,u]]=t;return[[3*(c-n+3*(r-i)),6*(i+n-2*r),3*(r-n)],[3*(u-e+3*(o-s)),6*(s+e-2*o),3*(o-e)]]}(t);if(3===t.length)return function(t){const[[n,e],[r,o],[i,s]]=t;return[[2*(i+n-2*r),2*(r-n)],[2*(s+e-2*o),2*(o-e)]]}(t);if(2===t.length)return function(t){const[[n,e],[r,o]]=t;return[[r-n],[o-e]]}(t);if(1===t.length)return[[0],[0]];throw new Error("The bezier curve must be of order <= 3.")}function S(t){if(4===t.length){const[[n,e],[r,o],[i,s],[c,u]]=t;return[[6*(c-n+3*(r-i)),6*(i+n-2*r)],[6*(u-e+3*(o-s)),6*(s+e-2*o)]]}if(3===t.length){const[[n,e],[r,o],[i,s]]=t;return[[2*(i-2*r+n)],[2*(s-2*o+e)]]}if(t.length<=2)return[[0],[0]];throw new Error("The given bezier curve must be of order <= 3.")}function E(t,n){const[e,r]=N(t);return[I(e,n),I(r,n)]}function w(t,n){return t[0]*n[1]-t[1]*n[0]}const M=134217729;function C(t,n){const e=t*n,r=M*t,o=r-(r-t),i=t-o,s=M*n,c=s-(s-n),u=n-c;return[i*u-(e-o*c-i*c-o*u),e]}function T(t,n){const e=t.length,r=n.length;let o=0,i=0;const s=[];for(;o<e&&i<r;)0!==t[o]?0!==n[i]?Math.abs(t[o])<=Math.abs(n[i])?(s.push(t[o]),o++):(s.push(n[i]),i++):i++:o++;for(;o<e;)s.push(t[o]),o++;for(;i<r;)s.push(n[i]),i++;if(0===s.length)return[0];const c=s.length;if(1===c)return s;const u=[],l=s[1],f=s[0];let h=l+f;const a=f-(h-l);0!==a&&u.push(a),i=0;for(let t=2;t<c;t++){const n=s[t],e=h+n,r=e-h,o=h-(e-r)+(n-r);0!==o&&u.push(o),h=e}return 0===h&&0!==u.length||u.push(h),u}function O(t){const n=t.length,e=new Array(n);for(let r=0;r<n;r++)e[r]=-t[r];return e}const P=O,y=T;function A(t,n){const e=P(n);return y(t,e)}function B(t){let n=t[0];for(let e=1;e<t.length;e++)n+=t[e];return n}function z(t,n){const e=t-n,r=t-e;return[t-(e+r)+(r-n),e]}function Y(t){const n=t.slice(),e=n.length;if(1===e)return n;let r=n[e-1],o=e;for(let t=e-2;t>=0;--t){const e=r,i=n[t];r=e+i;const s=i-(r-e);s&&(n[--o]=r,r=s)}let i=0;for(let t=o;t<e;++t){const e=n[t],o=r;r=e+o;const s=o-(r-e);s&&(n[i++]=s)}return n[i++]=r,n.length=i,n}function F(t,n,e){const r=(t[0]-e[0])*(n[1]-e[1]),o=(t[1]-e[1])*(n[0]-e[0]),i=r-o;let s;if(r>0){if(o<=0)return i;s=r+o}else{if(!(r<0))return i;if(o>=0)return i;s=-r-o}return Math.abs(i)>=3330669073875472e-31*s?i:function(t,n,e,r){const o=t[0]-e[0],i=n[0]-e[0],s=t[1]-e[1],c=n[1]-e[1],u=A(C(o,c),C(s,i));let l=B(u);if(Math.abs(l)>=2220446049250315e-31*r)return l;const f=z(t[0],e[0])[0],h=z(n[0],e[0])[0],a=z(t[1],e[1])[0],p=z(n[1],e[1])[0];if(0===f&&0===a&&0===h&&0===p)return l;const d=1109335647967049e-46*r+3330669073875471e-31*Math.abs(l);if(l+=o*p+c*f-(s*h+i*a),Math.abs(l)>=d)return l;const g=T(u,A(C(f,c),C(a,i))),v=T(g,A(C(o,p),C(s,h)));let m=T(v,A(C(f,p),C(a,h)));return m=Y(m),m[m.length-1]}(t,n,e,s)}function V(t){return t[t.length-1]}function k(t,n){const e=t.length;let r;const o=t[0];let i=o*n;const s=134217729*o,c=s-(s-o),u=o-c,l=134217729*n,f=l-(l-n),h=n-f,a=[],p=u*h-(i-c*f-u*f-c*h);0!==p&&a.push(p);for(let o=1;o<e;o++){const e=t[o],s=e*n,c=134217729*e,u=c-(c-e),l=e-u,f=134217729*n,h=f-(f-n),p=n-h,d=l*p-(s-u*h-l*h-u*p),g=i+d,v=g-i,m=i-(g-v)+(d-v);0!==m&&a.push(m),r=g;const _=s+r,b=r-(_-s);0!==b&&a.push(b),i=_}return 0===i&&0!==a.length||a.push(i),a}function L(t,n){const e=n.length;let r;const o=n[0];let i=o*t;const s=134217729*o,c=s-(s-o),u=o-c,l=134217729*t,f=l-(l-t),h=t-f,a=[],p=u*h-(i-c*f-u*f-c*h);0!==p&&a.push(p);for(let o=1;o<e;o++){const e=n[o],s=e*t,c=134217729*e,u=c-(c-e),l=e-u,f=134217729*t,h=f-(f-t),p=t-h,d=l*p-(s-u*h-l*h-u*p),g=i+d,v=g-i,m=i-(g-v)+(d-v);0!==m&&a.push(m),r=g;const _=s+r,b=r-(_-s);0!==b&&a.push(b),i=_}return 0===i&&0!==a.length||a.push(i),a}const D=k,X=T;function Q(t,n){let e=[0];for(let r=0;r<t.length;r++)e=X(e,D(n,t[r]));return e}function q(t){if(4===t.length){const[[n,e],[r,o]]=t;return[3*(r-n),3*(o-e)]}if(3===t.length){const[[n,e],[r,o]]=t;return[2*(r-n),2*(o-e)]}if(2===t.length){const[[n,e],[r,o]]=t;return[r-n,o-e]}if(1===t.length)return[0,0];throw new Error("The given bezier curve must be of order <= 3.")}function $(t){if(4===t.length){const[[n,e],[r,o],[i,s]]=t;return[6*(i+n-2*r),6*(s+e-2*o)]}if(3===t.length){const[[n,e],[r,o],[i,s]]=t;return[2*(i+n-2*r),2*(s+e-2*o)]}if(t.length<=2)return[0,0];throw new Error("The given bezier curve must be of order <= 3")}function H(t){if(4===t.length){const[[n,e],[r,o],[i,s],[c,u]]=t;return[6*(c-n+3*(r-i)),6*(u-e+3*(o-s))]}if(t.length<=3)return[0,0];throw new Error("The given bezier curve must be of order <= 3.")}const G=b((function(t){return function(t,n){const e=function(t,n){const e=t[t.length-2],r=n[0],o=n[1],i=[r[0]-e[0],r[1]-e[1]],s=[o[0]-r[0],o[1]-r[1]],c=F(e,r,o);return 0!==c?c:m(i,s)>0?0:function(t,n){const[e,r]=q(t),[o,i]=$(t),[s,c]=q(n),[u,l]=$(n),f=A(C(e,i),C(r,o)),h=A(C(s,l),C(c,u)),a=V(f),p=V(h);if(a!==p)return a-p;const d=T(C(s,s),C(c,c)),g=T(C(e,e),C(r,r)),v=Q(d,d),m=Q(v,d),_=Q(g,g),b=Q(_,g);if(0!==a||0!==p){const t=Q(f,f),n=Q(h,h),e=V(A(Q(t,m),Q(n,b)));if(0!==e)return a>0?e:-e}const[x,I]=H(t),[N,S]=H(n),E=A(C(e,I),C(r,x)),w=T(C(e,o),C(r,i)),M=A(C(s,S),C(c,N)),O=T(C(s,u),C(c,l)),P=A(Q(g,E),k(Q(f,w),3)),y=A(Q(d,M),k(Q(h,O),3)),B=V(P),z=V(y);if(a!==p)return B-z;if(0===B&&0===z)return 0;const Y=Q(P,P),F=Q(v,m),L=Q(y,y),D=Q(_,b),X=V(A(Q(Y,F),Q(L,D)));return B>0?X:-X}(t.slice().reverse(),n)}(t,n),r=e<0,o=e>0,i=t[t.length-2],s=t[t.length-1],c=[s[0]-i[0],s[1]-i[1]],u=n[0],l=n[1],f=[l[0]-u[0],l[1]-u[1]],a=[h(c),h(f)],p=w(a[0],a[1]);let d,g;return m(c,f)>0?(d=p<-.0698,g=p>.0698):(d=r,g=o),{tangents:a,crossTangents:p,isSharp:r,isDull:o,isQuiteSharp:d,isQuiteDull:g}}(t.ps,t.next.ps)}));class R{constructor(t,n){this.curve=t,this.t=n,this.p_=void 0}get p(){return void 0===this.p_?this.p_=x(this.curve.ps,this.t):this.p_}}function U(t){return 0===t.t||1===t.t}function j(t){return G(1===t.t?t.curve:t.curve.prev)}const Z=b((t=>!!U(t)&&j(t).isSharp)),W=b((t=>!!U(t)&&j(t).isDull)),J=b((t=>!!U(t)&&j(t).isQuiteSharp));function K(t,n){if(!U(n))return 0;if(!W(n))return 0;var e;return-m([(e=j(n).tangents[0])[1],-e[0]],h(p(n.p,t.center)))}function tt(t,n){if(void 0===t||void 0===n)return;let e;return e=t.curve.idx-n.curve.idx,0!==e||(e=t.t-n.t),e}b((t=>!!U(t)&&j(t).isQuiteDull));const nt=b((t=>1/-function(t,n){const[e,r]=N(t),[o,i]=S(t),s=I(e,n),c=I(r,n),u=I(o,n);return(s*I(i,n)-c*u)/Math.sqrt((s*s+c*c)**3)}(t.curve.ps,t.t)));function et(t,n){if(Z(n))return{center:n.p,radius:0};let e=nt(n);e<0&&(e=Number.POSITIVE_INFINITY),e=Math.min(e,t);const r=n.curve.ps,o=n.t,i=E(r,o),s=h([-i[1],i[0]]),c=x(r,o);return{center:[c[0]-s[0]*e,c[1]-s[1]*e],radius:e}}function rt(t,n){let e=tt(t.pointOnShape,n.pointOnShape);if(void 0!==e)return 0!==e?e:(e=t.order-n.order,0!==e?e:t.order2-n.order2)}function ot(t,n){const[[e,r],[o,i]]=t,[[s,c],[u,l]]=n,f=o-e,h=i-r,a=u-s,p=l-c,d=a*h-p*f;if(0===d)return;const g=((c-r)*f-(s-e)*h)/d;return[s+g*a,c+g*p]}function it(t){return[-t[1],t[0]]}function st(t,n){function e(n){return[t[0]+n[0],t[1]+n[1]]}return void 0===n?e:e(n)}function ct(t,n,e){function r(e){return[e[0]*n-e[1]*t,e[0]*t+e[1]*n]}return void 0===e?r:r(e)}function ut(t){const n=t.cp.circle.center,e=t,r=t.nextOnCircle,o=e.cp.pointOnShape,i=r.cp.pointOnShape,s=o.p,c=i.p;let u;if(Z(o)){let t,n;0===o.t?(t=o.curve,n=o.curve.prev):1===o.t&&(t=o.curve.next,n=o.curve);const e=h(E(t.ps,0)),r=[-(l=h(E(n.ps,1)))[0],-l[1]],i=m(e,r),s=Math.sqrt((1+i)/2);u=ct(Math.sqrt((1-i)/2),s,r)}else u=s[0]===c[0]&&s[1]===c[1]?p(s,n):it(p(s,c));var l;return[n,st(h(u),n)]}function lt(t,n){const e=t.cp.circle.center,r=ut(t),o=n.cp.circle.center,i=ut(n.prevOnCircle),s=ot(r,i),c=p(e,o);let u;if(s){const t=p(e,s),n=p(o,s);u=m(t,c)<0||m(n,c)>0}else u=!0;if(!u)return[e,s,o];const l=it(c),f=p(r[0],r[1]),h=p(i[0],i[1]),a=Math.abs(w(c,f))/9,g=Math.abs(w(c,h))/9;if(a>.01||g>.01)return[e,o];if(a>1e-4||g>1e-4){const t=d(e,o,1/3),n=d(e,o,2/3),s=st(l,t),c=[n,st(l,n)];return[e,ot(r,[t,s]),ot(i,c),o]}return[e,o]}function ft(t){return lt(t,t.next)}class ht{constructor(t,n,e,r,o,i,s){this.cp=t,this.isHoleClosing=n,this.isIntersection=e,this.prev=r,this.next=o,this.prevOnCircle=i,this.nextOnCircle=s}get matCurveToNextVertex(){return ft(this)}getChildren(){const t=[],n=this.next;let e=n;do{t.push(e),e=e.nextOnCircle}while(e.nextOnCircle!==n);return t}get vertexChildren(){if(this.isTerminating())return[];const t=this,n=[];let e=t;for(;e!==t.prevOnCircle;)e.isTerminating()||n.push(e.next),e=e.nextOnCircle;return n}getAllOnLoop(){const t=this,n=[t];let e=this.next;for(;e!==t;)n.push(e),e=e.next;return n}static insert(t,n,e,r,o){const i=new ht(r,t,n);let s,c;return"undefined"!=typeof _debug_&&_debug_.generated.elems.cpNode.push({generated:_debug_.generated,cpNode:i}),o?(s=o,c=s.next):(s=i,c=i),c.prev=i,s.next=i,i.prev=s,i.next=c,e.insert(i),i}getCpNodesOnCircle(t=!1){const n=this;let e=n;const r=[];do{t?t=!1:r.push(e),e=e.nextOnCircle}while(e!==n);return r}static isOnSameCircle(t,n){return t.getCpNodesOnCircle(!0).indexOf(n)>=0}isTerminating(){return this===this.next.prevOnCircle}isFullyTerminating(){return this.prevOnCircle.getCpNodesOnCircle(!0).every((t=>t.isTerminating()))}getFirstExit(){const t=this;let n=t;for(;n.next===n.prevOnCircle;)if(n=n.next,n===t)return;return n}isSharp(){return 0===this.cp.circle.radius}isOneProng(){const t=this;if(0===t.cp.circle.radius)return!0;const n=t.nextOnCircle,e=t.cp.pointOnShape.p,r=n.cp.pointOnShape.p;return e[0]===r[0]&&e[1]===r[1]}getProngCount(){const t=this;let n=t,e=0;do{e++,n=n.nextOnCircle}while(n!==t);return e}getRealProngCount(){return this.isOneProng()?1:this.getProngCount()}}ht.comparator=(t,n)=>rt(t.cp,n.cp),ht.remove=function(t,n){const e=t.prev,r=t.next;e.next=r,r.prev=e;const o=r.prevOnCircle,i=e.nextOnCircle;o.next=i,i.prev=o,n&&n.remove(t,!1)};const at=Number.EPSILON/2,pt=at*at;function dt(t,n){const e=t[0],r=t[1],o=n[0],i=n[1],s=r-i,c=s-r,u=e-o,l=u-e,f=r-(s-c)+(-i-c)+u,h=s+f,a=e-(u-l)+(-o-l)+(f-(h-s)),p=h+a;return[a-(p-h),p]}const gt=dt,vt=dt;function mt(t,n){const e=t[0],r=t[1],o=n[0],i=n[1],s=r/i,c=i*s,u=134217729*i,l=u-(u-i),f=i-l,h=134217729*s,a=h-(h-s),p=s-a,d=o*s,g=c+d,v=d-(g-c)+(f*p-(c-l*a-f*a-l*p)),m=g+v,_=(r-m+(e-(v-(m-g))))/i,b=s+_;return[_-(b-s),b]}Number.EPSILON;const _t=mt,bt=Number.EPSILON/2,xt=bt*bt,It=Number.EPSILON/2,Nt=function(t,n){const e=n[0],r=n[1],o=r*t,i=134217729*r,s=i-(i-r),c=r-s,u=134217729*t,l=u-(u-t),f=t-l,h=c*f-(o-s*l-c*l-s*f)+e*t,a=o+h;return[h-(a-o),a]},St=function(t,n){const e=t[0],r=t[1],o=r+n,i=o-r,s=e+(r-(o-i)+(n-i)),c=o+s;return[s-(c-o),c]},Et=function(t,n){const e=t[0],r=t[1],o=n[0],i=n[1],s=r+i,c=s-r,u=e+o,l=u-e,f=r-(s-c)+(i-c)+u,h=s+f,a=e-(u-l)+(o-l)+(f-(h-s)),p=h+a;return[a-(p-h),p]},wt=dt,Mt=function(t){return[2*t[0],2*t[1]]},Ct=function(t){return[4*t[0],4*t[1]]},Tt=function(t,n){const e=t[1],r=n[1],o=e*r,i=134217729*e,s=i-(i-e),c=e-s,u=134217729*r,l=u-(u-r),f=r-l,h=c*f-(o-s*l-c*l-s*f)+(e*n[0]+t[0]*r),a=o+h;return[h-(a-o),a]},Ot=mt,Pt=function(t){return[-t[0],-t[1]]},yt=function(t,n){const e=t-n,r=t-e;return[t-(e+r)+(r-n),e]},At=function(t,n){const e=t*n,r=134217729*t,o=r-(r-t),i=t-o,s=134217729*n,c=s-(s-n),u=n-c;return[i*u-(e-o*c-i*c-o*u),e]},Bt=function(t,n,e,r){const o=t/n,i=Math.abs(t),s=Math.abs(n),c=s-r;return c<=0?{est:o,err:Number.POSITIVE_INFINITY}:{est:o,err:(s*e+i*r)/c**2+It*Math.abs(i/s)}},zt=Nt,Yt=B,Ft=function(t){const n=3*pt;return n/(1-n)}(),Vt=k;function kt(t,n){const e=t+n,r=e-t;return[t-(e-r)+(n-r),e]}const Lt=kt,Dt=C,Xt=Math.abs,Qt=Number.EPSILON/2;function qt(t,n){let e=t[0],r=.5*Xt(e);for(let o=1;o<t.length;o++)e=e*n+t[o],r=r*Xt(n)+Xt(e);return r=Qt*(2*r-Xt(e)),[e,r]}const $t=Math.abs,Ht=function(t){const n=t*at;return n/(1-n)},Gt=qt,Rt=I,Ut=Ht(1),jt=Ht(2);function Zt(t,n,e,r=1){const o=Math.abs(n),i=t[0],[s,c]=Gt(i,n),u=jt*function(t,n){let e=0;for(let r=0;r<t.length;r++)e=e*n+$t(t[r]);return e}(i,o),l=void 0!==e?Rt(e,o):0;if((c+u+l)*r<Math.abs(s))return s;const f=function(t,n){const e=[],r=[];let o,i=t[0];for(let s=1;s<t.length;s++){const[c,u]=Dt(i,n);[o,i]=Lt(u,t[s]),e.push(c),r.push(o)}return{r̂:i,pπ:e,pσ:r}}(i,n),{pπ:h,pσ:a}=f;let{r̂:p}=f;const[d,g]=Gt(h,n),[v,m]=Gt(a,n),[_,b]=Gt(t[1],n);let x=g+m+b+l;return p=d+v+_+p,x+=Ut*p,x*r<Math.abs(p)?p:0}const Wt=T,Jt=k;function Kt(t,n){let e=[0];for(let r=0;r<t.length;r++)e=Wt(t[r],Jt(e,n));return e}const tn=Zt,nn=Kt,en=B,rn=Zt,on=Kt,sn=B,cn=Number.EPSILON,un=Math.abs,ln=Math.max;function fn(t){const n=[];for(let e=0;e<t.length;e++)n.push(-t[e]);return n}const hn=fn,an=function(t){return n=>1/t(function(t){return t.slice().reverse()}(n))};function pn(t){const n=t.length-1;if(n<1)return 0;t[0]<0&&(t=hn(t));const e=[];for(let t=0;t<n;t++)e.push(1);let r=0;for(let o=0;o<=n;o++){if(t[o]>=0)continue;let n=Number.POSITIVE_INFINITY,i=!1;for(let r=0;r<o;r++){if(t[r]<=0)continue;const s=(-t[o]/(t[r]/2**e[r]))**(1/(o-r));e[r]++,n>s&&(n=s),i=!0}i&&r<n&&(r=n)}return r}an(pn);const dn=(yn=pn,t=>-yn(function(t){const n=t.length-1;if(n<0)return[];const e=t.slice();for(let t=0;t<n+1;t++)t%2&&(e[t]=-e[t]);return e}(t))),gn=(an(dn),function(t){const{p:n,pE:e}=t,r=[],o=[],i=n.length-1;for(let t=0;t<i;t++){const s=i-t,c=zt(s,n[t]);r.push(c);const u=0==(s&s-1)?0:Ft,l=Yt(c);o.push(s*e[t]+Math.abs(l)*u)}return{p:r,pE:o}}),vn=Zt,mn=Kt,_n=function(t){const n=t[0].length,e=[];for(let r=0;r<n;r++){const o=[];for(let e=0;e<t.length;e++)o.push(t[e][n-(r+1)]);e.push(o)}return e},bn=function(t,n,e,r){const o=tn(t,e,n,4);return 0!==o?o:en(nn(r(),e))},xn=function(t,n,e,r,o,i,s,c){let u=e,l=r,f=u,h=o,a=l-u,p=a;for(;;){let d;un(h)<un(i)&&(u=l,l=f,f=u,o=i,i=h,h=o);const g=ln(un(u),un(l));d=g<=1?cn:cn*2**Math.ceil(Math.log2(g));const v=.5*(f-l);if(un(v)<=d)return l<f?[l,f]:[f,l];if(un(a)<d||un(o)<=un(i))a=v,p=a;else{let t,n,e=i/o;if(u===f)t=2*v*e,n=1-e;else{n=o/h;const r=i/h;t=e*(2*v*n*(n-r)-(l-u)*(r-1)),n=(n-1)*(r-1)*(e-1)}0<t?n=-n:t=-t,e=a,a=p,2*t<3*v*n-un(d*n)&&t<un(.5*e*n)?p=t/n:(a=v,p=a)}if(u=l,o=i,d<un(p)?l+=p:0<v?l+=d:l-=d,0===(i=c?sn(on(s(),l)):rn(t,l,n))){if(c)return[l,l];const o=Math.max(e,l-d),u=Math.min(r,l+d);if(rn(t,o,n)*rn(t,u,n)!=0)return[o,u];if(c=!0,0===(i=sn(on(s(),l))))return[l,l]}(0<i&&0<h||i<=0&&h<=0)&&(f=u,h=o,a=l-u,p=a)}},In=dn,Nn=pn,Sn=function(t){const n=[],e=t.length-1;for(let r=0;r<e;r++)n.push(Vt(t[r],e-r));return n},En=B,wn=qt,Mn=V,Cn=Math.max,Tn=Math.min,On=Math.abs,Pn=1+Number.EPSILON;var yn;function An(t,n=0,e=1,r,o,i){o||(o=()=>t),r=r||new Array(t.length).fill(0);let s,c,u=0;for(;t.length>0&&On(t[0][1])<=r[0]&&(c=c||o(),0===Mn(c[0]));)(t=t.slice()).shift(),(r=r.slice()).shift(),c.shift();if(0===t.length)return i?void 0:[];if(1===t.length)return[];if(n===Number.NEGATIVE_INFINITY||e===Number.POSITIVE_INFINITY){const r=t.map((t=>t[1]));n===Number.NEGATIVE_INFINITY&&(n=In(r)),e===Number.POSITIVE_INFINITY&&(e=Nn(r))}const l=_n(t);let f,h;const a=t.length-1;let p,d;f=0,h=!1;do{if(p=h?En(mn(x(),n)):vn(l,n,r),0===p){if(f++,f>=3&&!h){h=!0;continue}n-=2*Number.EPSILON*Cn(1,On(n))}}while(0===p);f=0,h=!1;do{if(d=h?En(mn(x(),e)):vn(l,e,r),0===d){if(f++,f>=3&&!h){h=!0;continue}e+=2*Number.EPSILON*Cn(1,On(e))}}while(0===d);const g=[{p:t,pE:r}],v=[_n(t)];for(let t=1;t<=a;t++){const n=gn(g[t-1]);g.push(n),v.push(_n(n.p))}let m,_,b=[];for(u=a-1;u>=0;u--)m=g[u].pE,_=v[u],b=I();function x(){if(void 0!==s)return s[u];let t=c||o();for(s=[t];t.length>1;)t=Sn(t),s.push(t);return s[u]}return b;function I(){const t=[],r=bn(_,m,n,x);if(!b.length){const t=bn(_,m,e,x);if(r*t>=0)return[];const[o,i]=xn(_,m,n,e,r,t,x);return[{tS:o,tE:i,multiplicity:1}]}let o=b[0].tS,i=bn(_,m,o,x);if(r*i>0);else if(r*i<0){const[e,s]=xn(_,m,n,o,r,i,x);t.push({tS:e,tE:s,multiplicity:1})}let s,c=n,l=r,f=o,h=i;for(let n=0;n<b.length;n++){const r=b[n+1];s=b[n],o=f,c=b[n].tE,f=r?r.tS:e;const u=l;if(i=h,l=bn(_,m,c,x),h=bn(_,m,f,x),i*l>0)if(l*h>0)c!==o&&s.multiplicity%2==1&&p();else if(l*h<0){c!==o&&s.multiplicity%2==1&&p();const[n,e]=xn(_,m,c,f,l,h,x);t.push({tS:n,tE:e,multiplicity:1})}else c!==o&&s.multiplicity%2==1&&p();else if(i*l<0){if(t.push({tS:s.tS,tE:s.tE,multiplicity:3}),l*h<0){const[n,e]=xn(_,m,c,f,l,h,x);t.push({tS:n,tE:e,multiplicity:1})}}else if(0===l)0===i?t.push({tS:s.tS,tE:s.tE,multiplicity:s.multiplicity+1}):i*h>0?t.push({tS:s.tS,tE:s.tE,multiplicity:2}):t.push({tS:s.tS,tE:s.tE,multiplicity:3});else{if(l*h<0){const[n,e]=xn(_,m,c,f,l,h,x);t.push({tS:n,tE:e,multiplicity:1})}u*l>0?t.push({tS:s.tS,tE:s.tE,multiplicity:2}):t.push({tS:s.tS,tE:s.tE,multiplicity:3})}}for(let n=0;n<t.length-1;n++){const e=t[n],r=t[n+1];if(e.tE>=r.tS)return Bn(t)}return t;function p(){const n=(c-o)*Pn;let e=1,r=0;for(let t=u+2;t<=a;t++){const i=v[t][0],s=wn(i,o);r+=(On(s[0])+s[1])*e,e*=n*Pn}const f=l>0?Tn(i,l):Cn(i,l),h=2*Number.EPSILON*Cn(1,On(c)),p=r*(2*h);(f+(l>0?2*-p*h:2*p*h))*l<0&&t.push({tS:s.tS,tE:s.tE,multiplicity:2})}}}function Bn(t){const n=[],e=t[0];let r={tS:e.tS,tE:e.tE,multiplicity:e.multiplicity};for(let e=0;e<t.length-1;e++){const o=t[e],i=t[e+1];o.tE<i.tS?(n.push(r),r={tS:i.tS,tE:i.tE,multiplicity:i.multiplicity}):(r.tE=i.tE,r.multiplicity=o.multiplicity+i.multiplicity)}return n.push(r),n}function zn(t,n=Number.NEGATIVE_INFINITY,e=Number.POSITIVE_INFINITY,r){return An(t.map((t=>[0,t])),n,e,void 0,void 0,r)}const Yn=Math.abs;function Fn(t,n){if(0===n[0]&&0===n[1])return[0,0];if(0===n[0]&&1===n[1])return[0,0];const e=Yn(n[1]);if(4===t.length){const[[n,r],[o,i],[s,c],[u,l]]=t,f=Yn(n),h=Yn(r),a=Yn(o),p=Yn(i),d=Yn(s),g=Yn(c),v=f+(a+f)*e,m=a+(d+a)*e,_=v+(m+v)*e,b=h+(p+h)*e,x=p+(g+p)*e,I=b+(x+b)*e;return[_+(m+(d+(Yn(u)+d)*e+m)*e+_)*e,I+(x+(g+(Yn(l)+g)*e+x)*e+I)*e]}if(3===t.length){const[[n,r],[o,i],[s,c]]=t,u=Yn(n),l=Yn(r),f=Yn(o),h=Yn(i),a=u+(f+u)*e,p=l+(h+l)*e;return[a+(f+(Yn(s)+f)*e+a)*e,p+(h+(Yn(c)+h)*e+p)*e]}if(2===t.length){const[[n,r],[o,i]]=t,s=Yn(n),c=Yn(r);return[s+(Yn(o)+s)*e,c+(Yn(i)+c)*e]}if(1===t.length)return[0,0];throw new Error("The given bezier curve must be of order <= 3.")}const Vn=Number.EPSILON/2,kn=Vn*Vn;function Ln(t){const n=t*Vn;return n/(1-n)}function Dn(t){const n=t*kn;return n/(1-n)}Ln(1),Dn(3);const Xn=Math.abs,Qn=[[0,0],[0,0],[0,0],[0,0]];function qn(t,n,e){return 0===n?1===e?{ps:t,_ps:Qn}:function(t,n){const e=t[0],r=t[1],o=t[2],i=t[3],s=e[0],c=e[1],u=r[0],l=r[1],f=o[0],h=o[1],a=i[0],p=i[1],d=s-n*(s-u),g=u-n*(u-f),v=d-n*(d-g),m=v-n*(v-(g-n*(g-(f-n*(f-a))))),_=c-n*(c-l),b=l-n*(l-h),x=_-n*(_-b),I=x-n*(x-(b-n*(b-(h-n*(h-p))))),N=Xn(n),S=Xn(s),E=Xn(u),w=Xn(f),M=Xn(a),C=Xn(c),T=Xn(l),O=Xn(h),P=S+N*(S+E),y=E+N*(E+w),A=P+N*(P+y),B=C+N*(C+T),z=T+N*(T+O),Y=B+N*(B+z);return{ps:[[s,c],[d,_],[v,x],[m,I]],_ps:[[0,0],[P,B],[A,Y],[A+N*(A+(y+N*(y+(w+N*(w+M))))),Y+N*(Y+(z+N*(z+(O+N*(O+Xn(p))))))]]}}(t,e):1===e?function(t,n){const e=t[0],r=t[1],o=t[2],i=t[3],s=e[0],c=e[1],u=r[0],l=r[1],f=o[0],h=o[1],a=i[0],p=i[1],d=s-n*(s-u),g=u-n*(u-f),v=f-n*(f-a),m=d-n*(d-g),_=g-n*(g-v),b=m-n*(m-_),x=c-n*(c-l),I=l-n*(l-h),N=h-n*(h-p),S=x-n*(x-I),E=I-n*(I-N),w=S-n*(S-E),M=Xn(n),C=Xn(s),T=Xn(u),O=Xn(f),P=Xn(a),y=Xn(c),A=Xn(l),B=Xn(h),z=C+M*(C+T),Y=T+M*(T+O),F=O+M*(O+P),V=z+M*(z+Y),k=Y+M*(Y+F),L=y+M*(y+A),D=A+M*(A+B),X=B+M*(B+Xn(p)),Q=L+M*(L+D),q=D+M*(D+X);return{ps:[[b,w],[_,E],[v,N],[a,p]],_ps:[[V+M*(V+k),Q+M*(Q+q)],[k,q],[F,X],[0,0]]}}(t,n):function(t,n,e){const r=t[0],o=t[1],i=t[2],s=t[3],c=r[0],u=r[1],l=o[0],f=o[1],h=i[0],a=i[1],p=n*n,d=n*p,g=e*e,v=e*g,m=n*e,_=c-l,b=h-l,x=s[0]-c,I=_+b,N=n*_,S=e*_,E=x-3*b,w=u-f,M=a-f,C=s[1]-u,T=w+M,O=n*w,P=e*w,y=C-3*M,A=d*E+(3*n*(n*I-_)+c),B=m*(n*E+2*I)+(p*I+c-(S+2*N)),z=m*(e*E+2*I)+(g*I+c-(2*S+N)),Y=v*E+(3*e*(e*I-_)+c),F=d*y+(3*n*(n*T-w)+u),V=m*(n*y+2*T)+(p*T+u-(P+2*O)),k=m*(e*y+2*T)+(g*T+u-(2*P+O)),L=v*y+(3*e*(e*T-w)+u),D=Xn(n),X=Xn(e),Q=Xn(m),q=Xn(d),$=Xn(v),H=Xn(c),G=Xn(l),R=H+G,U=Xn(h)+G,j=R+U,Z=D*R,W=X*R,J=Xn(x)+3*U,K=Xn(u),tt=Xn(f),nt=K+tt,et=Xn(a)+tt,rt=nt+et,ot=D*nt,it=X*nt,st=Xn(C)+3*et;return{ps:[[A,F],[B,V],[z,k],[Y,L]],_ps:[[q*J+(3*D*(D*j+R)+H),q*st+(3*D*(D*rt+nt)+K)],[Q*(D*J+2*j)+(p*j+H+(W+2*Z)),Q*(D*st+2*rt)+(p*rt+K+(it+2*ot))],[Q*(X*J+2*j)+(g*j+H+(2*W+Z)),Q*(X*st+2*rt)+(g*rt+K+(2*it+ot))],[$*J+(3*X*(X*j+R)+H),$*st+(3*X*(X*rt+nt)+K)]]}}(t,n,e)}const $n=Math.abs,Hn=[[0,0],[0,0],[0,0]];function Gn(t,n,e){return 0===n?1===e?{ps:t,_ps:Hn}:function(t,n){const e=t[0],r=t[1],o=t[2],i=e[0],s=e[1],c=r[0],u=r[1],l=o[0],f=o[1],h=n*n,a=i-c,p=s-u,d=[[i,s],[-n*a+i,-n*p+s],[h*(a+(l-c))-(2*n*a-i),h*(p+(f-u))-(2*n*p-s)]],g=$n(n),v=$n(i),m=$n(c),_=$n(l),b=v+m,x=$n(s),I=$n(u),N=x+I;return{ps:d,_ps:[[0,0],[g*b+v,g*N+x],[h*(b+(_+m))+(2*g*b+v),h*(N+($n(f)+I))+(2*g*N+x)]]}}(t,e):1===e?function(t,n){const e=t[0],r=t[1],o=t[2],i=e[0],s=e[1],c=r[0],u=r[1],l=o[0],f=o[1],h=n*n,a=i-c,p=l-c,d=s-u,g=f-u,v=[[h*(a+p)-(2*n*a-i),h*(d+g)-(2*n*d-s)],[n*p+c,n*g+u],[l,f]],m=$n(n),_=$n(i),b=$n(c),x=_+b,I=$n(l)+b,N=$n(s),S=$n(u),E=N+S;return{ps:v,_ps:[[h*(x+I)+(2*m*x+_),h*(E+($n(f)+S))+(2*m*E+N)],[m*I+b,0],[0,0]]}}(t,n):function(t,n,e){const r=t[0],o=t[1],i=t[2],s=r[0],c=r[1],u=o[0],l=o[1],f=i[0],h=i[1],a=n*n,p=e*e,d=n*e,g=s-u,v=g+(f-u),m=c-l,_=m+(h-l),b=a*v-(2*n*g-s),x=d*v-(g*(e+n)-s),I=p*v-(2*e*g-s),N=a*_-(2*n*m-c),S=d*_-(m*(e+n)-c),E=p*_-(2*e*m-c),w=$n(n),M=$n(e),C=$n(d),T=$n(s),O=$n(u),P=T+O,y=P+$n(f)+O,A=$n(c),B=$n(l),z=A+B,Y=z+$n(h)+B;return{ps:[[b,N],[x,S],[I,E]],_ps:[[a*y+(2*w*P+T),a*Y+(2*w*z+A)],[C*y+(P*(M+w)+T),C*_+(z*(M+w)+A)],[p*y+(2*M*P+T),p*Y+(2*M*z+A)]]}}(t,n,e)}const Rn=Math.abs,Un=[[0,0],[0,0]];const jn=Number.EPSILON/2,Zn=Ln(1);function Wn(t,n){return n[0]!==n[1]?4===t.length?function(t,n){const{ps:e,_ps:r}=qn(t,n[0],n[1]),o=e[0][0],i=e[1][0],s=e[2][0],c=e[3][0],u=9*jn*r[0][0],l=9*jn*r[1][0],f=9*jn*r[2][0],h=9*jn*r[3][0],a=e[0][1],p=e[1][1],d=e[2][1],g=e[3][1],v=9*jn*r[0][1],m=9*jn*r[1][1],_=9*jn*r[2][1],b=9*jn*r[3][1],x=Math.min(o-u,i-l,s-f,c-h),I=Math.max(o+u,i+l,s+f,c+h);return[[x,Math.min(a-v,p-m,d-_,g-b)],[I,Math.max(a+v,p+m,d+_,g+b)]]}(t,n):3===t.length?function(t,n){const{ps:e,_ps:r}=Gn(t,n[0],n[1]),o=e[0][0],i=e[1][0],s=e[2][0],c=5*jn*r[0][0],u=5*jn*r[1][0],l=5*jn*r[2][0],f=e[0][1],h=e[1][1],a=e[2][1],p=5*jn*r[0][1],d=5*jn*r[1][1],g=5*jn*r[2][1],v=Math.min(o-c,i-u,s-l),m=Math.max(o+c,i+u,s+l);return[[v,Math.min(f-p,h-d,a-g)],[m,Math.max(f+p,h+d,a+g)]]}(t,n):function(t,n){const{ps:e,_ps:r}=function(t,n,e){return 0===n?1===e?{ps:t,_ps:Un}:function(t,n){const e=t[0],r=t[1],o=e[0],i=e[1],s=r[0],c=r[1],u=[[o,i],[n*(s-o)+o,n*(c-i)+i]],l=Rn(n),f=Rn(o),h=Rn(s),a=Rn(i);return{ps:u,_ps:[[0,0],[l*(h+f)+f,l*(Rn(c)+a)+a]]}}(t,e):1===e?function(t,n){const e=t[0],r=t[1],o=e[0],i=e[1],s=r[0],c=r[1],u=[[n*(s-o)+o,n*(c-i)+i],[s,c]],l=Rn(n),f=Rn(o),h=Rn(s),a=Rn(i);return{ps:u,_ps:[[l*(h+f)+f,l*(Rn(c)+a)+a],[0,0]]}}(t,n):function(t,n,e){const r=t[0],o=t[1],i=r[0],s=r[1],c=o[0],u=o[1],l=[[n*(c-i)+i,n*(u-s)+s],[e*(c-i)+i,e*(u-s)+s]],f=Rn(n),h=Rn(e),a=Rn(i),p=Rn(c),d=Rn(s),g=Rn(u);return{ps:l,_ps:[[f*(p+a)+a,f*(g+d)+d],[h*(p+a)+a,h*(g+d)+d]]}}(t,n,e)}(t,n[0],n[1]),o=e[0][0],i=e[1][0],s=3*jn*r[0][0],c=3*jn*r[1][0],u=e[0][1],l=e[1][1],f=3*jn*r[0][1],h=3*jn*r[1][1],a=Math.min(o-s,i-c),p=Math.max(o+s,i+c);return[[a,Math.min(u-f,l-h)],[p,Math.max(u+f,l+h)]]}(t,n):function(t,n){const e=t[0],r=t[t.length-1];if(0===n)return[e,e];if(1===n)return[r,r];const o=x(t,n);let i;if(4===t.length)i=Fn(t,[0,n]).map((t=>8*Zn*t));else if(3===t.length)i=Fn(t,[0,n]).map((t=>5*Zn*t));else if(2===t.length)i=Fn(t,[0,n]).map((t=>2*Zn*t));else if(1===t.length)return[o,o];return[[o[0]-i[0],o[1]-i[1]],[o[0]+i[0],o[1]+i[1]]]}(t,n[0])}function Jn(t){const n=t[0],e=t[t.length-1];let r,o;if(n[1]<e[1]?(r={ts:[0,0],box:[n,n]},o={ts:[1,1],box:[e,e]}):(r={ts:[1,1],box:[e,e]},o={ts:[0,0],box:[n,n]}),2===t.length)return{minY:r,maxY:o};const[,i]=N(t),s=zn(i,0,1);for(let n=0;n<s.length;n++){const e=s[n],i=[e.tS,e.tE],c=Wn(t,i);c[0][1]<r.box[0][1]&&(r={ts:i,box:c}),c[1][1]>o.box[0][1]&&(o={ts:i,box:c})}return{minY:r,maxY:o}}function Kn(t){const n=function(t){const n=t[0],e=t[t.length-1];let r,o;if(n[0]<e[0]?(r={ts:[0,0],box:[n,n]},o={ts:[1,1],box:[e,e]}):(r={ts:[1,1],box:[e,e]},o={ts:[0,0],box:[n,n]}),2===t.length)return{minX:r,maxX:o};const[i]=N(t),s=zn(i,0,1);for(let n=0;n<s.length;n++){const e=s[n],i=[e.tS,e.tE],c=Wn(t,i);c[0][0]<r.box[0][0]&&(r={ts:i,box:c}),c[1][0]>o.box[0][0]&&(o={ts:i,box:c})}return{minX:r,maxX:o}}(t),e=Jn(t);return[[n.minX.box[0][0],e.minY.box[0][1]],[n.maxX.box[1][0],e.maxY.box[1][1]]]}function te(t,n){const e=n[0]-t[0],r=n[1]-t[1];return Math.sqrt(e*e+r*r)}function ne(t){let n=0;for(let e=0;e<t.length-1;e++)n+=te(t[e],t[e+1]);return n}function ee(t){const[n,e]=t[0],[r,o]=t[t.length-1];let i,s;const c=ne(t);if(256*a(t[0],t[t.length-1])<c*c){const[r,o]=x(t,.5),c=Math.sqrt((r-n)*(r-n)+(o-e)*(o-e));i=(o-e)/c,s=(r-n)/c}else{const t=Math.sqrt((r-n)*(r-n)+(o-e)*(o-e));i=(o-e)/t,s=(r-n)/t}const u=function(t,n,e){const r=st(t[0].map((t=>-t)));return Kn(t.map((t=>ct(-n,e,r(t)))))}(t,i,s),[[l,f],[h,p]]=u,d=[u[0],[h,f],u[1],[l,p]],g=ct(i,s);return d.map((n=>st(t[0],g(n))))}function re(t,n,e){if(n===e)return;const r=t[n];t[n]=t[e],t[e]=r}const oe=function(t,n=!1){if(!t.length)return;function e(t,e,r){const o=F(t,e,r);return n?o<0:o<=0}const r=t.slice(),o=r.length,i=function(t){let n,e=[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY];for(let r=0;r<t.length;r++){const o=t[r][1];(o<e[1]||o===e[1]&&t[r][0]<e[0])&&(n=r,e=t[r])}return n}(r),[s]=r.splice(i,1);r.sort(((t,n)=>{let e=-F(s,t,n);return 0!==e?e:(e=t[1]-n[1],0!==e?e:t[0]-n[0])})),r.unshift(s);let c=1;for(let t=2;t<o;t++){for(;e(r[c-1],r[c],r[t]);)if(c>1)c-=1;else{if(t===o-1){c-=1;break}t+=1}c+=1,re(r,c,t)}return r.slice(0,c+1)},ie=yt,se=Et,ce=Nt,ue=Tt,le=Mt,fe=Ct,he=wt;function ae(t,n){const e=t[0],r=t[1],o=t[2],i=t[3],s=e[0],c=e[1],u=r[0],l=r[1],f=o[0],h=o[1],a=i[0],p=i[1],[d,g]=n,v=ie(s,d),m=ie(u,d),_=ie(f,d),b=ie(a,d),x=ie(c,g),I=ie(l,g),N=ie(h,g),S=ie(p,g),E=ue(v,v),w=ce(6,ue(v,m)),M=ce(6,ue(v,_)),C=le(ue(v,b)),T=ce(9,ue(m,m)),O=ce(18,ue(m,_)),P=ce(6,ue(m,b)),y=ce(9,ue(_,_)),A=ce(6,ue(_,b)),B=ue(b,b),z=ue(x,x),Y=ce(6,ue(x,I)),F=ce(6,ue(x,N)),V=le(ue(x,S)),k=ce(9,ue(I,I)),L=ce(18,ue(I,N)),D=ce(6,ue(I,S)),X=ce(9,ue(N,N)),Q=ce(6,ue(N,S)),q=ue(S,S),$=se(P,y),H=se(C,O),G=se(M,T),R=se(D,X),U=se(V,L),j=se(F,k);return[ce(6,se(se(se(se(he(B,A),he(E,w)),$),he(G,H)),se(se(se(he(q,Q),he(z,Y)),R),he(j,U)))),ce(5,se(he(se(se(A,ce(5,w)),ce(3,H)),le(se(se($,le(G)),ce(3,E)))),he(se(se(Q,ce(5,Y)),ce(3,U)),le(se(se(R,le(j)),ce(3,z)))))),fe(se(he(he($,ce(3,he(H,le(G)))),ce(5,he(le(w),ce(3,E)))),he(he(R,ce(3,he(U,le(j)))),ce(5,he(le(Y),ce(3,z)))))),ce(3,se(he(H,le(he(le(G),ce(5,he(w,le(E)))))),he(U,le(he(le(j),ce(5,he(Y,le(z)))))))),le(se(he(G,ce(5,he(w,ce(3,E)))),he(j,ce(5,he(Y,ce(3,z)))))),se(he(w,ce(6,E)),he(Y,ce(6,z)))]}const pe=yt,de=Et,ge=Nt,ve=Tt,me=Mt,_e=wt,be=Ct;function xe(t,n){const[[e,r],[o,i],[s,c]]=t,[u,l]=n,f=pe(e,u),h=pe(o,u),a=pe(s,u),p=pe(r,l),d=pe(i,l),g=pe(c,l),v=ve(f,f),m=ve(f,h),_=ve(f,a),b=ve(h,h),x=ve(h,a),I=ve(a,a),N=ve(p,p),S=ve(p,d),E=ve(p,g),w=ve(d,d),M=ve(d,g),C=ve(g,g),T=de(E,me(w)),O=de(_,me(b));return[de(_e(de(de(C,N),me(T)),be(de(M,S))),_e(de(de(I,v),me(O)),be(de(x,m)))),ge(3,de(de(_e(M,T),_e(ge(3,S),N)),de(_e(x,O),_e(ge(3,m),v)))),de(_e(T,ge(3,_e(me(S),N))),_e(O,ge(3,_e(me(m),v)))),de(_e(S,N),_e(m,v))]}const Ie=At,Ne=Et,Se=function(t){return[-2*t[0],-2*t[1]]},Ee=wt;function we(t,n){const[[e,r],[o,i]]=t,[s,c]=n,u=e-s,l=o-s,f=r-c,h=i-c,a=Ie(u,u),p=Ie(u,l),d=Ie(l,l),g=Ie(f,f),v=Ie(f,h),m=Ie(h,h),_=Ne(p,v),b=Ne(g,a);return[Ne(Ne(d,m),Ne(b,Se(_))),Ee(_,b)]}function Me(t){const n=new ArrayBuffer(8);return new DataView(n).setFloat64(0,t,!1),Array.from(new Uint8Array(n))}function Ce(t){return Me(t).map(Te).join("")}function Te(t){let n=t.toString(2);for(;n.length<8;n="0"+n);return n}function Oe(t){const n=Me(t),e=n[0],r=n[1],o=e>>7,i=((127&e)<<4)+((240&r)>>4),s=0===i?0:16,c=0===i?i-1022:i-1023,u=n.slice(1);return u[0]=(15&r)+s,{sign:o,exponent:c,significand:u}}function Pe(t){return Oe(t).significand}function ye(t){return Math.log2(t&-t)}function Ae(t){if(0===t||!Number.isFinite(t))return NaN;const n=Pe(t),e=n.length;for(let t=e-1;t>=0;t--){if(0===n[t])continue;const r=ye(n[t]);if(Number.isFinite(r))return 8*(e-t-1)+r}return NaN}function Be(t){return t>=128?7:t>=64?6:t>=32?5:t>=16?4:t>=8?3:t>=4?2:t>=2?1:t>=1?0:NaN}function ze(t){if(0===t||!Number.isFinite(t))return NaN;const n=Pe(t),e=n.length;for(let t=0;t<e;t++){const r=Be(n[t]);if(Number.isFinite(r))return 8*(e-t-1)+r}return NaN}function Ye(t){return Oe(t).exponent}function Fe(t){if(0===t||!Number.isFinite(t))return NaN;const n=Ye(t);return ze(t)-52+n}function Ve(t,n){const e=(2**(53-n)+1)*t;return e-(e-t)}const ke=V,Le=Y;function De(t,n){if(t=Le(t),0===ke(t))return[0];const e=Fe(t[t.length-1]);let r=e,o=t.length-1;for(;o>0;){const i=Fe(t[o-1]);if(e-i>n)break;r=i,o--}const i=Math.min(n-(e-r),53);let s=t[o];s=Ve(s,i);const c=t.slice(o);return c[0]=s,c}function Xe(t){return 0===t?0:ze(t)-Ae(t)+1}function Qe(t){const n=Y(t);if(0===V(n))return 0;const e=n[n.length-1],r=n[0];return Ye(e)-Ye(r)+(53-Ae(r))}const qe=Q,$e=De,He=Qe,Ge=A,Re=B;function Ue(t,n,e){let r=n,o=t,i=!1,s=0;e||(s=He(o)-He(r)+1,e=s/53+1,i=!0);let c=[1/Re(r)],u=1;for(;;){if(o=qe(o,c),u>e)return i?(o=$e(o,s),o):o.slice(o.length-e,o.length);r=qe(r,c),c=Ge([2],r),u*=2}}function je(t,n){const e=t.length;let r=n;const o=[];for(let n=0;n<e;n++){const e=t[n],i=r+e,s=i-r,c=r-(i-s)+(e-s);0!==c&&o.push(c),r=i}return 0===r&&0!==o.length||o.push(r),o}const Ze=kt,We=je,Je=T;function Ke(t){let n=[0];for(let e=0;e<t.length;e++){const r=t[e];n=1===r.length?1===n.length?Ze(n[0],r[0]):We(n,r[0]):1===n.length?We(r,n[0]):Je(n,r)}return n}const tr=O,nr=T,er=Y,rr=je,or=Ke,ir=k,sr=A,cr=Math.sign;function ur(t,n){t=er(t);const e=(n=er(n))[n.length-1];if(1===n.length){if(0===e)throw new Error("division by zero");if(1===e)return{div:t,rem:[0]};if(-1===e)return{div:tr(t),rem:[0]}}const r=cr(t[t.length-1]);if(0===r)return{div:[0],rem:[0]};const o=cr(e),i=[];let s=0;for(;;){const r=[];for(let o=t.length-1;o>=0;o--){const s=t[o],c=Math.round((s-s%e)/e);if(r.push(ir(n,c)),0===c)break;i.push(c)}if(t=er(sr(t,or(r))),s===i.length)break;s=i.length}let c=t,u=[0];for(let t=0;t<i.length;t++)u=rr(u,i[t]);u=er(u);const l=cr(c[c.length-1]);return 0!==l&&l!==r&&(r>0?o>0?(u=rr(u,-1),c=nr(c,n)):(u=rr(u,1),c=nr(c,tr(n))):r<0&&(o>0?(u=rr(u,1),c=nr(c,tr(n))):(u=rr(u,-1),c=nr(c,n)))),{div:u,rem:c}}const lr=ur,fr=ur;function hr(t,n){return V(A(t,n))}const ar=O;function pr(t){return t[t.length-1]<0?ar(t):t}function dr(t){const n=[];for(let e=0;e<t.length;e++)n.push(2*t[e]);return n}function gr(t){const n=[];for(let e=0;e<t.length;e++)n.push(-2*t[e]);return n}function vr(t){const n=[];for(let e=0;e<t.length;e++)n.push(.5*t[e]);return n}const mr=Q,_r=C,br=k,xr=kt,Ir=je,Nr=T,Sr=Q,Er=C,wr=k,Mr=Y;function Cr(t){let n=t[0];for(let e=1;e<t.length;e++){const r=t[e];n=1==r.length?1===n.length?Er(n[0],r[0]):wr(n,r[0]):1===n.length?wr(r,n[0]):Sr(r,n)}return Mr(n)}const Tr=Q,Or=Cr,Pr=Y;function yr(t){const n=(t=Pr(t)).length;return 2===n?t:1===n?[0,t[0]]:[t[n-2],t[n-1]]}function Ar(t,n){return!function(t,n){if(0===t||0===n)return!0;Math.abs(n)>Math.abs(t)&&([t,n]=[n,t]);const e=Ae(t),r=ze(n);return e+(Ye(t)-Ye(n))>r}(t,n)}const Br=T,zr=Q,Yr={fastTwoDiff:function(t,n){const e=t-n;return[t-e-n,e]},fastTwoSum:function(t,n){const e=t+n;return[n-(e-t),e]},split:function(t){const n=134217729*t,e=n-(n-t);return[e,t-e]},twoDiff:z,twoProduct:C,twoSum:kt,reduceSignificand:Ve,fastExpansionSum:T,eAdd:Br,growExpansion:je,eAddDouble:je,expansionProduct:Q,eMult:zr,scaleExpansion:k,eMultDouble1:k,scaleExpansion2:L,eMultDouble2:L,eDiv:Ue,eLongDivide:ur,eIntDiv:function(t,n){return lr(t,n).div},eRem:function(t,n){return fr(t,n).rem},eCompress:Y,eEstimate:B,eDiff:A,eNegativeOf:O,eMultBy2:dr,eMultByNeg2:gr,eDivBy2:vr,eSign:V,eCompare:hr,eAbs:pr,eToBitlength:De,eIntPow:function(t,n){if(0===n)return[1];if(1===n)return t;if(2===n)return Tr(t,t);const e=[];for(let r=0;r<n;r++)e.push(t);return Or(e)},eCalculate:function(t){let n=[0];for(let e=0;e<t.length;e++){const r=t[e];let o=r[0];for(let t=1;t<r.length;t++){const n=r[t];o=1==n.length?1===o.length?_r(o[0],n[0]):br(o,n[0]):1===o.length?br(n,o[0]):mr(n,o)}n=1===o.length?1===n.length?xr(n[0],o[0]):Ir(n,o[0]):1===n.length?Ir(o,n[0]):Nr(n,o)}return n},eSum:Ke,eProduct:Cr,eToDd:yr,parseDouble:Oe,parseDoubleDetailed:function(t){const n=Ce(t),[,e,r,o]=n.match(/^(.)(.{11})(.{52})$/),i=0===parseInt(r,2)?"0":"1";return{full:e+r+i+o,sign:e,exponent:r,hidden:i,significand:o}},isBitAligned:function(t,n,e){if(0===t)return!0;const r=Ye(t),o=ze(t)-52+r;return Ae(t)-52+r>=e&&o<=n-1+e},msbExponent:Fe,lsbExponent:function(t){if(0===t||!Number.isFinite(t))return NaN;const n=Ye(t);return Ae(t)-52+n},bitLength:Xe,expBitLength:Qe,doubleToBinaryString:Ce,doubleToOctets:Me,getHighestSetBit:ze,getLowestSetBit:Ae,exponent:Ye,significand:Pe,orient2d:F,isAdjacent:function(t,n){return Ar(t,n)||Ar(t,2*n)||Ar(2*t,n)},isNonOverlappingAll:function(t){for(let n=1;n<t.length;n++)if(Ar(t[n-1],t[n]))return!1;return!0},eIsInteger:function(t){t=Y(t);for(let n=0;n<t.length;n++)if(t[n]%1!=0)return!1;return!0}},Fr=z,Vr=zr,kr=L,Lr=dr,Dr=gr,Xr=Br,Qr=A,qr=z,$r=zr,Hr=L,Gr=dr,Rr=Br,Ur=A;function jr(t){const n=[];for(let e=0;e<t.length;e++)n.push(4*t[e]);return n}const Zr=z,Wr=zr,Jr=gr,Kr=Br,to=A,no=Math.abs;function eo(t){return(t.tS+t.tE)/2}function ro(t){const n=t[0],e=t[1];return[(n[0]+e[0])/2,(n[1]+e[1])/2]}const oo=B,io=z,so=zr,co=Br,uo=Number.EPSILON,{sqrt:lo}=Math,fo=Dn(6);function ho(t,n){const e=t.length-1;let r;if(3===e)r=An(ae(t,n),0,1,function(t,n){const e=t[0],r=t[1],o=t[2],i=t[3],s=no(e[0]),c=no(e[1]),u=no(r[0]),l=no(r[1]),f=no(o[0]),h=no(o[1]),a=no(i[0]),p=no(i[1]),d=no(n[0]),g=no(n[1]),v=s+d,m=u+d,_=f+d,b=a+d,x=c+g,I=l+g,N=h+g,S=p+g,E=v*v,w=6*v*m,M=6*_*b,C=x*x,T=6*x*I,O=6*N*S,P=6*m*b+9*_*_,y=2*v*b+18*m*_,A=6*v*_+9*m*m,B=6*I*S+9*N*N,z=2*x*S+18*I*N,Y=6*x*N+9*I*I;return[6*(b*b+M+(E+w)+P+(A+y)+(S*S+O+(C+T)+B+(Y+z))),5*(M+5*w+3*y+2*(P+2*A+3*E)+(O+5*T+3*z+2*(B+2*Y+3*C))),4*(P+3*(y+2*A)+5*(2*w+3*E)+(B+3*(z+2*Y)+5*(2*T+3*C))),3*(y+2*(2*A+5*(w+2*E))+(z+2*(2*Y+5*(T+2*C)))),2*(A+5*(w+3*E)+(Y+5*(T+3*C))),w+6*E+(T+6*C)]}(t,n).map((t=>10*fo*t)),(()=>function(t,n){const e=t[0],r=t[1],o=t[2],i=t[3],s=e[0],c=e[1],u=r[0],l=r[1],f=o[0],h=o[1],a=i[0],p=i[1],[d,g]=n,v=Fr(s,d),m=Fr(u,d),_=Fr(f,d),b=Fr(a,d),x=Fr(c,g),I=Fr(l,g),N=Fr(h,g),S=Fr(p,g),E=Vr(v,v),w=kr(6,Vr(v,m)),M=kr(6,Vr(v,_)),C=Lr(Vr(v,b)),T=kr(9,Vr(m,m)),O=kr(18,Vr(m,_)),P=kr(6,Vr(m,b)),y=kr(9,Vr(_,_)),A=kr(6,Vr(_,b)),B=Vr(b,b),z=Vr(x,x),Y=kr(6,Vr(x,I)),F=kr(6,Vr(x,N)),V=Lr(Vr(x,S)),k=kr(9,Vr(I,I)),L=kr(18,Vr(I,N)),D=kr(6,Vr(I,S)),X=kr(9,Vr(N,N)),Q=kr(6,Vr(N,S)),q=Vr(S,S),$=Xr(P,y),H=Xr(C,O),G=Xr(M,T),R=Xr(D,X),U=Xr(V,L),j=Xr(F,k),Z=Qr(Xr(Xr(B,E),Xr($,G)),Xr(Xr(H,A),w)),W=Qr(Xr(Xr(q,z),Xr(R,j)),Xr(Xr(U,Q),Y)),J=kr(6,Xr(Z,W)),K=Xr(Dr(Xr(Xr($,Lr(G)),kr(3,E))),Xr(Xr(A,kr(3,H)),kr(5,w))),tt=Xr(Dr(Xr(Xr(R,Lr(j)),kr(3,z))),Xr(Xr(Q,kr(3,U)),kr(5,Y))),nt=kr(5,Xr(K,tt)),et=Xr(Xr($,kr(3,Qr(Lr(G),H))),kr(5,Qr(kr(3,E),Lr(w)))),rt=Xr(Xr(R,kr(3,Qr(Lr(j),U))),kr(5,Qr(kr(3,z),Lr(Y)))),ot=kr(4,Xr(et,rt)),it=Qr(H,Lr(Qr(Lr(G),kr(5,Qr(w,Lr(E)))))),st=Qr(U,Lr(Qr(Lr(j),kr(5,Qr(Y,Lr(z)))))),ct=kr(3,Xr(it,st)),ut=Qr(G,kr(5,Qr(w,kr(3,E)))),lt=Qr(j,kr(5,Qr(Y,kr(3,z)))),ft=Lr(Xr(ut,lt)),ht=Qr(w,kr(6,E)),at=Qr(Y,kr(6,z));return[J,nt,ot,ct,ft,Xr(ht,at)]}(t,n)));else if(2===e)r=An(xe(t,n),0,1,function(t,n){const e=t[0],r=t[1],o=t[2],i=no(e[0]),s=no(e[1]),c=no(r[0]),u=no(r[1]),l=no(o[0]),f=no(o[1]),h=no(n[0]),a=no(n[1]),p=i+h,d=c+h,g=l+h,v=s+a,m=u+a,_=f+a,b=p*p,x=p*d,I=d*g,N=v*v,S=v*m,E=m*_,w=v*_+m*m*2,M=p*g+d*d*2;return[_*_+N+2*w+4*(E+S)+(g*g+b+2*M+4*(I+x)),3*(E+w+(3*S+N)+(I+M+(3*x+b))),w+3*(2*S+N)+(M+3*(2*x+b)),S+N+(x+b)]}(t,n).map((t=>8*fo*t)),(()=>function(t,n){const[[e,r],[o,i],[s,c]]=t,[u,l]=n,f=qr(e,u),h=qr(o,u),a=qr(s,u),p=qr(r,l),d=qr(i,l),g=qr(c,l),v=$r(f,f),m=$r(f,h),_=$r(f,a),b=$r(h,h),x=$r(h,a),I=$r(a,a),N=$r(p,p),S=$r(p,d),E=$r(p,g),w=$r(d,d),M=$r(d,g),C=$r(g,g),T=Rr(E,Gr(w)),O=Rr(_,Gr(b)),P=Rr(Ur(Rr(I,Gr(O)),jr(Rr(x,m))),v),y=Rr(Ur(Rr(C,Gr(T)),jr(Rr(M,S))),N),A=Rr(P,y),B=Rr(Ur(x,O),Ur(Hr(3,m),v)),z=Rr(Ur(M,T),Ur(Hr(3,S),N)),Y=Hr(3,Rr(B,z)),F=Ur(T,Hr(3,Ur(Gr(S),N))),V=Ur(O,Hr(3,Ur(Gr(m),v))),k=Rr(F,V),L=Ur(S,N),D=Ur(m,v);return[A,Y,k,Rr(L,D)]}(t,n)));else{if(1!==e){if(0===e)return[];throw new Error("The given bezier curve must be of order <= 3")}r=An(we(t,n),0,1,function(t,n){const e=t[0],r=t[1],o=no(e[0]),i=no(e[1]),s=no(r[0]),c=no(r[1]),u=no(n[0]),l=no(n[1]),f=o+u,h=s+u,a=i+l,p=c+l,d=f*h+a*p,g=a*a+f*f;return[h*h+p*p+2*d+g,d+g]}(t,n).map((t=>6*fo*t)),(()=>function(t,n){const[[e,r],[o,i]]=t,[s,c]=n,u=Zr(e,s),l=Zr(o,s),f=Zr(r,c),h=Zr(i,c),a=Wr(u,u),p=Wr(u,l),d=Wr(l,l),g=Wr(f,f),v=Wr(f,h),m=Wr(h,h),_=Kr(p,v),b=Kr(g,a);return[Kr(Kr(d,m),Kr(Jr(_),b)),to(_,b)]}(t,n)))}r.push({tS:0,tE:0,multiplicity:1}),r.push({tS:1,tE:1,multiplicity:1});const o=r.map((e=>{const r=Wn(t,[e.tS,e.tE]),o=function(t,n){const e=t[0],r=t[1],o=e[0],i=e[1],s=r[0],c=r[1],u=n[0],l=n[1];let f=Number.POSITIVE_INFINITY,h=Number.NEGATIVE_INFINITY;for(const[t,n]of[[o,i],[o,c],[s,i],[s,c]]){const e=io(t,u),r=io(n,l),o=co(so(e,e),so(r,r)),i=oo(o),s=i*(1-uo),c=i*(1+uo);s<=f&&(f=s),c>=h&&(h=c)}return[f,h]}(r,n);return{p:ro(r),t:eo(e),d:(lo(o[0])+lo(o[1]))/2,dSquaredI:o,box:r,ri:e}}));let i=Number.POSITIVE_INFINITY;for(let t=0;t<o.length;t++){const n=o[t].dSquaredI[1];n<i&&(i=n)}const s=[];for(let t=0;t<o.length;t++){const n=o[t];n.dSquaredI[0]<=i&&s.push(n)}return s}function ao(t,n,e){if(4===t.length)return function(t,n,e){return 0===n?1===e?t:function(t,n){const e=t[0],r=t[1],o=t[2],i=t[3],s=e[0],c=e[1],u=r[0],l=r[1],f=o[0],h=o[1],a=s-n*(s-u),p=u-n*(u-f),d=a-n*(a-p),g=c-n*(c-l),v=l-n*(l-h),m=g-n*(g-v);return[[s,c],[a,g],[d,m],[d-n*(d-(p-n*(p-(f-n*(f-i[0]))))),m-n*(m-(v-n*(v-(h-n*(h-i[1])))))]]}(t,e):1===e?function(t,n){const e=t[0],r=t[1],o=t[2],i=t[3],s=e[0],c=e[1],u=r[0],l=r[1],f=o[0],h=o[1],a=i[0],p=i[1],d=s-n*(s-u),g=u-n*(u-f),v=f-n*(f-a),m=d-n*(d-g),_=g-n*(g-v),b=c-n*(c-l),x=l-n*(l-h),I=h-n*(h-p),N=b-n*(b-x),S=x-n*(x-I);return[[m-n*(m-_),N-n*(N-S)],[_,S],[v,I],[a,p]]}(t,n):function(t,n,e){const r=t[0],o=t[1],i=t[2],s=t[3],c=r[0],u=r[1],l=o[0],f=o[1],h=i[0],a=i[1],p=n*n,d=n*p,g=e*e,v=e*g,m=n*e,_=c-l,b=h-l,x=_+b,I=n*_,N=e*_,S=s[0]-c-3*b,E=u-f,w=a-f,M=E+w,C=n*E,T=e*E,O=s[1]-u-3*w;return[[d*S+(3*n*(n*x-_)+c),d*O+(3*n*(n*M-E)+u)],[m*(n*S+2*x)+(p*x+c-(N+2*I)),m*(n*O+2*M)+(p*M+u-(T+2*C))],[m*(e*S+2*x)+(g*x+c-(2*N+I)),m*(e*O+2*M)+(g*M+u-(2*T+C))],[v*S+(3*e*(e*x-_)+c),v*O+(3*e*(e*M-E)+u)]]}(t,n,e)}(t,n,e);if(3===t.length)return function(t,n,e){return 0===n?1===e?t:function(t,n){const e=t[0],r=t[1],o=t[2],i=e[0],s=e[1],c=r[0],u=r[1],l=n*n,f=i-c,h=s-u;return[[i,s],[-n*f+i,-n*h+s],[l*(f+(o[0]-c))-(2*n*f-i),l*(h+(o[1]-u))-(2*n*h-s)]]}(t,e):1===e?function(t,n){const e=t[0],r=t[1],o=t[2],i=e[0],s=e[1],c=r[0],u=r[1],l=o[0],f=o[1],h=n*n,a=i-c,p=l-c,d=s-u,g=f-u;return[[h*(a+p)-(2*n*a-i),h*(d+g)-(2*n*d-s)],[n*p+c,n*g+u],[l,f]]}(t,n):function(t,n,e){const r=t[0],o=t[1],i=t[2],s=r[0],c=r[1],u=o[0],l=o[1],f=n*n,h=e*e,a=n*e,p=s-u,d=p+(i[0]-u),g=c-l,v=g+(i[1]-l);return[[f*d-(2*n*p-s),f*v-(2*n*g-c)],[a*d-(p*(e+n)-s),a*v-(g*(e+n)-c)],[h*d-(2*e*p-s),h*v-(2*e*g-c)]]}(t,n,e)}(t,n,e);if(2===t.length)return function(t,n,e){return 0===n?1===e?t:function(t,n){const e=t[0],r=t[1],o=e[0],i=e[1];return[[o,i],[n*(r[0]-o)+o,n*(r[1]-i)+i]]}(t,e):1===e?function(t,n){const e=t[0],r=t[1],o=e[0],i=e[1],s=r[0],c=r[1];return[[n*(s-o)+o,n*(c-i)+i],[s,c]]}(t,n):function(t,n,e){const r=t[0],o=t[1],i=r[0],s=r[1],c=o[0],u=o[1];return[[n*(c-i)+i,n*(u-s)+s],[e*(c-i)+i,e*(u-s)+s]]}(t,n,e)}(t,n,e);if(1===t.length)return t;throw new Error("The given bezier curve must be of order <= 3.")}function po(t,n){return n.xs.length<=2}function go(t,n,e,r,o){const i=function(t,n,e){return(r,o,i)=>{n.has(r)||r.orientation||(r.orientation=o*t.orientation,r.parent=i,r.windingNum=i.windingNum+r.orientation,e.push(r))}}(e,o,r);let s,c,u=0,l=1,f=n;for(;f=1===e.orientation?f.nextAround:f.prevAround,f!==n;)u=l,l-=f.dir,-1!==f.dir&&(c?1===u&&0===l?i(f,1,e.parent):0===u&&-1===l&&i(f,-1,e.parent):0===l?c=f:1===l&&i(f,1,e));return po(0,n.container)||(s=[n.p,c.p]),{out_:c,additionalBezier:s}}function vo(t,n){const e=n.next,r=e._x_.curve,o=e._x_.x.ri.tS;let i=n._x_.curve,s=n._x_.x.ri.tS;po(0,n.container)||(s=eo(ho(i.ps,n.p)[0].ri));const c=[];let u;for(;;){if(i===r&&(s<o||s===o&&c.length))return u=ao(i.ps,s,o),{beziers:c,in_:e,inBez:u};{const t=ao(i.ps,s,1);c.push(t)}s=0,i=i.next}}function mo(t,n,e){const r=[],o=[];let i,s=e;do{n.add(s);const{beziers:t,in_:c,inBez:u}=vo(0,s);if(o.push(...t),({out_:s,additionalBezier:i}=go(0,c,e,r,n)),i){const t=ao(u,0,eo(ho(u,i[0])[0].ri));o.push(t),o.push(i)}else o.push(u)}while(s!==e);return{beziers:o,additionalOutsToCheck:r}}function _o(t,n,e,r){const o=[n];for(;o.length;){const t=o.pop();if(e.add(t._x_.curve.loop),r.has(t))continue;t.children=new Set;const{beziers:n,additionalOutsToCheck:i}=mo(0,r,t);t.beziers=n,t.parent.children=t.parent.children||new Set,t.parent.children.add(t),o.push(...i)}}function bo(t){let n=0;for(let e=0;e<=t.length-1&&0===t[e];e++)n++;return 0!==n&&(t=t.slice(n)),t}const xo=bo;function Io(t,n){const e=t.length-1,r=n.length-1;if(e<0||r<0)return[];const o=e+r,i=new Array(o+1).fill(0);for(let s=0;s<e+1;s++)for(let c=0;c<r+1;c++)i[o-(s+c)]+=t[e-s]*n[r-c];return xo(i)}const No=Io;function So(t){let n=[1];for(let e=0;e<t.length;e++)n=No(n,[1,-t[e]]);return n}function Eo(t){return function(n,e,r,o,i=123456789,s=0){const c=[];for(let u=0;u<n;u++){const n=t(e,r,o,i,s),u=n.p;i=n.seed,c.push(u)}return c}}function wo(t){return(134775813*t+1)%4294967296}function Mo(t,n,e,r,o=0){let i=[];for(let s=0;s<t;s++)r=Co(r=wo(r),i,r/4294967296*(e-n)+n,o);return i=i.slice(0,t),{vs:i,seed:r}}function Co(t,n,e,r){return t=wo(t),n.push(e),t/4294967296<r&&(t=Co(t,n,e,r)),t}function To(t,n=-1,e=1,r=123456789){const o=Mo(t,n,e,r);return r=o.seed,{p:o.vs,seed:r}}function Oo(t){const n=[],e=t.length-1;for(let r=0;r<e;r++)n.push((e-r)*t[r]);return n}Eo((function(t,n=0,e=1,r=123456789,o=0){const i=Mo(t,n,e,r,o);return r=i.seed,{p:So(i.vs),seed:r}})),Eo(To);const Po=I,yo=Number.EPSILON/2,Ao=Math.abs,Bo=Math.max,zo=Oo,Yo=I,Fo=function(t,n,e,r=Po(t,n),o=Po(t,e)){let i=n,s=e,c=i,u=r,l=s-i,f=l;for(;;){Ao(u)<Ao(o)&&(i=s,s=c,c=i,r=o,o=u,u=r);const n=2*yo*Bo(1,Ao(i),Ao(s)),e=.5*(c-s);if(Ao(e)<=n)return s;if(Ao(l)<n||Ao(r)<=Ao(o))l=e,f=l;else{let t,h,a=o/r;if(i===c)t=2*e*a,h=1-a;else{h=r/u;const n=o/u;t=a*(2*e*h*(h-n)-(s-i)*(n-1)),h=(h-1)*(n-1)*(a-1)}0<t?h=-h:t=-t,a=l,l=f,2*t<3*e*h-Ao(n*h)&&t<Ao(.5*a*h)?f=t/h:(l=e,f=l)}if(i=s,r=o,n<Ao(f)?s+=f:0<e?s+=n:s-=n,0===(o=Po(t,s)))return s;o*u>0&&(c=i,u=r,l=s-i,f=l)}},Vo=dn,ko=pn,Lo=bo;function Do(t,n=Number.NEGATIVE_INFINITY,e=Number.POSITIVE_INFINITY){t=Lo(t);let r=0;for(;0===t[t.length-1];)t=t.slice(0,-1),r++;if(t.length<=1){const t=[];for(let n=0;n<r;n++)t.push(0);return t}n===Number.NEGATIVE_INFINITY&&(n=Vo(t)),e===Number.POSITIVE_INFINITY&&(e=ko(t));const o=[t];for(let n=1;n<=t.length-1;n++)o.push(zo(o[n-1]));let i=[];for(let r=t.length-2;r>=0;r--){const t=o[r],s=[];let c=n,u=Yo(t,c);0===u&&0===r&&s.push(n);for(let n=0;n<i.length;n++){const e=i[n],r=Yo(t,e);0===r?s.push(e):u*r<0&&s.push(Fo(t,c,e,u,r)),c=e,u=r}const l=Yo(t,e);u*l<0&&s.push(Fo(t,c,e,u,l)),0===l&&0===r&&s.push(e),i=s}if(r>0&&n<=0&&e>=0){const t=[];let n=!1;for(let e=0;e<i.length;e++){if(!n&&i[e]>=0){for(let n=0;n<r;n++)t.push(0);n=!0}t.push(i[e])}return t}return i}function Xo(t){if(4===t.length)return Qo(t);if(3===t.length)return qo(t);if(2===t.length)return function(t){const[[n,e],[r,o]]=t;return[[r-n,n],[o-e,e]]}(t);if(1===t.length)return function(t){const[[n,e]]=t;return[[n],[e]]}(t);throw new Error("The given bezier curve must be of order <= 3.")}function Qo(t){const[[n,e],[r,o],[i,s],[c,u]]=t;return[[c-n+3*(r-i),3*(i+n-2*r),3*(r-n),n],[u-e+3*(o-s),3*(s+e-2*o),3*(o-e),e]]}function qo(t){const[[n,e],[r,o],[i,s]]=t;return[[i+n-2*r,2*(r-n),n],[s+e-2*o,2*(o-e),e]]}const $o=b(Kn);function Ho(t){const n=N(t),e=Do(n[0],0,1),r=Do(n[1],0,1);e.push(0,1),r.push(0,1);let o,i,s,c,u=Number.POSITIVE_INFINITY,l=Number.NEGATIVE_INFINITY,f=Number.POSITIVE_INFINITY,h=Number.NEGATIVE_INFINITY;for(let n=0;n<e.length;n++){const r=e[n],[s]=x(t,r);s<u&&(u=s,o=r),s>l&&(l=s,i=r)}for(let n=0;n<r.length;n++){const e=r[n],[,o]=x(t,e);o<f&&(f=o,s=e),o>h&&(h=o,c=e)}return{ts:[[o,s],[i,c]],box:[[u,f],[l,h]]}}const Go=b(Ho),Ro=1e-6;function Uo(t){const n=t.map((t=>Go(t)));return{minX:Math.min(...n.map((t=>t.box[0][0]))),maxX:Math.max(...n.map((t=>t.box[1][0]))),minY:Math.min(...n.map((t=>t.box[0][1]))),maxY:Math.max(...n.map((t=>t.box[1][1])))}}function jo(t,n){let e;const r=[t];for(;r.length;)o(r.pop());return e;function o(o){if(o===t||function(t,n){let e=0,r=1231;do{e++;const i=To(1,0,1,r),s=i.p[0];r=i.seed;const c=To(1,0,t.length,r),u=Math.floor(c.p[0]);r=c.seed;const l=o(t,n,x(t[u],s));if(void 0!==l)return l}while(e<100);return;function o(t,n,e){if(function(t,n){const e=[t,n].map(Uo);return e[0].minX<e[1].minX||e[0].maxX>e[1].maxX||e[0].minY<e[1].minY||e[0].maxY>e[1].maxY}(t,n))return!1;const r=function(t,n,e){const[r,o]=n;let i=0;for(let e=0;e<t.length;e++){const s=t[e],[[c,u],[l,f]]=$o(s);let a=u>o||f<o||!1;if(a=a||c>r||!1,a)continue;const p=[];let d,g,v;const m=!0;d=t=>Xo(t)[1],g=[0,-o],v=0;const _=s.map(st(g)),b=Do(d(_),0-Ro,1+Ro);for(let t=0;t<b.length;t++){const e=b[t];if(Math.abs(e)<Ro||Math.abs(e-1)<Ro)return;const r=x(_,e);(m&&n[v]>=r[v]||!m&&n[v]<=r[v])&&p.push(e)}if(1===p.length||3===p.length)for(const t of p){const n=h(E(s,t));if(Math.abs(n[1])<Ro)return}i+=p.length}return i}(n,e);return void 0!==r?r%2!=0:void 0}}(n.beziers,o.beziers)){e=o;for(const t of o.children)r.push(t)}}}function Zo(t,n){return Wo(t)-Wo(n)}function Wo(t){let n=Number.POSITIVE_INFINITY;for(const e of t){const t=Go(e).box[0][1];t<n&&(n=t)}return n}function Jo(t){const n=[t],e=Array.from(t.children);for(;e.length;){const t=e.pop();0===t.windingNum&&n.push(t);for(const n of t.children)e.push(n)}return n}function Ko(t,n,e){let[[r,o],[i,s]]=n,[[c,u],[l,f]]=e;return o>s&&([o,s]=[s,o]),u>f&&([u,f]=[f,u]),r>i&&([r,i]=[i,r]),c>l&&([c,l]=[l,c]),t?r<=l&&i>=c&&u<=s&&f>=o:r<l&&i>c&&u<s&&f>o}function ti(t,n){return Ko(!0,t.box,n.box)}function ni(t,n){for(let e=0;e<n.length;e++){const r=n[e];ei(t,[r.a,r.b])}}function ei(t,n){const[e,r]=n;let o=t.get(e);o||(o=[],t.set(e,o));let i=t.get(r);i||(i=[],t.set(r,i)),o.push(r),i.push(e)}function ri(t,n,e,r){e.add(n),r.push(n);const o=t.get(n);for(let n=0;n<o.length;n++){const i=o[n];e.has(i)||ri(t,i,e,r)}}function oi(t){const n=[],e=new Set;for(const r of t){const o=r[0];e.has(o)||(n.push([]),ri(t,o,e,n[n.length-1]))}return n}function ii(t,n){const e=new Set;for(const t of n)for(const n of t)e.add(n);const r=[];for(let n=0;n<t.length;n++){const o=t[n];e.has(o)||r.push(o)}return r}function si(t){const n=[];for(const e of t){let t=Number.POSITIVE_INFINITY,r=Number.POSITIVE_INFINITY,o=Number.NEGATIVE_INFINITY,i=Number.NEGATIVE_INFINITY;const s=[];for(const n of e){const[[e,c],[u,l]]=n.box;e<t&&(t=e),c<r&&(r=c),u>o&&(o=u),l>i&&(i=l),s.push(...n.xs)}const c={box:[[t,r],[o,i]],xs:s,inOuts:void 0};n.push(c)}return n}function ci(t){return{tS:[0,t.tS],tE:[0,t.tE],multiplicity:t.multiplicity}}const ui=Q,li=T,fi=L,hi=An,ai=yr,pi=kt,di=Number.EPSILON;function gi(t,n){const e=t.tS,r=t.tE-e;if(0===r)return[{tS:[0,e],tE:[0,e],multiplicity:t.multiplicity}];const o=function(t,n,e){const r=t.length-1;if(r<0)return[];const o=[];for(let t=0;t<r+1;t++)o.push(new Array(r+1).fill([0]));o[0][0]=[1];for(let t=1;t<=r;t++){o[0][t]=fi(e,o[0][t-1]);for(let r=1;r<=t;r++)o[r][t]=li(fi(e,o[r][t-1]),fi(n,o[r-1][t-1]))}const i=new Array(r+1).fill([0]);for(let n=0;n<=r;n++){i[r-n]=[0];for(let e=n;e<=r;e++){const s=ui(o[n][e],t[r-e]);i[r-n]=li(i[r-n],s)}}return i}(n,r,e),i=o.map(ai),s=i.map((t=>di*di*t[1])),c=hi(i,0,1,s,(()=>o)),u=[];for(const t of c)u.push({tS:pi(e,t.tS*r),tE:pi(e,t.tE*r),multiplicity:t.multiplicity});return u}const vi=yt,mi=Nt,_i=Et,bi=St,xi=Math.abs;function Ii(t){const[[n,e],[r,o],[i,s],[c,u]]=t,l=vi(c,n),f=vi(r,i),h=3*(r-i),a=mi(3,f),p=xi(h),d=_i(l,a),g=p+xi(c-n+h),v=vi(i,2*r),m=bi(v,n),_=xi(i-2*r+n),b=mi(3,m),x=6*_,I=vi(r,n),N=mi(3,I),S=xi(3*(r-n)),E=vi(u,e),w=vi(o,s),M=3*(o-s),C=mi(3,w),T=xi(M),O=_i(E,C),P=T+xi(u-e+M),y=vi(s,2*o),A=bi(y,e),B=xi(s-2*o+e),z=mi(3,A),Y=6*B,F=vi(o,e);return{coeffs:[[d,b,N,[0,n]],[O,z,mi(3,F),[0,e]]],errorBound:[[g,x,S,0],[P,Y,xi(3*(o-e)),0]]}}function Ni(t){const[[n,e],[r,o],[i,s]]=t,c=i-2*r,u=vi(i,2*r),l=bi(u,n),f=xi(c+n),h=vi(2*r,2*n),a=s-2*o,p=vi(s,2*o),d=bi(p,e),g=xi(a+e);return{coeffs:[[l,h,[0,n]],[d,vi(2*o,2*e),[0,e]]],errorBound:[[f,0,0],[g,0,0]]}}function Si(t){const[[n,e],[r,o]]=t;return[[vi(r,n),[0,n]],[vi(o,e),[0,e]]]}const Ei=wt,wi=Nt,Mi=O,Ci=Math.abs;function Ti(t){const[[n,[,e]],[r,[,o]]]=Si(t),i=Mi(r),s=n,c=wi(o,n),u=Ci(c[1]),l=wi(e,r),f=Ci(l[1]),h=Ei(l,c);return{coeffs:{vₓ:i,vᵧ:s,v:h},errorBound:{v_:u+f+Ci(h[1])}}}const Oi=Et,Pi=Nt,yi=Tt,Ai=Math.abs,Bi=Dn(3),zi=Pt,Yi=Mt,Fi=Nt,Vi=Tt,ki=wt,Li=Math.abs;function Di(t){const{coeffs:[[n,e,[,r]],[o,i,[,s]]],errorBound:[[c],[u]]}=Ni(t),l=n[1],f=e[1],h=o[1],a=i[1],p=Li(r),d=Li(f),g=Li(l),v=Li(s),m=Li(a),_=Li(h),b=Vi(n,i),x=c*m+2*Li(l*a),I=Vi(e,o),N=d*u+2*Li(f*h),S=Fi(s,n),E=v*c+Li(s*l),w=Fi(r,o),M=p*u+Li(r*h),C=Fi(s,e),T=Li(s*f),O=Fi(r,i),P=Li(r*a),y=Vi(n,n),A=2*(c*g+Li(l*l)),B=Vi(n,o),z=c*_+g*u+2*Li(l*h),Y=Vi(o,o),F=2*(u*_+Li(h*h)),V=l*a-f*h,k=l*s-r*h,L=f*s-r*a,D=ki(b,I),X=Li(V),Q=x+N+Li(V),q=ki(S,w),$=Li(k),H=E+M+Li(k),G=ki(C,O),R=Li(L),U=T+P+Li(L),j=zi(Y),Z=F,W=Yi(B),J=z,K=zi(y),tt=A,nt=a*V,et=Vi(i,D),rt=m*Q+2*Li(nt),ot=2*k*h,it=Yi(Vi(o,q)),st=2*(u*$+_*H+2*Li(ot)),ct=nt-ot,ut=ki(et,it),lt=rt+st+Li(ct),ft=2*l*k,ht=Yi(Vi(n,q)),at=2*(c*$+g*H+2*Li(ft)),pt=f*V,dt=Vi(e,D),gt=d*Q+2*Li(pt),vt=ft-pt,mt=ki(ht,dt),_t=at+gt+Li(vt),bt=V*L,xt=Vi(D,G),It=Q*R+X*U+2*Li(bt),Nt=k*k,St=Vi(q,q),Et=2*(H*$+Li(Nt)),wt=bt-Nt;return{coeffs:{vₓₓ:j,vₓᵧ:W,vᵧᵧ:K,vₓ:ut,vᵧ:mt,v:ki(xt,St)},errorBound:{vₓₓ_:Z,vₓᵧ_:J,vᵧᵧ_:tt,vₓ_:lt,vᵧ_:_t,v_:It+Et+Li(wt)}}}const Xi=At,Qi=Mt,qi=Nt,$i=Tt,Hi=Et,Gi=Math.abs,Ri=Dn(3),Ui=Math.abs,ji=Pt,Zi=Mt,Wi=function(t){return[t[0]/2,t[1]/2]},Ji=Nt,Ki=Tt,ts=wt,ns=Et;function es(t){const{coeffs:[[n,e,r,[,o]],[i,s,c,[,u]]],errorBound:[[l,f,h],[a,p,d]]}=Ii(t),g=r[1],v=e[1],m=n[1],_=c[1],b=s[1],x=i[1],I=Ui(o),N=Ui(g),S=Ui(v),E=Ui(m),w=Ui(u),M=Ui(_),C=Ui(b),T=Ui(x),O=Ki(n,c),P=m*_,y=l*M+E*d+2*Ui(P),A=Ki(r,i),B=g*x,z=h*T+N*a+2*Ui(B),Y=Ki(n,s),F=m*b,V=l*C+E*p+2*Ui(F),k=Ki(e,s),L=v*b,D=f*C+S*p+2*Ui(L),X=Ki(e,i),Q=v*x,q=f*T+S*a+2*Ui(Q),$=Ki(n,n),H=m*m,G=Ui(H),R=l*E+E*l+2*Ui(H),U=Ki(s,s),j=b*b,Z=p*C+C*p+2*Ui(j),W=Ki(i,i),J=x*x,K=Ui(J),tt=a*T+T*a+2*Ui(J),nt=Ki(r,n),et=g*m,rt=h*E+N*l+2*Ui(et),ot=Ki(e,e),it=v*v,st=f*S+S*f+2*Ui(it),ct=Ki(c,i),ut=_*x,lt=d*T+M*a+2*Ui(ut),ft=Ki(s,i),ht=Ui(b*x),at=p*T+C*a+2*ht,pt=Ki(e,n),dt=Ui(v*m),gt=f*E+S*l+2*dt,vt=Ki(n,i),mt=Ui(m*x),_t=l*T+E*a+2*mt,bt=Ji(u,n),xt=m*u,It=l*w+Ui(xt),Nt=Ji(o,i),St=o*x,Et=I*a+Ui(St),wt=Ji(u,e),Mt=v*u,Ct=f*w+Ui(Mt),Tt=Ji(o,s),Ot=o*b,Pt=I*p+Ui(Ot),yt=Ki(e,c),At=v*_,Bt=f*M+S*d+2*Ui(At),zt=Ki(r,s),Yt=g*b,Ft=h*C+N*p+2*Ui(Yt),Vt=Ji(u,r),kt=g*u,Lt=h*w+Ui(kt),Dt=Ji(o,c),Xt=o*_,Qt=I*d+Ui(Xt),qt=ts(bt,Nt),$t=It+Et+Ui(xt-St),Ht=ts(O,A),Gt=y+z+Ui(P-B),Rt=ts(Y,X),Ut=V+q+Ui(F-Q),jt=ts(wt,Tt),Zt=Ct+Pt+Ui(Mt-Ot),Wt=ts(yt,zt),Jt=Bt+Ft+Ui(At-Yt),Kt=ts(Vt,Dt),tn=Lt+Qt+Ui(kt-Xt),nn=Ui(ut-j),en=ts(ct,U),rn=lt+Z+nn,on=Ui(et-it),sn=ts(nt,ot),cn=rt+st+Ui(et-it),un=Ui(Q+F),ln=ns(X,Y),fn=q+V+Ui(Q+F),hn=B+P,an=Ui(hn),pn=ns(A,O),dn=z+y+an,gn=Zi(Ht),vn=2*Gt,mn=xt-St,_n=P-B,bn=F-Q,xn=Mt-Ot,In=At-Yt,Nn=kt-Xt,Sn=Ui(mn),En=Ui(_n),wn=Ui(bn),Mn=Ui(xn),Cn=Ui(In),Tn=Ui(Nn),On=2*En,Pn=Ki(qt,qt),yn=Ki(qt,Ht),An=Ki(qt,Rt),Bn=Ki(qt,Wt),zn=Ki(Ht,Ht),Yn=Ki(gn,jt),Fn=Ki(Rt,jt),Vn=Ki(Rt,Wt),kn=Ki(Rt,Kt),Ln=$t*Sn+Sn*$t+2*Ui(Pn[1]),Dn=$t*En+Sn*Gt+2*Ui(yn[1]),Xn=$t*wn+Sn*Ut+2*Ui(An[1]),Qn=$t*Cn+Sn*Jt+2*Ui(Bn[1]),qn=Gt*En+En*Gt+2*Ui(zn[1]),$n=vn*Mn+On*Zt+2*Ui(Yn[1]),Hn=Ut*Mn+wn*Zt+2*Ui(Fn[1]),Gn=Ut*Cn+wn*Jt+2*Ui(Vn[1]),Rn=Ut*Tn+wn*tn+2*Ui(Fn[1]),Un=Ki(ji(i),W),jn=a*K+T*tt+2*Ui(Un[1]),Zn=3*E,Wn=Ji(3,n),Jn=3*l+Zn,Kn=Ki(Wn,W),te=Jn*K+Zn*tt+2*Ui(Kn[1]),ne=3*T,ee=Ji(-3,i),re=3*a+ne,oe=Ki(ee,$),ie=re*G+ne*R+2*Ui(oe[1]),se=Ki(n,$),ce=l*G+E*R+2*Ui(se[1]),ue=-3*mn,le=3*Sn,fe=Ji(-3,qt),he=3*$t+le,ae=ts(fe,Wt),pe=Ui(ue-In),de=he+Jt+pe,ge=Ki(ae,W),ve=de*K+pe*tt+2*Ui(ge[1]),me=Ki(Rt,en),_e=Ut*nn+wn*rn+2*Ui(me[1]),be=ns(ge,me),xe=ve+_e+Ui(be[1]),Ie=Ki(gn,ft),Ne=vn*ht+On*at+2*Ui(Ie[1]),Se=ns(be,Ie),Ee=xe+Ne+Ui(Se[1]),we=Ki(ae,$),Me=de*G+pe*R+2*Ui(we[1]),Ce=Ki(Rt,sn),Te=Ut*on+wn*cn+2*Ui(Ce[1]),Oe=ns(we,Ce),Pe=Me+Te+Ui(Oe[1]),ye=Ki(gn,pt),Ae=vn*dt+On*gt+2*Ui(ye[1]),Be=ns(Oe,ye),ze=Pe+Ae+Ui(Be[1]),Ye=Ui(L-hn/2),Fe=ts(k,Wi(pn)),Ve=D+dn/2+Ui(Fe[1]),ke=Ki(ae,vt),Le=de*mt+pe*_t+2*Ui(ke[1]),De=Ki(Ht,ln),Xe=Gt*un+En*fn+2*Ui(De[1]),Qe=ns(ke,De),qe=Le+Xe+Ui(Qe[1]),$e=Ki(Rt,Fe),He=Ut*Ye+wn*Ve+2*Ui($e[1]),Ge=Zi(ts($e,Qe)),Re=2*(He+qe)+Ui(Ge[1]),Ue=Ji(-3,Pn),je=3*Ln+Ui(Ue[1]),Ze=ts(Ue,Zi(Bn)),We=je+2*Qn+Ui(Ze[1]),Je=ns(Yn,kn),Ke=$n+Rn+Ui(Je[1]),tr=ns(Ze,Je),nr=Ui(tr[1]),er=We+Ke+nr,rr=Zi(ts(yn,Fn)),or=Ui(rr[1]),ir=2*(Dn+Hn)+or,sr=ts(An,zn),cr=Xn+qn+Ui(sr[1]),ur=ns(sr,Vn),lr=Ui(ur[1]),fr=cr+Gn+lr,hr=Ki(i,tr),ar=a*nr+T*er+2*Ui(hr[1]),pr=Ki(s,rr),dr=p*or+C*ir+2*Ui(pr[1]),gr=Ki(c,ur),vr=d*lr+M*fr+2*Ui(gr[1]),mr=ns(pr,gr),_r=dr+vr+Ui(mr[1]),br=ns(hr,mr),xr=ar+_r+Ui(br[1]),Ir=Ki(n,tr),Nr=l*nr+E*er+2*Ui(Ir[1]),Sr=Ki(e,rr),Er=f*or+S*ir+2*Ui(Sr[1]),wr=Ki(r,ur),Mr=h*lr+N*fr+2*Ui(wr[1]),Cr=ns(Sr,wr),Tr=Er+Mr+Ui(Cr[1]),Or=ji(ns(Ir,Cr)),Pr=Nr+Tr+Ui(Or[1]),yr=ts(Yn,Pn),Ar=ts(yr,Bn),Br=Ui(Ar[1]),zr=Ki(ur,Kt),Yr=Ki(Fn,jt),Fr=ts(zr,Yr),Vr=fr*Ui(Kt[1])+2*Ui(zr[1])+Hn*Ui(jt[1])+2*Ui(Yr[1])+Ui(Fr[1]),kr=Ki(qt,Ar),Lr=$t*Br+Sn*$n+Ln+Ui(yr[1])+Qn+Br+2*Ui(kr[1]),Dr=ns(kr,Fr);return{coeffs:{vₓₓₓ:Un,vₓₓᵧ:Kn,vₓᵧᵧ:oe,vᵧᵧᵧ:se,vₓₓ:Se,vₓᵧ:Ge,vᵧᵧ:Be,vₓ:br,vᵧ:Or,v:Dr},errorBound:{vₓₓₓ_:jn,vₓₓᵧ_:te,vₓᵧᵧ_:ie,vᵧᵧᵧ_:ce,vₓₓ_:Ee,vₓᵧ_:Re,vᵧᵧ_:ze,vₓ_:xr,vᵧ_:Pr,v_:Lr+Vr+Ui(Dr[1])}}}const rs=At,os=Mt,is=Nt,ss=Tt,cs=Et,us=Math.abs,ls=Dn(3),fs=Et,hs=Nt,as=Tt,ps=Math.abs,ds=Dn(3),gs=At,vs=Mt,ms=Nt,_s=Tt,bs=Et,xs=Math.abs,Is=Dn(3),Ns=At,Ss=Mt,Es=Nt,ws=Tt,Ms=Et,Cs=Math.abs,Ts=Dn(3),Os=Et,Ps=Nt,ys=Tt,As=Math.abs,Bs=Dn(3),zs=At,Ys=Mt,Fs=Nt,Vs=Tt,ks=Et,Ls=Math.abs,Ds=Dn(3),Xs=At,Qs=Mt,qs=Nt,$s=Tt,Hs=Et,Gs=Math.abs,Rs=Dn(3),Us=z,js=kt,Zs=L,Ws=je,Js=Br;function Ks(t){if(4===t.length)return tc(t);if(3===t.length)return nc(t);if(2===t.length)return ec(t);if(1===t.length)return function(t){const[[n,e]]=t;return[[[n]],[[e]]]}(t);throw new Error("The given bezier curve must be of order <= cubic.")}function tc(t){const[[n,e],[r,o],[i,s],[c,u]]=t;return[[Js(Us(c,n),Zs(3,Us(r,i))),Zs(3,Ws(js(i,n),-2*r)),Zs(3,Us(r,n)),[n]],[Js(Us(u,e),Zs(3,Us(o,s))),Zs(3,Ws(js(s,e),-2*o)),Zs(3,Us(o,e)),[e]]]}function nc(t){const[[n,e],[r,o],[i,s]]=t;return[[Ws(js(i,n),-2*r),Us(2*r,2*n),[n]],[Ws(js(s,e),-2*o),Us(2*o,2*e),[e]]]}function ec(t){const[[n,e],[r,o]]=t;return[[Us(r,n),[n]],[Us(o,e),[e]]]}const rc=L,oc=A,ic=O,sc=V;function cc(t){const[[n,[e]],[r,[o]]]=t;if(0!==sc(n)||0!==sc(r))return{vₓ:ic(r),vᵧ:n,v:oc(rc(e,r),rc(o,n))}}const uc=L,lc=Q,fc=T;function hc(t,n){const e=ec(t),[[r,[o]],[i,[s]]]=ec(n),{vₓ:c,vᵧ:u,v:l}=cc(e),f=lc(r,c),h=lc(i,u),a=fc(f,h),p=uc(o,c),d=uc(s,u),g=fc(p,d);return[a,fc(g,l)]}const ac=L,pc=dr,dc=A,gc=Q,vc=O;function mc(t){const[[n,e,[r]],[o,i,[s]]]=t;if(0===V(n)&&0===V(o))return cc([[e,[r]],[i,[s]]]);const c=gc(n,i),u=gc(e,o),l=ac(s,n),f=ac(r,o),h=ac(s,e),a=ac(r,i),p=gc(n,n),d=gc(n,o),g=gc(o,o),v=dc(c,u),m=dc(l,f),_=dc(h,a),b=vc(g),x=pc(d),I=vc(p),N=gc(i,v),S=pc(gc(o,m)),E=dc(N,S),w=pc(gc(n,m)),M=gc(e,v),C=dc(w,M),T=gc(v,_),O=gc(m,m);return{vₓₓ:b,vₓᵧ:x,vᵧᵧ:I,vₓ:E,vᵧ:C,v:dc(T,O)}}const _c=C,bc=L,xc=Q,Ic=T,Nc=dr,Sc=V;function Ec(t,n){const e=nc(t);if(0===Sc(e[0][0])&&0===Sc(e[1][0]))return hc([t[0],t[2]],n);const[[r,[o]],[i,[s]]]=ec(n),{vₓₓ:c,vₓᵧ:u,vᵧᵧ:l,vₓ:f,vᵧ:h,v:a}=mc(e),p=_c(o,o),d=bc(o,r),g=_c(o,s),v=bc(o,i),m=xc(r,r),_=bc(s,r),b=xc(r,i),x=_c(s,s),I=bc(s,i),N=xc(i,i),S=xc(m,c),E=xc(N,l),w=xc(b,u),M=Ic(S,E),C=Ic(M,w),T=xc(d,c),O=xc(I,l),P=Ic(v,_),y=xc(P,u),A=Nc(Ic(T,O)),B=Ic(A,y),z=xc(r,f),Y=xc(i,h),F=Ic(z,Y),V=Ic(B,F),k=xc(p,c),L=xc(g,u),D=xc(x,l),X=Ic(k,L),Q=Ic(X,D),q=bc(o,f),$=bc(s,h),H=Ic(q,$),G=Ic(Q,H);return[C,V,Ic(G,a)]}const wc=Q,Mc=z,Cc=A,Tc=V,Oc=B,Pc=k,yc=kt;function Ac(t,n=!1){if(!n){const[[n,e],[r,o],[i,s],[c,u]]=t;return[[n,e],[Oc(Cc(Pc(yc(r/4,i/4),3),yc(n/4,c/4))),Oc(Cc(Pc(yc(o/4,s/4),3),yc(e/4,u/4)))],[c,u]]}const[e,r,o,i]=t,s=function(t,n){const[[e,r],[o,i]]=t,[[s,c],[u,l]]=n,f=Mc(o,e),h=Mc(i,r),a=Mc(u,s),p=Mc(l,c),d=Cc(wc(a,h),wc(p,f));if(0===Tc(d))return;const g=Mc(s,e),v=Mc(c,r),m=Cc(wc(v,f),wc(g,h)),_=Oc(m)/Oc(d);return[s+_*Oc(a),c+_*Oc(p)]}([e,r],[i,o]);if(void 0!==s)return[e,s,i]}const Bc=L,zc=Q,Yc=T,Fc=A,Vc=O,kc=dr,Lc=vr,Dc=V;function Xc(t){const[[n,e,r,[o]],[i,s,c,[u]]]=t;if(0===Dc(n)&&0===Dc(i))return mc([[e,r,[o]],[s,c,[u]]]);const l=zc(n,c),f=zc(r,i),h=zc(n,s),a=zc(e,s),p=zc(e,i),d=zc(n,n),g=zc(s,s),v=zc(i,i),m=zc(r,n),_=zc(e,e),b=zc(c,i),x=zc(s,i),I=zc(e,n),N=zc(n,i),S=Bc(u,n),E=Bc(o,i),w=Bc(u,e),M=Bc(o,s),C=zc(e,c),T=zc(r,s),O=Bc(u,r),P=Bc(o,c),y=Fc(S,E),A=Fc(l,f),B=Fc(h,p),z=Fc(w,M),Y=Fc(C,T),F=Fc(O,P),V=Fc(b,g),k=Fc(m,_),L=Yc(p,h),D=Yc(f,l),X=kc(A),Q=zc(y,y),q=zc(y,A),$=zc(y,B),H=zc(y,Y),G=zc(A,A),R=zc(X,z),U=zc(B,z),j=zc(B,Y),Z=zc(B,F),W=zc(Vc(i),v),J=zc(Bc(3,n),v),K=zc(Bc(-3,i),d),tt=zc(n,d),nt=Fc(Bc(-3,y),Y),et=zc(nt,v),rt=zc(B,V),ot=Yc(et,rt),it=zc(X,x),st=Yc(ot,it),ct=zc(nt,d),ut=zc(B,k),lt=Yc(ct,ut),ft=zc(X,I),ht=Yc(lt,ft),at=Fc(a,Lc(D)),pt=zc(nt,N),dt=zc(A,L),gt=Yc(pt,dt),vt=zc(B,at),mt=kc(Fc(vt,gt)),_t=Bc(-3,Q),bt=Fc(_t,kc(H)),xt=Yc(R,Z),It=Yc(bt,xt),Nt=kc(Fc(q,U)),St=Fc($,G),Et=Yc(St,j),wt=zc(i,It),Mt=zc(s,Nt),Ct=zc(c,Et),Tt=Yc(Mt,Ct),Ot=Yc(wt,Tt),Pt=zc(n,It),yt=zc(e,Nt),At=zc(r,Et),Bt=Yc(yt,At),zt=Vc(Yc(Pt,Bt)),Yt=Fc(R,Q),Ft=Fc(Yt,H),Vt=zc(Et,F),kt=zc(U,z),Lt=Fc(Vt,kt),Dt=zc(y,Ft);return{vₓₓₓ:W,vₓₓᵧ:J,vₓᵧᵧ:K,vᵧᵧᵧ:tt,vₓₓ:st,vₓᵧ:mt,vᵧᵧ:ht,vₓ:Ot,vᵧ:zt,v:Yc(Dt,Lt)}}const Qc=C,qc=L,$c=Q,Hc=T,Gc=dr,Rc=V;function Uc(t,n){const e=tc(t);if(0===Rc(e[0][0])&&0===Rc(e[1][0]))return Ec(Ac(t),n);const[[r,[o]],[i,[s]]]=ec(n),{vₓₓₓ:c,vₓₓᵧ:u,vₓᵧᵧ:l,vᵧᵧᵧ:f,vₓₓ:h,vₓᵧ:a,vᵧᵧ:p,vₓ:d,vᵧ:g,v}=Xc(e),m=Qc(o,o),_=qc(o,r),b=Qc(o,s),x=qc(o,i),I=$c(r,r),N=qc(s,r),S=$c(r,i),E=Qc(s,s),w=qc(s,i),M=$c(i,i),C=qc(o,c),T=$c(Qc(3,o),c),O=qc(o,u),P=qc(s,u),y=qc(o,l),A=qc(s,l),B=qc(s,f),z=$c(Qc(3,s),f),Y=$c(r,c),F=$c(r,l),V=$c(i,u),k=$c(i,f),L=Hc(Y,V),D=Hc(F,k),X=$c(I,L),Q=$c(M,D),q=Hc(X,Q),$=Hc(T,P),H=Gc(Hc(O,A)),G=Hc(y,z),R=Hc($,h),U=Hc(H,a),j=Hc(G,p),Z=$c(I,R),W=$c(S,U),J=$c(M,j),K=Hc(Z,W),tt=Hc(K,J),nt=Gc(Hc(P,h)),et=Gc(Hc(y,p)),rt=Hc(T,nt),ot=Hc(z,et),it=Hc(O,a),st=Hc(A,a),ct=$c(_,rt),ut=$c(w,ot),lt=$c(x,it),ft=$c(N,st),ht=$c(r,d),at=$c(i,g),pt=Hc(ct,ut),dt=Hc(lt,ft),gt=Hc(pt,dt),vt=Hc(ht,at),mt=Hc(gt,vt),_t=Hc(C,P),bt=Hc(B,y),xt=Hc(_t,h),It=Hc(bt,p),Nt=$c(m,xt),St=$c(E,It),Et=$c(b,a),wt=Hc(Nt,St),Mt=Hc(wt,Et),Ct=qc(o,d),Tt=qc(s,g),Ot=Hc(Ct,Tt),Pt=Hc(Mt,Ot);return[q,tt,mt,Hc(Pt,v)]}const jc=L,Zc=Q,Wc=T,Jc=V;function Kc(t,n){const e=ec(t),[[r,o,[i]],[s,c,[u]]]=nc(n);if(0===Jc(r)&&0===Jc(s))return hc(t,[n[0],n[2]]);const{vₓ:l,vᵧ:f,v:h}=cc(e),a=Zc(r,l),p=Zc(s,f),d=Wc(a,p),g=Zc(o,l),v=Zc(c,f),m=Wc(g,v),_=jc(i,l),b=jc(u,f),x=Wc(_,b);return[d,m,Wc(x,h)]}const tu=C,nu=L,eu=Q,ru=T,ou=dr,iu=V;function su(t,n){const e=nc(t);if(0===iu(e[0][0])&&0===iu(e[1][0]))return Kc([t[0],t[2]],n);const[[r,o,[i]],[s,c,[u]]]=nc(n);if(0===iu(r)&&0===iu(s))return Ec(t,[n[0],n[2]]);const{vₓₓ:l,vₓᵧ:f,vᵧᵧ:h,vₓ:a,vᵧ:p,v:d}=mc(e),g=tu(i,i),v=nu(i,o),m=nu(i,r),_=tu(i,u),b=nu(i,c),x=nu(i,s),I=eu(o,o),N=eu(o,r),S=nu(u,o),E=eu(o,c),w=eu(o,s),M=eu(r,c),C=eu(r,r),T=nu(u,r),O=eu(r,s),P=tu(u,u),y=nu(u,c),A=nu(u,s),B=eu(c,c),z=eu(c,s),Y=eu(s,s),F=eu(C,l),V=eu(O,f),k=eu(Y,h),L=ru(F,V),D=ru(L,k),X=eu(N,l),Q=eu(z,h),q=ru(w,M),$=eu(q,f),H=ou(ru(X,Q)),G=ru(H,$),R=ru(ou(m),I),U=ru(ou(A),B),j=ru(x,E),Z=ru(j,T),W=eu(R,l),J=eu(U,h),K=eu(Z,f),tt=eu(r,a),nt=eu(s,p),et=ru(W,J),rt=ru(et,K),ot=ru(tt,nt),it=ru(rt,ot),st=eu(v,l),ct=eu(y,h),ut=ru(b,S),lt=eu(ut,f),ft=ou(ru(st,ct)),ht=eu(o,a),at=eu(c,p),pt=ru(ft,lt),dt=ru(ht,at),gt=ru(pt,dt),vt=eu(g,l),mt=eu(_,f),_t=eu(P,h),bt=nu(i,a),xt=nu(u,p),It=ru(vt,mt),Nt=ru(It,_t),St=ru(bt,xt),Et=ru(Nt,St);return[D,G,it,gt,ru(Et,d)]}const cu=C,uu=L,lu=Q,fu=T,hu=dr,au=V;function pu(t,n){const e=tc(t);if(0===au(e[0][0])&&0===au(e[1][0]))return su(Ac(t),n);const[[r,o,[i]],[s,c,[u]]]=nc(n);if(0===au(r)&&0===au(s))return Uc(t,[n[0],n[2]]);const{vₓₓₓ:l,vₓₓᵧ:f,vₓᵧᵧ:h,vᵧᵧᵧ:a,vₓₓ:p,vₓᵧ:d,vᵧᵧ:g,vₓ:v,vᵧ:m,v:_}=Xc(e),b=cu(i,i),x=uu(i,o),I=uu(i,r),N=cu(i,u),S=uu(i,c),E=uu(i,s),w=lu(o,o),M=lu(o,r),C=uu(u,o),T=lu(o,c),O=lu(o,s),P=lu(r,c),y=lu(r,r),A=uu(u,r),B=lu(r,s),z=cu(u,u),Y=uu(u,c),F=uu(u,s),V=lu(c,c),k=lu(c,s),L=lu(s,s),D=lu(r,l),X=lu(r,h),Q=lu(s,f),q=lu(s,a),$=fu(D,Q),H=fu(X,q),G=lu(y,$),R=lu(L,H),U=fu(G,R),j=fu(I,w),Z=fu(F,V),W=fu(hu(I),w),J=fu(hu(F),V),K=fu(hu(T),A),tt=fu(hu(T),E),nt=fu(hu(A),T),et=fu(uu(6,I),w),rt=fu(uu(6,F),V),ot=fu(O,P),it=fu(E,A),st=fu(hu(C),S),ct=fu(hu(S),C),ut=fu(E,T),lt=fu(ut,A),ft=uu(3,y),ht=uu(3,L),at=lu(ft,l),pt=lu(y,f),dt=hu(lu(B,f)),gt=hu(lu(B,h)),vt=lu(L,h),mt=lu(ht,a),_t=fu(at,dt),bt=fu(pt,gt),xt=fu(_t,vt),It=fu(bt,mt),Nt=lu(o,xt),St=lu(c,It),Et=fu(Nt,St),wt=lu(s,W),Mt=lu(s,tt),Ct=lu(r,K),Tt=lu(r,J),Ot=lu(uu(3,r),j),Pt=lu(uu(3,s),Z),yt=fu(wt,Ct),At=fu(Mt,Tt),Bt=lu(Ot,l),zt=lu(Pt,a),Yt=lu(yt,f),Ft=lu(At,h),Vt=fu(Bt,zt),kt=fu(Yt,Ft),Lt=lu(y,p),Dt=lu(L,g),Xt=lu(B,d),Qt=fu(Lt,Dt),qt=fu(Vt,kt),$t=fu(Qt,Xt),Ht=fu(qt,$t),Gt=lu(o,et),Rt=lu(c,rt),Ut=uu(2*i,ot),jt=lu(hu(c),it),Zt=lu(o,nt),Wt=lu(o,J),Jt=fu(Ut,Zt),Kt=fu(jt,Wt),tn=lu(k,g),nn=lu(M,p),en=lu(ot,d),rn=fu(tn,nn),on=lu(Gt,l),sn=lu(Jt,f),cn=lu(Rt,a),un=lu(Kt,h),ln=fu(on,cn),fn=fu(sn,un),hn=fu(ln,fn),an=fu(hu(rn),en),pn=fu(hn,an),dn=lu(cu(3,i),j),gn=lu(cu(3,u),Z),vn=uu(i,tt),mn=uu(i,J),_n=uu(u,W),bn=uu(u,K),xn=fu(vn,_n),In=fu(mn,bn),Nn=lu(dn,l),Sn=lu(gn,a),En=lu(xn,f),wn=lu(In,h),Mn=lu(W,p),Cn=lu(J,g),Tn=lu(lt,d),On=lu(r,v),Pn=lu(s,m),yn=fu(Nn,Sn),An=fu(En,wn),Bn=fu(Mn,Cn),zn=fu(yn,An),Yn=fu(Bn,Tn),Fn=fu(On,Pn),Vn=fu(zn,Yn),kn=fu(Vn,Fn),Ln=lu(cu(3,i),x),Dn=lu(cu(3,u),Y),Xn=uu(i,st),Qn=uu(u,ct),qn=lu(x,p),$n=lu(Y,g),Hn=lu(S,d),Gn=lu(C,d),Rn=hu(fu(qn,$n)),Un=fu(Hn,Gn),jn=lu(o,v),Zn=lu(c,m),Wn=lu(Ln,l),Jn=lu(Dn,a),Kn=lu(Xn,f),te=lu(Qn,h),ne=fu(Wn,Jn),ee=fu(Kn,te),re=fu(ne,ee),oe=fu(Rn,Un),ie=fu(jn,Zn),se=fu(re,oe),ce=fu(se,ie),ue=uu(i,l),le=uu(i,h),fe=uu(u,f),he=uu(u,a),ae=fu(ue,fe),pe=fu(le,he),de=fu(ae,p),ge=fu(pe,g),ve=lu(b,de),me=lu(z,ge),_e=lu(N,d),be=uu(i,v),xe=uu(u,m),Ie=fu(ve,me),Ne=fu(Ie,_e),Se=fu(be,xe),Ee=fu(Ne,Se);return[U,Et,Ht,pn,kn,ce,fu(Ee,_)]}const du=L,gu=Q,vu=T,mu=V;function _u(t,n){const e=ec(t),[[r,o,i,[s]],[c,u,l,[f]]]=tc(n);if(0===mu(r)&&0===mu(c))return Kc(t,Ac(n));const{vₓ:h,vᵧ:a,v:p}=cc(e),d=gu(r,h),g=gu(c,a),v=vu(d,g),m=gu(o,h),_=gu(u,a),b=vu(m,_),x=gu(i,h),I=gu(l,a),N=vu(x,I),S=du(s,h),E=du(f,a),w=vu(S,E);return[v,b,N,vu(w,p)]}const bu=C,xu=L,Iu=Q,Nu=T,Su=dr,Eu=V;function wu(t,n){const e=nc(t);if(0===Eu(e[0][0])&&0===Eu(e[1][0]))return _u([t[0],t[2]],n);const[[r,o,i,[s]],[c,u,l,[f]]]=tc(n);if(0===Eu(r)&&0===Eu(c))return su(t,Ac(n));const{vₓₓ:h,vₓᵧ:a,vᵧᵧ:p,vₓ:d,vᵧ:g,v}=mc(e),m=bu(s,s),_=xu(s,i),b=xu(s,o),x=xu(s,r),I=bu(s,f),N=xu(s,l),S=xu(s,u),E=xu(s,c),w=Iu(i,i),M=Iu(i,o),C=Iu(i,r),T=xu(f,i),O=Iu(i,l),P=Iu(i,u),y=Iu(i,c),A=Iu(o,l),B=Iu(o,o),z=Iu(o,r),Y=xu(f,o),F=Iu(o,u),V=Iu(o,c),k=Iu(r,r),L=xu(f,r),D=Iu(r,l),X=Iu(r,u),Q=Iu(r,c),q=bu(f,f),$=xu(f,l),H=xu(f,u),G=xu(f,c),R=Iu(l,l),U=Iu(l,u),j=Iu(c,c),Z=Iu(u,u),W=Iu(u,c),J=Iu(l,c),K=Iu(k,h),tt=Iu(Q,a),nt=Iu(j,p),et=Nu(K,tt),rt=Nu(et,nt),ot=Iu(z,h),it=Iu(W,p),st=Nu(ot,it),ct=Nu(V,X),ut=Iu(ct,a),lt=Nu(Su(st),ut),ft=Nu(Su(C),B),ht=Nu(Su(J),Z),at=Nu(y,F),pt=Nu(at,D),dt=Iu(ft,h),gt=Iu(ht,p),vt=Nu(dt,gt),mt=Iu(pt,a),_t=Nu(vt,mt),bt=Nu(x,M),xt=Nu(G,U),It=Nu(E,P),Nt=Nu(A,L),St=Nu(It,Nt),Et=Iu(bt,h),wt=Iu(xt,p),Mt=Su(Nu(Et,wt)),Ct=Iu(St,a),Tt=Iu(r,d),Ot=Iu(c,g),Pt=Nu(Tt,Ot),yt=Nu(Mt,Ct),At=Nu(yt,Pt),Bt=Nu(Su(b),w),zt=Nu(Su(H),R),Yt=Nu(S,O),Ft=Nu(Yt,Y),Vt=Iu(Bt,h),kt=Iu(zt,p),Lt=Iu(Ft,a),Dt=Nu(Vt,kt),Xt=Nu(Dt,Lt),Qt=Iu(o,d),qt=Iu(u,g),$t=Nu(Qt,qt),Ht=Nu(Xt,$t),Gt=Iu(_,h),Rt=Iu($,p),Ut=Nu(N,T),jt=Iu(Ut,a),Zt=Su(Nu(Gt,Rt)),Wt=Nu(Zt,jt),Jt=Iu(i,d),Kt=Iu(l,g),tn=Nu(Jt,Kt),nn=Nu(Wt,tn),en=Iu(m,h),rn=Iu(I,a),on=Iu(q,p),sn=xu(s,d),cn=xu(f,g),un=Nu(en,rn),ln=Nu(un,on),fn=Nu(sn,cn),hn=Nu(ln,fn);return[rt,lt,_t,At,Ht,nn,Nu(hn,v)]}const Mu=C,Cu=L,Tu=Q,Ou=T,Pu=dr,yu=V,Au=[[function(t,n){const{coeffs:{vₓ:e,vᵧ:r,v:o},errorBound:{v_:i}}=Ti(t),[[s,[,c]],[u,[,l]]]=Si(n),f=s[1],h=u[1],a=e[1],p=r[1],d=o[1],g=f*a,v=2*Ai(g),m=yi(s,e),_=h*p,b=2*Ai(_),x=yi(u,r),I=g+_,N=Oi(m,x),S=v+b+Ai(I),E=c*a,w=Pi(c,e),M=Ai(E),C=l*p,T=Pi(l,r),O=Ai(C),P=E+C,y=Oi(w,T),A=M+O+Ai(P),B=Oi(y,o),z=A+i+Ai(P+d);return{coeffs:[N,B],errBound:[Bi*S,Bi*z]}},function(t,n){const{coeffs:{vₓ:e,vᵧ:r,v:o},errorBound:{v_:i}}=Ti(t),{coeffs:[[s,c,[,u]],[l,f,[,h]]],errorBound:[[a],[p]]}=Ni(n),d=e[1],g=r[1],v=o[1],m=ps(d),_=ps(g),b=(ps(v),c[1]),x=s[1],I=f[1],N=l[1],S=x*d,E=as(s,e),w=a*m+2*ps(S),M=N*g,C=as(l,r),T=p*_+2*ps(M),O=S+M,P=fs(E,C),y=w+T+ps(O),A=b*d,B=as(c,e),z=2*ps(A),Y=I*g,F=as(f,r),V=2*ps(Y),k=A+Y,L=fs(B,F),D=z+V+ps(k),X=hs(u,e),Q=u*d,q=ps(Q),$=hs(h,r),H=h*g,G=ps(H),R=Q+H,U=fs(X,$),j=q+G+ps(R),Z=R+v,W=fs(U,o),J=j+i+ps(Z);return{coeffs:[P,L,W],errBound:[ds*y,ds*D,ds*J]}},function(t,n){const{coeffs:{vₓ:e,vᵧ:r,v:o},errorBound:{v_:i}}=Ti(t),{coeffs:[[s,c,u,[,l]],[f,h,a,[,p]]],errorBound:[[d,g,v],[m,_,b]]}=Ii(n),x=As(e[1]),I=As(r[1]),N=ys(s,e),S=d*x+2*As(N[1]),E=ys(f,r),w=m*I+2*As(E[1]),M=Os(N,E),C=S+w+As(M[1]),T=ys(c,e),O=g*x+2*As(T[1]),P=ys(h,r),y=_*I+2*As(P[1]),A=Os(T,P),B=O+y+As(A[1]),z=ys(u,e),Y=v*x+2*As(z[1]),F=ys(a,r),V=b*I+2*As(F[1]),k=Os(z,F),L=Y+V+As(k[1]),D=Ps(l,e),X=As(D[1]),Q=Ps(p,r),q=As(Q[1]),$=Os(D,Q),H=X+q+As($[1]),G=Os($,o),R=H+i+As(G[1]);return{coeffs:[M,A,k,G],errBound:[Bs*C,Bs*B,Bs*L,Bs*R]}}],[function(t,n){const{coeffs:{vₓₓ:e,vₓᵧ:r,vᵧᵧ:o,vₓ:i,vᵧ:s,v:c},errorBound:{vₓₓ_:u,vₓᵧ_:l,vᵧᵧ_:f,vₓ_:h,vᵧ_:a,v_:p}}=Di(t),[[d,[,g]],[v,[,m]]]=Si(n),_=e[1],b=r[1],x=o[1],I=i[1],N=s[1],S=c[1],E=Gi(_),w=Gi(b),M=Gi(x),C=d[1],T=v[1],O=Gi(g),P=Gi(C),y=Gi(m),A=Gi(T),B=g*g,z=g*C,Y=g*m,F=g*T,V=C*C,k=C*m,L=C*T,D=m*m,X=m*T,Q=T*T,q=Xi(g,g),$=qi(g,d),H=Gi(z),G=Xi(g,m),R=qi(g,v),U=Gi(F),j=Gi(V),Z=$i(d,d),W=2*j,J=qi(m,d),K=Gi(k),tt=Gi(L),nt=$i(d,v),et=2*tt,rt=Xi(m,m),ot=qi(m,v),it=Gi(X),st=Gi(Q),ct=$i(v,v),ut=2*st,lt=V*_,ft=$i(Z,e),ht=W*E*j*u+2*Gi(lt),at=Q*x,pt=$i(ct,o),dt=ut*M*st*f+2*Gi(at),gt=L*b,vt=$i(nt,r),mt=et*w*tt*l+2*Gi(gt),_t=lt+at,bt=Hi(ft,pt),xt=ht+dt+Gi(_t),It=_t+gt,Nt=Hi(bt,vt),St=xt+mt+Gi(It),Et=z*_,wt=$i($,e),Mt=H*(E+u)+2*Gi(Et),Ct=X*x,Tt=$i(ot,o),Ot=it*(M+f)+2*Gi(Ct),Pt=F+k,yt=Hi(R,J),At=U+K+Gi(Pt),Bt=Pt*b,zt=$i(yt,r),Yt=At*w+Gi(Pt)*l+2*Gi(Bt),Ft=2*(Et+Ct),Vt=Qi(Hi(wt,Tt)),kt=2*(Mt+Ot)+Gi(Ft),Lt=Ft+Bt,Dt=Hi(Vt,zt),Xt=kt+Yt+Gi(Lt),Qt=C*I,qt=$i(d,i),$t=P*h+2*Gi(Qt),Ht=T*N,Gt=$i(v,s),Rt=A*a+2*Gi(Ht),Ut=Qt+Ht,jt=Hi(qt,Gt),Zt=$t+Rt+Gi(Ut),Wt=Lt+Ut,Jt=Hi(Dt,jt),Kt=Xt+Zt+Gi(Wt),tn=B*_,nn=$i(q,e),en=2*Gi(tn),rn=Y*b,on=$i(G,r),sn=2*Gi(rn),cn=D*x,un=$i(rt,o),ln=2*Gi(cn),fn=tn+rn,hn=Hi(nn,on),an=en+sn+Gi(fn),pn=fn+cn,dn=Hi(hn,un),gn=an+ln+Gi(pn),vn=g*I,mn=qi(g,i),_n=O*h+Gi(vn),bn=m*N,xn=qi(m,s),In=y*a+Gi(bn),Nn=vn+bn,Sn=Hi(mn,xn),En=_n+In+Gi(Nn),wn=pn+Nn,Mn=Hi(dn,Sn),Cn=gn+En+Gi(wn),Tn=wn+S,On=Hi(Mn,c),Pn=Cn+p+Gi(Tn);return{coeffs:[Nt,Jt,On],errBound:[Ri*St,Ri*Kt,Ri*Pn]}},function(t,n){const{coeffs:{vₓₓ:e,vₓᵧ:r,vᵧᵧ:o,vₓ:i,vᵧ:s,v:c},errorBound:{vₓₓ_:u,vₓᵧ_:l,vᵧᵧ_:f,vₓ_:h,vᵧ_:a,v_:p}}=Di(t),{coeffs:[[d,g,[,v]],[m,_,[,b]]],errorBound:[[x],[I]]}=Ni(n),N=e[1],S=r[1],E=o[1],w=i[1],M=s[1],C=c[1],T=xs(N),O=xs(S),P=xs(E),y=xs(w),A=xs(M),B=g[1],z=d[1],Y=_[1],F=m[1],V=xs(v),k=xs(B),L=xs(z),D=xs(b),X=xs(Y),Q=xs(F),q=v*v,$=v*B,H=v*z,G=v*b,R=v*Y,U=v*F,j=B*B,Z=B*z,W=B*b,J=B*Y,K=B*F,tt=z*Y,nt=z*z,et=z*b,rt=z*F,ot=b*b,it=b*Y,st=b*F,ct=Y*Y,ut=Y*F,lt=F*F,ft=xs(q),ht=xs(G),at=xs(ot),pt=gs(v,v),dt=ms(v,g),gt=xs($),vt=ms(v,d),mt=xs(H),_t=gs(v,b),bt=ms(v,_),xt=xs(R),It=ms(v,m),Nt=xs(U),St=_s(g,g),Et=2*xs(j),wt=_s(g,d),Mt=xs(Z),Ct=k*x+2*Mt,Tt=ms(b,g),Ot=xs(W),Pt=_s(g,_),yt=2*xs(J),At=_s(g,m),Bt=k*I+2*xs(K),zt=_s(d,_),Yt=x*X+2*xs(tt),Ft=_s(d,d),Vt=xs(nt),kt=2*(x*L+Vt),Lt=ms(b,d),Dt=xs(et),Xt=_s(d,m),Qt=xs(rt),qt=x*Q+L*I+2*Qt,$t=gs(b,b),Ht=ms(b,_),Gt=xs(it),Rt=ms(b,m),Ut=xs(st),jt=_s(_,_),Zt=2*xs(ct),Wt=_s(_,m),Jt=xs(ut),Kt=X*I+2*Jt,tn=_s(m,m),nn=xs(lt),en=2*(I*Q+nn),rn=nt*N,on=_s(Ft,e),sn=kt*T+Vt*u+2*xs(rn),cn=rt*S,un=_s(Xt,r),ln=qt*O+Qt*l+2*xs(cn),fn=lt*E,hn=_s(tn,o),an=en*P+nn*f+2*xs(fn),pn=rn+cn,dn=bs(on,un),gn=sn+ln+xs(pn),vn=pn+fn,mn=bs(dn,hn),_n=gn+an+xs(vn),bn=Z*N,xn=_s(wt,e),In=Ct*T+Mt*u+2*xs(bn),Nn=ut*E,Sn=_s(Wt,o),En=Kt*P+Jt*f+2*xs(Nn),wn=K+tt,Mn=bs(At,zt),Cn=xs(wn),Tn=Bt+Yt+Cn,On=wn*S,Pn=_s(Mn,r),yn=Tn*O+Cn*l+2*xs(On),An=2*(bn+Nn),Bn=vs(bs(xn,Sn)),zn=2*(In+En)+xs(An),Yn=An+On,Fn=bs(Bn,Pn),Vn=zn+yn+xs(Yn),kn=2*H+j,Ln=xs(kn),Dn=bs(vs(vt),St),Xn=2*mt+Et+xs(kn),Qn=2*st+ct,qn=xs(Qn),$n=bs(vs(Rt),jt),Hn=2*Ut+Zt+xs(Qn),Gn=U+J,Rn=(xs(Gn),bs(It,Pt)),Un=Nt+yt+xs(Gn),jn=Gn+et,Zn=bs(Rn,Lt),Wn=xs(jn),Jn=Un+Dt+Wn,Kn=kn*N,te=_s(Dn,e),ne=Xn*T+Ln*u+2*xs(Kn),ee=Qn*E,re=_s($n,o),oe=Hn*P+qn*f+2*xs(ee),ie=jn*S,se=_s(Zn,r),ce=Jn*O+Wn*l+2*xs(ie),ue=z*w,le=_s(d,i),fe=x*y+L*h+xs(ue),he=F*M,ae=_s(m,s),pe=I*A+Q*a+xs(he),de=Kn+ee,ge=bs(te,re),ve=ne+oe+xs(de),me=de+ie,_e=bs(ge,se),be=ve+ce+xs(me),xe=ue+he,Ie=bs(le,ae),Ne=fe+pe+xs(xe),Se=me+xe,Ee=bs(_e,Ie),we=be+Ne+xs(Se),Me=$*N,Ce=_s(dt,e),Te=gt*(T+u)+2*xs(Me),Oe=it*E,Pe=_s(Ht,o),ye=Gt*(P+f)+2*xs(Oe),Ae=R+W,Be=bs(bt,Tt),ze=xs(Ae),Ye=xt+Ot+ze,Fe=Ae*S,Ve=_s(Be,r),ke=Ye*O+ze*l+2*xs(Fe),Le=2*(Me+Oe),De=vs(bs(Ce,Pe)),Xe=2*(Te+ye)+xs(Le),Qe=B*w,qe=_s(g,i),$e=k*h+2*xs(Qe),He=Y*M,Ge=_s(_,s),Re=X*a+2*xs(He),Ue=Le+Fe,je=bs(De,Ve),Ze=Xe+ke+xs(Ue),We=Qe+He,Je=bs(qe,Ge),Ke=$e+Re+xs(We),tr=Ue+We,nr=bs(je,Je),er=Ze+Ke+xs(tr),rr=q*N,or=_s(pt,e),ir=ft*u+2*xs(rr),sr=G*S,cr=_s(_t,r),ur=ht*l+2*xs(sr),lr=ot*E,fr=_s($t,o),hr=at*f+2*xs(lr),ar=v*w,pr=ms(v,i),dr=V*h+xs(ar),gr=b*M,vr=ms(b,s),mr=D*a+xs(gr),_r=rr+sr,br=bs(or,cr),xr=ir+ur+xs(_r),Ir=_r+lr,Nr=bs(br,fr),Sr=xr+hr+xs(Ir),Er=ar+gr,wr=bs(pr,vr),Mr=dr+mr+xs(Er),Cr=Ir+Er,Tr=bs(Nr,wr),Or=Sr+Mr+xs(Cr),Pr=Cr+C,yr=bs(Tr,c),Ar=Or+p+xs(Pr);return{coeffs:[mn,Fn,Ee,nr,yr],errBound:[Is*_n,Is*Vn,Is*we,Is*er,Is*Ar]}},function(t,n){const{coeffs:{vₓₓ:e,vₓᵧ:r,vᵧᵧ:o,vₓ:i,vᵧ:s,v:c},errorBound:{vₓₓ_:u,vₓᵧ_:l,vᵧᵧ_:f,vₓ_:h,vᵧ_:a,v_:p}}=Di(t),{coeffs:[[d,g,v,[,m]],[_,b,x,[,I]]],errorBound:[[N,S,E],[w,M,C]]}=Ii(n),T=e[1],O=r[1],P=o[1],y=i[1],A=s[1],B=c[1],z=Ls(T),Y=Ls(O),F=Ls(P),V=Ls(y),k=Ls(A),L=v[1],D=g[1],X=d[1],Q=x[1],q=b[1],$=_[1],H=Ls(m),G=Ls(L),R=Ls(D),U=Ls(X),j=Ls(I),Z=Ls(Q),W=Ls(q),J=Ls($),K=m*m,tt=m*L,nt=m*D,et=m*X,rt=m*I,ot=m*Q,it=m*q,st=m*$,ct=L*L,ut=L*D,lt=L*X,ft=L*I,ht=L*Q,at=L*q,pt=L*$,dt=D*Q,gt=D*D,vt=D*X,mt=D*I,_t=D*q,bt=D*$,xt=X*X,It=X*I,Nt=X*Q,St=X*q,Et=X*$,wt=I*I,Mt=I*Q,Ct=I*q,Tt=I*$,Ot=Q*Q,Pt=Q*q,yt=$*$,At=q*q,Bt=q*$,zt=Q*$,Yt=zs(m,m),Ft=Ls(K),Vt=Fs(m,v),kt=Ls(tt),Lt=H*E+kt,Dt=Fs(m,g),Xt=H*S+Ls(nt),Qt=Fs(m,d),qt=H*N+Ls(et),$t=zs(m,I),Ht=Ls(rt),Gt=Fs(m,x),Rt=H*C+Ls(ot),Ut=Fs(m,b),jt=H*M+Ls(it),Zt=Fs(m,_),Wt=H*w+Ls(st),Jt=Vs(v,v),Kt=E*G+G*E+2*Ls(ct),tn=Vs(v,g),nn=E*R+G*S+2*Ls(ut),en=Vs(v,d),rn=E*U+G*N+2*Ls(lt),on=Fs(I,v),sn=j*E+Ls(ft),cn=Vs(v,x),un=E*Z+G*C+2*Ls(ht),ln=Vs(v,b),fn=E*W+G*M+2*Ls(at),hn=Vs(v,_),an=E*J+G*w+2*Ls(pt),pn=Vs(g,x),dn=S*Z+R*C+2*Ls(dt),gn=Vs(g,g),vn=S*R+R*S+2*Ls(gt),mn=Vs(g,d),_n=Ls(vt),bn=S*U+R*N+2*_n,xn=Fs(I,g),In=j*S+Ls(mt),Nn=Vs(g,b),Sn=S*W+R*M+2*Ls(_t),En=Vs(g,_),wn=S*J+R*w+2*Ls(bt),Mn=Vs(d,d),Cn=Ls(xt),Tn=N*U+U*N+2*Cn,On=Fs(I,d),Pn=j*N+Ls(It),yn=Vs(d,x),An=N*Z+U*C+2*Ls(Nt),Bn=Vs(d,b),zn=N*W+U*M+2*Ls(St),Yn=Vs(d,_),Fn=Ls(Et),Vn=N*J+U*w+2*Fn,kn=zs(I,I),Ln=Ls(wt),Dn=Fs(I,x),Xn=Ls(Mt),Qn=j*C+Xn,qn=Fs(I,b),$n=j*M+Ls(Ct),Hn=Fs(I,_),Gn=j*w+Ls(Tt),Rn=Vs(x,x),Un=C*Z+Z*C+2*Ls(Ot),jn=Vs(x,b),Zn=C*W+Z*M+2*Ls(Pt),Wn=Vs(_,_),Jn=Ls(yt),Kn=w*J+J*w+2*Jn,te=Vs(b,b),ne=M*W+W*M+2*Ls(At),ee=Vs(b,_),re=Ls(Bt),oe=M*J+W*w+2*re,ie=Vs(x,_),se=C*J+Z*w+2*Ls(zt),ce=xt*T,ue=Vs(Mn,e),le=Tn*z+Cn*u+2*Ls(ce),fe=Et*O,he=Vs(Yn,r),ae=Vn*Y+Fn*l+2*Ls(fe),pe=yt*P,de=Vs(Wn,o),ge=Kn*F+Jn*f+2*Ls(pe),ve=ce+fe,me=ks(ue,he),_e=le+ae+Ls(ve),be=ve+pe,xe=ks(me,de),Ie=_e+ge+Ls(be),Ne=vt*T,Se=Vs(mn,e),Ee=bn*z+_n*u+2*Ls(Ne),we=Bt*P,Me=Vs(ee,o),Ce=oe*F+re*f+2*Ls(we),Te=Ne+we,Oe=ks(Se,Me),Pe=Ee+Ce+Ls(Te),ye=bt+St,Ae=ks(En,Bn),Be=Ls(ye),ze=wn+zn+Be,Ye=ye*O,Fe=Vs(Ae,r),Ve=ze*Y+Be*l+2*Ls(Ye),ke=2*Te+Ye,Le=ks(Ys(Oe),Fe),De=2*Pe+Ve+Ls(ke),Xe=2*lt+gt,Qe=ks(Ys(en),gn),qe=Ls(Xe),$e=2*rn+vn+Ls(Xe),He=2*zt+At,Ge=ks(Ys(ie),te),Re=Ls(He),Ue=2*se+ne+Ls(He),je=pt+_t,Ze=ks(hn,Nn),We=an+Sn+Ls(je),Je=je+Nt,Ke=ks(Ze,yn),tr=Ls(Je),nr=We+An+tr,er=Xe*T,rr=Vs(Qe,e),or=$e*z+qe*u+2*Ls(er),ir=He*P,sr=Vs(Ge,o),cr=Ue*F+Re*f+2*Ls(ir),ur=er+ir,lr=ks(rr,sr),fr=or+cr+Ls(ur),hr=Je*O,ar=Vs(Ke,r),pr=nr*Y+tr*l+2*Ls(hr),dr=ur+hr,gr=ks(lr,ar),vr=fr+pr+Ls(dr),mr=et+ut,_r=ks(Qt,tn),br=Ls(mr),xr=qt+nn+br,Ir=Tt+Pt,Nr=ks(Hn,jn),Sr=Ls(Ir),Er=Gn+Zn+Sr,wr=st+at,Mr=ks(Zt,ln),Cr=Wt+fn+Ls(wr),Tr=dt+It,Or=ks(pn,On),Pr=dn+Pn+Ls(Tr),yr=wr+Tr,Ar=ks(Mr,Or),Br=Ls(yr),zr=Cr+Pr+Br,Yr=mr*T,Fr=Vs(_r,e),Vr=xr*z+br*u+2*Ls(Yr),kr=Ir*P,Lr=Vs(Nr,o),Dr=Er*F+Sr*f+2*Ls(kr),Xr=2*(Yr+kr),Qr=Ys(ks(Fr,Lr)),qr=2*(Vr+Dr)+Ls(Xr),$r=yr*O,Hr=Vs(Ar,r),Gr=zr*Y+Br*l+2*Ls($r),Rr=X*y,Ur=Vs(d,i),jr=N*V+U*h+2*Ls(Rr),Zr=$*A,Wr=Vs(_,s),Jr=w*k+J*a+2*Ls(Zr),Kr=Rr+Zr,to=ks(Ur,Wr),no=jr+Jr+Ls(Kr),eo=Xr+$r,ro=ks(Qr,Hr),oo=qr+Gr+Ls(eo),io=eo+Kr,so=ks(ro,to),co=oo+no+Ls(io),uo=2*nt+ct,lo=ks(Ys(Dt),Jt),fo=Ls(uo),ho=2*Xt+Kt+fo,ao=2*Ct+Ot,po=ks(Ys(qn),Rn),go=Ls(ao),vo=2*$n+Un+go,mo=it+ht,_o=ks(Ut,cn),bo=jt+un+Ls(mo),xo=mo+mt,Io=ks(_o,xn),No=Ls(xo),So=bo+In+No,Eo=uo*T,wo=Vs(lo,e),Mo=ho*z+fo*u+2*Ls(Eo),Co=ao*P,To=Vs(po,o),Oo=vo*F+go*f+2*Ls(Co),Po=xo*O,yo=Vs(Io,r),Ao=So*Y+No*l+2*Ls(Po),Bo=Eo+Co,zo=ks(wo,To),Yo=Mo+Oo+Ls(Bo),Fo=Bo+Po,Vo=ks(zo,yo),ko=Yo+Ao+Ls(Fo),Lo=D*y,Do=Vs(g,i),Xo=S*V+R*h+2*Ls(Lo),Qo=q*A,qo=Vs(b,s),$o=M*k+W*a+2*Ls(Qo),Ho=Lo+Qo,Go=ks(Do,qo),Ro=Xo+$o+Ls(Ho),Uo=Fo+Ho,jo=ks(Vo,Go),Zo=ko+Ro+Ls(Uo),Wo=tt*T,Jo=Vs(Vt,e),Ko=Lt*z+kt*u+2*Ls(Wo),ti=Mt*P,ni=Vs(Dn,o),ei=Qn*F+Xn*f+2*Ls(ti),ri=ot+ft,oi=ks(Gt,on),ii=Ls(ri),si=Rt+sn+ii,ci=ri*O,ui=Vs(oi,r),li=si*Y+ii*l+2*Ls(ci),fi=2*(Wo+ti),hi=Ys(ks(Jo,ni)),ai=2*(Ko+ei)+Ls(fi),pi=fi+ci,di=ks(hi,ui),gi=ai+li+Ls(pi),vi=L*y,mi=Vs(v,i),_i=E*V+G*h+2*Ls(vi),bi=Q*A,xi=Vs(x,s),Ni=C*k+Z*a+2*Ls(bi),Si=vi+bi,Ei=ks(mi,xi),wi=_i+Ni+Ls(Si),Mi=pi+Si,Ci=ks(di,Ei),Ti=gi+wi+Ls(Mi),Oi=K*T,Pi=Vs(Yt,e),yi=Ft*u+2*Ls(Oi),Ai=rt*O,Bi=Vs($t,r),zi=Ht*l+2*Ls(Ai),Yi=wt*P,Fi=Vs(kn,o),Vi=Ln*f+2*Ls(Yi),ki=m*y,Li=Fs(m,i),Xi=H*h+Ls(ki),Qi=I*A,qi=Fs(I,s),$i=j*a+Ls(Qi),Hi=Oi+Ai,Gi=ks(Pi,Bi),Ri=yi+zi+Ls(Hi),Ui=Hi+Yi,ji=ks(Gi,Fi),Zi=Ri+Vi+Ls(Ui),Wi=ki+Qi,Ji=ks(Li,qi),Ki=Xi+$i+Ls(Wi),ts=Ui+Wi,ns=ks(ji,Ji),es=Zi+Ki+Ls(ts),rs=ts+B,os=ks(ns,c),is=es+p+Ls(rs);return{coeffs:[xe,Le,gr,so,jo,Ci,os],errBound:[Ds*Ie,Ds*De,Ds*vr,Ds*co,Ds*Zo,Ds*Ti,Ds*is]}}],[function(t,n){const{coeffs:{vₓₓₓ:e,vₓₓᵧ:r,vₓᵧᵧ:o,vᵧᵧᵧ:i,vₓₓ:s,vₓᵧ:c,vᵧᵧ:u,vₓ:l,vᵧ:f,v:h},errorBound:{vₓₓₓ_:a,vₓₓᵧ_:p,vₓᵧᵧ_:d,vᵧᵧᵧ_:g,vₓₓ_:v,vₓᵧ_:m,vᵧᵧ_:_,vₓ_:b,vᵧ_:x,v_:I}}=es(t),[[N,[,S]],[E,[,w]]]=Si(n),M=e[1],C=r[1],T=o[1],O=i[1],P=s[1],y=c[1],A=u[1],B=l[1],z=f[1],Y=h[1],F=N[1],V=E[1],k=us(S),L=us(F),D=us(w),X=us(V),Q=S*S,q=S*F,$=S*w,H=S*V,G=F*F,R=F*w,U=F*V,j=w*w,Z=w*V,W=V*V,J=rs(S,S),K=is(S,N),tt=us(q),nt=rs(S,w),et=is(S,E),rt=us(H),ot=ss(N,N),it=2*us(G),st=is(w,N),ct=us(R),ut=ss(N,E),lt=2*us(U),ft=rs(w,w),ht=is(w,E),at=us(Z),pt=ss(E,E),dt=2*us(W),gt=us(Q),vt=us(q),mt=us($),_t=us(H),bt=us(G),xt=us(R),It=us(U),Nt=us(j),St=us(Z),Et=us(W),wt=S*M,Mt=is(S,e),Ct=k*a+us(wt),Tt=3*S,Ot=rs(3,S),Pt=us(Tt),yt=Tt*M,At=ss(Ot,e),Bt=Pt*a+2*us(yt),zt=S*C,Yt=is(S,r),Ft=k*p+us(zt),Vt=w*C,kt=is(w,r),Lt=D*p+us(Vt),Dt=S*T,Xt=is(S,o),Qt=k*d+us(Dt),qt=w*T,$t=is(w,o),Ht=D*d+us(qt),Gt=w*O,Rt=is(w,i),Ut=D*g+us(Gt),jt=3*w,Zt=rs(3,w),Wt=us(jt),Jt=jt*O,Kt=ss(Zt,i),tn=Wt*g+2*us(Jt),nn=F*M,en=ss(N,e),rn=L*a+2*us(nn),on=F*T,sn=ss(N,o),cn=L*d+2*us(on),un=V*C,ln=ss(E,r),fn=X*p+2*us(un),hn=V*O,an=ss(E,i),pn=X*g+2*us(hn),dn=nn+un,gn=cs(en,ln),vn=us(dn),mn=rn+fn+vn,_n=on+hn,bn=cs(sn,an),xn=us(_n),In=cn+pn+xn,Nn=G*dn,Sn=ss(ot,gn),En=it*vn+bt*mn+2*us(Nn),wn=W*_n,Mn=ss(pt,bn),Cn=dt*xn+Et*In+2*us(wn),Tn=Nn+wn,On=cs(Sn,Mn),Pn=En+Cn+us(Tn),yn=yt+Vt,An=cs(At,kt),Bn=Bt+Lt+us(yn),zn=2*(zt+qt),Yn=os(cs(Yt,$t)),Fn=2*(Ft+Ht)+us(zn),Vn=Dt+Jt,kn=cs(Xt,Kt),Ln=Qt+tn+us(Vn),Dn=yn+P,Xn=cs(An,s),Qn=us(Dn),qn=Bn+v+Qn,$n=zn+y,Hn=cs(Yn,c),Gn=us($n),Rn=Fn+m+Gn,Un=Vn+A,jn=cs(kn,u),Zn=us(Un),Wn=Ln+_+Zn,Jn=G*Dn,Kn=ss(ot,Xn),te=it*Qn+bt*qn+2*us(Jn),ne=U*$n,ee=ss(ut,Hn),re=lt*Gn+It*Rn+2*us(ne),oe=W*Un,ie=ss(pt,jn),se=dt*Zn+Et*Wn+2*us(oe),ce=Jn+ne,ue=cs(Kn,ee),le=te+re+us(ce),fe=ce+oe,he=cs(ue,ie),ae=le+se+us(fe),pe=2*(Vt+P),de=os(cs(kt,s)),ge=2*(Lt+v)+us(pe),ve=2*(Dt+A),me=os(cs(Xt,u)),_e=2*(Qt+_)+us(ve),be=yt+pe,xe=cs(At,de),Ie=us(be),Ne=Bt+ge+Ie,Se=Jt+ve,Ee=cs(Kt,me),we=us(Se),Me=tn+_e+we,Ce=zt+y,Te=cs(Yt,c),Oe=us(Ce),Pe=Ft+m+Oe,ye=qt+y,Ae=cs($t,c),Be=us(ye),ze=Ht+m+Be,Ye=q*be,Fe=ss(K,xe),Ve=tt*Ie+vt*Ne+2*us(Ye),ke=Z*Se,Le=ss(ht,Ee),De=at*we+St*Me+2*us(ke),Xe=H*Ce,Qe=ss(et,Te),qe=rt*Oe+_t*Pe+2*us(Xe),$e=R*ye,He=ss(st,Ae),Ge=ct*Be+xt*ze+2*us($e),Re=F*B,Ue=ss(N,l),je=L*b+2*us(Re),Ze=V*z,We=ss(E,f),Je=X*x+2*us(Ze),Ke=Ye+ke,tr=cs(Fe,Le),nr=Ve+De+us(Ke),er=Xe+$e,rr=cs(Qe,He),or=qe+Ge+us(er),ir=Ke+er,sr=cs(tr,rr),cr=nr+or+us(ir),ur=Re+Ze,lr=cs(Ue,We),fr=je+Je+us(ur),hr=ir+ur,ar=cs(sr,lr),pr=cr+fr+us(hr),dr=wt+Vt,gr=cs(Mt,kt),vr=Ct+Lt+us(dr),mr=Gt+Dt,_r=cs(Rt,Xt),br=Ut+Qt+us(mr),xr=dr+P,Ir=cs(gr,s),Nr=vr+v+us(xr),Sr=mr+A,Er=cs(_r,u),wr=br+_+us(Sr),Mr=Q*xr,Cr=ss(J,Ir),Tr=gt*Nr+2*us(Mr),Or=j*Sr,Pr=ss(ft,Er),yr=Nt*wr+2*us(Or),Ar=$*y,Br=ss(nt,c),zr=mt*m+2*us(Ar),Yr=Mr+Or,Fr=cs(Cr,Pr),Vr=Tr+yr+us(Yr),kr=Yr+Ar,Lr=cs(Fr,Br),Dr=Vr+zr+us(kr),Xr=S*B,Qr=is(S,l),qr=k*b+us(Xr),$r=w*z,Hr=is(w,f),Gr=D*x+us($r),Rr=Xr+$r,Ur=cs(Qr,Hr),jr=qr+Gr+us(Rr),Zr=kr+Rr,Wr=cs(Lr,Ur),Jr=Dr+jr+us(Zr),Kr=Zr+Y,to=cs(Wr,h),no=Jr+I+us(Kr);return{coeffs:[On,he,ar,to],errBound:[ls*Pn,ls*ae,ls*pr,ls*no]}},function(t,n){const{coeffs:{vₓₓₓ:e,vₓₓᵧ:r,vₓᵧᵧ:o,vᵧᵧᵧ:i,vₓₓ:s,vₓᵧ:c,vᵧᵧ:u,vₓ:l,vᵧ:f,v:h},errorBound:{vₓₓₓ_:a,vₓₓᵧ_:p,vₓᵧᵧ_:d,vᵧᵧᵧ_:g,vₓₓ_:v,vₓᵧ_:m,vᵧᵧ_:_,vₓ_:b,vᵧ_:x,v_:I}}=es(t),{coeffs:[[N,S,[,E]],[w,M,[,C]]],errorBound:[[T],[O]]}=Ni(n),P=e[1],y=r[1],A=o[1],B=i[1],z=s[1],Y=c[1],F=u[1],V=l[1],k=f[1],L=h[1],D=Cs(P),X=Cs(y),Q=Cs(A),q=Cs(B),$=Cs(z),H=Cs(F),G=Cs(Y),R=Cs(V),U=Cs(k),j=S[1],Z=N[1],W=M[1],J=w[1],K=Cs(E),tt=Cs(j),nt=Cs(Z),et=Cs(C),rt=Cs(W),ot=Cs(J),it=E*E,st=E*j,ct=E*Z,ut=E*C,lt=E*W,ft=E*J,ht=j*j,at=j*Z,pt=j*C,dt=j*W,gt=j*J,vt=Z*W,mt=Z*Z,_t=Z*C,bt=Z*J,xt=C*C,It=C*W,Nt=C*J,St=W*W,Et=W*J,wt=J*J,Mt=Ns(E,E),Ct=Es(E,S),Tt=Cs(st),Ot=Es(E,N),Pt=K*T+Cs(ct),yt=Ns(E,C),At=Es(E,M),Bt=Cs(lt),zt=Es(E,w),Yt=K*O+Cs(ft),Ft=ws(S,S),Vt=2*Cs(ht),kt=ws(S,N),Lt=tt*T+2*Cs(at),Dt=Es(C,S),Xt=Cs(pt),Qt=ws(S,M),qt=2*Cs(dt),$t=ws(S,w),Ht=tt*O+2*Cs(gt),Gt=ws(N,M),Rt=T*rt+2*Cs(vt),Ut=ws(N,N),jt=2*(T*nt+Cs(mt)),Zt=Es(C,N),Wt=et*T+Cs(_t),Jt=ws(N,w),Kt=T*ot+nt*O+2*Cs(bt),tn=Ns(C,C),nn=Es(C,M),en=Cs(It),rn=Es(C,w),on=et*O+Cs(Nt),sn=ws(M,M),cn=2*Cs(St),un=ws(M,w),ln=rt*O+2*Cs(Et),fn=ws(w,w),hn=2*(O*ot+Cs(wt)),an=Cs(it),pn=Cs(st),dn=Cs(ut),gn=Cs(lt),vn=Cs(at),mn=Cs(mt),_n=Cs(bt),bn=Cs(pt),xn=Cs(xt),In=Cs(It),Nn=Cs(Et),Sn=Cs(wt),En=ws(N,e),wn=Z*P,Mn=T*D+nt*a+2*Cs(wn),Cn=ws(N,o),Tn=Z*A,On=T*Q+nt*d+2*Cs(Tn),Pn=ws(w,r),yn=J*y,An=O*X+ot*p+2*Cs(yn),Bn=ws(w,i),zn=J*B,Yn=O*q+ot*g+2*Cs(zn),Fn=wn+yn,Vn=Ms(En,Pn),kn=Cs(Fn),Ln=Mn+An+kn,Dn=Tn+zn,Xn=Ms(Cn,Bn),Qn=Cs(Dn),qn=On+Yn+Qn,$n=mt*Fn,Hn=ws(Ut,Vn),Gn=jt*kn+mn*Ln+2*Cs($n),Rn=wt*Dn,Un=ws(fn,Xn),jn=hn*Qn+Sn*qn+2*Cs(Rn),Zn=$n+Rn,Wn=Ms(Hn,Un),Jn=Gn+jn+Cs(Zn),Kn=ct+ht,te=Ms(Ot,Ft),ne=Cs(Kn),ee=Pt+Vt+ne,re=Nt+St,oe=Ms(rn,sn),ie=Cs(re),se=on+cn+ie,ce=2*ct+ht,ue=Cs(ce),le=Ms(Ss(Ot),Ft),fe=2*Pt+Vt+ue,he=2*Nt+St,ae=Ms(Ss(rn),sn),pe=Cs(he),de=2*on+cn+pe,ge=2*dt+_t,ve=Ms(Ss(Qt),Zt),me=Cs(ge),_e=2*qt+Wt+me,be=2*dt+ft,xe=Ms(Ss(Qt),zt),Ie=Cs(be),Ne=2*qt+Yt+Ie,Se=2*_t+dt,Ee=Ms(Ss(Zt),Qt),we=2*Wt+qt+Cs(Se),Me=6*ct+ht,Ce=6*ct,Te=Es(6,Ot),Oe=6*Pt+Cs(Ce),Pe=Ms(Te,Ft),ye=Oe+Vt+Cs(Ce+ht),Ae=6*Nt+St,Be=6*Nt,ze=Es(6,rn),Ye=6*on+Cs(Be),Fe=Ms(ze,sn),Ve=Ye+cn+Cs(Be+St),ke=gt+vt,Le=Ms($t,Gt),De=Cs(ke),Xe=Ht+Rt+De,Qe=ft+_t,qe=Ms(zt,Zt),$e=Yt+Wt+Cs(Qe),He=2*pt+lt,Ge=Ms(Ss(Dt),At),Re=2*Xt+Bt+Cs(He),Ue=2*lt+pt,je=Ms(Ss(At),Dt),Ze=2*Bt+Xt+Cs(Ue),We=ft+dt,Je=Ms(zt,Qt),Ke=Yt+qt+Cs(We),tr=We+_t,nr=Ms(Je,Zt),er=Cs(tr),rr=Ke+Wt+er,or=3*mt,ir=Es(3,Ut),sr=3*jt+Cs(or),cr=Cs(or),ur=3*wt,lr=Es(3,fn),fr=3*hn+Cs(ur),hr=Cs(ur),ar=or*P,pr=ws(ir,e),dr=sr*D+cr*a+2*Cs(ar),gr=mt*y,vr=ws(Ut,r),mr=jt*X+mn*p+2*Cs(gr),_r=2*bt*y,br=Ss(ws(Jt,r)),xr=2*(Kt*X+_n*p+Cs(_r)),Ir=2*bt*A,Nr=Ss(ws(Jt,o)),Sr=2*(Kt*Q+_n*d+Cs(Ir)),Er=wt*A,wr=ws(fn,o),Mr=hn*Q+Sn*d+2*Cs(Er),Cr=ur*B,Tr=ws(lr,i),Or=fr*q+hr*g+2*Cs(Cr),Pr=ar+_r,yr=Ms(pr,br),Ar=dr+xr+Cs(Pr),Br=gr+Ir,zr=Ms(vr,Nr),Yr=mr+Sr+Cs(Br),Fr=Pr+Er,Vr=Ms(yr,wr),kr=Ar+Mr+Cs(Fr),Lr=Br+Cr,Dr=Ms(zr,Tr),Xr=Yr+Or+Cs(Lr),Qr=j*Fr,qr=ws(S,Vr),$r=tt*kr+Cs(Qr),Hr=W*Lr,Gr=ws(M,Dr),Rr=rt*Xr+Cs(Hr),Ur=Qr+Hr,jr=Ms(qr,Gr),Zr=$r+Rr+Cs(Ur),Wr=J*ce,Jr=ws(w,le),Kr=O*ue+ot*fe+2*Cs(Wr),to=J*be,no=ws(w,xe),eo=O*Ie+ot*Ne+2*Cs(to),ro=Z*ge,oo=ws(N,ve),io=T*me+nt*_e+2*Cs(ro),so=Z*he,co=ws(N,ae),uo=T*pe+nt*de+2*Cs(so),lo=3*Z,fo=Es(3,N),ho=Cs(lo),ao=3*T+ho,po=lo*Kn,go=ws(fo,te),vo=Cs(po),mo=ao*ne+ho*ee+vo,_o=3*J,bo=Es(3,w),xo=Cs(_o),Io=3*O+xo,No=_o*re,So=ws(bo,oe),Eo=Cs(No),wo=Io*ie+xo*se+Eo,Mo=Wr+ro,Co=Ms(Jr,oo),To=Cs(Mo),Oo=Kr+io+To,Po=to+so,yo=Ms(no,co),Ao=Cs(Po),Bo=eo+uo+Ao,zo=po*P,Yo=ws(go,e),Fo=mo*D+vo*a+2*Cs(zo),Vo=No*B,ko=ws(So,i),Lo=wo*q+Eo*g+2*Cs(Vo),Do=Mo*y,Xo=ws(Co,r),Qo=Oo*X+To*p+2*Cs(Do),qo=Po*A,$o=ws(yo,o),Ho=Bo*Q+Ao*d+2*Cs(qo),Go=zo+Vo,Ro=Ms(Yo,ko),Uo=Fo+Lo+Cs(Go),jo=Do+qo,Zo=Ms(Xo,$o),Wo=Qo+Ho+Cs(jo),Jo=mt*z,Ko=ws(Ut,s),ti=jt*$+mn*v+2*Cs(Jo),ni=wt*F,ei=ws(fn,u),ri=hn*H+Sn*_+2*Cs(ni),oi=bt*Y,ii=ws(Jt,c),si=Kt*G+_n*m+2*Cs(oi),ci=Jo+ni,ui=Ms(Ko,ei),li=ti+ri+Cs(ci),fi=Go+jo,hi=Ms(Ro,Zo),ai=Uo+Wo+Cs(fi),pi=ci+oi,di=Ms(ui,ii),gi=li+si+Cs(pi),vi=fi+pi,mi=Ms(hi,di),_i=ai+gi+Cs(vi),bi=j*Me,xi=ws(S,Pe),Ii=tt*ye+2*Cs(bi),Si=2*Ii,Ei=W*Ae,wi=ws(M,Fe),Mi=rt*Ve+2*Cs(Ei),Ci=2*Mi,Ti=2*E*ke,Oi=Es(2*E,Le),Pi=2*K*Xe+Cs(Ti),yi=2*W*Qe,Ai=ws(Ss(M),qe),Bi=2*rt*$e+2*Cs(yi),zi=j*Se,Yi=ws(S,Ee),Fi=tt*we+2*Cs(zi),Vi=j*he,ki=ws(S,ae),Li=tt*de+2*Cs(Vi),Di=Ti+zi,Xi=Ms(Oi,Yi),Qi=Pi+Fi+Cs(Di),qi=Pi+Fi+Qi,$i=yi+Vi,Hi=Ms(Ai,ki),Gi=Bi+Li+Cs($i),Ri=Bi+Li+Gi,Ui=Et*F,ji=ws(un,u),Zi=ln*H+Nn*_+2*Cs(Ui),Wi=at*z,Ji=ws(kt,s),Ki=Lt*$+vn*v+2*Cs(Wi),ts=ke*Y,ns=ws(Le,c),rs=Xe*G+De*m+2*Cs(ts),os=Ui+Wi,is=Ms(ji,Ji),ss=Zi+Ki+Cs(os),cs=bi*P,us=ws(xi,e),ls=Si*D+Ii*a+2*Cs(cs),fs=Di*y,hs=ws(Xi,r),as=qi*X+Qi*p+2*Cs(fs),ps=Ei*B,ds=ws(wi,i),gs=Ci*q+Mi*g+2*Cs(ps),vs=$i*A,ms=ws(Hi,o),_s=Ri*Q+Gi*d+2*Cs(vs),bs=cs+ps,xs=Ms(us,ds),Is=ls+gs+Cs(bs),Os=fs+vs,Ps=Ms(hs,ms),ys=as+_s+Cs(Os),As=bs+Os,Bs=Ms(xs,Ps),zs=Is+ys+Cs(As),Ys=2*os+ts,Fs=Ms(Ss(is),ns),Vs=2*ss+rs+Cs(Ys),ks=As+Ys,Ls=Ms(Bs,Fs),Ds=zs+Vs+Cs(ks),Xs=3*E,Qs=Cs(Xs),qs=Ns(3,E),$s=Xs*Kn,Hs=ws(qs,te),Gs=Cs($s),Rs=Qs*ee+2*Cs($s),Us=3*C,js=Cs(Us),Zs=Ns(3,C),Ws=Us*re,Js=ws(Zs,oe),Ks=Cs(Ws),tc=js*se+2*Cs(Ws),nc=E*be,ec=Es(E,xe),rc=K*Ne+Cs(nc),oc=E*he,ic=Es(E,ae),sc=K*de+Cs(oc),cc=C*ce,uc=Es(C,le),lc=et*fe+Cs(cc),fc=C*ge,hc=Es(C,ve),ac=et*_e+Cs(fc),pc=nc+cc,dc=Ms(ec,uc),gc=Cs(pc),vc=rc+lc+gc,mc=oc+fc,_c=Ms(ic,hc),bc=Cs(mc),xc=sc+ac+bc,Ic=$s*P,Nc=ws(Hs,e),Sc=Rs*D+Gs*a+2*Cs(Ic),Ec=Ws*B,wc=ws(Js,i),Mc=tc*q+Ks*g+2*Cs(Ec),Cc=pc*y,Tc=ws(dc,r),Oc=vc*X+gc*p+2*Cs(Cc),Pc=mc*A,yc=ws(_c,o),Ac=xc*Q+bc*d+2*Cs(Pc),Bc=ce*z,zc=ws(le,s),Yc=fe*$+ue*v+2*Cs(Bc),Fc=he*F,Vc=ws(ae,u),kc=de*H+pe*_+2*Cs(Fc),Lc=tr*Y,Dc=ws(nr,c),Xc=rr*G+er*m+2*Cs(Lc),Qc=Z*V,qc=ws(N,l),$c=T*R+nt*b+2*Cs(Qc),Hc=J*k,Gc=ws(w,f),Rc=O*U+ot*x+2*Cs(Hc),Uc=Ic+Ec,jc=Ms(Nc,wc),Zc=Sc+Mc+Cs(Uc),Wc=Cc+Pc,Jc=Ms(Tc,yc),Kc=Oc+Ac+Cs(Wc),tu=Bc+Fc,nu=Ms(zc,Vc),eu=Yc+kc+Cs(tu),ru=Uc+Wc,ou=Ms(jc,Jc),iu=Zc+Kc+Cs(ru),su=tu+Lc,cu=Ms(nu,Dc),uu=eu+Xc+Cs(su),lu=Qc+Hc,fu=Ms(qc,Gc),hu=$c+Rc+Cs(lu),au=ru+su,pu=Ms(ou,cu),du=iu+uu+Cs(au),gu=au+lu,vu=Ms(pu,fu),mu=du+hu+Cs(gu),_u=Xs*st,bu=ws(qs,Ct),xu=Cs(_u),Iu=Qs*Tt+2*xu,Nu=Us*It,Su=ws(Zs,nn),Eu=Cs(Nu),wu=js*en+2*Eu,Mu=E*He,Cu=Es(E,Ge),Tu=Cs(Mu),Ou=K*Re+Cs(Mu),Pu=C*Ue,yu=Es(C,je),Au=Cs(Pu),Bu=et*Ze+Cs(Pu),zu=st*z,Yu=ws(Ct,s),Fu=Tt*$+pn*v+2*Cs(zu),Vu=It*F,ku=ws(nn,u),Lu=en*H+In*_+2*Cs(Vu),Du=lt*Y,Xu=ws(At,c),Qu=Bt*G+gn*m+2*Cs(Du),qu=pt*Y,$u=ws(Dt,c),Hu=Xt*G+bn*m+2*Cs(qu),Gu=2*(zu+Vu),Ru=Ss(Ms(Yu,ku)),Uu=2*(Fu+Lu)+Cs(Gu),ju=Du+qu,Zu=Ms(Xu,$u),Wu=Qu+Hu+Cs(ju),Ju=j*V,Ku=ws(S,l),tl=tt*b+2*Cs(Ju),nl=W*k,el=ws(M,f),rl=rt*x+2*Cs(nl),ol=_u*P,il=ws(bu,e),sl=Iu*D+xu*a+2*Cs(ol),cl=Nu*B,ul=ws(Su,i),ll=wu*q+Eu*g+2*Cs(cl),fl=Mu*y,hl=ws(Cu,r),al=Ou*X+Tu*p+2*Cs(fl),pl=Pu*A,dl=ws(yu,o),gl=Bu*Q+Au*d+2*Cs(pl),vl=ol+cl,ml=Ms(il,ul),_l=sl+ll+Cs(vl),bl=fl+pl,xl=Ms(hl,dl),Il=al+gl+Cs(bl),Nl=vl+bl,Sl=Ms(ml,xl),El=_l+Il+Cs(Nl),wl=Gu+ju,Ml=Ms(Ru,Zu),Cl=Uu+Wu+Cs(wl),Tl=Ju+nl,Ol=Ms(Ku,el),Pl=tl+rl+Cs(Tl),yl=Nl+wl,Al=Ms(Sl,Ml),Bl=El+Cl+Cs(yl),zl=yl+Tl,Yl=Ms(Al,Ol),Fl=Bl+Pl+Cs(zl),Vl=E*P,kl=Es(E,e),Ll=K*a+Cs(Vl),Dl=E*A,Xl=Es(E,o),Ql=K*d+Cs(Dl),ql=C*y,$l=Es(C,r),Hl=et*p+Cs(ql),Gl=C*B,Rl=Es(C,i),Ul=et*g+Cs(Gl),jl=Vl+ql,Zl=Ms(kl,$l),Wl=Ll+Hl+Cs(jl),Jl=Dl+Gl,Kl=Ms(Xl,Rl),tf=Ql+Ul+Cs(Jl),nf=jl+z,ef=Ms(Zl,s),rf=Wl+v+Cs(nf),of=Jl+F,sf=Ms(Kl,u),cf=tf+_+Cs(of),uf=it*nf,lf=ws(Mt,ef),ff=an*rf+2*Cs(uf),hf=xt*of,af=ws(tn,sf),pf=xn*cf+2*Cs(hf),df=ut*Y,gf=ws(yt,c),vf=dn*m+2*Cs(df),mf=E*V,_f=Es(E,l),bf=K*b+Cs(mf),xf=C*k,If=Es(C,f),Nf=et*x+Cs(xf),Sf=uf+hf,Ef=Ms(lf,af),wf=ff+pf+Cs(Sf),Mf=Sf+df,Cf=Ms(Ef,gf),Tf=wf+vf+Cs(Mf),Of=mf+xf,Pf=Ms(_f,If),yf=bf+Nf+Cs(Of),Af=Mf+Of,Bf=Ms(Cf,Pf),zf=Tf+yf+Cs(Af),Yf=Af+L,Ff=Ms(Bf,h),Vf=zf+I+Cs(Yf);return{coeffs:[Wn,jr,mi,Ls,vu,Yl,Ff],errBound:[Ts*Jn,Ts*Zr,Ts*_i,Ts*Ds,Ts*mu,Ts*Fl,Ts*Vf]}},function(t,n){const{coeffs:{vₓₓₓ:e,vₓₓᵧ:r,vₓᵧᵧ:o,vᵧᵧᵧ:i,vₓₓ:s,vₓᵧ:c,vᵧᵧ:u,vₓ:l,vᵧ:f,v:h},errorBound:{vₓₓₓ_:a,vₓₓᵧ_:p,vₓᵧᵧ_:d,vᵧᵧᵧ_:g,vₓₓ_:v,vₓᵧ_:m,vᵧᵧ_:_,vₓ_:b,vᵧ_:x,v_:I}}=es(t),{coeffs:[[N,S,E,[,w]],[M,C,T,[,O]]],errorBound:[[P,y,A],[B,z,Y]]}=Ii(n),F=e[1],V=r[1],k=o[1],L=i[1],D=s[1],X=c[1],Q=u[1],q=l[1],$=f[1],H=h[1],G=Gs(F),R=Gs(V),U=Gs(k),j=Gs(L),Z=Gs(D),W=Gs(X),J=Gs(Q),K=Gs(q),tt=Gs($),nt=(Gs(H),E[1]),et=S[1],rt=N[1],ot=T[1],it=C[1],st=M[1],ct=Gs(w),ut=Gs(nt),lt=Gs(et),ft=Gs(rt),ht=Gs(O),at=Gs(ot),pt=Gs(it),dt=Gs(st),gt=w*w,vt=w*nt,mt=w*et,_t=w*rt,bt=w*O,xt=w*ot,It=w*it,Nt=w*st,St=nt*nt,Et=nt*et,wt=nt*rt,Mt=nt*O,Ct=nt*ot,Tt=nt*it,Ot=nt*st,Pt=et*ot,yt=et*et,At=et*rt,Bt=et*O,zt=et*it,Yt=et*st,Ft=rt*rt,Vt=rt*O,kt=rt*ot,Lt=rt*it,Dt=rt*st,Xt=O*O,Qt=O*ot,qt=O*it,$t=O*st,Ht=ot*ot,Gt=ot*it,Rt=st*st,Ut=it*it,jt=it*st,Zt=ot*st,Wt=Xs(w,w),Jt=qs(w,E),Kt=ct*A+Gs(vt),tn=qs(w,S),nn=ct*y+Gs(mt),en=qs(w,N),rn=ct*P+Gs(_t),on=Xs(w,O),sn=qs(w,T),cn=ct*Y+Gs(xt),un=qs(w,C),ln=ct*z+Gs(It),fn=qs(w,M),hn=ct*B+Gs(Nt),an=$s(E,E),pn=Gs(St),dn=2*(A*ut+pn),gn=$s(E,S),vn=A*lt+ut*y+2*Gs(Et),mn=$s(E,N),_n=A*ft+ut*P+2*Gs(wt),bn=qs(O,E),xn=ht*A+Gs(Mt),In=$s(E,T),Nn=A*at+ut*Y+2*Gs(Ct),Sn=$s(E,C),En=A*pt+ut*z+2*Gs(Tt),wn=$s(E,M),Mn=A*dt+ut*B+2*Gs(Ot),Cn=$s(S,T),Tn=y*at+lt*Y+2*Gs(Pt),On=$s(S,S),Pn=Gs(yt),yn=2*(y*lt+Pn),An=$s(S,N),Bn=y*ft+lt*P+2*Gs(At),zn=qs(O,S),Yn=ht*y+Gs(Bt),Fn=$s(S,C),Vn=y*pt+lt*z+2*Gs(zt),kn=$s(S,M),Ln=y*dt+lt*B+2*Gs(Yt),Dn=$s(N,N),Xn=2*(P*ft+Gs(Ft)),Qn=qs(O,N),qn=ht*P+Gs(Vt),$n=$s(N,T),Hn=P*at+ft*Y+2*Gs(kt),Gn=$s(N,C),Rn=Gs(Lt),Un=P*pt+ft*z+2*Rn,jn=$s(N,M),Zn=P*dt+ft*B+2*Gs(Dt),Wn=Xs(O,O),Jn=qs(O,T),Kn=ht*Y+Gs(Qt),te=qs(O,C),ne=ht*z+Gs(qt),ee=qs(O,M),re=ht*B+Gs($t),oe=$s(T,T),ie=Gs(Ht),se=2*(Y*at+ie),ce=$s(T,C),ue=Y*pt+at*z+2*Gs(Gt),le=$s(M,M),fe=2*(B*dt+Gs(Rt)),he=$s(C,C),ae=Gs(Ut),pe=2*(z*pt+ae),de=$s(C,M),ge=z*dt+pt*B+2*Gs(jt),ve=$s(T,M),me=Gs(Zt),_e=Y*dt+at*B+2*me,be=Gs(gt),xe=Gs(vt),Ie=Gs(At),Ne=Gs(Ft),Se=Gs(Dt),Ee=Gs(bt),we=Gs(Xt),Me=Gs(Qt),Ce=Gs(jt),Te=Gs(Rt),Oe=rt*Ft,Pe=$s(N,Dn),ye=ft*Ne,Ae=P*Ne+ft*Xn+2*ye,Be=rt*Rt,ze=$s(N,le),Ye=ft*Te,Fe=P*Te+ft*fe+2*Ye,Ve=st*Ft,ke=$s(M,Dn),Le=dt*Ne,De=B*Ne+dt*Xn+2*Le,Xe=st*Rt,Qe=$s(M,le),qe=dt*Te,$e=B*Te+dt*fe+2*qe,He=Oe*F,Ge=$s(Pe,e),Re=Ae*G+ye*a+2*Gs(He),Ue=Be*k,je=$s(ze,o),Ze=Fe*U+Ye*d+2*Gs(Ue),We=Ve*V,Je=$s(ke,r),Ke=De*R+Le*p+2*Gs(We),tr=Xe*L,nr=$s(Qe,i),er=$e*j+qe*g+2*Gs(tr),rr=He+Ue,or=Hs(Ge,je),ir=Re+Ze+Gs(rr),sr=We+tr,cr=Hs(Je,nr),ur=Ke+er+Gs(sr),lr=rr+sr,fr=Hs(or,cr),hr=ir+ur+Gs(lr),ar=2*Yt+Lt,pr=Gs(ar),dr=Hs(Qs(kn),Gn),gr=2*Ln+Un+pr,vr=2*Lt+Yt,mr=Gs(vr),_r=Hs(Qs(Gn),kn),br=2*Un+Ln+Gs(vr),xr=rt*ar,Ir=Gs(xr),Nr=$s(N,dr),Sr=P*pr+ft*gr+2*Ir,Er=st*vr,wr=Gs(Er),Mr=$s(M,_r),Cr=B*mr+dt*br+2*wr,Tr=et*Ft,Or=Gs(Tr),Pr=$s(S,Dn),yr=y*Ne+lt*Xn+2*Or,Ar=it*Rt,Br=Gs(Ar),zr=$s(C,le),Yr=z*Te+pt*fe+2*Br,Fr=F*Tr,Vr=$s(e,Pr),kr=yr*G+G*yr+2*Gs(Fr),Lr=L*Ar,Dr=$s(i,zr),Xr=Yr*j+j*Yr+2*Gs(Lr),Qr=V*xr,qr=$s(r,Nr),$r=Sr*R+R*Sr+2*Gs(Qr),Hr=k*Er,Gr=$s(o,Mr),Rr=Cr*U+U*Cr+2*Gs(Hr),Ur=Qr+Hr,jr=Hs(qr,Gr),Zr=$r+Rr+Gs(Ur),Wr=3*(Fr+Lr),Jr=qs(3,Hs(Vr,Dr)),Kr=3*(kr+Xr)+2*Gs(Wr),to=Ur+Wr,no=Hs(jr,Jr),eo=Zr+Kr+Gs(to),ro=nt*Dt,oo=$s(E,jn),io=A*Se+ut*Zn+2*Gs(ro),so=ot*Ft,co=$s(T,Dn),uo=Y*Ne+at*Xn+2*Gs(so),lo=et*jt,fo=$s(S,de),ho=y*Ce+lt*ge+2*Gs(lo),ao=nt*Rt,po=$s(E,le),go=A*Te+ut*fe+2*Gs(ao),vo=et*Lt,mo=$s(S,Gn),_o=y*Rn+lt*Un+2*Gs(vo),bo=st*yt,xo=$s(M,On),Io=B*Pn+dt*yn+2*Gs(bo),No=rt*Zt,So=$s(N,ve),Eo=P*me+ft*_e+2*Gs(No),wo=it*Lt,Mo=$s(C,Gn),Co=z*Rn+pt*Un+2*Gs(wo),To=ro+vo,Oo=Hs(oo,mo),Po=io+_o+Gs(To),yo=so+bo,Ao=Hs(co,xo),Bo=uo+Io+Gs(yo),zo=lo+No,Yo=Hs(fo,So),Fo=ho+Eo+Gs(zo),Vo=ao+wo,ko=Hs(po,Mo),Lo=go+Co+Gs(Vo),Do=wt+yt,Xo=Hs(mn,On),Qo=Gs(Do),qo=_n+yn+Qo,$o=Zt+Ut,Ho=Gs($o),Go=Hs(ve,he),Ro=_e+pe+Ho,Uo=2*To+yo,jo=Hs(Qs(Oo),Ao),Zo=Gs(Uo),Wo=2*Po+Bo+Zo,Jo=2*zo+Vo,Ko=Hs(Qs(Yo),ko),ti=Gs(Jo),ni=2*Fo+Lo+ti,ei=V*Uo,ri=$s(r,jo),oi=p*Zo+R*Wo+2*Gs(ei),ii=k*Jo,si=$s(o,Ko),ci=d*ti+U*ni+2*Gs(ii),ui=rt*Do,li=$s(N,Xo),fi=Gs(ui),hi=P*Qo+ft*qo+2*fi,ai=st*$o,pi=$s(M,Go),di=Gs(ai),gi=B*Ho+dt*Ro+2*di,vi=F*ui,mi=$s(e,li),_i=a*fi+G*hi+2*Gs(vi),bi=L*ai,xi=$s(i,pi),Ni=g*di+j*gi+2*Gs(bi),Si=ei+ii,Ei=Hs(ri,si),wi=oi+ci+Gs(Si),Mi=3*(vi+bi),Ci=qs(3,Hs(mi,xi)),Ti=3*(_i+Ni)+2*Gs(Mi),Oi=Si+Mi,Pi=Hs(Ei,Ci),yi=wi+Ti+Gs(Oi),Ai=Yt+Lt,Bi=Hs(kn,Gn),zi=Gs(Ai),Yi=Ln+Un+zi,Fi=it*yt,Vi=$s(C,On),ki=z*Pn+pt*yn+2*Gs(Fi),Li=2*nt*Ai,Di=Qs($s(E,Bi)),Xi=2*(A*zi+ut*Yi+2*Gs(Li)),Qi=Fi+Li,qi=Hs(Vi,Di),$i=ki+Xi+Gs(Qi),Hi=2*(Nt+Pt),Gi=Qs(Hs(fn,Cn)),Ri=2*(hn+Tn)+Gs(Hi),Ui=Hi+Vt,ji=Gs(Ui),Zi=Hs(Gi,Qn),Wi=Ri+qn+ji,Ji=rt*Ui,Ki=$s(N,Zi),ts=P*ji+ft*Wi+2*Gs(Ji),ns=Qi+Ji,rs=Hs(qi,Ki),os=Gs(ns),is=$i+ts+os,ss=et*Ut,cs=$s(S,he),us=y*ae+lt*pe+2*Gs(ss),ls=2*ot*Ai,fs=Qs($s(T,Bi)),hs=2*(Y*zi+at*Yi+Gs(ls)),as=ss+ls,ps=Hs(cs,fs),ds=us+hs+Gs(as),gs=2*(Tt+Vt),vs=Qs(Hs(Sn,Qn)),ms=2*(En+qn)+Gs(gs),_s=gs+Nt,bs=Hs(vs,fn),xs=Gs(_s),Is=ms+hn+xs,Ns=st*_s,Ss=$s(M,bs),Es=B*xs+dt*Is+2*Gs(Ns),ws=as+Ns,Ms=Hs(ps,Ss),Cs=Gs(ws),Ts=ds+Es+Cs,Os=et*yt,Ps=$s(S,On),ys=y*Pn+lt*yn+2*Gs(Os),As=2*Et+_t,Bs=Hs(Qs(gn),en),zs=Gs(As),Ys=2*vn+rn+zs,Fs=3*rt,Vs=qs(3,N),ks=Gs(Fs),Ls=3*P+ks,Ds=Fs*As,Us=$s(Vs,Bs),js=Ls*zs+ks*Ys+2*Gs(Ds),Zs=Os+Ds,Ws=Hs(Ps,Us),Js=Gs(Zs),Ks=ys+js+Js,tc=it*Ut,nc=$s(C,he),ec=z*ae+pt*pe+2*Gs(tc),rc=2*Gt+$t,oc=Hs(Qs(ce),ee),ic=Gs(rc),sc=2*ue+re+ic,cc=3*st,uc=qs(3,M),lc=Gs(cc),fc=3*B+lc,hc=cc*rc,ac=$s(uc,oc),pc=fc*ic+lc*sc+2*Gs(hc),dc=tc+hc,gc=Hs(nc,ac),vc=Gs(dc),mc=ec+pc+vc,_c=V*ns,bc=$s(r,rs),xc=p*os+R*is+2*Gs(_c),Ic=k*ws,Nc=$s(o,Ms),Sc=d*Cs+U*Ts+2*Gs(Ic),Ec=_c+Ic,wc=Hs(bc,Nc),Mc=xc+Sc+Gs(Ec),Cc=F*Zs,Tc=$s(e,Ws),Oc=a*Js+G*Ks+2*Gs(Cc),Pc=L*dc,yc=$s(i,gc),Ac=g*vc+j*mc+2*Gs(Pc),Bc=Cc+Pc,zc=Hs(Tc,yc),Yc=Oc+Ac+Gs(Bc),Fc=D*Ft,Vc=$s(Dn,s),kc=Xn*Z+Ne*v+2*Gs(Fc),Lc=Q*Rt,Dc=$s(le,u),Xc=fe*J+Te*_+2*Gs(Lc),Qc=Fc+Lc,qc=Hs(Vc,Dc),$c=kc+Xc+Gs(Qc),Hc=X*Dt,Gc=$s(jn,c),Rc=Zn*W+Se*m+2*Gs(Hc),Uc=Ec+Bc,jc=Hs(wc,zc),Zc=Mc+Yc+Gs(Uc),Wc=Qc+Hc,Jc=Hs(qc,Gc),Kc=$c+Rc+Gs(Wc),tu=Uc+Wc,nu=Hs(jc,Jc),eu=Zc+Kc+Gs(tu),ru=zt+kt,ou=Hs(Fn,$n),iu=Gs(ru),su=Vn+Hn+iu,cu=Ot+zt,uu=Hs(wn,Fn),lu=Gs(cu),fu=Mn+Vn+lu,hu=w*Ai,au=qs(w,Bi),pu=ct*Yi+Gs(hu),du=O*Ai,gu=qs(O,Bi),vu=ht*Yi+Gs(du),mu=nt*ru,_u=$s(E,ou),bu=A*iu+ut*su+2*Gs(mu),xu=ot*cu,Iu=$s(T,uu),Nu=Y*lu+at*fu+2*Gs(xu),Su=2*Vt+Pt,Eu=Hs(Qs(Qn),Cn),wu=Gs(Su),Mu=2*qn+Tn+wu,Cu=2*Nt+Tt,Tu=Hs(Qs(fn),Sn),Ou=Gs(Cu),Pu=2*hn+En+Ou,yu=st*St,Au=$s(M,an),Bu=B*pn+dt*dn+2*Gs(yu),zu=rt*Ht,Yu=$s(N,oe),Fu=P*ie+ft*se+2*Gs(zu),Vu=et*Su,ku=$s(S,Eu),Lu=y*wu+lt*Mu+2*Gs(Vu),Du=it*Cu,Xu=$s(C,Tu),Qu=z*Ou+pt*Pu+2*Gs(Du),qu=2*(hu+mu),$u=Qs(Hs(au,_u)),Hu=2*(pu+bu)+Gs(qu),Gu=2*(du+xu),Ru=Qs(Hs(gu,Iu)),Uu=2*(vu+Nu)+Gs(Gu),ju=2*w*At,Zu=Qs(qs(w,An)),Wu=2*ct*Bn+Gs(ju),Ju=2*O*jt,Ku=Qs(qs(O,de)),tl=2*ht*ge+Gs(Ju),nl=nt*Do,el=$s(E,Xo),rl=A*Qo+ut*qo+2*Gs(nl),ol=ot*$o,il=$s(T,Go),sl=Y*Ho+at*Ro+2*Gs(ol),cl=D*At,ul=$s(An,s),ll=Bn*Z+Ie*v+2*Gs(cl),fl=Q*jt,hl=$s(de,u),al=ge*J+Ce*_+2*Gs(fl),pl=qu+yu,dl=Hs($u,Au),gl=Gs(pl),vl=Hu+Bu+gl,ml=Gu+zu,_l=Hs(Ru,Yu),bl=Gs(ml),xl=Uu+Fu+bl,Il=pl+Vu,Nl=Hs(dl,ku),Sl=Gs(Il),El=vl+Lu+Sl,wl=ml+Du,Ml=Hs(_l,Xu),Cl=Gs(wl),Tl=xl+Qu+Cl,Ol=ju+nl,Pl=Hs(Zu,el),yl=Gs(Ol),Al=Wu+rl+yl,Bl=Ju+ol,zl=Hs(Ku,il),Yl=Gs(Bl),Fl=tl+sl+Yl,Vl=2*(cl+fl),kl=Qs(Hs(ul,hl)),Ll=2*(ll+al)+Gs(Vl),Dl=V*Il,Xl=$s(r,Nl),Ql=p*Sl+R*El+2*Gs(Dl),ql=k*wl,$l=$s(o,Ml),Hl=d*Cl+U*Tl+2*Gs(ql),Gl=F*Ol,Rl=$s(e,Pl),Ul=a*yl+G*Al+2*Gs(Gl),jl=L*Bl,Zl=$s(i,zl),Wl=g*Yl+j*Fl+2*Gs(jl),Jl=Dl+ql,Kl=Hs(Xl,$l),tf=Ql+Hl+Gs(Jl),nf=3*(Gl+jl),ef=qs(3,Hs(Rl,Zl)),rf=3*(Ul+Wl)+2*Gs(nf),of=X*Ai,sf=$s(c,Bi),cf=m*zi+W*Yi+2*Gs(of),uf=Jl+nf,lf=Hs(Kl,ef),ff=tf+rf+Gs(uf),hf=of+Vl,af=Hs(sf,kl),pf=cf+Ll+Gs(hf),df=uf+hf,gf=Hs(lf,af),vf=ff+pf+Gs(df),mf=Ot+ru,_f=Hs(wn,ou),bf=Gs(mf),xf=Mn+su+bf,If=2*wt+yt,Nf=Hs(Qs(mn),On),Sf=Gs(If),Ef=2*_n+yn+Sf,wf=2*Zt+Ut,Mf=Hs(Qs(ve),he),Cf=Gs(wf),Tf=2*_e+pe+Cf,Of=2*w*mf,Pf=qs(2*w,_f),yf=2*ct*xf+Gs(Of),Af=2*O*mf,Bf=qs(2*O,_f),zf=2*ht*xf+Gs(Af),Yf=Tt+2*Pt,Ff=Hs(Sn,Qs(Cn)),Vf=Gs(Yf),kf=En+2*Tn+Vf,Lf=Pt+2*Tt,Df=Hs(Cn,Qs(Sn)),Xf=Gs(Lf),Qf=Tn+2*En+Xf,qf=O*If,$f=qs(O,Nf),Hf=ht*Ef+Gs(qf),Gf=w*wf,Rf=qs(w,Mf),Uf=ct*Tf+Gs(Gf),jf=nt*Yf,Zf=$s(E,Ff),Wf=A*Vf+ut*kf+2*Gs(jf),Jf=ot*Lf,Kf=$s(T,Df),th=Y*Xf+at*Qf+2*Gs(Jf),nh=w*If,eh=qs(w,Nf),rh=ct*Ef+Gs(nh),oh=O*wf,ih=qs(O,Mf),sh=ht*Tf+Gs(oh),ch=et*St,uh=$s(S,an),lh=y*pn+lt*dn+2*Gs(ch),fh=it*Ht,hh=$s(C,oe),ah=z*ie+pt*se+2*Gs(fh),ph=Of+qf,dh=Hs(Pf,$f),gh=yf+Hf+Gs(ph),vh=Af+Gf,mh=Hs(Bf,Rf),_h=zf+Uf+Gs(vh),bh=ph+jf,xh=Hs(dh,Zf),Ih=Gs(bh),Nh=gh+Wf+Ih,Sh=vh+Jf,Eh=Hs(mh,Kf),wh=Gs(Sh),Mh=_h+th+wh,Ch=nh+ch,Th=Hs(eh,uh),Oh=Gs(Ch),Ph=rh+lh+Oh,yh=oh+fh,Ah=Hs(ih,hh),Bh=Gs(yh),zh=sh+ah+Bh,Yh=V*bh,Fh=$s(r,xh),Vh=p*Ih+R*Nh+2*Gs(Yh),kh=k*Sh,Lh=$s(o,Eh),Dh=d*wh+U*Mh+2*Gs(kh),Xh=F*Ch,Qh=$s(e,Th),qh=a*Oh+G*Ph+2*Gs(Xh),$h=L*yh,Hh=$s(i,Ah),Gh=g*Bh+j*zh+2*Gs($h),Rh=Xh+$h,Uh=Gs(Rh),jh=Hs(Qh,Hh),Zh=qh+Gh+Uh,Wh=Yh+kh,Jh=Hs(Fh,Lh),Kh=Vh+Dh+Gs(Wh),ta=Wh+3*Rh,na=Hs(Jh,qs(3,jh)),ea=Kh+3*(Zh+Uh)+Gs(ta),ra=X*mf,oa=$s(c,_f),ia=m*bf+W*xf+2*Gs(ra),sa=D*If,ca=$s(s,Nf),ua=v*Sf+Z*Ef+2*Gs(sa),la=ra+sa,fa=Hs(oa,ca),ha=ia+ua+Gs(la),aa=Q*wf,pa=$s(u,Mf),da=_*Cf+J*Tf+2*Gs(aa),ga=la+aa,va=Hs(fa,pa),ma=ha+da+Gs(ga),_a=ta+ga,ba=Hs(na,va),xa=ea+ma+Gs(_a),Ia=Tt+Pt,Na=Hs(Sn,Cn),Sa=En+Tn+Gs(Ia),Ea=Vt+Nt,wa=Hs(Qn,fn),Ma=qn+hn+Gs(Ea),Ca=Et+_t,Ta=Hs(gn,en),Oa=vn+rn+Gs(Ca),Pa=Gs(Ca),ya=Gt+$t,Aa=Hs(ce,ee),Ba=ue+re+Gs(ya),za=Gs(ya),Ya=2*Ia+Vt,Fa=Hs(Qs(Na),Qn),Va=2*Sa+qn+Gs(Ya),ka=2*Ia+Nt,La=Hs(Qs(Na),fn),Da=2*Sa+hn+Gs(ka),Xa=2*Bt+Ct,Qa=Hs(Qs(zn),In),qa=Gs(Xa),$a=2*Yn+Nn+qa,Ha=2*It+Ct,Ga=Hs(Qs(un),In),Ra=Gs(Ha),Ua=2*ln+Nn+Ra,ja=Ca+Et,Za=Hs(Ta,gn),Wa=Oa+vn+Gs(ja),Ja=ya+Gt,Ka=Hs(Aa,ce),tp=Ba+ue+Gs(Ja),np=3*w,ep=Xs(3,w),rp=np*ja,op=$s(ep,Za),ip=Gs(np)*Wa+2*Gs(rp),sp=3*O,cp=Xs(3,O),up=sp*Ja,lp=$s(cp,Ka),fp=Gs(sp)*tp+2*Gs(up),hp=nt*St,ap=$s(E,an),pp=A*pn+ut*dn+2*Gs(hp),dp=ot*Ht,gp=$s(T,oe),vp=Y*ie+at*se+2*Gs(dp),mp=D*Ca,_p=$s(s,Ta),bp=v*Pa+Z*Oa+Gs(mp),xp=Q*ya,Ip=$s(u,Aa),Np=_*za+J*Ba+Gs(xp),Sp=Ya+Ea,Ep=Hs(Fa,wa),wp=Va+Ma+Gs(Sp),Mp=ka+Ea,Cp=Hs(La,wa),Tp=Da+Ma+Gs(Mp),Op=w*Sp,Pp=qs(w,Ep),yp=ct*wp+Gs(Op),Ap=O*Mp,Bp=qs(O,Cp),zp=ht*Tp+Gs(Ap),Yp=nt*Xa,Fp=$s(E,Qa),Vp=A*qa+ut*$a+2*Gs(Yp),kp=ot*Ha,Lp=$s(T,Ga),Dp=Y*Ra+at*Ua+2*Gs(kp),Xp=rt*q,Qp=$s(N,l),qp=P*K+ft*b+2*Gs(Xp),$p=st*$,Hp=$s(M,f),Gp=B*tt+dt*x+2*Gs($p),Rp=Op+Yp,Up=Hs(Pp,Fp),jp=Gs(Rp),Zp=yp+Vp+jp,Wp=Ap+kp,Jp=Hs(Bp,Lp),Kp=Gs(Wp),td=zp+Dp+Kp,nd=rp+hp,ed=Hs(op,ap),rd=Gs(nd),od=ip+pp+rd,id=up+dp,sd=Hs(lp,gp),cd=Gs(id),ud=fp+vp+cd,ld=Ea+Ia,fd=Hs(wa,Na),hd=Gs(ld),ad=Ma+Sa+hd,pd=2*(mp+xp),dd=Qs(Hs(_p,Ip)),gd=2*(bp+Np)+Gs(pd),vd=V*Rp,md=$s(r,Up),_d=p*jp+R*Zp+2*Gs(vd),bd=k*Wp,xd=$s(o,Jp),Id=d*Kp+U*td+2*Gs(bd),Nd=F*nd,Sd=$s(e,ed),Ed=a*rd+G*od+2*Gs(Nd),wd=L*id,Md=$s(i,sd),Cd=g*cd+j*ud+2*Gs(wd),Td=X*ld,Od=$s(c,fd),Pd=m*hd+W*ad+2*Gs(Td),yd=vd+bd,Ad=Hs(md,xd),Bd=_d+Id+Gs(yd),zd=Nd+wd,Yd=Hs(Sd,Md),Fd=Ed+Cd+Gs(zd),Vd=Td+pd,kd=Hs(Od,dd),Ld=Pd+gd+Gs(Vd),Dd=Xp+$p,Xd=Hs(Qp,Hp),Qd=qp+Gp+Gs(Dd),qd=yd+zd,$d=Hs(Ad,Yd),Hd=Bd+Fd+Gs(qd),Gd=Vd+Dd,Rd=Hs(kd,Xd),Ud=Ld+Qd+Gs(Gd),jd=qd+Gd,Zd=Hs($d,Rd),Wd=Hd+Ud+Gs(jd),Jd=Ct+Bt,Kd=Hs(In,zn),tg=Nn+Yn+Gs(Jd),ng=Ct+It,eg=Hs(In,un),rg=Nn+ln+Gs(ng),og=2*Jd+It,ig=Hs(Qs(Kd),un),sg=2*tg+ln+Gs(og),cg=2*ng+Bt,ug=Hs(Qs(eg),zn),lg=2*rg+Yn+Gs(cg),fg=w*og,hg=qs(w,ig),ag=ct*sg+Gs(fg),pg=O*St,dg=qs(O,an),gg=ht*dn+Gs(pg),vg=O*cg,mg=qs(O,ug),_g=ht*lg+Gs(vg),bg=w*Ht,xg=qs(w,oe),Ig=ct*se+Gs(bg),Ng=w*St,Sg=qs(w,an),Eg=ct*dn+Gs(Ng),wg=et*gt,Mg=$s(S,Wt),Cg=y*be+2*Gs(wg),Tg=O*Ht,Og=qs(O,oe),Pg=ht*se+Gs(Tg),yg=it*Xt,Ag=$s(C,Wn),Bg=z*we+2*Gs(yg),zg=fg+pg,Yg=Hs(hg,dg),Fg=ag+gg+Gs(zg),Vg=ag+gg+Fg,kg=vg+bg,Lg=Hs(mg,xg),Dg=_g+Ig+Gs(kg),Xg=_g+Ig+Dg,Qg=Ng+wg,qg=Hs(Sg,Mg),$g=Gs(Qg),Hg=Eg+Cg+$g,Gg=Tg+yg,Rg=Hs(Og,Ag),Ug=Gs(Gg),jg=Pg+Bg+Ug,Zg=F*Qg,Wg=$s(e,qg),Jg=a*$g+G*Hg+2*Gs(Zg),Kg=L*Gg,tv=$s(i,Rg),nv=g*Ug+j*jg+2*Gs(Kg),ev=3*(Zg+Kg),rv=qs(3,Hs(Wg,tv)),ov=3*(Jg+nv)+2*Gs(ev),iv=Jd+It,sv=Hs(Kd,un),cv=Gs(iv),uv=tg+ln+cv,lv=2*mt+St,fv=Hs(Qs(tn),an),hv=Gs(lv),av=2*nn+dn+hv,pv=2*qt+Ht,dv=Hs(Qs(te),oe),gv=Gs(pv),vv=2*ne+se+gv,mv=V*zg,_v=$s(r,Yg),bv=p*Fg+R*Vg+2*Gs(mv),xv=k*kg,Iv=$s(o,Lg),Nv=d*Dg+U*Xg+2*Gs(xv),Sv=X*iv,Ev=$s(c,sv),wv=m*cv+W*uv+2*Gs(Sv),Mv=D*lv,Cv=$s(s,fv),Tv=v*hv+Z*av+2*Gs(Mv),Ov=Q*pv,Pv=$s(u,dv),yv=_*gv+J*vv+2*Gs(Ov),Av=et*q,Bv=$s(S,l),zv=y*K+lt*b+Gs(Av),Yv=it*$,Fv=$s(C,f),Vv=z*tt+pt*x+Gs(Yv),kv=Av+Yv,Lv=Hs(Bv,Fv),Dv=zv+Vv+Gs(kv),Xv=mv+xv,Qv=Hs(_v,Iv),qv=bv+Nv+Gs(Xv),$v=ev+Sv,Hv=Hs(rv,Ev),Gv=ov+wv+Gs($v),Rv=Mv+Ov,Uv=Hs(Cv,Pv),jv=Tv+yv+Gs(Rv),Zv=Xv+$v,Wv=Hs(Qv,Hv),Jv=qv+Gv+Gs(Zv),Kv=Rv+kv,tm=Hs(Uv,Lv),nm=jv+Dv+Gs(Kv),em=Zv+Kv,rm=Hs(Wv,tm),om=Jv+nm+Gs(em),im=Mt+xt,sm=Hs(bn,sn),cm=Gs(im),um=xn+cn+cm,lm=w*V,fm=qs(w,r),hm=Gs(lm),am=ct*p+hm,pm=O*k,dm=qs(O,o),gm=Gs(pm),vm=ht*d+gm,mm=im+Mt,_m=Hs(sm,bn),bm=Gs(mm),xm=um+xn+bm,Im=im+xt,Nm=Hs(sm,sn),Sm=Gs(Im),Em=um+cn+Sm,wm=nt*gt,Mm=$s(E,Wt),Cm=Gs(wm),Tm=A*be+2*Cm,Om=wm*F,Pm=$s(Mm,e),ym=Tm*G+Cm*a+2*Gs(Om),Am=ot*Xt,Bm=$s(T,Wn),zm=Gs(Am),Ym=Y*we+2*zm,Fm=Am*L,Vm=$s(Bm,i),km=Ym*j+zm*g+2*Gs(Fm),Lm=X*im,Dm=$s(c,sm),Xm=m*cm+W*um+2*Gs(Lm),Qm=vt*D,qm=$s(Jt,s),$m=Kt*Z+xe*v+2*Gs(Qm),Hm=Qt*Q,Gm=$s(Jn,u),Rm=Kn*J+Me*_+2*Gs(Hm),Um=Qm+Hm,jm=Hs(qm,Gm),Zm=$m+Rm+Gs(Um),Wm=nt*q,Jm=$s(E,l),Km=A*K+ut*b+Gs(Wm),t_=ot*$,n_=$s(T,f),e_=Y*tt+at*x+Gs(t_),r_=Wm+t_,o_=Hs(Jm,n_),i_=Km+e_+Gs(r_),s_=lm*mm,c_=$s(fm,_m),u_=am*bm+hm*xm+2*Gs(s_),l_=pm*Im,f_=$s(dm,Nm),h_=vm*Sm+gm*Em+2*Gs(l_),a_=s_+l_,p_=Hs(c_,f_),d_=u_+h_+Gs(a_),g_=3*(Om+Fm),v_=qs(3,Hs(Pm,Vm)),m_=3*(ym+km)+2*Gs(g_),__=Lm+2*Um,b_=Hs(Dm,Qs(jm)),x_=Xm+2*Zm+Gs(__),I_=a_+g_,N_=Hs(p_,v_),S_=d_+m_+Gs(I_),E_=__+r_,w_=Hs(b_,o_),M_=x_+i_+Gs(E_),C_=I_+E_,T_=Hs(N_,w_),O_=S_+M_+Gs(C_),P_=w*F,y_=qs(w,e),A_=ct*a+Gs(P_),B_=O*V,z_=qs(O,r),Y_=ht*p+Gs(B_),F_=P_+B_,V_=Hs(y_,z_),k_=A_+Y_+Gs(F_),L_=w*k,D_=qs(w,o),X_=ct*d+Gs(L_),Q_=O*L,q_=qs(O,i),$_=ht*g+Gs(Q_),H_=L_+Q_,G_=Hs(D_,q_),R_=X_+$_+Gs(H_),U_=F_+D,j_=Hs(V_,s),Z_=k_+v+Gs(U_),W_=H_+Q,J_=Hs(G_,u),K_=R_+_+Gs(W_),tb=gt*U_,nb=$s(Wt,j_),eb=be*Z_+2*Gs(tb),rb=Xt*W_,ob=$s(Wn,J_),ib=we*K_+2*Gs(rb),sb=tb+rb,cb=Hs(nb,ob),ub=eb+ib+Gs(sb),lb=bt*X,fb=$s(on,c),hb=Ee*m+Gs(lb),ab=sb+lb,pb=Hs(cb,fb),db=ub+hb+Gs(ab),gb=w*q,vb=qs(w,l),mb=ct*b+Gs(gb),_b=O*$,bb=qs(O,f),xb=ht*x+Gs(_b),Ib=gb+_b,Nb=Hs(vb,bb),Sb=mb+xb+Gs(Ib),Eb=ab+Ib,wb=Hs(pb,Nb),Mb=db+Sb+Gs(Eb),Cb=Eb+H,Tb=Hs(wb,h),Ob=Mb+I+Gs(Cb);return{coeffs:[fr,no,Pi,nu,gf,ba,Zd,rm,T_,Tb],errBound:[Rs*hr,Rs*eo,Rs*yi,Rs*eu,Rs*vf,Rs*xa,Rs*Wd,Rs*om,Rs*O_,Rs*Ob]}}]],Bu=[[hc,Kc,_u],[Ec,su,wu],[Uc,pu,function(t,n){const e=tc(t);if(0===yu(e[0][0])&&0===yu(e[1][0]))return wu(Ac(t),n);const[[r,o,i,[s]],[c,u,l,[f]]]=tc(n);if(0===yu(r)&&0===yu(c))return pu(t,Ac(n));const{vₓₓₓ:h,vₓₓᵧ:a,vₓᵧᵧ:p,vᵧᵧᵧ:d,vₓₓ:g,vₓᵧ:v,vᵧᵧ:m,vₓ:_,vᵧ:b,v:x}=Xc(e),I=Mu(s,s),N=Cu(s,i),S=Cu(s,o),E=Cu(s,r),w=Mu(s,f),M=Cu(s,l),C=Cu(s,u),T=Cu(s,c),O=Tu(i,i),P=Tu(i,o),y=Tu(i,r),A=Cu(f,i),B=Tu(i,l),z=Tu(i,u),Y=Tu(i,c),F=Tu(o,l),V=Tu(o,o),k=Tu(o,r),L=Cu(f,o),D=Tu(o,u),X=Tu(o,c),Q=Tu(r,r),q=Cu(f,r),$=Tu(r,l),H=Tu(r,u),G=Tu(r,c),R=Mu(f,f),U=Cu(f,l),j=Cu(f,u),Z=Cu(f,c),W=Tu(l,l),J=Tu(l,u),K=Tu(c,c),tt=Tu(u,u),nt=Tu(u,c),et=Tu(l,c),rt=Tu(r,Q),ot=Tu(r,K),it=Tu(c,Q),st=Tu(c,K),ct=Tu(rt,h),ut=Tu(ot,p),lt=Tu(it,a),ft=Tu(st,d),ht=Ou(ct,ut),at=Ou(lt,ft),pt=Ou(ht,at),dt=Ou(Pu(X),H),gt=Ou(Pu(H),X),vt=Tu(r,dt),mt=Tu(c,gt),_t=Tu(o,Q),bt=Tu(u,K),xt=Tu(h,_t),It=Tu(d,bt),Nt=Tu(a,vt),St=Tu(p,mt),Et=Ou(Nt,St),wt=Cu(3,Ou(xt,It)),Mt=Ou(Et,wt),Ct=Tu(i,G),Tt=Tu(l,Q),Ot=Tu(o,nt),Pt=Tu(i,K),yt=Tu(o,H),At=Tu(c,V),Bt=Tu(r,et),zt=Tu(u,H),Yt=Ou(Ct,yt),Ft=Ou(Tt,At),Vt=Ou(Ot,Bt),kt=Ou(Pt,zt),Lt=Ou(y,V),Dt=Ou(et,tt),Xt=Ou(Pu(Yt),Ft),Qt=Ou(Pu(Vt),kt),qt=Tu(a,Xt),$t=Tu(p,Qt),Ht=Tu(r,Lt),Gt=Tu(c,Dt),Rt=Tu(h,Ht),Ut=Tu(d,Gt),jt=Ou(qt,$t),Zt=Cu(3,Ou(Rt,Ut)),Wt=Ou(jt,Zt),Jt=Ou(X,H),Kt=Tu(u,V),tn=Pu(Tu(i,Jt)),nn=Ou(Kt,tn),en=Pu(Ou(T,F)),rn=Ou(en,q),on=Tu(r,rn),sn=Ou(nn,on),cn=Tu(o,tt),un=Pu(Tu(l,Jt)),ln=Ou(cn,un),fn=Pu(Ou(z,q)),hn=Ou(fn,T),an=Tu(c,hn),pn=Ou(ln,an),dn=Tu(o,V),gn=Ou(Pu(P),E),vn=Tu(Cu(3,r),gn),mn=Ou(dn,vn),_n=Tu(u,tt),bn=Ou(Pu(J),Z),xn=Tu(Cu(3,c),bn),In=Ou(_n,xn),Nn=Tu(a,sn),Sn=Tu(p,pn),En=Ou(Nn,Sn),wn=Tu(h,mn),Mn=Tu(d,In),Cn=Ou(wn,Mn),Tn=Tu(Q,g),On=Tu(K,m),Pn=Ou(Tn,On),yn=Tu(G,v),An=Ou(En,Cn),Bn=Ou(Pn,yn),zn=Ou(An,Bn),Yn=Ou(D,$),Fn=Ou(Y,D),Vn=Cu(s,Jt),kn=Cu(f,Jt),Ln=Tu(i,Yn),Dn=Tu(l,Fn),Xn=Ou(Pu(q),F),Qn=Ou(Pu(T),z),qn=Tu(c,O),$n=Tu(r,W),Hn=Tu(o,Xn),Gn=Tu(u,Qn),Rn=Pu(Ou(Vn,Ln)),Un=Pu(Ou(kn,Dn)),jn=Pu(Cu(s,k)),Zn=Pu(Cu(f,nt)),Wn=Tu(i,Lt),Jn=Tu(l,Dt),Kn=Tu(k,g),te=Tu(nt,m),ne=Ou(Rn,qn),ee=Ou(Un,$n),re=Ou(ne,Hn),oe=Ou(ee,Gn),ie=Ou(jn,Wn),se=Ou(Zn,Jn),ce=Pu(Ou(Kn,te)),ue=Tu(a,re),le=Tu(p,oe),fe=Tu(h,ie),he=Tu(d,se),ae=Ou(ue,le),pe=Cu(3,Ou(fe,he)),de=Tu(v,Jt),ge=Ou(ae,pe),ve=Ou(de,ce),me=Ou(ge,ve),_e=Ou(Y,Yn),be=Ou(Pu(y),V),xe=Ou(Pu(et),tt),Ie=Cu(2*s,_e),Ne=Cu(2*f,_e),Se=Ou(z,Pu(F)),Ee=Ou(F,Pu(z)),we=Cu(f,be),Me=Cu(s,xe),Ce=Tu(i,Se),Te=Tu(l,Ee),Oe=Cu(s,be),Pe=Cu(f,xe),ye=Tu(o,O),Ae=Tu(u,W),Be=Ou(Ie,we),ze=Ou(Ne,Me),Ye=Ou(Be,Ce),Fe=Ou(ze,Te),Ve=Ou(Oe,ye),ke=Ou(Pe,Ae),Le=Tu(a,Ye),De=Tu(p,Fe),Xe=Tu(h,Ve),Qe=Tu(d,ke),qe=Ou(Xe,Qe),$e=Ou(Le,De),He=Ou($e,Cu(3,qe)),Ge=Tu(v,_e),Re=Tu(g,be),Ue=Ou(Ge,Re),je=Tu(m,xe),Ze=Ou(Ue,je),We=Ou(He,Ze),Je=Ou(z,F),Ke=Ou(q,T),tr=Ou(P,E),nr=Ou(J,Z),er=Ou(Pu(Je),q),rr=Ou(Pu(Je),T),or=Ou(Pu(L),B),ir=Ou(Pu(C),B),sr=Ou(tr,P),cr=Ou(nr,J),ur=Tu(Mu(3,s),sr),lr=Tu(Mu(3,f),cr),fr=Tu(i,O),hr=Tu(l,W),ar=Tu(g,tr),pr=Tu(m,nr),dr=Ou(er,Ke),gr=Ou(rr,Ke),vr=Cu(s,dr),mr=Cu(f,gr),_r=Tu(i,or),br=Tu(l,ir),xr=Tu(r,_),Ir=Tu(c,b),Nr=Ou(vr,_r),Sr=Ou(mr,br),Er=Ou(ur,fr),wr=Ou(lr,hr),Mr=Ou(Ke,Je),Cr=Pu(Ou(ar,pr)),Tr=Tu(a,Nr),Or=Tu(p,Sr),Pr=Tu(h,Er),yr=Tu(d,wr),Ar=Tu(v,Mr),Br=Ou(Tr,Or),zr=Ou(Pr,yr),Yr=Ou(Ar,Cr),Fr=Ou(xr,Ir),Vr=Ou(Br,zr),kr=Ou(Yr,Fr),Lr=Ou(Vr,kr),Dr=Ou(B,L),Xr=Ou(B,C),Qr=Ou(Pu(Dr),C),qr=Ou(Pu(Xr),L),$r=Cu(s,Qr),Hr=Cu(f,O),Gr=Cu(f,qr),Rr=Cu(s,W),Ur=Cu(s,O),jr=Tu(o,I),Zr=Cu(f,W),Wr=Tu(u,R),Jr=Ou($r,Hr),Kr=Ou(Gr,Rr),to=Ou(Ur,jr),no=Ou(Zr,Wr),eo=Tu(h,to),ro=Tu(d,no),oo=Cu(3,Ou(eo,ro)),io=Ou(Dr,C),so=Ou(Pu(S),O),co=Ou(Pu(j),W),uo=Tu(a,Jr),lo=Tu(p,Kr),fo=Tu(v,io),ho=Tu(g,so),ao=Tu(m,co),po=Tu(o,_),go=Tu(u,b),vo=Ou(po,go),mo=Ou(uo,lo),_o=Ou(oo,fo),bo=Ou(ho,ao),xo=Ou(mo,_o),Io=Ou(bo,vo),No=Ou(xo,Io),So=Ou(A,M),Eo=Cu(s,a),wo=Cu(f,p),Mo=Ou(So,A),Co=Ou(So,M),To=Tu(i,I),Oo=Tu(To,h),Po=Tu(l,R),yo=Tu(Po,d),Ao=Tu(v,So),Bo=Tu(N,g),zo=Tu(U,m),Yo=Ou(Bo,zo),Fo=Tu(i,_),Vo=Tu(l,b),ko=Ou(Fo,Vo),Lo=Tu(Eo,Mo),Do=Tu(wo,Co),Xo=Ou(Lo,Do),Qo=Cu(3,Ou(Oo,yo)),qo=Ou(Ao,Pu(Yo)),$o=Ou(Xo,Qo),Ho=Ou(qo,ko),Go=Ou($o,Ho),Ro=Cu(s,h),Uo=Cu(f,a),jo=Ou(Ro,Uo),Zo=Cu(s,p),Wo=Cu(f,d),Jo=Ou(Zo,Wo),Ko=Ou(jo,g),ti=Ou(Jo,m),ni=Tu(I,Ko),ei=Tu(R,ti),ri=Ou(ni,ei),oi=Tu(w,v),ii=Ou(ri,oi),si=Cu(s,_),ci=Cu(f,b),ui=Ou(si,ci),li=Ou(ii,ui);return[pt,Mt,Wt,zn,me,We,Lr,No,Go,Ou(li,x)]}]];function zu(t,n){const{coeffs:e,errBound:r}=Au[t.length-2][n.length-2](t,n);return{coeffs:e,errBound:r,getPExact:()=>Bu[t.length-2][n.length-2](t,n)}}const Yu=Tt,Fu=Et,Vu=wt,ku=yt,Lu=St,Du=wt,Xu=function(t,n,e,r){const o=t[0],i=t[1],s=n[0],c=n[1],u=_t(t,n),l=Math.abs(o+i),f=Math.abs(s+c),h=f-bt*f-r;return h<=0?{est:u,err:Number.POSITIVE_INFINITY}:{est:u,err:(f*e+l*r)/h**2+9*xt*Math.abs(l/f)}},Qu=St,qu=Tt,$u=Nt,Hu=Et,Gu=Mt,Ru=function(t,n){return gt(t,n)[1]>0?n:t},Uu=function(t,n){return vt(t,n)[1]>0?t:n},ju=Number.EPSILON/2,Zu=ju*ju,Wu=Math.abs,Ju=Du,Ku=[0,1],tl=Qu,nl=Hu,el=qu,rl=$u,ol=Gu,il=Xu,sl=Ru,cl=Uu,ul=Dn(3);function ll(t,n){return n[0][0]!==n[1][0]||n[0][1]!==n[1][1]?4===t.length?function([[t,n],[e,r],[o,i],[s,c]],[u,l]){const f=Ju(l,u),h=3*Zu*Wu(f[1]),a=Ju(Ku,u),p=3*Zu*Wu(a[1]),d=il(f,a,h,p);l=tl(d.est,d.err);const g=Ju(Ku,u),v=el(u,u),m=el(u,g),_=el(g,g),b=el(v,u),x=el(v,g),I=el(_,u),N=el(_,g),S=Ju(Ku,l),E=el(l,l),w=el(l,S),M=el(S,S),C=el(E,l),T=el(E,S),O=el(M,l),P=el(M,S),y=Wu(u[1]),A=Wu(g[1]),B=Wu(v[1]),z=Wu(m[1]),Y=Wu(_[1]),F=Wu(b[1]),V=Wu(x[1]),k=Wu(I[1]),L=Wu(N[1]),D=Wu(l[1]),X=Wu(S[1]),Q=Wu(E[1]),q=Wu(w[1]),$=Wu(M[1]),H=Wu(C[1]),G=Wu(T[1]),R=Wu(O[1]),U=Wu(P[1]);let j=Wu(t),Z=Wu(n),W=Wu(e),J=Wu(r),K=Wu(o),tt=Wu(i),nt=Wu(s),et=Wu(c);const rt=nl(rl(s,u),rl(o,g)),ot=nl(nl(rl(s,v),rl(2*o,m)),rl(e,_)),it=nl(nl(rl(s,b),rl(t,N)),rl(3,nl(rl(o,x),rl(e,I)))),st=nl(el(ot,l),el(it,S)),ct=nl(nl(el(rt,E),el(it,M)),el(ol(ot),w)),ut=nl(nl(rl(s,C),el(it,P)),rl(3,nl(el(rt,T),el(ot,O)))),lt=Wu(it[1]),ft=nt*y+K*A,ht=nt*B+2*K*z+W*Y;j=nt*F+j*L+3*(K*V+W*k),W=ht*D+lt*X,K=ft*Q+lt*$+2*ht*q,nt=nt*H+lt*U+3*(ft*G+ht*R),j*=11*Zu,W*=15*Zu,K*=20*Zu,nt*=22*Zu;const at=nl(rl(c,u),rl(i,g)),pt=nl(nl(rl(c,v),rl(2*i,m)),rl(r,_)),dt=nl(nl(rl(c,b),rl(n,N)),rl(3,nl(rl(i,x),rl(r,I)))),gt=nl(el(pt,l),el(dt,S)),vt=nl(nl(el(at,E),el(dt,M)),el(ol(pt),w)),mt=nl(nl(rl(c,C),el(dt,P)),rl(3,nl(el(at,T),el(pt,O)))),_t=Wu(dt[1]),bt=et*y+tt*A,xt=et*B+2*tt*z+J*Y;Z=et*F+Z*L+3*(tt*V+J*k),J=xt*D+_t*X,tt=bt*Q+_t*$+2*xt*q,et=et*H+_t*U+3*(bt*G+xt*R),Z*=11*Zu,J*=15*Zu,tt*=20*Zu,et*=22*Zu;const It=sl(sl(tl(it,-j),tl(st,-W)),sl(tl(ct,-K),tl(ut,-nt))),Nt=cl(cl(tl(it,+j),tl(st,+W)),cl(tl(ct,+K),tl(ut,+nt)));return[[It,sl(sl(tl(dt,-Z),tl(gt,-J)),sl(tl(vt,-tt),tl(mt,-et)))],[Nt,cl(cl(tl(dt,+Z),tl(gt,+J)),cl(tl(vt,+tt),tl(mt,+et)))]]}(t,n):3===t.length?function([[t,n],[e,r],[o,i]],[s,c]){const u=Ju(c,s),l=3*Zu*Wu(u[1]),f=Ju(Ku,s),h=3*Zu*Wu(f[1]),a=il(u,f,l,h);c=tl(a.est,a.err);const p=Ju(Ku,s),d=el(s,s),g=el(s,p),v=el(p,p),m=Ju(Ku,c),_=el(c,c),b=el(c,m),x=el(m,m),I=Wu(s[1]),N=Wu(p[1]),S=Wu(d[1]),E=Wu(g[1]),w=Wu(v[1]),M=Wu(c[1]),C=Wu(m[1]),T=Wu(_[1]),O=Wu(b[1]),P=Wu(x[1]);let y=Wu(t),A=Wu(n),B=Wu(e),z=Wu(r),Y=Wu(o),F=Wu(i);const V=nl(nl(rl(o,d),rl(2*e,g)),rl(t,v)),k=nl(rl(o,s),rl(e,p)),L=V,D=nl(el(c,k),el(m,V)),X=nl(nl(rl(o,_),el(ol(b),k)),el(x,V)),Q=Y*S+2*B*E+y*w,q=Y*I+B*N;y=Q,B=M*q+C*Q,Y=T*o+2*O*q+P*Q,y*=7*Zu,B*=11*Zu,Y*=14*Zu;const $=nl(nl(rl(i,d),rl(2*r,g)),rl(n,v)),H=nl(rl(i,s),rl(r,p)),G=$,R=nl(el(c,H),el(m,$)),U=nl(nl(rl(i,_),el(ol(b),H)),el(x,$)),j=F*S+2*z*E+A*w,Z=F*I+z*N;A=j,z=M*Z+C*j,F=T*i+2*O*Z+P*j,A*=7*Zu,z*=11*Zu,F*=14*Zu;const W=sl(sl(tl(L,-y),tl(D,-B)),tl(X,-Y)),J=cl(cl(tl(L,+y),tl(D,+B)),tl(X,+Y));return[[W,sl(sl(tl(G,-A),tl(R,-z)),tl(U,-F))],[J,cl(cl(tl(G,+A),tl(R,+z)),tl(U,+F))]]}(t,n):function([[t,n],[e,r]],[o,i]){const s=Ju(i,o),c=3*Zu*Wu(s[1]),u=Ju(Ku,o),l=3*Zu*Wu(u[1]),f=il(s,u,c,l);i=tl(f.est,f.err);const h=Ju(Ku,o),a=Ju(Ku,i),p=Wu(o[1]),d=Wu(h[1]),g=Wu(i[1]),v=Wu(a[1]);let m=Wu(t),_=Wu(n),b=Wu(e),x=Wu(r);const I=nl(rl(e,o),rl(t,h)),N=nl(rl(e,i),el(I,a));m=b*p+m*d,b=b*g+m*v,m*=3*ju,b*=7*ju;const S=nl(rl(r,o),rl(n,h)),E=nl(rl(r,i),el(S,a));_=x*p+_*d,x=x*g+_*v,_*=3*ju,x*=7*ju;const w=sl(tl(I,-m),tl(N,-b)),M=cl(tl(I,+m),tl(N,+b));return[[w,sl(tl(S,-_),tl(E,-x))],[M,cl(tl(S,+_),tl(E,+x))]]}(t,n):function(t,n){const e=t[0],r=t[t.length-1];if(0===n[0]&&0===n[1]){const t=[0,e[0]],n=[0,e[1]];return[[t,n],[t,n]]}if(0===n[0]&&1===n[1]){const t=[0,r[0]],n=[0,r[1]];return[[t,n],[t,n]]}const o=function(t,n){if(0===n[0]&&0===n[1])return t[0].map((t=>[t]));if(0===n[0]&&1===n[1])return t[t.length-1].map((t=>[t]));if(4===t.length){const[[e,r],[o,i],[s,c],[u,l]]=t,f=Lu(Yu(ku(o,e),n),e),h=Lu(Yu(ku(s,o),n),o),a=Lu(Yu(ku(u,s),n),s),p=Fu(f,Yu(Vu(h,f),n)),d=Fu(h,Yu(Vu(a,h),n)),g=Fu(p,Yu(Vu(d,p),n)),v=Lu(Yu(ku(i,r),n),r),m=Lu(Yu(ku(c,i),n),i),_=Lu(Yu(ku(l,c),n),c),b=Fu(v,Yu(Vu(m,v),n)),x=Fu(m,Yu(Vu(_,m),n));return[g,Fu(b,Yu(Vu(x,b),n))]}if(3===t.length){const[[e,r],[o,i],[s,c]]=t,u=Fu([0,e],Yu(ku(o,e),n)),l=Fu([0,o],Yu(ku(s,o),n)),f=Fu(u,Yu(Vu(l,u),n)),h=Fu([0,r],Yu(ku(i,r),n)),a=Fu([0,i],Yu(ku(c,i),n));return[f,Fu(h,Yu(Vu(a,h),n))]}if(2===t.length){const[[e,r],[o,i]]=t;return[Lu(Yu(ku(o,e),n),e),Lu(Yu(ku(i,r),n),r)]}if(1===t.length){const[n,e]=t[0];return[[0,n],[0,e]]}throw new Error("The given bezier curve must be of order <= 3.")}(t,n);let i;if(4===t.length)i=Fn(t,n).map((t=>16*ul*t));else if(3===t.length)i=Fn(t,n).map((t=>10*ul*t));else if(2===t.length)i=Fn(t,n).map((t=>4*ul*t));else if(1===t.length)return[o,o];return[[tl(o[0],-i[0]),tl(o[1],-i[1])],[tl(o[0],+i[0]),tl(o[1],+i[1])]]}(t,n[0])}function fl(t){return(n,e)=>{let[[r,o],[i,s]]=n,[[c,u],[l,f]]=e;return(o[1]>s[1]||o[1]===s[1]&&o[0]>s[0])&&([o,s]=[s,o]),(u[1]>f[1]||u[1]===f[1]&&u[0]>f[0])&&([u,f]=[f,u]),(r[1]>i[1]||r[1]===i[1]&&r[0]>i[0])&&([r,i]=[i,r]),(c[1]>l[1]||c[1]===l[1]&&c[0]>l[0])&&([c,l]=[l,c]),t?(r[1]<l[1]||r[1]===l[1]&&r[0]<=l[0])&&(i[1]>c[1]||i[1]===c[1]&&i[0]>=c[0])&&(u[1]<s[1]||u[1]===s[1]&&u[0]<=s[0])&&(f[1]>o[1]||f[1]===o[1]&&f[0]>=o[0]):(r[1]<l[1]||r[1]===l[1]&&r[0]<l[0])&&(i[1]>c[1]||i[1]===c[1]&&i[0]>c[0])&&(u[1]<s[1]||u[1]===s[1]&&u[0]<s[0])&&(f[1]>o[1]||f[1]===o[1]&&f[0]>o[0])}}function hl(t){return[(t.x.box[0][0]+t.x.box[1][0])/2,(t.x.box[0][1]+t.x.box[1][1])/2]}function al(t,n){const e=zu(t,n);if(void 0===e)return;const{coeffs:r,errBound:o,getPExact:i}=e,s=An(r,0,1,o,i);return 0!==s.length?{ris:s.map(ci),getPExact:i}:void 0}function pl(t){return{tS:B(t.tS),tE:B(t.tE),multiplicity:t.multiplicity}}function dl(t,n){const e=al(t,n);if(void 0===e)return[];const{getPExact:r}=e;let o,{ris:i}=e;const s=al(n,t);if(void 0===s)return[];let{ris:c}=s;const{getPExact:u}=s;let l,f;f=1;let h,a=0;t:for(;a<f;){h=c.map((n=>ll(t,[n.tS,n.tE])));for(let t=0;t<c.length;t++){const n=h[t];for(let e=t+1;e<c.length;e++){const t=h[e];if(fl(!0)(n,t)){const t=[];for(const n of c)t.push(...gi({tS:n.tS[1],tE:n.tE[1],multiplicity:n.multiplicity},(l=l||u(),l)));c=t,a++;continue t}}}break t}f=1;let p,d=0;t:for(;d<f;){p=i.map((t=>ll(n,[t.tS,t.tE])));for(let t=0;t<i.length;t++){const n=p[t];for(let e=t+1;e<i.length;e++){const t=p[e];if(fl(!0)(n,t)){const t=[];for(const n of i)t.push(...gi({tS:n.tS[1],tE:n.tE[1],multiplicity:n.multiplicity},(o=o||r(),o)));i=t,d++;continue t}}}break t}const g=[];for(let t=0;t<c.length;t++){const n=h[t];for(let e=0;e<i.length;e++){const o=p[e];if(fl(!0)(n,o)){const s={compensated:a,ri:pl(c[t]),riExp:a?c[t]:void 0,getPExact:a?void 0:u,kind:1,box:gl(n)},l={compensated:d,ri:pl(i[e]),riExp:d?i[e]:void 0,getPExact:d?void 0:r,kind:1,box:gl(o)};g.push({psX:s,sideX:l})}}}return g}function gl(t){return t.map((t=>t.map(B)))}function vl(t,n){const e=t.xs,r=[],o=new Map;for(const t of e){const n=t.curve,e=o.get(n);e?e.push(t):o.set(n,[t])}const i=function(t){const[[n,e],[r,o]]=t.box,i=[[[r,e],[n,e]],[[n,e],[n,o]],[[n,o],[r,o]],[[r,o],[r,e]]];return(n,e,r)=>{const o=n.ps,s=e.slice();for(let t=0;t<i.length;t++){const n=dl(o,i[t]);for(const{psX:e,sideX:r}of n)s.push({x:e,side:t,sideX:r,curve:void 0})}s.sort(((t,n)=>t.x.ri.tS-n.x.ri.tS));const c=[],u=[];let l,f;for(const n of s)void 0!==n.side?(!0===f&&u.push({dir:1,p:hl(n),_x_:l,container:t,idx:++r,side:n.side,sideX:n.sideX}),f=!1):(!1===f&&(c.push({dir:-1,p:hl(l),_x_:n,container:t,idx:++r,side:l.side,sideX:l.sideX}),n.in_=c[c.length-1]),f=!0),l=n;return{ins:c,outs:u,ioIdx:r}}}(t);for(const t of o){const[e,o]=t;let s,c;({ins:s,outs:c,ioIdx:n}=i(e,o,n)),r.push(...s),r.push(...c)}return{inOuts:r,ioIdx:n}}function ml(t){if(4===t.length){const[[n,e],[r,o],[i,s],[c,u]]=t;return[[3*(r-n),3*(o-e)],[3*(i-r),3*(s-o)],[3*(c-i),3*(u-s)]]}if(3===t.length){const[[n,e],[r,o],[i,s]]=t;return[[2*(r-n),2*(o-e)],[2*(i-r),2*(s-o)]]}if(2===t.length){const[[n,e],[r,o]]=t;return[[r-n,o-e]]}throw new Error("The given bezier curve must be of order 1, 2 or 3.")}function _l(t,n){const e=t.xs;return 2===e.length&&1===e[0].x.kind&&1===e[1].x.kind&&e[0].x.ri.multiplicity%2==1&&e[1].x.ri.multiplicity%2==1?function(t,n){const e=t.xs,r=[],o=e[0],i=e[1],s=o.curve.ps,c=i.curve.ps,u=x(s,o.x.ri.tS),l=o.x.ri.tS,f=o.x.ri.tE,h=i.x.ri.tS,a=i.x.ri.tE;let p,d,g;p=4===s.length||3===s.length?Wn(ml(s),[l,f]):ml(s),d=4===c.length||3===c.length?Wn(ml(c),[h,a]):ml(c);for(let e=0;e<p.length;e++)for(let r=0;r<d.length;r++){const o=Math.sign(F(p[e],d[r],[0,0]));if(0===o)return vl(t,n);if(void 0!==g){if(g!==o)return vl(t,n)}else g=o}return g>0?(r.push({dir:-1,p:u,_x_:o,container:t}),r.push({dir:1,p:u,_x_:i,container:t}),r.push({dir:1,p:u,_x_:o,container:t}),r.push({dir:-1,p:u,_x_:i,container:t}),o.in_=r[0],i.in_=r[3]):(r.push({dir:-1,p:u,_x_:o,container:t}),r.push({dir:-1,p:u,_x_:i,container:t}),r.push({dir:1,p:u,_x_:o,container:t}),r.push({dir:1,p:u,_x_:i,container:t}),o.in_=r[0],i.in_=r[1]),{inOuts:r,ioIdx:n}}(t,n):vl(t,n)}function bl(t,n,e,r){const o=[];for(const r of t)o.push({type:-1,item:r,x:n(r)}),o.push({type:1,item:r,x:e(r)});o.sort(xl);const i=new Set,s=[];for(const t of o){const n=t.item;if(-1===t.type){for(const t of i.values()){const e=r(n,t);e&&s.push({a:n,b:t,u:e})}i.add(n)}else 1===t.type&&i.delete(t.item)}return s}function xl(t,n){const e=t.x-n.x;return 0!==e?e:t.type}const Il=Et,Nl=Q,Sl=T,El=V,wl=B,Ml=Tt,Cl=yr,Tl=Math.abs,Ol=Dn(3);const Pl=Math.abs;const yl=Math.abs,Al=Tt,Bl=Et,zl=Q,Yl=T,Fl=V,Vl=B,kl=yr,Ll=Math.abs,Dl=Ln(1),Xl=Dn(3);function Ql(t,n){const[e,r]=n,o=e.length,i=r.length,s=e[o-1],c=r[i-1],u=1===o&&1===i;{const{vₓₓ:n,vₓᵧ:e,vᵧᵧ:r,vₓ:o,vᵧ:i,v:l}=function(t){const[[n,e,r],[o,i,s]]=qo(t),c=n*i-e*o,u=n*s-r*o;return{vₓₓ:-o*o,vₓᵧ:2*n*o,vᵧᵧ:-n*n,vₓ:i*c-2*o*u,vᵧ:2*n*u-e*c,v:c*(e*s-r*i)-u*u}}(t),{vₓₓ_:f,vₓᵧ_:h,vᵧᵧ_:a,vₓ_:p,vᵧ_:d,v_:g}=function(t){const[n,e]=t[0],[[r,o],[i,s]]=function(t){const[[n,e],[r,o],[i,s]]=t,c=Pl(n),u=Pl(r),l=Pl(i),f=Pl(e),h=Pl(o);return[[l+c+2*u,2*(u+c),0],[Pl(s)+f+2*h,2*(h+f),0]]}(t),c=yl(n),u=yl(e),l=r*s+o*i,f=r*u+c*i;return{vₓₓ_:i*i,vₓᵧ_:2*r*i,vᵧᵧ_:r*r,vₓ_:s*l+2*i*f,vᵧ_:2*r*f+o*l,v_:l*(o*u+c*s)+f*f}}(t),v=u?0:1,m=Ll(s),_=Ll(c);if((v+12)*Dl*(f*(m*m)+h*(m*_)+a*(_*_)+(p*m+d*_)+g)<Ll(n*s*s+e*s*c+r*c*c+(o*s+i*c)+l))return!1}{const{coeffs:{vₓₓ:n,vₓᵧ:o,vᵧᵧ:i,vₓ:u,vᵧ:l,v:f},errorBound:{vₓₓ_:h,vₓᵧ_:a,vᵧᵧ_:p,vₓ_:d,vᵧ_:g,v_:v}}=Di(t),m=kl(e),_=kl(r),b=Ll(s),x=Ll(c),I=b/3,N=x/3,S=Al(m,m),E=S[1],w=2*(b*I+E),M=Al(_,_),C=M[1],T=2*(x*N+C),O=Al(m,_),P=Ll(O[1]),y=b*N+I*x+2*P,A=Al(n,S),B=Ll(n[1])*w+h*E+2*Ll(A[1]),z=Al(o,O),Y=Ll(o[1])*y+a*P+2*Ll(z[1]),F=Al(i,M),V=Ll(i[1])*T+p*C+2*Ll(F[1]),k=Al(m,u),L=Ll(u[1])*I+d*b+2*Ll(k[1]),D=Al(_,l),X=Ll(l[1])*N+g*x+2*Ll(D[1]),Q=Bl(A,z),q=B+Y+Ll(Q[1]),$=Bl(Q,F),H=q+V+Ll($[1]),G=Bl(k,D),R=L+X+Ll(G[1]),U=Bl($,G),j=H+R+Ll(U[1]),Z=Bl(U,f),W=j+v+Ll(Z[1]);if(Xl*W<Ll(Vl(Z)))return!1}{const n=function(t){return mc(nc(t))}(t);if(void 0===n)return u&&s===t[0][0]&&c===t[0][1];n.hasOwnProperty("vₓₓ")||(n.vₓₓ=[0],n.vₓᵧ=[0],n.vᵧᵧ=[0]);const{vₓₓ:o,vₓᵧ:i,vᵧᵧ:l,vₓ:f,vᵧ:h,v:a}=n,p=Yl(Yl(Yl(zl(o,zl(e,e)),zl(i,zl(e,r))),zl(l,zl(r,r))),Yl(Yl(zl(e,f),zl(r,h)),a));return 0===Fl(p)}}const ql=Math.abs,$l=Tt,Hl=Et,Gl=Q,Rl=T,Ul=V,jl=B,Zl=yr,Wl=Math.abs,Jl=Ln(1),Kl=Dn(3);function tf(t,n){const[e,r]=n,o=e.length,i=r.length,s=e[o-1],c=r[i-1],u=1===o&&1===i;{const{vₓₓₓ:n,vₓₓᵧ:e,vₓᵧᵧ:r,vᵧᵧᵧ:o,vₓₓ:i,vₓᵧ:l,vᵧᵧ:f,vₓ:h,vᵧ:a,v:p}=function(t){const[[n,e,r,o],[i,s,c,u]]=Qo(t),l=n*c,f=r*i,h=n*s,a=e*i,p=n*n,d=i*i,g=n*u-o*i,v=l-f,m=h-a,_=e*u-o*s,b=e*c-r*s,x=r*u-o*c,I=2*v,N=g*g,S=g*b,E=I*_,w=m*_,M=-3*g-b,C=-3*N-2*S+(E+m*x),T=2*(g*v-w),O=g*m-v*v+m*b;return{vₓₓₓ:-i*d,vₓₓᵧ:3*n*d,vₓᵧᵧ:-3*i*p,vᵧᵧᵧ:n*p,vₓₓ:M*d+m*(c*i-s*s)+I*s*i,vₓᵧ:2*(m*(e*s-(f+l)/2)-(M*n*i+v*(a+h))),vᵧᵧ:M*p+m*(r*n-e*e)+I*e*n,vₓ:i*C+(s*T+c*O),vᵧ:-n*C-(e*T+r*O),v:g*(E-N-S)+(O*x-w*_)}}(t),{vₓₓₓ_:d,vₓₓᵧ_:g,vₓᵧᵧ_:v,vᵧᵧᵧ_:m,vₓₓ_:_,vₓᵧ_:b,vᵧᵧ_:x,vₓ_:I,vᵧ_:N,v_:S}=function(t){const[n,e]=t[0],[[r,o,i],[s,c,u]]=function(t){const[[n,e],[r,o],[i,s],[c,u]]=t,l=Pl(n),f=Pl(r),h=Pl(i),a=Pl(c),p=Pl(e),d=Pl(o),g=Pl(s);return[[a+l+3*(f+h),3*(h+l+2*f),3*(f+l),0],[Pl(u)+p+3*(d+g),3*(g+p+2*d),3*(d+p),0]]}(t),l=ql(n),f=ql(e),h=r*u,a=i*s,p=r*c,d=o*s,g=r*r,v=s*s,m=r*f+l*s,_=h+a,b=p+d,x=o*f+l*c,I=o*u+i*c,N=i*f+l*u,S=2*_,E=m*m,w=m*I,M=S*x,C=b*x,T=3*m+I,O=3*E+2*w+(M+b*N),P=2*(m*_+C),y=m*b+_*_+b*I;return{vₓₓₓ_:s*v,vₓₓᵧ_:3*r*v,vₓᵧᵧ_:3*s*g,vᵧᵧᵧ_:r*g,vₓₓ_:T*v+b*(u*s+c*c)+S*c*s,vₓᵧ_:2*(b*(o*c+(a+h)/2)+(T*r*s+_*(d+p))),vᵧᵧ_:T*g+b*(i*r+o*o)+S*o*r,vₓ_:s*O+(c*P+u*y),vᵧ_:r*O+(o*P+i*y),v_:m*(M+E+w)+(y*N+C*x)}}(t),E=s*s,w=c*c,M=n*(E*s)+e*(E*c)+(r*(s*w)+o*(w*c))+(i*E+l*(s*c)+f*w)+(h*s+a*c+p),C=u?0:1,T=Wl(s),O=Wl(c),P=T*T,y=O*O;if((C+26)*Jl*(d*(P*T)+g*(P*O)+(v*(T*y)+m*(y*O))+(_*P+b*(T*O)+x*y)+(I*T+N*O+S))<Wl(M))return!1}{const{coeffs:{vₓₓₓ:n,vₓₓᵧ:o,vₓᵧᵧ:i,vᵧᵧᵧ:u,vₓₓ:l,vₓᵧ:f,vᵧᵧ:h,vₓ:a,vᵧ:p,v:d},errorBound:{vₓₓₓ_:g,vₓₓᵧ_:v,vₓᵧᵧ_:m,vᵧᵧᵧ_:_,vₓₓ_:b,vₓᵧ_:x,vᵧᵧ_:I,vₓ_:N,vᵧ_:S,v_:E}}=es(t),w=Wl(n[1]),M=Wl(o[1]),C=Wl(i[1]),T=Wl(u[1]),O=Zl(e),P=Zl(r),y=Wl(s),A=Wl(c),B=y/3,z=A/3,Y=$l(O,O),F=Y[1],V=2*(y*B+F),k=$l(O,Y),L=Wl(k[1]),D=y*V+B*F+2*L,X=$l(P,P),Q=X[1],q=2*(A*z+Q),$=$l(P,X),H=Wl($[1]),G=A*q+z*Q+2*H,R=$l(P,Y),U=Wl(R[1]),j=A*V+z*F+2*U,Z=$l(O,X),W=Wl(Z[1]),J=y*q+B*Q+2*W,K=$l(O,P),tt=Wl(K[1]),nt=y*z+B*A+2*tt,et=$l(n,k),rt=w*D+g*L+2*Wl(et[1]),ot=$l(o,R),it=M*j+v*U+2*Wl(ot[1]),st=$l(i,Z),ct=C*J+m*W+2*Wl(st[1]),ut=$l(u,$),lt=T*G+_*H+2*Wl(ut[1]),ft=$l(l,Y),ht=Wl(l[1])*V+b*F+2*Wl(ft[1]),at=$l(f,K),pt=Wl(f[1])*nt+x*tt+2*Wl(at[1]),dt=$l(h,X),gt=Wl(h[1])*q+I*Q+2*Wl(dt[1]),vt=$l(O,a),mt=Wl(a[1])*B+N*y+2*Wl(vt[1]),_t=$l(P,p),bt=Wl(p[1])*z+S*A+2*Wl(_t[1]),xt=Hl(et,ot),It=rt+it+Wl(xt[1]),Nt=Hl(st,ut),St=ct+lt+Wl(Nt[1]),Et=Hl(xt,Nt),wt=It+St+Wl(Et[1]),Mt=Hl(ft,at),Ct=ht+pt+Wl(Mt[1]),Tt=Hl(Mt,dt),Ot=Ct+gt+Wl(Tt[1]),Pt=Hl(Et,Tt),yt=wt+Ot+Wl(Pt[1]),At=Hl(vt,_t),Bt=mt+bt+Wl(At[1]),zt=Hl(At,d),Yt=Bt+E+Wl(zt[1]),Ft=Hl(Pt,zt),Vt=yt+Yt+Wl(Ft[1]);if(Kl*Vt<Wl(jl(Ft)))return!1}{const n=function(t){return Xc(tc(t))}(t);if(void 0===n)return u&&s===t[0][0]&&c===t[0][1];n.hasOwnProperty("vₓₓₓ")||(n.vₓₓₓ=[0],n.vₓₓᵧ=[0],n.vₓᵧᵧ=[0],n.vᵧᵧᵧ=[0]),n.hasOwnProperty("vₓₓ")||(n.vₓₓ=[0],n.vₓᵧ=[0],n.vᵧᵧ=[0]);const{vₓₓₓ:o,vₓₓᵧ:i,vₓᵧᵧ:l,vᵧᵧᵧ:f,vₓₓ:h,vₓᵧ:a,vᵧᵧ:p,vₓ:d,vᵧ:g,v}=n,m=Gl(e,e),_=Gl(e,m),b=Gl(r,r),x=Gl(r,b),I=Gl(r,m),N=Gl(e,b),S=Gl(e,r),E=Gl(o,_),w=Gl(i,I),M=Gl(l,N),C=Gl(f,x),T=Gl(h,m),O=Gl(a,S),P=Gl(p,b),y=Gl(e,d),A=Gl(r,g),B=Rl(E,w),z=Rl(M,C),Y=Rl(B,z),F=Rl(T,O),V=Rl(F,P),k=Rl(Y,V),L=Rl(y,A),D=Rl(L,v),X=Rl(k,D);return 0===Ul(X)}}function nf(t,n){const{coeffs:e,errBound:r,getPExact:o}=zu(t,n);return An(e,0,1,r,o,!0)}const ef=Math.min,rf=Math.max;function of(t,n){let[[e,r],[o,i]]=t,[[s,c],[u,l]]=n;if(e>o&&([e,o]=[o,e]),s>u&&([s,u]=[u,s]),r>i&&([r,i]=[i,r]),c>l&&([c,l]=[l,c]),e<=u&&o>=s&&c<=i&&l>=r)return[[rf(e,s),rf(r,c)],[ef(o,u),ef(i,l)]]}function sf(t,n,e){if(void 0===e)return;if(0===e.length)return[];const r=nf(n,t);if(void 0===r)return;if(0===r.length)return[];const o=r.map((n=>Wn(t,[n.tS,n.tE]))),i=e.map((t=>Wn(n,[t.tS,t.tE]))),s=[];for(let t=0;t<r.length;t++){const n=o[t];for(let o=0;o<e.length;o++){const c=of(n,i[o]);if(void 0!==c){const n={ri:r[t],box:c,kind:1},i={ri:e[o],box:c,kind:1};s.push([n,i])}}}return s}function cf(t,n,e){for(const r of[t,n]){const o=r.length;for(let i=1;i<o+1;i++){const s=r[i-1],c=r[i%o],u=[c[1]-s[1],s[0]-c[0]];let l=Number.POSITIVE_INFINITY,f=Number.NEGATIVE_INFINITY;for(let n=0;n<t.length;n++){const e=u[0]*t[n][0]+u[1]*t[n][1];e<l&&(l=e),e>f&&(f=e)}let h=Number.POSITIVE_INFINITY,a=Number.NEGATIVE_INFINITY;for(let t=0;t<n.length;t++){const e=u[0]*n[t][0]+u[1]*n[t][1];e<h&&(h=e),e>a&&(a=e)}if(e&&(f<h||a<l))return!1;if(!e&&(f<=h||a<=l))return!1}}return!0}const uf=C,lf=T,ff=V,hf=A,af=Number.EPSILON/2,pf=Math.abs;function df(t){const[[n,e],[r,o],[i,s],[c,u]]=t,l=c+3*r,f=n+3*i,h=l-f,a=pf(3*r)+pf(l)+(pf(3*i)+pf(f))+pf(h);if(pf(h)-af*a>0)return!1;const p=u+3*o,d=e+3*s,g=p-d,v=pf(3*o)+pf(p)+(pf(3*s)+pf(d))+pf(g);return!(pf(g)-af*v>0)&&0===ff(hf(lf([c],uf(3,r)),lf([n],uf(3,i))))&&0===ff(hf(lf([u],uf(3,o)),lf([e],uf(3,s))))}const gf=A,vf=V,mf=kt,{abs:_f}=Math;function bf(t){const n=t[0][0],e=t[0][1];for(let r=1;r<t.length;r++)if(n!==t[r][0]||e!==t[r][1])return!1;return!0}function xf(t){return 4===t.length&&df(t)&&(t=Ac(t)),3===t.length&&function(t){const[[n,e],[r,o],[i,s]]=t,c=n+i,u=c-2*r,l=_f(c)+_f(u);if(_f(u)-l>0)return!1;const f=e+s,h=f-2*o,a=_f(f)+_f(h);return!(_f(h)-a>0)&&0===vf(gf(mf(n,i),[2*r]))&&0===vf(gf(mf(e,s),[2*o]))}(t)&&(t=[t[0],t[2]]),2===t.length&&bf(t)&&(t=[t[0]]),t}const If=Number.EPSILON,Nf=If/2;function Sf(t,n){return n<0?t<1?t:1-Nf:0===n?1:t>1?t:1+If}function Ef(t){return B(Ue(t[0],t[1],2))}function wf(t){return V(t[0])*V(t[1])}function Mf(t){return(n,e)=>{const r=Ks(n),o=Ks(e),i=Ks(n.slice().reverse()),s=Ks(e.slice().reverse()),c=t(r,o),u=t(i,o),l=t(r,s),f=t(i,s),h=-wf(u),a=-wf(f),p=Ef(c),d=Ef(l);return[Sf(p,h),Sf(d,a)]}}const Cf=Mf((function(t,n){const e=0===V(t[0][0])?1:0;return function(t,n){const[e,r]=t,[,o]=n;return[A(o,r),e]}(t[e],n[e])}));function Tf(t,n){return hr(zr(t[0],n[1]),zr(t[1],n[0]))*V(t[1])*V(n[1])}const Of=Ye,Pf=Xe,yf=0n;function Af(t){let n=-1024;for(let e=0;e<t.length;e++){const r=t[e];for(let t=0;t<r.length;t++){const e=r[t];if(0===e)continue;const o=-Of(e)+Pf(e)-1;o>n&&(n=o)}}return 0===n?t.map((t=>t.map((t=>BigInt(t))))):n>0?t.map((t=>t.map((t=>{if(0===t)return yf;const e=-Of(t)+Pf(t)-1;return BigInt(t*2**e)*2n**BigInt(n-e)})))):t.map((t=>t.map((t=>BigInt(t*2**n)))))}function Bf(t,n){if(n=n<0n?-n:n,0n===(t=t<0n?-t:t))return n;if(0n===n)return t;for(;0n!==n;){const e=n;n=t%n,t=e}return t}const zf=BigInt(2**53);function Yf(t){if(0n===t)return[0];const n=[];let e=0,r=t;for(;0n!==r;){r=t/zf;const o=t%zf;n.push(Number(o)*2**(53*e)),t=r,e++}return Y(n)}const{round:Ff,sqrt:Vf}=Math;function kf(t){if(t<=1n){if(t<0n)throw new Error("square root of negative numbers are not allowed");return t}let n=BigInt(Ff(Vf(Number(t))));for(;;){const e=n+t/n>>1n;if(e===n)return n;n=e}}function Lf(t){return t<0n?-t:t}function Df(t){let n=0n;for(let e=0;e<t.length;e++)n+=t[e];return n}function Xf(t,n){const[e,r]=Qf(t[0],n[0]),[o,i]=Qf(t[1],n[1]);if(0===Tf(e,o)||0===Tf(e,i))return e;if(0===Tf(r,o)||0===Tf(r,i))return r;throw new Error("An unexpected error occured.")}function Qf(t,n){const[e,r]=t,[o,i]=n,[s,c]=function(t){const[n,e]=Af(t).map(Df),r=Bf(n,e);return[Yf(kf(Lf(n/r))),Yf(kf(Lf(e/r)))]}([o,e]);return[[A(zr(i,c),zr(r,s)),zr(s,dr(e))],[A(zr(i,O(c)),zr(r,s)),zr(s,dr(e))]].sort(Tf)}function qf(t,n){const e=Ks(t),r=0===V(e[0][0])?0:0===V(e[1][0])?1:-1;if(-1!==r){const e=t[0][r],o=t[2][r],i=n[0][r],s=n[2][r];return Cf([[e,e],[o,o]],[[i,i],[s,s]])}return Mf(Xf)(t,n)}const{round:$f,cbrt:Hf}=Math;function Gf(t){const n=(e=t)>0n?1n:e<0n?-1n:0n;var e;if((t=Lf(t))<=1n)return n*t;let r=BigInt($f(Hf(Number(t))));for(;;){const e=(2n*r+t/(r*r))/3n;if(e===r)return n*r;r=e}}function Rf(t){return zr(t,t)}const Uf=Mf((function(t,n){const e=0===V(t[0][0])?1:0;return function(t,n){const[e,r]=t,[o,i]=n,s=function(t){const[n,e]=Af(t).map(Df),r=Bf(n,e);return[Yf(Gf(n/r)),Yf(Gf(e/r))]}([o,e]),c=Rf(s[0]);return[A(zr(i,Rf(s[1])),zr(r,c)),zr(L(3,e),c)]}(t[e],n[e])})),{EPSILON:jf}=Number,Zf=jf/2+jf**2/2;function Wf(t){return t>0?t-t*Zf:t+t*Zf}const{EPSILON:Jf}=Number,Kf=Jf/2+Jf**2/2;function th(t){return t>0?t+t*Kf:t-t*Kf}function nh(t){if(0===t||1===t)return[t,t];const n=Wf(Wf(t)),e=function(t){return th(th(t))}(t);return[n,e]}function eh(t,n,e,r){const o=t.ps,i=n.ps,s=[];let c=nf(o,i);if(void 0===c){const r=2**(e-47),c=function(t,n,e=!1){e||(t=xf(t),n=xf(n));const r=[,,Cf,qf,Uf],[o,i]=r[t.length](t,n),[s,c]=r[t.length](n,t),u=[{tA:o,tB:0,bez:"B",start:!0},{tA:i,tB:1,bez:"B",start:!1},{tA:0,tB:s,bez:"A",start:!0},{tA:1,tB:c,bez:"A",start:!1}].sort(((t,n)=>t.tA-n.tA));if(u[1].tA===u[2].tA){const n=u[1],e=n.tA,r=n.tB,o=Wn(t,[e,e]);return[{p:o[0],kind:4,box:o,t1:e,ri1:{tS:e,tE:e,multiplicity:1},t2:r,ri2:{tS:r,tE:r,multiplicity:1}}]}if(u[0].bez===u[1].bez)return[];const l=u[1],f=u[2],[h,a]=nh(l.tA),[p,d]=nh(l.tB),[g,v]=nh(f.tA),[m,_]=nh(f.tB),b=Wn(t,[h,a]),x=Wn(n,[p,d]),I=Wn(t,[g,v]),N=Wn(n,[m,_]),S=of(b,x),E=of(I,N),w={tS:h,tE:a,multiplicity:1},M={tS:p,tE:d,multiplicity:1},C={tS:g,tE:v,multiplicity:1},T={tS:m,tE:_,multiplicity:1};return[{p:ro(S),kind:5,box:S,t1:eo(w),ri1:w,t2:eo(M),ri2:M},{p:ro(E),kind:5,box:E,t1:eo(C),ri1:C,t2:eo(T),ri2:T}]}(o,i);for(const e of c){const i=x(o,e.ri1.tS),c=[[i[0]-r,i[1]-r],[i[0]+r,i[1]+r]],u={x:{ri:e.ri1,kind:5,box:c},curve:t},l={x:{ri:e.ri2,kind:5,box:c},curve:n};s.push([u,l])}return s}if(r&&(c=c.filter((t=>t.tS>0))),0===c.length)return[];const u=sf(o,i,c);if(void 0===u||0===u.length)return[];for(const e of u){const r={x:e[0],curve:t},o={x:e[1],curve:n};s.push([r,o])}return s}const rh=x,oh=Fn,ih=Ln(1);function sh(t,n,e){const r=n.ps;if(0===t)return r[0],{x:{ri:{tS:t,tE:t,multiplicity:1},box:[r[0],r[0]],kind:e},curve:n};if(1===t){const o=r[r.length-1];return{x:{ri:{tS:t,tE:t,multiplicity:1},box:[o,o],kind:e},curve:n}}const{p:o,pE:i}=function(t,n){const e=rh(t,n),r=oh(t,[0,n]);if(4===t.length)return{p:e,pE:r.map((t=>9*ih*t))};if(3===t.length)return{p:e,pE:r.map((t=>6*ih*t))};if(2===t.length)return{p:e,pE:r.map((t=>3*ih*t))};if(1===t.length)return{p:t[0],pE:[0,0]};throw new Error("The given bezier curve must be of order <= 3.")}(r,t);return{x:{ri:{tS:t,tE:t,multiplicity:1},box:[[o[0]-i[0],o[1]-i[1]],[o[0]+i[0],o[1]+i[1]]],kind:e},curve:n}}function ch(t,n){if(n.next===t){if(t.next===n)return;[t,n]=[n,t]}const e=t.ps,r=n.ps;if(function(t,n){if(4===t.length)return tf(t,n);if(3===t.length)return Ql(t,n);if(2===t.length)return function(t,n){const[e,r]=n,o=e.length,i=r.length,s=e[o-1],c=r[i-1],u=1===o&&1===i;{const{coeffs:{vₓ:n,vᵧ:o,v:i},errorBound:{v_:u}}=Ti(t),l=Cl(e),f=Cl(r),h=Tl(s),a=Tl(c),p=Tl(n[1]),d=Tl(o[1]),g=h/3,v=a/3,m=n[1]*s,_=Ml(l,n),b=p*g+2*Tl(m),x=o[1]*c,I=Ml(f,o),N=d*v+2*Tl(x),S=Il(_,I),E=b+N+Tl(S[1]),w=Il(S,i),M=E+u+Tl(w[1]);if(Ol*M<Tl(wl(w)))return!1}{const n=function(t){return cc(ec(t))}(t);if(void 0===n)return u&&s===t[0][0]&&c===t[0][1];const{vₓ:o,vᵧ:i,v:l}=n,f=Nl(e,o),h=Nl(r,i),a=Sl(Sl(f,h),l);return 0===El(a)}}(t,n);if(1===t.length){const e=Y(n[0]),r=Y(n[1]);return 1===e.length&&1===r.length&&e[0]===t[0][0]&&r[0]===t[0][1]}throw new Error("The given bezier curve must be of order <= 3")}(e,r[r.length-1].map((t=>[t])))){const i=sf(e,r,[(o=1,{tS:o,tE:o,multiplicity:1})]);if(void 0===i||0===i.length)return;return[[{x:i[0][0],curve:t},sh(1,n,1)]]}var o}const uh=Math.abs;const lh=Math.abs,fh=Ln(1),hh=Q,ah=T,ph=A,dh=A,gh=Q,vh=L,mh=yt,_h=function(t,n){const e=t+n,r=e-t;return[t-(e-r)+(n-r),e]},bh=Pt,xh=Et,Ih=Mt,Nh=Ot,Sh=T,Eh=je,wh=2*Number.EPSILON,Mh=Math.abs,Ch=Ln(1);function Th(t,n=!0){if(t.length<4)return[];const{coeffs:[e,r,o],errBound:[i,s,c]}=function(t){const{coeffs:[[n,e,r],[o,i,s]],errorBound:[[c,u],[l,f]]}=function(t){const[[n,e],[r,o],[i,s],[c,u]]=t,l=c-n,f=r-i,h=l+3*f,a=i+n,p=a-2*r,d=r-n,g=u-e,v=o-s,m=g+3*v,_=s+e,b=_-2*o,x=o-e;return{coeffs:[[h,3*p,3*d,n],[m,3*b,3*x,e]],errorBound:[[uh(l)+6*uh(f)+uh(h),6*(uh(a)+uh(p)),6*uh(d),0],[uh(g)+6*uh(v)+uh(m),6*(uh(_)+uh(b)),6*uh(x),0]]}}(t),h=lh(n),a=lh(e),p=lh(r),d=lh(o),g=lh(i),v=lh(s),m=e*o,_=n*i,b=n*s,x=r*o,I=e*s,N=r*i,S=u*d+a*l+lh(m),E=c*g+h*f+lh(_),w=c*v+lh(b),M=p*l+lh(x),C=u*v+lh(I),T=p*f+lh(N),O=m-_,P=lh(O),y=S+E+P,A=x-b,B=lh(A),z=M+w+B,Y=I-N,F=lh(Y),V=C+T+F,k=O*O,L=O*A,D=Y*O,X=A*A,Q=D+X;return{coeffs:[k,L,Q],errBound:[2*y*P+lh(k),y*B+P*z+lh(L),V*P+F*y+lh(D)+(2*B*z+lh(X))+lh(Q)].map((t=>fh*t))}}(t);if(Mh(e)<=i){const[[n,e],[r,o],[i,s],[c,u]]=t,l=Sh(mh(c,n),vh(3,mh(r,i))),f=Eh(_h(i,n),-2*r),h=Sh(mh(u,e),vh(3,mh(o,s))),a=Eh(_h(s,e),-2*o);if(0===hr(gh(f,h),gh(l,a)))return[]}const u=r*r,l=4*e*o,f=u-l,h=2*s*Mh(r)+Ch*u+(4*(i*Mh(o)+Mh(e)*c)+Ch*Mh(l))+Ch*Mh(f);if(f<-h)return[];if(f>h){const{est:t,err:u}=function(t,n){if(t-n<=0){const e=t>0?Math.sqrt(t):0;return{est:e,err:Math.max(Math.sqrt(t+n)-e,e)}}const e=Math.sqrt(t),r=Math.sqrt(t-n),o=Math.sqrt(t+n);return{est:e,err:Math.max(Math.abs(r-e),Math.abs(o-e))}}(f,h);let l;l=r>=0?-r-t:-r+t;const a=s+u+Ch*Mh(l),{est:p,err:d}=Bt(l,2*e,a,2*i),{est:g,err:v}=Bt(2*o,l,2*c,a);if(n){if(p+d<0||p-d>1||g+v<0||g-v>1)return[]}else if((p+d<0||p-d>1)&&(g+v<0||g-v>1))return[]}let[a,p,d]=function(t){const[[n,e,r],[o,i,s]]=tc(t),c=hh(e,o),u=hh(n,i),l=hh(n,s),f=hh(r,o),h=hh(e,s),a=hh(r,i),p=ph(c,u),d=ph(f,l),g=ph(h,a),v=hh(p,p),m=hh(p,d),_=hh(p,g),b=hh(d,d);return[v,m,ah(_,b)]}(t);const g=dh(gh(p,p),vh(4,gh(a,d))),v=V(g);if(v<0)return[];if(v>0){const t=function(t){const n=t[0],e=t[1];if(0===e)return[0,0];const r=Math.sqrt(e),o=r*r,i=134217729*r,s=i-(i-r),c=r-s,u=.5*(e-o-(c*c-(o-s*s-s*c*2))+n)/r;return[u-(r+u-r),r+u]}(yr(g));let e;a=yr(a),p=yr(p),d=yr(d),e=V(p)>=0?bh(xh(p,t)):xh(bh(p),t);let r=B(Nh(e,Ih(a))),o=B(Nh(Ih(d),e));if(n){if(r<-wh||r>1+wh||o<-wh||o>1+wh)return[]}else if((r<-wh||r>1+wh)&&(o<-wh||o>1+wh))return[];return[r,o]=r<o?[r,o]:[o,r],r>=0-wh&&r<=1+wh?o>=0-wh&&o<=1+wh?[r,o]:[r]:o>=0-wh&&o<=1+wh?[o]:[]}const m=gr(a);if(V(p)*V(m)<0)return[];if(hr(pr(p),pr(m))>0)return[];const _=yr(p),b=yr(m),x=Nh(_,b),I=x[1]+x[0];return[I,I]}const Oh=Number.EPSILON,Ph=b((function(t){const n=t.curves;let e=Jn(n[0].ps).minY,r=n[0];for(let o=1;o<n.length;o++){const n=Jn(t.curves[o].ps).minY,i=n.box[0][1],s=e.box[0][1];(i<s||i===s&&n.ts[0]>e.ts[0])&&(e=n,r=t.curves[o])}return{curve:r,y:e}}));function yh(t){const{curve:n,y:e}=Ph(t),r=e.ts;return r[0]<=0?[sh(0,n,0),sh(1,n.prev,0)]:r[1]>=1?[sh(1,n,0),sh(0,n.next,0)]:[{x:{ri:{tS:r[0],tE:r[1],multiplicity:1},kind:0,box:e.box},curve:n},{x:{ri:{tS:r[0],tE:r[1],multiplicity:1},kind:0,box:e.box},curve:n}]}function Ah(t,n,e){const r=e-(n-Math.floor(Math.log2(Math.abs(t))))+1;return r<=0?0:e>=53?t:Ve(t,r)}const{abs:Bh}=Math;function zh(t,n){let e=t.side-n.side;if(0!==e)return e;const r=t.sideX,o=n.sideX;e=r.ri.tS-o.ri.tS;const i=8*Number.EPSILON;return Bh(e)>=i?e:(r.compensated||(r.compensated=1,r.riExp=gi(r.ri,r.getPExact())[0]),o.compensated||(o.compensated=1,o.riExp=gi(o.ri,o.getPExact())[0]),e=hr(r.riExp.tS,o.riExp.tS),0!==e?e:(e=n.dir-t.dir,0!==e?e:1===t.dir?t.idx-n.idx:n.idx-t.idx))}function Yh(t,n,e){const r=function(t,n){const e=[];for(const n of t)for(const t of n.curves)e.push(t);const r=bl(e,(t=>$o(t.ps)[0][0]),(t=>$o(t.ps)[1][0]),function(t){return(n,e)=>{const r=n.ps,o=e.ps;if(2===r.length&&2===o.length)return function(t,n,e){let r=t.ps,o=n.ps;const i=$o(r),s=$o(o);if(t.next!==n&&n.next!==t){if(Ko(!0,i,s)){const r=eh(t,n,e,!1);return r.length?r:void 0}return}if(n.next===t&&([t,n]=[n,t],[r,o]=[o,r]),0!==F(r[0],r[1],o[1]))return;if(!Ko(!1,i,s))return;let c;return c=a(r[0],r[1])>a(o[0],o[1])?[eo(ho(r,o[1])[0].ri),1]:[0,eo(ho(o,r[0])[0].ri)],[[sh(1,t,5),sh(0,n,5)],[sh(c[0],t,5),sh(c[1],n,5)]]}(n,e,t);if(n.next===e||e.next===n)return Ko(!1,$o(r),$o(o))&&cf(oe(r),oe(o),!1)?e.next===n?eh(e,n,t,!0):eh(n,e,t,!0):ch(n,e);let i=Ko(!0,$o(r),$o(o));return i?(i=cf(oe(r),oe(o),!0),i?eh(n,e,t,!1):void 0):void 0}}(n)),o=[];for(const t of r)for(const n of t.u)o.push(n);return o}(t,e),o=function(t){const n=[];for(const e of t)for(const t of e.curves){const e=t.ps,r=Th(e);if(0===r.length)continue;const o=r[0]===r[1]?3:2,i=r[0]-Oh,s=r[0]+Oh,c=r[1]-Oh,u=r[1]+Oh,l=Wn(e,[i,s]),f=Wn(e,[c,u]);n.push([{x:{ri:{tS:i,tE:s,multiplicity:1},box:l,kind:o},curve:t},{x:{ri:{tS:c,tE:u,multiplicity:1},box:f,kind:o},curve:t}])}return n}(t),i=function(t){const n=[];for(const e of t)for(const t of e.curves)n.push([sh(1,t,4),sh(0,t.next,4)]);return n}(t),{extremes:s,xs:c}=function(t){const n=new Map,e=[];for(const r of t){const t=yh(r);e.push(t),n.set(r,t)}return{extremes:n,xs:e}}(t);let u=[...r,...o,...i,...c];if("undefined"!=typeof _debug_){for(const t of r)_debug_.generated.elems.intersection.push(...t);for(const t of o)_debug_.generated.elems.intersection.push(...t);for(const t of i)_debug_.generated.elems.intersection.push(...t);for(const t of c)_debug_.generated.elems.intersection.push(...t)}let l=u.map((t=>({xs:t,box:[[t[0].x.box[0][0]-n,t[0].x.box[0][1]-n],[t[0].x.box[1][0]+n,t[0].x.box[1][1]+n]],inOuts:void 0})));for(;;){const t=bl(l,Fh,Vh,ti);if(!t.length)break;const n=new Map;ni(n,t);const e=oi(n),r=ii(l,e);l=[...si(e),...r]}l=function(t){return t.filter((t=>{const n=t.xs;if(2===t.xs.length){const t=n[0];if(1===t.x.kind&&t.x.ri.multiplicity%2==0)return!1}for(const n of t.xs)if(4!==n.x.kind)return!0;return!1}))}(l),l=function(t,n,e){const r=Math.log2(e)-3;return t.map((t=>{const e=t.box.map((t=>t.map((t=>Ah(t,n,n-r)))));return{...t,box:e}}))}(l,e,n),"undefined"!=typeof _debug_&&(_debug_.generated.elems.container=l);let f=0;for(const t of l){for(const n of t.xs)n.container=t;let n;({inOuts:n,ioIdx:f}=_l(t,f)),t.inOuts=n}u=u.filter((t=>void 0!==t[0].container)),function(t){const n=new Map;for(const e of t)for(const t of e){const e=t.curve.loop,r=n.get(e)||[];r.length||n.set(e,r),r.push(t)}for(const t of n){const n=t[1];if(!n||!n.length)continue;n.sort(((t,n)=>{let e=t.curve.idx-n.curve.idx;return 0!==e?e:(e=t.x.ri.tS-n.x.ri.tS,0!==e?e:void 0!==t.in_?-1:1)}));const e=n.length;for(let t=0;t<e;t++)n[t].next=n[(t+1)%e]}}(u);for(const t of l)for(const n of t.inOuts){if(-1===n.dir)continue;let t=n._x_;for(;t=t.next,void 0===t.in_;);n.next=t.in_,n.idx=n.next.idx}for(const t of l)t.inOuts.sort(zh);for(const t of l){const n=t.inOuts;let e=n[n.length-1];for(let t=0;t<n.length;t++){const r=n[t];r.prevAround=e,e.nextAround=r,e=r}}return{extremes:s,containers:l}}function Fh(t){return t.box[0][0]}function Vh(t){return t.box[1][0]}function kh(t){const n=t.inOuts,e=n[0],r=n[n.length-1];return 1===e.dir?(e.orientation=-1,e):(r.orientation=1,r)}function Lh(t=[],n){const e=[],r={beziers:t,curves:e,idx:n};if(!t.length)return r;let o,i=0;for(let n=0;n<t.length;n++){if(2===(s=t[n]).length?s[0][0]===s[1][0]&&s[0][1]===s[1][1]:3===s.length?s[0][0]===s[1][0]&&s[0][1]===s[1][1]&&s[1][1]===s[2][1]&&s[1][1]===s[2][1]:s[0][0]===s[1][0]&&s[0][1]===s[1][1]&&s[1][1]===s[2][1]&&s[1][1]===s[2][1]&&s[2][1]===s[3][1]&&s[2][1]===s[3][1])continue;const c={loop:r,ps:t[n],prev:o,next:void 0,idx:i};o&&(o.next=c),o=c,e.push(c),i++}var s;const c=e[e.length-1];return e[0].prev=c,c.next=e[0],c.ps[c.ps.length-1]=e[0].ps[0],r}const{orient2d:Dh}=Yr;function Xh(t){if(4===t.length)return 0===Dh(t[0],t[1],t[2])&&0===Dh(t[1],t[2],t[3])&&0===Dh(t[0],t[2],t[3]);if(3===t.length)return 0===Dh(t[0],t[1],t[2]);if(t.length<=2)return!0;throw new Error("The given bezier curve must be of order <= 3.")}function Qh(t){if(!Xh(t))return!1;const n=t.map((t=>t[0])),e=t.map((t=>t[1]));return!(qh(n)&&qh(e))}function qh(t){return function(t){for(let n=1;n<t.length;n++)if(t[n-1]>t[n])return!1;return!0}(t)||function(t){for(let n=1;n<t.length;n++)if(t[n-1]<t[n])return!1;return!0}(t)}function $h(t,n){const e=n/Math.sqrt(t[0]*t[0]+t[1]*t[1]);return[e*t[0],e*t[1]]}function Hh(t){for(let n=0;n<t.length-1;n++)for(let e=n+1;e<t.length;e++)if(t[n][0]===t[e][0]&&t[n][1]===t[e][1])return!1;return!0}const{abs:Gh}=Math;function Rh(t,n,e){if(!bf(t)){if(2===t.length)return t;if(3===t.length)return Hh(t)?Xh(t)?[t[0],t[2]]:t:jh(t[0],t[2])?[t[0],t[1]]:[t[0],t[2]];if(Hh(t))return Uh(t);if(jh(t[0],t[3]))return jh(t[1],t[2])?[t[0],t[2]]:t;if(jh(t[0],t[1])&&jh(t[1],t[2])||jh(t[1],t[2])&&jh(t[2],t[3])||jh(t[0],t[1])&&jh(t[2],t[3]))return Gh(t[0][0]-t[3][0])>4*n||Gh(t[0][1]-t[3][1])>4*n?[t[0],t[t.length-1]]:void 0;if(jh(t[0],t[2])||jh(t[1],t[3])||jh(t[1],t[2]))return t;if(jh(t[0],t[1])){if(a(t[1],t[2])<4*n)return[t[0],t[2],t[2],t[3]];{const r=$h(p(t[1],t[2]),2*n),o=st(t[1],r);return Uh([t[0],e(o),t[2],t[3]])}}if(jh(t[2],t[3])){if(a(t[2],t[1])<4*n)return[t[0],t[1],t[1],t[3]];{const r=$h(p(t[2],t[1]),2*n),o=st(t[2],r);return Uh([t[0],t[1],e(o),t[3]])}}}}function Uh(t){return Xh(t)?[t[0],t[3]]:df(t)?Ac(t):t}function jh(t,n){return t[0]===n[0]&&t[1]===n[1]}function Zh(t){return t}function Wh(t,n,e,r=!1,o=!0){const i=function(t,n,e=!0){const r=2**t*2**-n,o=e?function(t,n){return e=>[Ah(e[0],t,n),Ah(e[1],t,n)]}(t,n):Zh;return t=>{const n=[];for(let e=0;e<t.length;e++){let i=t[e].slice();const s=n[n.length-1],c=s?s[s.length-1]:o(t[0][0]);i[0]=c,i=i.map((t=>o(t))),Qh(i)&&(i=[i[0],i[i.length-1]]),i=Rh(i,r,o),void 0!==i&&n.push(i)}const e=n.length;if(!e)return[];const i=n[e-1];return i[i.length-1]=n[0][0],n}}(e,n,o);let s=t.slice();return s=r?function(t,n,e,r=.02){const o=[];for(const i of t){const t=[];for(const o of i){const i=o.map((t=>t.map((t=>{let o,i=0,s=0,c=0;for(;!(++s>10);){i=(t+Math.random())*(1+(Math.random()-.7)*r),i=Ah(i,e,n);const s=Xe(i);s>c&&(c=s,o=i)}return o}))));t.push(i)}o.push(t)}return o}(s,n,e,1):s,s=s.map(i),s=s.filter((t=>t.length>0)),s}const Jh=b((t=>{let n=0;for(const e of t)for(const t of e)for(const e of t)for(const t of e){const e=Math.abs(t);e>n&&(n=e)}return n}));function Kh(t,n){const e=[],r=t.length-1;for(let n=0;n<r+1;n++)e.push(t[n]/(r+1-n));return e.push(n),e}const ta=bo;function na(t,n){const e=t.length-1,r=n.length-1,o=e-r,i=o<0?+o:0,s=o>0?-o:0,c=Math.max(e,r),u=[];for(let e=0;e<c+1;e++){const r=t[e+i]||0,o=n[e+s]||0;u.push(r+o)}return ta(u)}function ea(t){let n=0;for(const e of t.curves){const t=e.ps,[r,o]=Xo(t),[i,s]=N(t);n+=I(Kh(na(Io(r,s),fn(Io(o,i))),0),1)}return-n/2}function ra(t){return t[0]*t[0]+t[1]*t[1]}function oa(t,n,e){return t[0]*(n[1]*e[2]-n[2]*e[1])-t[1]*(n[0]*e[2]-n[2]*e[0])+t[2]*(n[0]*e[1]-n[1]*e[0])}function ia(t){const n=t[0],e=t[1],r=t[2],o=ra,i=.5*oa([o(n),n[1],1],[o(e),e[1],1],[o(r),r[1],1]),s=.5*oa([n[0],o(n),1],[e[0],o(e),1],[r[0],o(r),1]),c=oa([n[0],n[1],1],[e[0],e[1],1],[r[0],r[1],1]);return[i/c,s/c]}function sa(t){return Math.sqrt(t[0]*t[0]+t[1]*t[1])}const ca=b(Kn),ua=a;function la(t,n){const e=t[0],r=t[1],o=e[0],i=e[1],s=r[0],c=r[1],u=n[0],l=n[1];return u<o?l<i?ua(t[0],n):l>c?ua([o,c],n):(o-u)**2:u>s?l<i?ua([s,i],n):l>c?ua(t[1],n):(u-s)**2:l<i?(i-l)**2:l>c?(l-c)**2:0}function fa(t,n){const e=[0,1,2,3].map((e=>function(t,n){const e=a,r=n[0],o=n[1],i=e(r,o);if(0==i)return e(t,r);let s=((t[0]-r[0])*(o[0]-r[0])+(t[1]-r[1])*(o[1]-r[1]))/i;return s=Math.max(0,Math.min(1,s)),e(t,[r[0]+s*(o[0]-r[0]),r[1]+s*(o[1]-r[1])])}(n,[t[e],t[(e+1)%4]]))),r=a(t[0],t[1]),o=a(t[0],t[3]);return e[0]<=o&&e[2]<=o&&e[1]<=r&&e[3]<=r?0:Math.min(...e)}const ha=b(ee);function aa(t,n){if(t.length>0){const e=function(t,n){let e=Number.POSITIVE_INFINITY;for(let r=0;r<t.length;r++){const o=t[r],i=o.curve.ps,s=x(i,o.ts[0]),c=x(i,o.ts[1]),u=Math.min(a(n,s),a(n,c));u<e&&(e=u)}return 1.01*e}(t,n);t=function(t,n,e){const r=[];for(let o=0;o<t.length;o++){const i=t[o],s=i.curve.ps;la(ca(s),n)<=e&&r.push(i)}return r}(t,n,e),t=function(t,n,e){const r=[];for(let o=0;o<t.length;o++){const i=t[o],s=i.curve.ps;fa(ha(s),n)<=e&&r.push(i)}return r}(t,n,e)}return t}const pa=Nt,da=Et;function ga(t,n){const e=t.length;if(0===n)return t[0];if(1===n)return t[e-1];const[r,o]=Xo(t);return[I(r,n),I(o,n)]}function va(t,n,[e,r]=[0,1],o,i){const s=function(t,n){if(4===t.length)return ae(t,n);if(3===t.length)return xe(t,n);if(2===t.length)return we(t,n);throw new Error("The given bezier curve must be of order 1,2 or 3")}(t.ps,n),c=t===o?function(t,n){const e=t.length-1,r=[t[0]];for(let o=1;o<e;o++)r.push(da(t[o],pa(n,r[o-1])));return r}(s,i):s,u=An(c,e,r);let l=!0,f=!0;(1===i&&t===o.next||0===i&&t===o)&&(l=!1),(0===i&&t===o.prev||1===i&&t===o)&&(f=!1),0===e?l&&u.push({tS:0,tE:0}):1===e?f&&u.push({tS:1,tE:1}):u.push({tS:e,tE:e}),0===r?l&&u.push({tS:0,tE:0}):1===r?f&&u.push({tS:1,tE:1}):u.push({tS:r,tE:r});const h=u.map((n=>{const e=n.tS,r=n.tE,o=e<0?0:r>1?1:(e+r)/2;return{p:ga(t.ps,o),t:o}}));return h}function ma(t,n,e,r){t=aa(t,n);let o,i=Number.POSITIVE_INFINITY;for(let s=0;s<t.length;s++){const c=t[s],u=v(n,va(c.curve,n,c.ts,e,r),(t=>t.p));if(void 0===u)continue;const l=te(u.p,n);let f=c.curve,h=u.t;l<i&&(0===h&&(h=1,f=c.curve.prev),o={pos:new R(f,h),d:l},i=l)}return o}function _a(t,n){return n.map((n=>{const e=ma(n,t,void 0,void 0);return e?e.pos:void 0}))}function ba(t,n,e){const r=sa(e);let o,i,s,c,u=1,l=0;do{i=st([(h=u)*(f=e)[0],h*f[1]],n),s=_a(i,t),c=sa(p(i,ia(s.map((t=>t.p))))),o=c<r,u/=2,l++}while(!o&&l<3);var f,h;return{newX:i,newV:c,newPs:s}}const xa=p;function Ia(t,n,e,r,o){const i=1e-10*o,s=[t[0],t[n],t[t.length-1]],c=[r[0],r[n],r[t.length-1]],u=[[s[0],s[1],s[2]],[s[1],s[2],s[0]],[s[2],s[0],s[1]]][e],l=[[c[0],c[1],c[2]],[c[1],c[2],c[0]],[c[2],c[0],c[1]]][e];if(u[0][0].isSharp())return;let f,a,d=0,g=function(t,n){const e=t[0][0].cp.circle.center,r=ma(n[1],e,void 0,void 0);return ia([t[0][0].cp.pointOnShape.p,r.pos.p,t[2][1].cp.pointOnShape.p])}(u,l);if("undefined"!=typeof _debug_){const t=_debug_.generated.elems.threeProng,n=t[t.length-1];n.traces[n.traces.length-1].push(g)}let v=Number.POSITIVE_INFINITY;for(;v>i&&d<10;){if(d++,f=_a(g,l),!Number.isFinite(g[0])||!Number.isFinite(g[1]))return;a=ia(f.map((t=>t.p)));const t=xa(g,a);if(!Number.isFinite(t[0])||!Number.isFinite(t[1]))return;const n=ba(l,g,t);if(g=n.newX,f=n.newPs,"undefined"!=typeof _debug_){const t=_debug_.generated.elems.threeProng,n=t[t.length-1];n.traces[n.traces.length-1].push(g)}const e=sa(t);v=Math.abs(e-n.newV)}const m=(te(g,f[0].p)+te(g,f[1].p)+te(g,f[2].p))/3,_={center:g,radius:m};let b=0;for(let t=0;t<3;t++){const n=f[t],e=h(p(n.p,g)),r=it(e);if(W(n)){const t=G(n.curve).tangents.map(it),r=Math.asin(w(t[0],e)),o=Math.asin(w(e,t[1]));let i=0;r>0&&(i+=r),o>0&&(i+=o),b+=i}else{const t=h(E(n.curve.ps,n.t));b+=Math.abs(Math.asin(w(r,t)))}}const x=[];for(let t=0;t<r.length;t++){const n=ma(r[t],g,void 0,void 0);x.push(te(n.pos.p,g))}const I=Math.min(...x);return{ps:f,circle:_,error:1*Math.abs(m-I)+1*b,δ3s:u}}function Na(t){let n=t[0];const e=t[1],r=[];let o=!0;do{if(!o){o=!0,n=n.prevOnCircle;continue}o=!1;const t=n.cp.pointOnShape,e=n.next.cp.pointOnShape;e.curve===t.curve&&J(t)&&J(e)||(e.curve===t.curve&&rt(n.next.cp,n.cp)>0?r.push({curve:t.curve,ts:[t.t,e.t]}):(r.push({curve:t.curve,ts:[t.t,1]}),n.cp.pointOnShape.curve.loop===n.next.cp.pointOnShape.curve.loop&&Sa(r,t.curve,e.curve,e.t))),n=n.next}while(n!==e);return r}function Sa(t,n,e,r){let o=n;do{o=o.next;const n=o===e?r:1;t.push({curve:o,ts:[0,n]})}while(o!==e)}function Ea(t,n,e,r){const o=t.findBounds(new ht({pointOnShape:n,circle:void 0,order:e,order2:r},!1,!1));return o[0]||o[1]?o[0]&&o[1]?[o[0].datum,o[1].datum]:[t.max(t.root),t.min(t.root)]:[void 0,void 0]}function wa(t,n,e,r,o){const i=r.map(((r,i)=>{const s=e.get(r.curve.loop),c={pointOnShape:r,circle:t,order:n[i],order2:0},u=o?o[i]:Ea(s,r,n[i],0);return ht.insert(!1,!1,s,c,u[0])})),s=r.length;for(let t=0;t<s;t++){const n=0===t?s-1:t-1,e=t===s-1?0:t+1;i[t].prevOnCircle=i[n],i[t].nextOnCircle=i[e]}}function Ma(t,n,e,r,o,i,s){const c=1e-4*i,u=Ea(t.get(n.curve.loop),n,r,o);if(!u[0])return!1;for(const t of u){const r=t.cp.pointOnShape,o=n.p;if(!(te(o,r.p)>c)&&m(h(p(t.cp.pointOnShape.p,t.cp.circle.center)),h(p(o,e.center)))>.9986295347545738)return!0}return!1}function Ca(t,n,e){function r(n,e){let r=t.get(n);r||(r=new Set,t.set(n,r)),r.add(e)}void 0!==n&&(r(n,e),r(e,n))}function Ta(t,n,e){let r;r=t.get(n);const o=r&&r.has(e);r=t.get(e);const i=r&&r.has(n);return o||i}function Oa(t){let n=t;if(n===n.next.prevOnCircle)return[n];const e=[];do{e.push(n);const t=n.next.prevOnCircle;n=n=n===t?n.next.next:t}while(n!==t);return e}let Pa,ya=0;function Aa(t,n,e){let r;do{if(r=Oa(n),r.length>2&&(Ba(t,r,e),ya++),"undefined"!=typeof _debug_&&ya===_debug_.directives.stopAfterThreeProngsNum)return}while(r.length>2);return r}function Ba(t,n,e){const r=[];for(const t of n)r.push([t,t.next]);const o=function(t,n){const e=t.map(Na);if("undefined"!=typeof _debug_){const t=_debug_.generated.elems.threeProng;t.push({generated:void 0,circle:void 0,poss:void 0,cp3ss:void 0,cpss:void 0,bestIndx:void 0,candidateThreeProngs:void 0,visitedCps:void 0,boundaries:void 0,traces:void 0});const n=t[t.length-1];n.boundaries=[];for(const t of e){const e=[];n.boundaries.push(e);for(const n of t){const t=ao(n.curve.ps,n.ts[0],n.ts[1]);e.push(t)}}n.traces=[]}const r=[];let o,i,s=Number.POSITIVE_INFINITY;for(let c=1;c<t.length-1;c++)for(let u=0;u<3;u++){if("undefined"!=typeof _debug_){const t=_debug_.generated.elems.threeProng,n=[];t[t.length-1].traces.push(n)}const l=Ia(t,c,u,e,n);if(!l)continue;const{circle:f,ps:h,error:a,δ3s:p}=l;"undefined"!=typeof _debug_&&r.push({circle:f,ps:h}),a<s&&(s=a,i=c-1,o={circle:f,ps:h,δ3s:p})}if("undefined"!=typeof _debug_){const n=_debug_.generated.elems.threeProng,e=n[n.length-1];e.generated=_debug_.generated,e.circle=o.circle,e.poss=o.ps,e.cp3ss=o.δ3s,e.cpss=t,e.bestIndx=i,e.candidateThreeProngs=r}return o}(r,e),i=[];for(let t=0;t<3;t++)i.push(K(o.circle,o.ps[t]));const s=function(t,n,e){const{circle:r,ps:o,δ3s:i}=e;return Ma(t,o[0],r,n[0],0,1e3),Ma(t,o[1],r,n[1],0,1e3),Ma(t,o[2],r,n[2],0,1e3),wa(r,n,t,o,i),r}(t,i,o);"undefined"!=typeof _debug_&&function(t,n){const e=_debug_.generated.elems.threeProng,r=e[e.length-1];r.visitedCps=n,r.circle=t}(s,n)}class za{constructor(t){this.datum=t,this.color=0}}function Ya(t){return!!t&&0===t.color}class Fa{constructor(t,n=!0,e){if(this.compare=t,this.duplicatesAllowed=n,this.getMinNode=this.getMinOrMaxNode(-1),this.getMaxNode=this.getMinOrMaxNode(1),this.root=void 0,this.nodeCount=0,this.valueCount=0,e)for(const t of e)this.insert(t)}isEmpty(){return!this.root}find(t){const n=this;let e=this.root;for(;e;){const r=n.compare(t,e.datum);if(0===r)return e;e=e[r>0?1:-1]}}toArrayInOrder(){const t=[];return function n(e){e&&(n(e[-1]),t.push(e.datum),void 0!==e.extras&&t.push(...e.extras),n(e[1]))}(this.root),t}insertMulti(t){const n=this;for(const e of t)n.insert(e)}insert(t){const n=this;n.root=function t(e,r){if(void 0===e)return n.valueCount++,n.nodeCount++,new za(r);const o=n.compare(r,e.datum);if(0===o&&(n.duplicatesAllowed?(n.valueCount++,void 0===e.extras?e.extras=[r]:e.extras.push(r)):e.datum=r),0!==o){const n=o>0?1:-1;e[n]=t(e[n],r),e[n].parent=e}return Ya(e[1])&&!Ya(e[-1])&&(e=Va(-1,e)),Ya(e[-1])&&Ya(e[-1][-1])&&(e=Va(1,e)),Ya(e[-1])&&Ya(e[1])&&La(e),e}(n.root,t),n.root.color=1,n.root.parent=void 0}remove(t,n=!1,e){const r=this;if(void 0===r.root)return;let o;const i=function t(i,s){const c=r.duplicatesAllowed&&void 0!==i.extras;let u=r.compare(s,i.datum);if(u<0&&!i[-1]||u>0&&!i[1])return i;if(u<0){Ya(i[-1])||Ya(i[-1][-1])||(i=Da(i));const n=t(i[-1],s);return null===n?null:(i[-1]=n,i[-1]&&(i[-1].parent=i),Xa(i))}if(Ya(i[-1])&&(i=Va(1,i),u=r.compare(s,i.datum)),0===u&&!i[1]){if(c&&!n){if(void 0===e||!0===e(s,i.datum))return o=i.datum,i.datum=i.extras.pop(),r.valueCount--,0===i.extras.length&&(i.extras=void 0),i;{const t=i.extras;for(let n=0;n<t.length;n++)if(!0===e(s,t[n]))return o=t.splice(n,1)[0],r.valueCount--,0===t.length&&(i.extras=void 0),i;return null}}return void 0===e||!0===e(s,i.datum)?(o=i.datum,r.valueCount-=1+(c?i.extras.length:0),void r.nodeCount--):null}if(Ya(i[1])||Ya(i[1][-1])||(i=function(t){return La(t),Ya(t[-1][-1])&&La(t=Va(1,t)),t}(i),u=r.compare(s,i.datum)),0===u)if(c&&!n)if(void 0===e||!0===e(s,i.datum))o=i.datum,i.datum=i.extras.pop(),r.valueCount--,0===i.extras.length&&(i.extras=void 0);else{const t=i.extras;let n=!1;for(let c=0;c<t.length;c++)if(!0===e(s,t[c])){o=t.splice(c,1)[0],r.valueCount--,0===t.length&&(i.extras=void 0),n=!0;break}if(!n)return null}else{if(void 0!==e&&!0!==e(s,i.datum))return null;{r.valueCount-=1+(c?i.extras.length:0),o=i.datum;const t=r.getMinNode(i[1]);i.datum=t?.datum,r.duplicatesAllowed&&(i.extras=t?.extras),i[1]=ka(i[1]),r.nodeCount--}}else{const n=t(i[1],s);if(null===n)return null;i[1]=n}return i[1]&&(i[1].parent=i),Xa(i)}(r.root,t);return null!==i?(r.root=i,void 0!==r.root&&(r.root.color=1,r.root.parent=void 0),o):void 0}findBounds(t){const n=this;let e=n.root;const r=[void 0,void 0];if(void 0===e)return r;for(;e;){const o=n.compare(t,e.datum);o>=0?r[0]=e:r[1]=e,e=e[o>=0?1:-1]}return r}findBoundsExcl(t){const n=this,e=n.root,r=[void 0,void 0];return void 0===e||function e(o){for(;o;){const i=n.compare(t,o.datum);if(0===i)return e(o[-1]),void e(o[1]);i>0?r[0]=o:i<0&&(r[1]=o),o=o[i>0?1:-1]}}(e),r}findAll(t){const n=this;let e=this.root;for(;e;){const r=n.compare(t,e.datum);if(0===r)return[e.datum,...e.extras?e.extras:[]];e=e[r>0?1:-1]}return[]}getMinOrMaxNode(t){return n=>{if(void 0===n&&(n=this.root),n){for(;n[t];)n=n[t];return n}}}min(t){void 0===t&&(t=this.root);const n=this.getMinNode(t);if(void 0!==n)return n.datum}max(t){void 0===t&&(t=this.root);const n=this.getMaxNode(t);if(void 0!==n)return n.datum}}function Va(t,n){const e=n[-t];return n[-t]=e[t],e[t]&&(e[t].parent=n),e[t]=n,n.parent=e,e.color=n.color,n.color=0,e}function ka(t){if(t[-1])return Ya(t[-1])||Ya(t[-1][-1])||(t=Da(t)),t[-1]=ka(t[-1]),t[-1]&&(t[-1].parent=t),Xa(t)}function La(t){t.color=(t.color+1)%2,t[-1].color=(t[-1].color+1)%2,t[1].color=(t[1].color+1)%2}function Da(t){if(La(t),Ya(t[1][-1])){const n=Va(1,t[1]);t[1]=n,n.parent=t,La(t=Va(-1,t))}return t}function Xa(t){return Ya(t[1])&&(t=Va(-1,t)),Ya(t[-1])&&Ya(t[-1][-1])&&(t=Va(1,t)),Ya(t[-1])&&Ya(t[1])&&La(t),t}const Qa=Number.POSITIVE_INFINITY,qa=b((function(t){const n=[[{bezier:void 0,t:void 0,val:Qa},{bezier:void 0,t:void 0,val:Qa}],[{bezier:void 0,t:void 0,val:-Qa},{bezier:void 0,t:void 0,val:-Qa}]];return t.curves.forEach((function(t){const e=Ho(t.ps);{const r=e.box[0][0],o=n[0][0].val;(r<o||r===o&&e.ts[0][0]>n[0][0].t)&&(n[0][0]={bezier:t,t:e.ts[0][0],val:r})}{const r=e.box[0][1],o=n[0][1].val;(r<o||r===o&&e.ts[0][1]>n[0][1].t)&&(n[0][1]={bezier:t,t:e.ts[0][1],val:r})}{const r=e.box[1][0],o=n[1][0].val;(r>o||r===o&&e.ts[1][0]>n[1][0].t)&&(n[1][0]={bezier:t,t:e.ts[1][0],val:r})}{const r=e.box[1][1],o=n[1][1].val;(r>o||r===o&&e.ts[1][1]>n[1][1].t)&&(n[1][1]={bezier:t,t:e.ts[1][1],val:r})}})),{minX:new R(n[0][0].bezier,n[0][0].t),minY:new R(n[0][1].bezier,n[0][1].t),maxX:new R(n[1][0].bezier,n[1][0].t),maxY:new R(n[1][1].bezier,n[1][1].t)}})),$a=b((function(t){let n,e,r,o,i=Number.POSITIVE_INFINITY,s=Number.NEGATIVE_INFINITY,c=Number.POSITIVE_INFINITY,u=Number.NEGATIVE_INFINITY;for(const l of t){const t=qa(l);t.minX.p[0]<i&&(n=t.minX,i=t.minX.p[0]),t.maxX.p[0]>s&&(e=t.maxX,s=t.maxX.p[0]),t.minY.p[1]<c&&(r=t.minY,c=t.minY.p[1]),t.maxY.p[1]>u&&(o=t.maxY,u=t.maxY.p[1])}return{minX:n,minY:r,maxX:e,maxY:o}}));function Ha(t,n,e){if(W(e))return void("undefined"!=typeof _debug_&&_debug_.generated.elems.oneProngAtDullCorner.push(e));const r=et(t,e);Ma(n,e,r,K(r,e),0,1e3)||(wa(r,[-.5,.5],n,[e,e]),"undefined"!=typeof _debug_&&_debug_.generated.elems.oneProng.push(e))}function Ga(t){return t.holeClosing?"twoProng_holeClosing":"twoProng_regular"}function Ra(t,n,e){if(t.length<=5)return t;const r=[];for(const o of t){const t=o.curve.ps;la(ca(t),n)<=1.001*e&&r.push(o)}return r}function Ua(t,n,e){const r=Math.abs((t[1]-n[1])/(t[0]-n[0]))>1;let o,i,s,c,u,l;r?(o=t[1],i=t[0],s=n[1],c=n[0],u=e[1],l=e[0]):(o=t[0],i=t[1],s=n[0],c=n[1],u=e[0],l=e[1]);const f=(i-c)/(o-s),h=c-f*s,a=(s*s+c*c-u*u-l*l+2*h*(l-c))/(2*(s-u+f*(c-l))),p=f*a+h;return r?[p,a]:[a,p]}const ja=x;function Za(t,n,e,r,o,i,s){const c=(1e-6*n)**2,u=.01*c,l=e,{bezierPieces:f,δ:h}=function(t,n,e,r,o){let i,s;if(t){i=[];for(let t=0;t<n;t++){const n=e[t].curves.map((t=>({curve:t,ts:[0,1]})));i.push(...n)}}else{const t=W(o)?1===o.t?-1:1:0,c=e[n],u=Ea(r.get(c),o,t,0)[0];s=[u,u],i=u&&u!==u.next.next?Na(s):c.curves.map((t=>({curve:t,ts:[0,1]})))}return{bezierPieces:i,δ:s}}(i,s,t,r,o);let p,g,v;i?(g=[o.p[0],o.p[1]],p=[g[0],g[1]-Math.sqrt(l)],v=l):(g=o.p,p=et(l,o).center,v=a(g,p));const m=function(t,n,e,r){const o=.001*t;let i,s=Number.POSITIVE_INFINITY;for(let o=0;o<n.length;o++){const c=n[o],u=c.curve.ps,l=ja(u,c.ts[0]);let f=Number.POSITIVE_INFINITY;if(!i||i[0]!==l[0]||i[1]!==l[1]){const n=Wa(t,e,r,l);n&&(f=a(e,n))}let h=Number.POSITIVE_INFINITY;const p=ja(u,c.ts[1]),d=Wa(t,e,r,p);d&&(h=a(e,d)),i=p;const g=Math.min(f,h);g<s&&(s=g)}return s+o}(n,f,g,p);v>m&&(p=d(g,p,Math.sqrt(m/v)));const _=[];let b,x=0,I=0,N=!1,S=f;do{x++;const t=a(p,o.p);if(S=Ra(S,p,t),b=ma(S,p,o.curve,o.t),void 0===b){if("undefined"!=typeof _debug_){const t=_debug_.generated.elems,n=i?t.twoProng_holeClosing:t.twoProng_regular,e=i?"hole-closing: "+n.length:"regular: "+n.length;console.log("failed: no closest point - "+e)}N=!0;break}"undefined"!=typeof _debug_&&_.push({x:p,y:o,z:b.pos,t:o.t});const n=a(p,b.pos.p);if(1===x&&t<n+1e-8)return void Ha(Math.sqrt(l),r,o);if(!i&&a(o.p,b.pos.p)<=c){N=!0;break}const e=Ua(p,o.p,b.pos.p),s=a(p,e);if(p=e,s<u)I++;else if(25===x){N=!0;break}}while(I<1);let E,w=[];return N||(w=function(t,n,e,r){const o=e.curve,i=e.t,s=e.p;t=aa(t,n);const c=[];for(let e=0;e<t.length;e++){const s=t[e],u=va(s.curve,n,s.ts,o,i);for(let t=0;t<u.length;t++){const e=u[t],o=te(e.p,n);let i=s.curve,l=e.t;Math.abs(o-r)<1e-9&&(0===l&&(l=1,i=s.curve.prev),c.push({pos:new R(i,l),d:o}))}}if(c.length>1){const t=[];for(let n=0;n<c.length;n++)c[n],t.push(n);const n=[];for(let e=0;e<t.length;e++)for(let r=e+1;r<t.length;r++){if(e===r)continue;const o=c[t[e]].pos.p,i=c[t[r]].pos.p,u=s;(Math.abs(o[0]-i[0])<1e-6&&Math.abs(o[1]-i[1])<1e-6||Math.abs(o[0]-u[0])<1e-6&&Math.abs(o[1]-u[1])<1e-6)&&n.push(t[e])}for(let t=n.length-1;t>=0;t--)c.splice(n[t],1)}return c}(S,p,o,te(p,b.pos.p)),w.length||w.push(b)),void 0!==b&&(E={center:p,radius:te(p,b.pos.p)}),"undefined"==typeof _debug_||N||(_.push({x:p,y:o,z:b.pos,t:o.t}),function(t,n,e,r,o,i,s,c){const u={generated:_debug_.generated,bezierPieces:t,pos:e,δ:i,z:o?o.p:void 0,circle:r,xs:s,failed:n,holeClosing:c,notAdded:!1,deleted:!1,cpNode:void 0},l=Ga(u);_debug_.generated.elems[l].push(u)}(f,N,o,E,b.pos,h,_,i)),N?void 0:{circle:E,zs:w}}function Wa(t,n,e,r){const o=(1e-4*t)**2;if(a(n,r)<o)return;const i=[(n[0]+r[0])/2,(n[1]+r[1])/2],s=[r[0]-n[0],r[1]-n[1]],c=[-s[1],s[0]],u=ot([n,e],[i,[i[0]+c[0],i[1]+c[1]]]);return u?m([u[0]-n[0],u[1]-n[1]],[e[0]-n[0],e[1]-n[1]])<0?void 0:u:void 0}function Ja(t,n,e,r,o,i){const s=K(n,e),c=r.map((t=>K(n,t.pos)));let u,l=e.t;0===l&&(l=1,u=e.curve.prev,e=new R(u,l));let f=!1;for(let e=0;e<r.length;e++){const o=r[e],s=c[e];if(Ma(t,o.pos,n,s,0,i)){f=!0;break}}if(Ma(t,e,n,s,0,i)||f)return void("undefined"!=typeof _debug_&&(o?_debug_.generated.elems.twoProng_holeClosing.pop():_debug_.generated.elems.twoProng_regular.pop()));const h=[],a=[],p=[],d=[],g=[];for(let e=0;e<r.length;e++){const i=r[e],s=c[e],u={pointOnShape:i.pos,circle:n,order:s,order2:0};a.push(u);const l=i.pos.curve.loop;g.push(l);const f=t.get(l);p.push(f);const v=Ea(f,i.pos,s,0);d.push(v),h.push(ht.insert(o,!1,f,u,v[0]))}const v={pointOnShape:e,circle:n,order:s,order2:0},m=e.curve.loop,_=t.get(m),b=Ea(_,e,s,0),x=ht.insert(o,!1,_,v,b[0]);if(1===h.length)x.prevOnCircle=h[0],x.nextOnCircle=h[0],h[0].prevOnCircle=x,h[0].nextOnCircle=x;else{const t=h.slice();t.push(x),t.sort(function(t){const n=t.center,e=Ye(t.radius);return function(t,r){let o=t.cp.pointOnShape.p,i=r.cp.pointOnShape.p;o=[o[0]-n[0],o[1]-n[1]],i=[i[0]-n[0],i[1]-n[1]];const s=Ka(o[0],e),c=Ka(o[1],e),u=Ka(i[0],e),l=Ka(i[1],e),f=tp(s,c);return tp(u,l)-f}}(n));for(let n=0;n<t.length;n++){const e=n+1===t.length?0:n+1,r=0===n?t.length-1:n-1,o=t[n],i=t[e],s=t[r];o.nextOnCircle=i,o.prevOnCircle=s}}if(o){const t={pointOnShape:r[0].pos,circle:n,order:a[0].order,order2:1},o=ht.insert(!0,!1,p[0],t,h[0]),i={pointOnShape:e,circle:n,order:v.order,order2:-1},s=ht.insert(!0,!1,_,i,x.prev);s.prevOnCircle=o,s.nextOnCircle=o,o.prevOnCircle=s,o.nextOnCircle=s,h[0].next=x,x.prev=h[0],s.next=o,o.prev=s}if("undefined"!=typeof _debug_){let t;t=o?_debug_.generated.elems.twoProng_holeClosing:_debug_.generated.elems.twoProng_regular;const n=t[t.length-1];x||console.log("asas"),n.cpNode=x}return x}function Ka(t,n){return t*2**-(n+1)}function tp(t,n){return t>0?t>.5?n:n<0?t-2:2-t:t<-.5?4-n:n<0?t+6:2-t}function np(t,n,e,r,o){const i=r.length,s=function(t){const n=[];for(let e=0;e<t;e++)n.push(e);return n}(i);let c;const u=$a(t),l=(u.maxX.p[0]-u.minX.p[0])**2+(u.maxY.p[1]-u.minY.p[1])**2;for(let u=0;u<i;u++){const i=r[s[u]],f=Za(t,o,l,n,i,!1,e);if(f){const{circle:t,zs:e}=f,r=Ja(n,t,i,e,!1,o);c=c||r}if("undefined"!=typeof _debug_&&u+1===_debug_.directives.stopAfterTwoProngsNum)return}return c}function ep(t){if(Xh(t))return{minima:[],maxima:[],inflections:[]};if(4===t.length&&df(t)&&(t=Ac(t)),3===t.length){const n=function(t){const[[n,e],[r,o],[i,s]]=t,c=i-r,u=c-(r-n),l=s-o,f=l-(o-e);return[u*u+f*f,-(n*(u-r)-r*(c-r)+e*(f-o)-o*(l-o))]}(t);return{minima:[],maxima:Do(n,0,1),inflections:[]}}const n=function(t){const[[n,e,r],[o,i,s]]=N(t),[[c,u],[l,f]]=S(t),[h,a]=H(t),p=h*i,d=a*e,g=u*s,v=u*i,m=l*l,_=c*s,b=f*r,x=f*e,I=l*r,E=r*e,w=r*n,M=r*o,C=e*e,T=e*n,O=e*i,P=n*s,y=n*o,A=n*n,B=s*i,z=s*o,Y=i*i,F=i*o,V=o*o,k=h*s-a*r,L=u*r+f*s,D=g-b,X=r*r+s*s,Q=O+P,q=z+Y,$=w+C,G=e*o+n*i,R=A-V,U=T-F,j=E-B,Z=r*i+e*s,W=z+q,J=w+$,K=M+Q,tt=O+Q,nt=J-W,et=Q+P,rt=M+O+P,ot=2*x+I;return{inflectionPoly:[c*o-l*n,u*o+c*i-f*n-l*e,v+_-x-I,g-b],otherExtremaPoly:[A*(p-3*d)+V*(3*p-d)+2*(y*(h*e-a*i+3*(f*l-u*c))+3*c*l*U)+3*(G*(m-c*c)+R*(u*l+f*c)),h*(o*(J+3*q)+n*tt)-a*(r*(3*A+V)+e*(3*T+2*F)+n*W)+3*(u*(f*R-u*y+2*(l*U-c*G))+c*(2*f*U+l*(2*(w-z)+(C-Y))-c*rt)+f*(f*y+2*l*G)+m*K),h*(2*r*G+e*et+i*(4*z+W))-a*(2*r*(3*T+F)+e*(C+2*z)+i*et)+3*(u*(2*(f*U-c*rt)+l*nt-u*G)+c*(2*l*j-c*Z)+f*(f*G+2*l*K+c*nt)+m*Z),h*(r*(M+2*Q)+s*(C+3*q))-a*(r*(3*$+W)+s*tt)+3*(u*(f*nt-u*K+2*(l*j-c*Z))+c*(r*(ot-c*s)-s*(2*f*i+l*s))+f*(f*Q+r*(2*l*i+f*o))+l*s*ot),X*(p-d)+2*(E+B)*k-3*(L*(v+_-x-I)+(u*e+c*r+f*i+l*s)*D),k*X-3*L*D]}}(t),e=n.inflectionPoly,r=n.otherExtremaPoly,o=Do(r,0,1),i=Oo(r),s=[],c=[];for(let t=0;t<o.length;t++){const n=o[t],r=I(i,n);I(e,n)*r>=0?s.push(n):c.push(n)}return{minima:s,maxima:c,inflections:Do(e,0,1)}}const rp=At,op=Et,ip=wt,{atan2:sp}=Math;function cp(t,n){const e=t[0],r=t[1],o=n[0],i=n[1],s=ip(rp(i,e),rp(o,r))[1],c=op(rp(o,e),rp(i,r))[1];return sp(s,c)}const{abs:up}=Math;function lp(t){const n=[];for(let e=0;e<t.length-1;e++){const r=[t[e+1][0]-t[e][0],t[e+1][1]-t[e][1]];0!==(0!==r[0]||r[1])&&n.push(r)}const e=n.length;let r=0;for(let t=0;t<e-1;t++)r+=up(cp(n[t],n[t+1]));return r}function fp(t,n=.4,e=10,r=2**-16){const o={r:[0,1]};let i=o;for(;void 0!==i;){const o=i.r,s=ao(t,o[0],o[1]);if(ne(s)<=e&&lp(s)<=n||o[1]-o[0]<=r){i=i.next;continue}const c=(o[0]+o[1])/2,u=[o[0],c],l=[c,o[1]];i.r=u,i.next={r:l,next:i.next}}i=o;const s=[];for(;void 0!==i;)s.push(i.r[0]),void 0===i.next&&s.push(i.r[1]),i=i.next;return s}function hp(t){const{isQuiteSharp:n,isQuiteDull:e}=G(t);return n?[new R(t,1)]:e?[new R(t,1),new R(t.next,0)]:[]}function ap(t){return qa(t).minY}const pp=Math.max,dp=Math.abs;function gp(t,n=.4,r=4){let o,i;({maxCurviness:n,maxLength:r,maxCoordinate:o,minBezLength:i}=function(t,n,e){const{maxCoordinate:r,maxRadius:o}=function(t){let n=0,e=Number.POSITIVE_INFINITY,r=Number.NEGATIVE_INFINITY,o=Number.POSITIVE_INFINITY,i=Number.NEGATIVE_INFINITY;for(const s of t)for(const t of s)for(const s of t){const t=s[0],c=s[1],u=pp(dp(t),dp(c));u>n&&(n=u),t<e&&(e=t),t>r&&(r=t),c<o&&(o=c),c>i&&(i=c)}return{maxCoordinate:n,maxRadius:pp(r-e,i-o)}}(t),i=2**Math.ceil(Math.log2(r))*2**-14;n<.05&&(n=.05),n>3&&(n=3),e<.1&&(e=.1),e>100&&(e=100);return{maxCurviness:n,maxLength:e*=2**Math.ceil(Math.log2(o))*2**-10,maxCoordinate:r,minBezLength:i}}(t,n,r));const s=function(t,n){let r;"undefined"!=typeof _debug_&&(r=performance.now()),n=n||Jh(t);const o=Math.ceil(Math.log2(n)),i=2**o*2**-46*16;(function(t){if("undefined"!=typeof _debug_){if("undefined"!=typeof document){const n=function(t){let n="";for(const r of t)n=n+e(r)+"\n";return n}(t);document.getElementsByClassName("shape")[0].setAttributeNS(null,"d",n)}for(const n of t){_debug_.generated.elems.loopPre.push(...t),_debug_.generated.elems.loopsPre.push(t);for(const t of n){const n=$o(t),e=ee(t),r=oe(t);_debug_.generated.elems.bezier_.push(t),_debug_.generated.elems.looseBoundingBox_.push(n),_debug_.generated.elems.tightBoundingBox_.push(e),_debug_.generated.elems.boundingHull_.push(r)}}}})(t=Wh(t,46,o,!1,!0)),t.sort(Zo);const s=t.map(((t,n)=>Lh(t,n))),{extremes:c}=Yh(s,i,o),u={dir:void 0,idx:0,parent:void 0,children:new Set,windingNum:0,p:void 0,_x_:void 0,container:void 0},l=new Set,f=new Set;for(const t of s){if(l.has(t))continue;l.add(t);const n=jo(u,t),e=c.get(t)[0].container;if(!e.inOuts.length)continue;const r=kh(e);r.parent=n,r.windingNum=n.windingNum+r.orientation,r.children=new Set,_o(0,kh(e),l,f)}const h=function(t){const n=[],e=[t];for(;e.length;){const t=e.pop();t.children=t.children||new Set;for(const r of t.children)0===t.windingNum&&n.push(r),e.push(r);0===t.windingNum&&(t.children=new Set)}return n}(u),a=h.map(Jo).map((t=>t.map((n=>function(t,n){return n<0?Lh(t.beziers):function(t){const n=[],e=t.curves;for(let t=e.length-1;t>=0;t--){const r=e[t].ps.slice().reverse();n.push(r)}return Lh(n)}(Lh(t.beziers))}(n,t[0].orientation))))),p=(2**o*2**-12)**2,d=[];for(let t=0;t<a.length;t++){const n=a[t].filter((t=>Math.abs(ea(t))>p));n.length&&(n.sort(((t,n)=>Zo(t.beziers,n.beziers))),d.push(n))}return function(t){if("undefined"!=typeof _debug_)for(const n of t)_debug_.generated.elems.loop.push(...n),_debug_.generated.elems.loops.push(n)}(d),"undefined"!=typeof _debug_&&(_debug_.generated.timing.simplifyPaths=performance.now()-r),d}(t,o),c=[];for(const t of s){const e=vp(t,i,n,r,o);e&&c.push(e)}return c}function vp(t,n,e,r,o){!function(t){if("undefined"==typeof _debug_)return;Pa=performance.now();for(const n of t)_debug_.fs.nameObj(n,"l|");const n=_debug_.generated;for(const e of t){let t=0;e.curves.forEach((function(e){const r=e.ps,o=oe(r);n.elems.boundingHull.push(o);const i=ca(r);n.elems.looseBoundingBox.push(i);const s=ee(r);n.elems.tightBoundingBox.push(s);const c=G(e);c.isSharp?n.elems.sharpCorner.push(e):c.isDull&&n.elems.dullCorner.push(e),t++}))}}(t);const i=t.map(function(t,n,e){return function(r){const o=[];for(let i=0;i<r.curves.length;i++){const s=r.curves[i];if(ne(s.ps)<t)continue;const{maxima:c}=ep(s.ps),u=[...c].map((t=>new R(s,t)));o.push(...hp(s),...u);let l=fp(s.ps,n,e);2===l.length&&(l=[0,.5,1]);for(let t=1;t<l.length-1;t++)o.push(new R(s,l[t]))}return o.sort(tt),o}}(n,e,r)),s=function(t){const n=[];for(const e of t){const t=[];for(const n of e)J(n)||t.push(n);n.push(t)}return n}(i),c=function(t){const n=[];for(const e of t){const t=[];for(const n of e)J(n)&&t.push(n);n.push(t)}return n}(i),u=new Map;let l=function(t,n,e){let r;for(let o=0;o<e.length;o++){const i=e[o],s=new Fa(ht.comparator,!1);let c,u;for(const t of i){t.curve.next.ps;const n={center:t.p,radius:0},e={pointOnShape:t,circle:n,order:-1,order2:0},r={pointOnShape:t,circle:n,order:1,order2:0};c=ht.insert(!1,!1,s,e,u),u=ht.insert(!1,!1,s,r,c),c.prevOnCircle=u,u.prevOnCircle=c,c.nextOnCircle=u,u.nextOnCircle=c}r||(r=c);const l=t[o];n.set(l,s)}return r}(t,u,c);if(function(t,n,e){const r=$a(t),o=(r.maxX.p[0]-r.minX.p[0])**2+(r.maxY.p[1]-r.minY.p[1])**2,i=t.map(ap);for(let r=1;r<i.length;r++){const s=i[r],c=Za(t,e,o,n,s,!0,r);if(!c)throw new Error("Unable to find hole-closing 2-prong");const{circle:u,zs:l}=c;Ja(n,u,s,[l[0]],!0,e)}}(t,u,o),"undefined"!=typeof _debug_&&_debug_.directives.stopAfterHoleClosers)return;if(function(){if("undefined"==typeof _debug_)return;const t=_debug_.generated.timing,n=performance.now();t.holeClosers+=n-Pa,Pa=n}(),l=function(t,n,e,r){let o;for(let i=0;i<e.length;i++){const s=np(t,n,i,e[i],r);o=o||s}return o}(t,u,s,o),function(){if("undefined"==typeof _debug_)return;const t=_debug_.generated.timing,n=performance.now();t.oneAnd2Prongs+=n-Pa,Pa=n}(),"undefined"!=typeof _debug_&&_debug_.directives.stopAfterTwoProngs)return;if(void 0===l)return;if(function(t,n,e){const r=new Map,o=[{fromCpNode:void 0,cpStart:n}];for(;o.length;){const{fromCpNode:n,cpStart:i}=o.shift();Ca(r,n,i);for(const n of i.getCpNodesOnCircle()){if(!Z(n.cp.pointOnShape)&&void 0===Aa(t,n,e))return;Ta(r,n,n.next)||o.push({fromCpNode:i,cpStart:n.next})}}}(u,l,o),"undefined"!=typeof _debug_&&_debug_.directives.stopAfterThreeProngs)return;const f={cpNode:l,cpTrees:u};return function(t){if("undefined"==typeof _debug_)return;const n=_debug_.generated,e=n.timing;n.elems.mat.push(t),e.threeProngs+=performance.now()-Pa}(f),f}function mp(t){const n=new Map;return t.getAllOnLoop().forEach((function(t){const e=t.cp.pointOnShape.curve.loop;let r=n.get(e);r||(r=new Fa(ht.comparator,!1),n.set(e,r)),r.insert(t)})),n}function _p(t){const n=[];return t.getAllOnLoop().forEach((function(t){t.isTerminating()&&n.push(t)})),n}const bp=["prev","next","prevOnCircle","nextOnCircle"];function xp(t){const n=new Map,e=new ht(t.cp,t.isHoleClosing,t.isIntersection);n.set(t,e);const r=[{cpNode:t,newCpNode:e}];for(;r.length;){const{cpNode:t,newCpNode:e}=r.pop();for(const o of bp){const i=t[o];let s=n.get(i);s||(s=new ht(i.cp,i.isHoleClosing,i.isIntersection),n.set(i,s),r.push({cpNode:i,newCpNode:s})),e[o]=s}}return e}function Ip(t){const n=function(t){let n=t;const e=_p(t);for(;e.length;){const r=e.pop();if(r.isHoleClosing||r.isIntersection)continue;let o=r.next;for(;;){o=o.next;let e=!1;const r=o.prevOnCircle;if(o.getProngCount()>2){const n=o.nextOnCircle;ht.isOnSameCircle(o,t)?e=!0:o.next===n?o=n:n.next!==r&&(e=!0)}else if(o.isTerminating()&&!o.isIntersection)return void(n=o);if(e){r.next=o,o.prev=r,n=o;break}}}return n}(xp(t.cpNode));if(n)return{cpNode:n,cpTrees:mp(n)}}function Np(t,n,e=16){if(n[0]===n[1])return 0;const{weights:r,abscissas:o}=Sp[e],[i,s]=n;let c=0;const u=(s-i)/2,l=(s+i)/2;for(let n=0;n<=e-1;n++)c+=r[n]*t(u*o[n]+l);return u*c}const Sp={2:{weights:[1,1],abscissas:[-.5773502691896257,.5773502691896257]},4:{weights:[.6521451548625461,.6521451548625461,.3478548451374538,.3478548451374538],abscissas:[-.3399810435848563,.3399810435848563,-.8611363115940526,.8611363115940526]},8:{weights:[.362683783378362,.362683783378362,.3137066458778873,.3137066458778873,.2223810344533745,.2223810344533745,.1012285362903763,.1012285362903763],abscissas:[-.1834346424956498,.1834346424956498,-.525532409916329,.525532409916329,-.7966664774136267,.7966664774136267,-.9602898564975363,.9602898564975363]},16:{weights:[.027152459411754096,.062253523938647894,.09515851168249279,.12462897125553388,.14959598881657674,.16915651939500254,.18260341504492358,.1894506104550685,.1894506104550685,.18260341504492358,.16915651939500254,.14959598881657674,.12462897125553388,.09515851168249279,.062253523938647894,.027152459411754096],abscissas:[-.9894009349916499,-.9445750230732326,-.8656312023878318,-.755404408355003,-.6178762444026438,-.45801677765722737,-.2816035507792589,-.09501250983763744,.09501250983763744,.2816035507792589,.45801677765722737,.6178762444026438,.755404408355003,.8656312023878318,.9445750230732326,.9894009349916499]},64:{weights:[.048690957009139724,.048690957009139724,.04857546744150343,.04857546744150343,.048344762234802954,.048344762234802954,.04799938859645831,.04799938859645831,.04754016571483031,.04754016571483031,.04696818281621002,.04696818281621002,.046284796581314416,.046284796581314416,.04549162792741814,.04549162792741814,.044590558163756566,.044590558163756566,.04358372452932345,.04358372452932345,.04247351512365359,.04247351512365359,.04126256324262353,.04126256324262353,.03995374113272034,.03995374113272034,.038550153178615626,.038550153178615626,.03705512854024005,.03705512854024005,.035472213256882386,.035472213256882386,.033805161837141606,.033805161837141606,.03205792835485155,.03205792835485155,.030234657072402478,.030234657072402478,.028339672614259483,.028339672614259483,.02637746971505466,.02637746971505466,.024352702568710874,.024352702568710874,.022270173808383253,.022270173808383253,.02013482315353021,.02013482315353021,.017951715775697343,.017951715775697343,.015726030476024718,.015726030476024718,.013463047896718643,.013463047896718643,.011168139460131128,.011168139460131128,.008846759826363947,.008846759826363947,.006504457968978363,.006504457968978363,.004147033260562468,.004147033260562468,.001783280721696433,.001783280721696433],abscissas:[-.024350292663424433,.024350292663424433,-.07299312178779904,.07299312178779904,-.12146281929612056,.12146281929612056,-.16964442042399283,.16964442042399283,-.21742364374000708,.21742364374000708,-.2646871622087674,.2646871622087674,-.31132287199021097,.31132287199021097,-.3572201583376681,.3572201583376681,-.4022701579639916,.4022701579639916,-.4463660172534641,.4463660172534641,-.48940314570705296,.48940314570705296,-.5312794640198946,.5312794640198946,-.571895646202634,.571895646202634,-.6111553551723933,.6111553551723933,-.6489654712546573,.6489654712546573,-.6852363130542333,.6852363130542333,-.7198818501716109,.7198818501716109,-.7528199072605319,.7528199072605319,-.7839723589433414,.7839723589433414,-.8132653151227975,.8132653151227975,-.8406292962525803,.8406292962525803,-.8659993981540928,.8659993981540928,-.8893154459951141,.8893154459951141,-.9105221370785028,.9105221370785028,-.9295691721319396,.9295691721319396,-.9464113748584028,.9464113748584028,-.9610087996520538,.9610087996520538,-.973326827789911,.973326827789911,-.983336253884626,.983336253884626,-.9910133714767443,.9910133714767443,-.9963401167719553,.9963401167719553,-.9993050417357722,.9993050417357722]}};function Ep(t){const[n,e]=N(t);return function(t){const r=I(n,t),o=I(e,t);return Math.sqrt(r*r+o*o)}}function wp(t,n=.4,e=2**-16){const r={r:[0,1]};let o=r;for(;void 0!==o;){const r=o.r;if(lp(ao(t,r[0],r[1]))<=n||r[1]-r[0]<=e){o=o.next;continue}const i=(r[0]+r[1])/2,s=[r[0],i],c=[i,r[1]];o.r=s,o.next={r:c,next:o.next}}o=r;const i=[];for(;void 0!==o;)i.push(o.r[0]),void 0===o.next&&i.push(o.r[1]),o=o.next;return i}function Mp(t,n){const e=t.getCpNodesOnCircle();for(;e.length;){const t=e.pop();n(t),t.isTerminating()||e.push(...t.getChildren())}}function Cp(t,n){n(t),t.getCpNodesOnCircle().filter((t=>!t.isTerminating())).map((t=>t.next)).forEach((function(t){const e=[t];for(;e.length;){const t=e.pop();n(t),e.push(...t.vertexChildren)}}))}function Tp(t){return function(n){return t*n}}function Op(t,n,e=Tp){let r=0;if("undefined"!=typeof _debug_){r=performance.now();const n=_p(t.cpNode);_debug_.generated.elems.leaves.push(n)}const o=[];Cp(xp(t.cpNode),(t=>{o.push(t)}));const i=function(t){return t.reduce((function(t,n){return t.cp.circle.radius>=n.cp.circle.radius?t:n}),t[0])}(o),s=e(n);"undefined"!=typeof _debug_&&_debug_.generated.elems.maxVertex.push(i);const c=new Set,u=new Map;Mp(i,(function(t){const n=u.get(t)||s(t.cp.circle.radius),e=t.next,r=function(t,n,e=.4,r=16){if(4===n.length)return function(t,n,e=.4,r=16){const o=t[0],i=t[1];if(o===i)return 0;const[[s,c],[u,l],[f,h],[a,p]]=n;if(s===u&&u===f&&f===a&&c===l&&l===h&&h===p)return 0;const d=qn(n,o,i).ps,g=wp(d,e);let v=0;for(let t=0;t<g.length-1;t++){const n=g[t],e=g[t+1];v+=Np(Ep(d),[n,e],r)}return v}(t,n,e,r);if(3===n.length)return function(t,n,e=.4,r=16){const o=t[0],i=t[1];if(o===i)return 0;const[[s,c],[u,l],[f,h]]=n;if(s===u&&u===f&&c===l&&l===h)return 0;const a=Gn(n,o,i).ps,p=wp(a,e);let d=0;for(let t=0;t<p.length-1;t++){const n=p[t],e=p[t+1];d+=Np(Ep(a),[n,e],r)}return d}(t,n,e,r);if(2===n.length)return function(t,n){const[e,r]=t,[[o,i],[s,c]]=n;return te([o+e*(s-o),i+e*(c-i)],[o+r*(s-o),i+r*(c-i)])}(t,n);if(1===n.length)return 0;throw new Error("The given bezier curve must be of order <= 3.")}([0,1],ft(t)),o=e.cp.circle.radius;if(n-r>s(o)){for(const t of e.getCpNodesOnCircle())u.set(t,n-r);c.add(e.cp.circle)}})),function(t,n){const e=_p(n);function r(t){let n=t;const e=[];do{n.next!==n.nextOnCircle&&e.push(n),n=n.nextOnCircle}while(n!==t.prevOnCircle);return e}for(;e.length;){const o=e.pop();if(o.isHoleClosing||o.isIntersection)continue;if(!t.has(o.cp.circle))continue;let i=o.next;for(;;){i=i.next;let e=!1;const o=i.prevOnCircle;if(t.has(i.cp.circle))if(ht.isOnSameCircle(i,n))e=!0;else{const t=r(i);1===t.length?i=t[0]:e=!0}else e=!0;if(e){o.next=i,i.prev=o;break}}}}(c,i),"undefined"!=typeof _debug_&&_debug_.generated.elems.culls.push(Array.from(c));const l={cpNode:i,cpTrees:void 0};return function(t,n){"undefined"!=typeof _debug_&&(_debug_.generated.elems.sat.push(t),_debug_.generated.timing.sats=performance.now()-n)}(l,r),l}function Pp(t,n=1){for(;!t.isFullyTerminating();)t=t.next;const e=[],r=[t.prevOnCircle];let o=[];for(;r.length;){const t=r.pop();o.push(t);let i=t.getChildren();if(t.isFullyTerminating()){o.length>1&&e.push(o),o=[];continue}if(1===i.length){r.push(i[0]);continue}if(i=i.filter((t=>!t.isTerminating())),0===i.length){e.push(o),o=[];continue}if(i.length>1){e.push(o),o=[],r.push(...i);continue}const s=w(h(E(ft(t.next.prevOnCircle),0)),h(E(ft(i[0]),0)));Math.abs(Math.asin(s)*(180/Math.PI))>n&&(e.push(o),o=[]),r.push(i[0])}return o.length&&e.push(o),e}let yp=0;function Ap(t){return t.map((t=>{return(n=t.cp.pointOnShape).p[0]+", "+n.p[1]+" | bz: "+n.curve.idx+" | t: "+n.t;var n}))}function Bp(t,n=3){return t[0].toFixed(n)+", "+t[1].toFixed(n)}const zp={δToString:Ap,δsToString:function(t){return t.map(Ap)},pointToStr:Bp,pointsToStr:function(t,n=3){return t.map((t=>Bp(t,n)))},nameObj:function(t,n=""){t.name=""+n+yp++}},Yp="red thin10 nofill ",Fp="http://www.w3.org/2000/svg";function Vp(t,n,e=Yp,r){const o=n.center,i=n.radius,s=document.createElementNS(Fp,"circle");return s.setAttributeNS(null,"cx",o[0].toString()),s.setAttributeNS(null,"cy",o[1].toString()),s.setAttributeNS(null,"r",i.toString()),s.setAttributeNS(null,"class",e),t.appendChild(s),r&&setTimeout((()=>s.remove()),r),[s]}function kp(t,n,e=Yp,r){const o=document.createElementNS(Fp,"line");return o.setAttributeNS(null,"x1",n[0][0].toString()),o.setAttributeNS(null,"y1",n[0][1].toString()),o.setAttributeNS(null,"x2",n[1][0].toString()),o.setAttributeNS(null,"y2",n[1][1].toString()),o.setAttributeNS(null,"class",e),t.appendChild(o),r&&setTimeout((()=>o.remove()),r),[o]}function Lp(t,n,e=Yp,r=3,o){const i=Vp(t,{center:n,radius:r},e),s=[[n[0]-r,n[1]],[n[0]+r,n[1]]],c=[[n[0],n[1]-r],[n[0],n[1]+r]],u=kp(t,s,e),l=kp(t,c,e);return o&&setTimeout((()=>{i.forEach((t=>t.remove())),u.forEach((t=>t.remove())),l.forEach((t=>t.remove()))}),o),[...i,...u,...l]}function Dp(t){return 2===t?"L":3===t?"Q":4===t?"C":void 0}function Xp(t,n,e=Yp,r){const[[o,i],[s,c],[u,l]]=n,f=document.createElementNS(Fp,"path");return f.setAttributeNS(null,"d",`M${o} ${i} Q${s} ${c} ${u} ${l}`),e&&f.setAttributeNS(null,"class",e),t.appendChild(f),r&&setTimeout((()=>f.remove()),r),[f]}function Qp(t,n,e=Yp,r){const[[o,i],[s,c],[u,l],[f,h]]=n;if(o===f&&s===f&&u===f&&i===h&&c===h&&l===h)return Lp(t,[o,i],e,.2,r);const a=document.createElementNS(Fp,"path");return a.setAttributeNS(null,"d",`M${o} ${i} C${s} ${c} ${u} ${l} ${f} ${h}`),a.setAttributeNS(null,"class",e),t.appendChild(a),r&&setTimeout((()=>a.remove()),r),[a]}function qp(t,n,e=Yp,r){return 2===n.length?kp(t,n,e,r):3===n.length?Xp(t,n,e,r):4===n.length?Qp(t,n,e,r):[]}const $p=["red","green","cyan","blue"];function Hp(t,n){const e=1-n;if(4===t.length){const[[r,o],[i,s],[c,u],[l,f]]=t;return[r*e**3+3*i*e**2*n+3*c*e*n**2+l*n**3,o*e**3+3*s*e**2*n+3*u*e*n**2+f*n**3]}if(3===t.length){const[[r,o],[i,s],[c,u]]=t;return[r*e**2+2*i*e*n+c*n**2,o*e**2+2*s*e*n+u*n**2]}if(2===t.length){const[[r,o],[i,s]]=t;return[r*e+i*n,o*e+s*n]}return[NaN,NaN]}function Gp(t,n){return 2===t.length?function(t,n){const[[e,r],[o,i]]=t,s=1-n,c=[s*e+n*o,s*r+n*i];return[[[e,r],c],[c,[o,i]]]}(t,n):3===t.length?function(t,n){const[[e,r],[o,i],[s,c]]=t,u=1-n,l=[u*u*e+2*u*n*o+n*n*s,u*u*r+2*u*n*i+n*n*c];return[[[e,r],[u*e+n*o,u*r+n*i],l],[l,[u*o+n*s,u*i+n*c],[s,c]]]}(t,n):4===t.length?function(t,n){const[[e,r],[o,i],[s,c],[u,l]]=t,f=1-n,h=n*n,a=h*n,p=f*f,d=p*f,g=[a*u+3*f*h*s+3*p*n*o+d*e,a*l+3*f*h*c+3*p*n*i+d*r];return[[[e,r],[n*o+f*e,n*i+f*r],[h*s+2*f*n*o+p*e,h*c+2*f*n*i+p*r],g],[g,[h*u+2*n*f*s+p*o,h*l+2*n*f*c+p*i],[n*u+f*s,n*l+f*c],[u,l]]]}(t,n):[]}const Rp={circle:Vp,crossHair:Lp,dot:function(t,n,e=3,r="red",o){const[i]=Vp(t,{center:n,radius:e},"dot "+r,o);return o&&setTimeout((()=>i.remove()),o),[i]},line:kp,rect:function(t,n,e=Yp,r){const[[o,i],[s,c]]=n,u=o<s?o:s,l=i<c?i:c,f=Math.abs(o-s),h=Math.abs(i-c),a=document.createElementNS(Fp,"rect");return a.setAttributeNS(null,"x",u.toString()),a.setAttributeNS(null,"y",l.toString()),a.setAttributeNS(null,"width",f.toString()),a.setAttributeNS(null,"height",h.toString()),e&&a.setAttributeNS(null,"class",e),t.appendChild(a),r&&setTimeout((()=>a.remove()),r),[a]},beziers:function(t,n,e,r){const o=void 0===e,i=[];for(let r=0;r<n.length;r++){const s=n[r],c=$p[r%$p.length],u=o?"thin5 nofill "+c:e;i.push(...qp(t,s,u))}return r&&setTimeout((()=>i.forEach((t=>t.remove()))),r),i},bezier:qp,bezierPiece:function(t,n,e,r=Yp,o){const i=e[0]===e[1]?Lp(t,Hp(n,e[0]),r,1.5):qp(t,function(t,n){if(0===n[0]&&1===n[1])return t;if(n[0]===n[1]){const e=Hp(t,n[0]);return[e,e,e,e]}return 0===n[0]?Gp(t,n[1])[0]:1===n[1]?Gp(t,n[0])[1]:Gp(Gp(t,n[0])[1],(n[1]-n[0])/(1-n[0]))[0]}(n,e),r);return o&&setTimeout((()=>i.forEach((t=>t.remove()))),o),i},quadBezier:Xp,cubicBezier:Qp,polygon:function(t,n,e=Yp,r){const o=document.createElementNS(Fp,"path");let i=`M${n[0][0]} ${n[0][1]} L`;for(let t=0;t<n.length;t++)i+=`${n[t][0]} ${n[t][1]} `;return i+=" z",o.setAttributeNS(null,"d",i),e&&o.setAttributeNS(null,"class",e),t.appendChild(o),r&&setTimeout((()=>o.remove()),r),[o]},loop:function(t,n,e=Yp,r){if(!n.length)return[];const o=document.createElementNS(Fp,"path");let i=`M${n[0][0][0]} ${n[0][0][1]} `;for(let t=0;t<n.length;t++){const e=n[t];i+=`${Dp(e.length)} `;for(let t=1;t<e.length;t++)i+=`${e[t][0]} ${e[t][1]} `}return i+=" z",o.setAttributeNS(null,"d",i),e&&o.setAttributeNS(null,"class",e),t.appendChild(o),r&&setTimeout((()=>o.remove()),r),[o]},polyline:function(t,n,e=Yp,r){if(n.length<2)return[];const o=document.createElementNS(Fp,"path");let i=`M${n[0][0]} ${n[0][1]} L`;for(let t=0;t<n.length;t++)i+=`${n[t][0]} ${n[t][1]} `;return o.setAttributeNS(null,"d",i),e&&o.setAttributeNS(null,"class",e),t.appendChild(o),r&&setTimeout((()=>o.remove()),r),[o]},text:function(t,n,e,r,o=Yp,i){const s=document.createElementNS(Fp,"text");return s.setAttributeNS(null,"x",n[0].toString()),s.setAttributeNS(null,"y",n[1].toString()),s.setAttributeNS(null,"font-size",r.toString()),s.setAttributeNS(null,"class",o),s.textContent=e,t.appendChild(s),i&&setTimeout((()=>s.remove()),i),[s]}};function Up(t,n,e,r=1e3,o,i="twoProng_regular"){if(void 0===n)return;const s=_debug_.generated.elems[i][n],c=s.xs;console.log(s),console.log(s.xs.map((t=>({x:t.x,y:t.y,z:t.z,d:t.z?a(t.y.p,t.z.p):0,t:t.t}))));for(let n=0;n<c.length;n++){if(o&&(n<o[0]||n>=o[1]))continue;if(e&&n!==c.length-1)continue;const i=s.xs[n],u={center:i.x,radius:te(i.x,i.y.p)};Rp.crossHair(t,i.x,"red thin10 nofill",void 0,r),Rp.circle(t,u,"blue thin10 nofill",r),void 0!==i.z&&Rp.crossHair(t,i.z.p,"yellow thin10 nofill",2,r)}jp.drawNormal(t,n,r)}const jp={logδ:function(t,n="twoProng_regular"){const e=_debug_.generated.elems[n][t].δ;console.log(e)},log:function(t,n="twoProng_regular"){const e=_debug_.generated.elems[n][t];console.log(e)},drawNormal:function t(n,e,r=1e3,o="twoProng_regular"){const i=_debug_.generated.elems[o];if(void 0===e)for(let e=0;e<i.length;e++)t(n,e);const s=i[e];s&&Rp.line(n,[s.pos.p,s.circle.center],"thin10 blue",r)},logδBasic:function(t,n="twoProng_regular"){const e=_debug_.generated.elems[n][t].δ;function r(t){const n=t.cp.pointOnShape;return{bez:n.curve.ps,t:n.t}}console.log(r(e[0])),console.log(r(e[1]))},traceConvergence:Up,logNearest:function(t,n,e=1e3,r="twoProng_regular"){const o=v(n,_debug_.generated.elems[r],(t=>t.circle.center));let i;[].push(o),console.log(o);for(let t=0;t<_debug_.generated.elems[r].length;t++)if(_debug_.generated.elems[r][t]===o){i=t;break}void 0!==i&&Up(t,i,!0,e)}},Zp={drawSpokes:function(t,n){const e=_debug_.generated.elems.threeProng[n],r=e.circle.center,o=e.poss;Rp.line(t,[o[0].p,r],"thin5 red"),Rp.line(t,[o[1].p,r],"thin5 red"),Rp.line(t,[o[2].p,r],"thin5 red")},traceConvergence:function(t,n,e){let r,o;void 0===n?(r=0,o=_debug_.generated.elems.threeProng.length):(r=n,o=n+1);for(let i=r;i<o;i++){const r=_debug_.generated.elems.threeProng[i];console.log(r);const o=r.candidateThreeProngs;let s,c;void 0===n||-1===e?(s=r.bestIndx,c=r.bestIndx+1):void 0===e?(s=0,c=o.length):(s=e,c=e+1);for(let n=s;n<c;n++){const e=o[n].circle;r.bestIndx===n?(Rp.dot(t,e.center,.2,"green"),Rp.circle(t,e,"black thin10 nofill")):(Rp.dot(t,e.center,.2,"cyan"),Rp.circle(t,e,"cyan thin5 nofill"))}}},showBoundary:function(t,n,e){const r=_debug_.generated.elems.threeProng[n],o=r.candidateThreeProngs,i=void 0===e?0:e,s=void 0===e?o.length:e,c=r.cpss;let u=0;for(let n=1;n<c.length-1;n++){if(!(u>=i&&u<=s)){u++;continue}const e=[c[0],c[n],c[c.length-1]];for(let n=0;n<3;n++){const r=e[n],o=r[0],i=r[1],s=o.cp.pointOnShape,c=i.cp.pointOnShape,u=s.p,l=c.p,f=1+.5*n;g(u,l)?Rp.crossHair(t,u,"red thin10 nofill",f):(Rp.crossHair(t,u,"green thin10 nofill",f),Rp.crossHair(t,l,"blue thin10 nofill",f))}u++}},logδs:function(t){const n=_debug_.generated.elems.threeProng[t];console.log(n.cpss)},logNearest:function(t=!0,n=!0,e=!0){return function(r,o,i=1e3){const s=v(o,_debug_.generated.elems.threeProng,(t=>t.circle?t.circle.center:[0,0])),c=s.circle;console.log(s);const u={center:c.center,radius:c.radius||1};if(Rp.circle(r,u,"blue thin10 nofill",i),Rp.crossHair(r,c.center,"red thin2 nofill",2,i),t&&(Rp.line(r,[s.poss[0].p,c.center],"blue thin5 nofill",i),Rp.line(r,[s.poss[1].p,c.center],"blue thin5 nofill",i),Rp.line(r,[s.poss[2].p,c.center],"blue thin5 nofill",i)),e){const t=s.boundaries,n=t[0],e=t[t.length-1];Rp.beziers(r,n,"red thin20 nofill",i);for(let n=1;n<t.length-1;n++){const e=t[n];Rp.beziers(r,e,"green thin20 nofill",i)}Rp.beziers(r,e,"blue thin20 nofill",i)}if(n){const t=s.traces;for(const n of t)Rp.polyline(r,n,"red thin5 nofill",i)}}}};function Wp(t,n){return{center:t.center,radius:n*t.radius}}function Jp(t,n){let e,r,o=[],i=[],s=[],c=[],u=[];switch(Ga(n)){case"twoProng_regular":e="red ",r="2";break;case"twoProng_holeClosing":e="cyan ",r="10"}return n.failed?o=Rp.dot(t,n.pos.p,.3,"black"):n.failed||(i=Rp.dot(t,n.circle.center,.3,"yellow"),s=Rp.circle(t,n.circle,e+"thin"+r+" nofill"),c=Rp.dot(t,n.pos.p,.0105,e),u=Rp.dot(t,n.z,.021,e)),[...o,...i,...s,...c,...u]}function Kp(t){const n="mat"===t?"thin5 purple nofill":"thin10 red nofill";return(t,e)=>{const r=e.cpNode;if(!r)return;const o=[];return Mp(r,(e=>{if(e.isTerminating())return;const r=ft(e);r&&o.push(...Rp.bezier(t,r,n))})),o}}function td(t,n,e,r){const o=document.createElementNS("http://www.w3.org/2000/svg","circle");return o.setAttributeNS(null,"cx",n[0].toString()),o.setAttributeNS(null,"cy",n[1].toString()),o.setAttributeNS(null,"r",e.toString()+"%"),o.setAttributeNS(null,"class",r),t.appendChild(o),o}function nd(t,n,e,r){const o=document.createElementNS("http://www.w3.org/2000/svg","circle");return o.setAttributeNS(null,"cx",n[0].toString()),o.setAttributeNS(null,"cy",n[1].toString()),o.setAttributeNS(null,"r",e.toString()+"%"),o.setAttributeNS(null,"class",r),t.appendChild(o),o}const ed={oneProng:function(t,n,e,r=0){const o=Wp(et(Number.POSITIVE_INFINITY,n),1);return[...Rp.dot(t,n.p,.05,"gray",r),...Rp.dot(t,o.center,.125,"gray",r),...Rp.circle(t,o,"gray thin10 nofill",r)]},oneProngAtDullCorner:function(t,n){const e=et(Number.POSITIVE_INFINITY,n);return[...Rp.dot(t,n.p,.1,"orange"),...Rp.dot(t,e.center,.25,"orange"),...Rp.circle(t,e,"orange thin10 nofill")]},twoProng_regular:Jp,twoProng_failed:Jp,twoProng_notAdded:Jp,twoProng_deleted:Jp,twoProng_holeClosing:Jp,threeProng:function(t,n){const e=Wp(n.circle,1),r=n.poss,o=Rp.dot(t,r[0].p,.03,"blue"),i=Rp.dot(t,r[1].p,.06,"blue"),s=Rp.dot(t,r[2].p,.1*3*.3,"blue");return[...Rp.dot(t,e.center,.09,"blue"),...o,...i,...s,...Rp.circle(t,e,"blue thin2 nofill")]},boundingHull:function(t,n,e="thin5 black nofill"){return Rp.polygon(t,n,e)},looseBoundingBox:function(t,n){const[[e,r],[o,i]]=n;return n=[[e,r],[o,r],[o,i],[e,i]],Rp.polygon(t,n,"thin5 brown nofill")},tightBoundingBox:function(t,n){return Rp.polygon(t,n,"thin5 pinker nofill")},sharpCorner:function(t,n){const e=n.ps[n.ps.length-1];return Rp.dot(t,e,.6,"green")},dullCorner:function(t,n){const e=n.ps,r=n.ps[e.length-1];return Rp.dot(t,r,.5,"orange")},vertex:function(t,n,e,r,o=!0){const i=o?"":" invisible",s=n.cp.circle,c=n.getCpNodesOnCircle();console.log(c);let u=[];u=[...Rp.circle(t,s,"red thin20 nofill "+i,r),...Rp.crossHair(t,s.center,"red thin20 nofill "+i,3,r)];for(let n=0;n<c.length;n++){const e=c[n].next.cp.circle,o=Rp.circle(t,e,"pink thin20 nofill "+i,r),l=Rp.crossHair(t,e.center,"pink thin20 nofill "+i,3,r);u.push(...o,...l);const f=s.center,h=e.center,a=0===n?"thin10":1===n?"thin20":"thin35",p=Rp.line(t,[f,h],"yellow "+a+" nofill "+i,r);u.push(...p)}return u},mat:Kp("mat"),sat:Kp("sat"),maxVertex:function(t,n){const e=n.cp.circle;return Rp.circle(t,e,"brown thin10 nofill")},leaves:function(t,n){const e=[];for(const r of n){const n=r.cp.circle.center;e.push(td(t,n,.5,"pinker thin5 nofill"))}return e},culls:function(t,n){const e=[];for(const r of n){const n=r.center;e.push(nd(t,n,.4,"cyan thin5 nofill"))}return e},cpNode:function(t,n){return[]}};function rd(t){if(!t)return void(window._debug_=void 0);let n=window._debug_;n={...n,generated:{...n&&n.generated?n.generated:{},elems:{...n&&n.generated&&n.generated.elems?n.generated.elems:{},twoProng_regular:[],twoProng_failed:[],twoProng_notAdded:[],twoProng_deleted:[],twoProng_holeClosing:[],looseBoundingBox:[],tightBoundingBox:[],oneProng:[],oneProngAtDullCorner:[],sharpCorner:[],dullCorner:[],vertex:[],threeProng:[],boundingHull:[],mat:[],sat:[],cpNode:[],maxVertex:[],leaves:[],culls:[]},timing:{...n&&n.generated&&n.generated.timing?n.generated.timing:{},holeClosers:0,oneAnd2Prongs:0,threeProngs:0,sats:0,simplifyMat:0}},fs:{...n&&n.fs?n.fs:{},drawElem:{...n&&n.fs&&n.fs.drawElem?n.fs.drawElem:{},...ed},...zp,twoProng:jp,threeProng:Zp},directives:{...n&&n.directives?n.directives:{},stopAfterHoleClosers:!1,stopAfterHoleClosersNum:void 0,stopAfterTwoProngs:!1,stopAfterTwoProngsNum:void 0,stopAfterThreeProngs:!1,stopAfterThreeProngsNum:void 0}},window._debug_=n}function od(t,n,e){const r=[];for(const o of n){if(o.isTerminating())continue;const n=ft(o);n&&r.push(...Rp.bezier(t,n,"thin5 purple nofill",e))}return r}function id(t){const n=t,e=t.next,r=n.cp.pointOnShape,o=e.cp.pointOnShape,i=r.curve,s=o.curve;if(i.loop!==s.loop)return;const c=[];return s===i?c.push(ao(r.curve.ps,r.t,o.t)):(c.push(ao(r.curve.ps,r.t,1)),function(t,n,e,r){let o=n;do{o=o.next;const n=o===e?r:1;t.push(ao(o.ps,0,n))}while(o!==e)}(c,r.curve,o.curve,o.t)),c}function sd(t){const n=t,e=t.next,r=n.cp.pointOnShape,o=e.cp.pointOnShape,i=r.curve,s=o.curve;if(i.loop!==s.loop)return;const c=[];return s===i?c.push({ps:r.curve.ps,ts:[r.t,o.t]}):(c.push({ps:r.curve.ps,ts:[r.t,1]}),function(t,n,e,r){let o=n;do{o=o.next;const n=o===e?{ps:o.ps,ts:[0,r]}:{ps:o.ps,ts:[0,1]};t.push(n)}while(o!==e)}(c,r.curve,o.curve,o.t)),c}function cd(t,n){const e=t[0],r=t[1],o=t[2],i=t[3],s=e[0],c=e[1],u=r[0],l=r[1],f=o[0],h=o[1],a=i[0],p=i[1],d=n[0],g=n[1],v=s-d,m=u-d,_=f-d,b=a-d,x=c-g,I=l-g,N=h-g,S=p-g,E=v*v,w=6*v*m,M=6*_*b,C=x*x,T=6*x*I,O=6*N*S,P=6*m*b+9*_*_,y=2*v*b+18*m*_,A=6*v*_+9*m*m,B=6*I*S+9*N*N,z=2*x*S+18*I*N,Y=6*x*N+9*I*I;return[6*(b*b-M+(E-w)+P+(A-y)+(S*S-O+(C-T)+B+(Y-z))),5*(M+5*w+3*y-2*(P+2*A+3*E)+(O+5*T+3*z-2*(B+2*Y+3*C))),4*(P-3*(y-2*A)-5*(2*w-3*E)+(B-3*(z-2*Y)-5*(2*T-3*C))),3*(y-2*(2*A-5*(w-2*E))+(z-2*(2*Y-5*(T-2*C)))),2*(A-5*(w-3*E)+(Y-5*(T-3*C))),w-6*E+(T-6*C)]}function ud(t,n){const e=t[0],r=t[1],o=t[2],i=e[0],s=e[1],c=r[0],u=r[1],l=o[0],f=o[1],h=n[0],a=n[1],p=i-h,d=c-h,g=l-h,v=s-a,m=u-a,_=f-a,b=p*p,x=p*d,I=d*g,N=v*v,S=v*m,E=m*_,w=v*_+m*m*2,M=p*g+d*d*2;return[_*_+N+2*w-4*(E+S)+(g*g+b+2*M-4*(I+x)),3*(E-w+(3*S-N)+(I-M+(3*x-b))),w-3*(2*S-N)+(M-3*(2*x-b)),S-N+(x-b)]}function ld(t,n){const[[e,r],[o,i]]=t,[s,c]=n,u=e-s,l=o-s,f=r-c,h=i-c,a=u*l+f*h,p=f*f+u*u;return[l*l+h*h+(p-2*a),a-p]}const fd=Math.sqrt;function hd(t,n){let e;if(4===t.length)e=cd(t,n);else if(3===t.length)e=ud(t,n);else{if(2!==t.length){if(1===t.length)return{p:t[0],t:0,d:te(t[0],n)};throw new Error("The given bezier curve must be of order <= 3.")}e=ld(t,n)}const r=Do(e,0,1);r.push(0),r.push(1);let o,i=Number.POSITIVE_INFINITY;for(const e of r){const r=x(t,e),s=a(r,n);s<i&&(i=s,o={p:r,t:e,d:fd(s)})}return o}const ad=Math.sqrt;function pd(t){let n=Number.NEGATIVE_INFINITY;for(let e=0;e<t.length;e++){const r=t[e],o=Math.abs(r[0]),i=Math.abs(r[1]);o>n&&(n=o),i>n&&(n=i)}return n}function dd(t){return Math.max(t.hL+t.hEL,t.hR+t.hER)}function gd(t,n){const e=dd(t)-dd(n);return 0!==e?e:t.tS-n.tS}class vd{compare;heap=[];constructor(t){this.compare=t}insert(t){const n=this.heap;n.push(t);let e=n.length-1;for(;;){const r=(e-1-(e+1)%2)/2;if(-1===r)return;const o=n[r];if(this.compare(t,o)<0)break;n[r]=t,n[e]=o,e=r}}popMax(){const t=this.heap,n=t[0];return t[0]=t[t.length-1],t.length--,this.swimDown(),n}swimDown(){const t=this.heap,n=t.length;let e=0;for(;;){const r=2*e+1;if(r>=n)break;const o=2*e+2,i=o>=n||this.compare(t[r],t[o])>0?r:o,s=t[i],c=t[e];if(this.compare(c,s)>0)break;t[i]=c,t[e]=s,e=i}}swapMinOrMax(t){this.heap[0]=t,this.swimDown()}static getParentIdx(t){return(t-1-(t+1)%2)/2}static getLeftChild(t){return 2*t+1}static getRightChild(t){return 2*t+2}}const md=Math.max;function _d(t,n,e,r=50){if(1===t.length)return hd(n,t[0]).d;if(1===n.length)return function(t,n){let e;if(4===t.length)e=cd(t,n);else if(3===t.length)e=ud(t,n);else{if(2!==t.length){if(1===t.length)return{p:t[0],t:0,d:te(t[0],n)};throw new Error("The given bezier curve must be of order <= 3.")}e=ld(t,n)}const r=Do(e,0,1);r.push(0),r.push(1);let o,i=Number.NEGATIVE_INFINITY;for(const e of r){const r=x(t,e),s=a(r,n);s>i&&(i=s,o={p:r,t:e,d:ad(s)})}return o}(t,n[0]).d;if(2===t.length&&2===n.length){const e=hd(n,t[0]).d,r=hd(n,t[t.length-1]).d;return e>r?e:r}const o=md(pd(t),pd(n));e=e||o/1e6;const[i,s]=bd(t,0,1),c={tS:0,tE:1,hL:hd(n,t[0]).d,hR:hd(n,t[t.length-1]).d,hEL:i,hER:s},u=new vd(gd);u.insert(c);let l=0,f=Number.POSITIVE_INFINITY,h=Number.NEGATIVE_INFINITY;for(;;){const o=u.heap[0],{tS:i,tE:s,hL:c,hR:a}=o,p=(i+s)/2,[d,g]=bd(t,i,p),[v,m]=bd(t,p,s),_=x(t,p),b=te(_,hd(n,_).p),I=md(c,b,a);if(I>h&&(h=I),f=dd(o),f-h<e)return h;if(l++>r)return h;const N={tS:i,tE:p,hL:c,hR:b,hEL:d,hER:g},S={tS:p,tE:s,hL:b,hR:a,hEL:v,hER:m};u.swapMinOrMax(N),u.insert(S)}}function bd(t,n,e){const r=(e+n)/2,o=ao(t,n,r),i=ao(t,r,e);return[ne(o),ne(i)]}const xd=Math.max;function Id(t,n,e,r){const o=_d(t,n,e,r),i=_d(n,t,e,r);return xd(o,i)}function Nd(t,n=15,e=.125,r=50){let o=t.cpNode;for(;!o.isTerminating();)o=o.next;const i=Pp(o,n),s=[];for(let t=0;t<i.length;t++){const n=i[t];let o=0;for(;o<n.length;){const t=o;for(;(o++,o!==n.length)&&!(Sd(t,o,n,r)>e);)s.push(n[o]);if(t+1===o)break}}for(const t of s){const n=t.isTerminating(),e=t.getCpNodesOnCircle().length;n||2!==e||ht.remove(t)}return{cpNode:o,cpTrees:void 0}}function Sd(t,n,e,r){const o=[],i=lt(e[t],e[n].next);for(;t<n+1;t++)o.push(Id(ft(e[t]),i,r));return Math.max(...o)}function Ed(t){if(4===t.length)return t;if(3===t.length)return function(t){const[[n,e],[r,o],[i,s]]=t;return[[n,e],[1/3*n+2/3*r,1/3*e+2/3*o],[2/3*r+1/3*i,2/3*o+1/3*s],[i,s]]}(t);if(2===t.length)return function(t){const[[n,e],[r,o]]=t,i=(r-n)/3,s=(o-e)/3;return[[n,e],[n+i,e+s],[n+2*i,e+2*s],[r,o]]}(t);if(1===t.length){const n=t[0];return[n,n,n,n]}throw new Error("The given bezier curve must be of order <= 3.")}function wd(t,n=15,e=.1,r=1){const o=new Map;for(;!t.isTerminating();)t=t.next;const i=Pp(t,n),s=[];for(let t=0;t<i.length;t++){const n=i[t];let c=0;for(;c<n.length;){const t=c;for(;(c++,c!==n.length)&&!(Md(t,c,n,r)>e);)s.push(n[c]);if(t+1===c);else{const e=n[t],r=n[c-1],i=Ed(lt(e,r.next)),s=i.slice().reverse();let u=e,l=0;for(;u!==r;){const t=hd(i,u.next.cp.circle.center).t;o.set(u,{ps:i,ts:[l,t]});const n=u.nextOnCircle.prev;o.set(n,{ps:s,ts:[1-t,1-l]}),l=t,u=u.next}o.set(u,{ps:i,ts:[l,1]});const f=u.nextOnCircle.prev;o.set(f,{ps:s,ts:[0,1-l]})}}}return{simpleMap:o,cpNode:t}}function Md(t,n,e,r){const o=[],i=lt(e[t],e[n].next);for(let s=t;s<n+1;s++)o.push(Id(ft(e[s]),i,r));return Math.max(...o)}function Cd(t,n,e,r){const o=[];for(const r of t)o.push({type:0,item:r,x:n(r)}),o.push({type:1,item:r,x:e(r)});o.sort(Td);const i=new Set,s=[];for(const t of o){const{item:n}=t;if(0===t.type){for(const t of i.values())r(n,t)&&s.push([n,t]);i.add(n)}else 1===t.type&&i.delete(t.item)}return s}function Td(t,n){const e=t.x-n.x;return 0!==e?e:0===t.type?-1:1}function Od(t=[]){const n=[],e={beziers:t,curves:n};if(!t.length)return e;let r;for(let o=0;o<t.length;o++){const i={loop:e,ps:t[o],prev:r,next:void 0,idx:o};r&&(r.next=i),r=i,n.push(i)}const o=n[n.length-1];return n[0].prev=o,o.next=n[0],e}var Pd=n.M1,yd=n.bt,Ad=n.A3,Bd=n.zh,zd=n.Ls,Yd=n.CU,Fd=n.gM,Vd=n.SQ,kd=n.BG,Ld=n.Ij,Dd=n.tQ,Xd=n.C_,Qd=n.aS,qd=n.DZ,$d=n.wH,Hd=n.N0,Gd=n.Jt,Rd=n.tO,Ud=n.bQ,jd=n.UW,Zd=n._T,Wd=n.Dw,Jd=n.xs,Kd=n.y9,tg=n.Fw,ng=n.QE;export{Pd as CpNode,yd as PointOnShape,Ad as beziersToSvgPathStr,Bd as drawBranch,zd as drawElemFunctions,Yd as drawMat,Fd as enableDebugForMat,Vd as findMats,kd as getBoundaryBezierPartsToNext,Ld as getBoundaryBeziersToNext,Dd as getBoundaryPieceBeziers,Xd as getBranches,Qd as getClosestBoundaryPoint,qd as getClosestSquareDistanceToRect,$d as getCurveBetween,Hd as getCurveToNext,Gd as getPathsFromStr,Rd as getShapeBounds,Ud as loopFromBeziers,jd as simplifyMat,Zd as simplifyMatMapOnly,Wd as sweepLine,Jd as toScaleAxis,Kd as traverseEdges,tg as traverseVertices,ng as trimMat};
|