@arcgis/core 4.33.11 → 4.33.13

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.
Files changed (105) hide show
  1. package/applications/KnowledgeStudio/reshape.d.ts +5 -0
  2. package/applications/KnowledgeStudio/reshape.js +5 -0
  3. package/assets/esri/core/workers/RemoteClient.js +1 -1
  4. package/assets/esri/core/workers/chunks/{1415d4e2f5f3193be004.js → 012dee84d97b71461397.js} +1 -1
  5. package/assets/esri/core/workers/chunks/{658e82c9b722852e02d0.js → 0aa1f9e81789cb183599.js} +1 -1
  6. package/assets/esri/core/workers/chunks/{342f61e784c9364a493b.js → 1ebff223f0f241686669.js} +1 -1
  7. package/assets/esri/core/workers/chunks/{fdfb5d601d318d6a49f9.js → 2f2cb0348f36a5157293.js} +1 -1
  8. package/assets/esri/core/workers/chunks/{cb16ba9512ae0a09c55d.js → 4ab87eea6345818de60f.js} +1 -1
  9. package/assets/esri/core/workers/chunks/{c1822b03302c3db71b1f.js → 4e5ececbf08bd5dc5944.js} +1 -1
  10. package/assets/esri/core/workers/chunks/{e9aa1d9ded8a52a40c57.js → 5d74b754ee0140afbd22.js} +1 -1
  11. package/assets/esri/core/workers/chunks/{d33a5d79f2163ad62b1d.js → 64aebb3780ac4c8bfdc7.js} +1 -1
  12. package/assets/esri/core/workers/chunks/8be5fa1777b66b064767.js +1 -0
  13. package/assets/esri/core/workers/chunks/{c6cd8784a3e222eb2d4a.js → 8edd8ebca441d670380f.js} +1 -1
  14. package/assets/esri/core/workers/chunks/{cf25f487fe4eb1579aee.js → 9128902b127d0ec70fe0.js} +1 -1
  15. package/assets/esri/core/workers/chunks/{17c623db3d9a06a9b711.js → a5fab8d7d8403b4de682.js} +1 -1
  16. package/assets/esri/core/workers/chunks/{11587332ed09d46fa368.js → a9095cb096fb4278d3a8.js} +1 -1
  17. package/assets/esri/core/workers/chunks/{bac5e1d50b69f0d94694.js → ad2a29aca4e5bcd545cc.js} +1 -1
  18. package/assets/esri/core/workers/chunks/{9049c81445cc044286f1.js → bbb92d0ba6a34c7a7d1b.js} +1 -1
  19. package/assets/esri/core/workers/chunks/{7b9d14cc4a466ef18d71.js → bfd51df0a44a05596061.js} +1 -1
  20. package/assets/esri/core/workers/chunks/{3ca6f893fd58f5b17af5.js → c410b2b9d0645e9cea89.js} +1 -1
  21. package/assets/esri/core/workers/chunks/{8008f5479f4d16964088.js → dded6853cebf2165cb37.js} +1 -1
  22. package/assets/esri/core/workers/chunks/{db192728fa0ee08a776a.js → e7ca7ced4dfb04c81e84.js} +1 -1
  23. package/assets/esri/core/workers/chunks/{0155e6806621f3588ffa.js → fe71a2ea7965e75ee881.js} +1 -1
  24. package/assets/esri/core/workers/chunks/{71e1a8bd432947c66357.js → ffeda53fee883f8025ed.js} +1 -1
  25. package/assets/esri/themes/base/widgets/_VideoPlayer.scss +16 -2
  26. package/assets/esri/themes/dark/main.css +1 -1
  27. package/assets/esri/themes/light/main.css +1 -1
  28. package/assets/esri/themes/light/view.css +1 -1
  29. package/chunks/GeodeticDistanceCalculator-Ce-woMPw.js +1 -1
  30. package/chunks/MultiPathImpl.js +1 -1
  31. package/chunks/OperatorGeodesicBuffer.js +1 -1
  32. package/chunks/OperatorGeodeticArea.js +1 -1
  33. package/chunks/OperatorGeodeticDensifyByLength.js +1 -1
  34. package/chunks/OperatorGeodeticLength.js +1 -1
  35. package/chunks/OperatorProximityGeodesic.js +1 -1
  36. package/chunks/OperatorShapePreservingLength.js +1 -1
  37. package/chunks/OperatorShapePreservingProject.js +1 -1
  38. package/chunks/Point2D.js +1 -1
  39. package/chunks/ProjectionTransformation.js +1 -1
  40. package/chunks/sphere.js +1 -1
  41. package/chunks/vec42.js +1 -1
  42. package/core/libs/gl-matrix-2/math/quat.js +1 -1
  43. package/core/libs/gl-matrix-2/math/vec4.js +1 -1
  44. package/core/quantityFormatUtils.js +1 -1
  45. package/core/unitFormatUtils.js +1 -1
  46. package/geometry/coordinateFormatter.js +1 -1
  47. package/geometry/operators/gx/operatorAlphaShape.js +1 -1
  48. package/geometry/operators/gx/operatorPolygonSlicer.js +1 -1
  49. package/geometry/support/sphere.js +1 -1
  50. package/interfaces.d.ts +195 -0
  51. package/kernel.js +1 -1
  52. package/layers/OrientedImageryLayer.js +1 -1
  53. package/layers/knowledgeGraph/KnowledgeGraphLayerDataManager.js +1 -1
  54. package/layers/knowledgeGraph/KnowledgeGraphSublayer.js +1 -1
  55. package/layers/knowledgeGraph/nodeMovementUtils.js +5 -0
  56. package/layers/orientedImagery/core/ExposurePoint.js +1 -1
  57. package/layers/orientedImagery/core/utils.js +1 -1
  58. package/package.json +1 -1
  59. package/renderers/support/RasterSymbolizer.js +1 -1
  60. package/rest/knowledgeGraph/GraphApplyEditsResult.js +1 -1
  61. package/rest/knowledgeGraph/wasmInterface/wasmToUpdateResponseFactories.js +1 -1
  62. package/rest/knowledgeGraphService.js +1 -1
  63. package/support/revision.js +1 -1
  64. package/symbols/support/previewSymbol3D.js +1 -1
  65. package/undoredo/support/Services.js +1 -1
  66. package/views/2d/layers/features/support/FeatureSetReaderPBF.js +1 -1
  67. package/views/2d/layers/imagery/BaseImageryTileSubView2D.js +1 -1
  68. package/views/2d/layers/imagery/ImageryTileView2D.js +1 -1
  69. package/views/3d/camera/constraintUtils/distance.js +1 -1
  70. package/views/3d/camera/constraintUtils/tilt.js +1 -1
  71. package/views/3d/layers/graphics/Deconflictor.js +1 -1
  72. package/views/3d/layers/i3s/I3SClientNodeLoader.js +1 -1
  73. package/views/3d/layers/i3s/I3SIndex.js +1 -1
  74. package/views/3d/state/controllers/GamepadKeyboardController.js +1 -1
  75. package/views/3d/state/utils/navigationUtils.js +1 -1
  76. package/views/3d/terrain/OverlayManager.js +1 -1
  77. package/views/3d/terrain/TerrainSurface.js +1 -1
  78. package/views/3d/webgl-engine/lib/Octree.js +1 -1
  79. package/views/3d/webgl-engine/lib/Viewshed.js +1 -1
  80. package/views/LinkChartView.js +1 -1
  81. package/views/draw/DrawOperation.js +1 -1
  82. package/views/draw/support/GraphicMover.js +1 -1
  83. package/views/draw/support/HighlightHelper.js +1 -1
  84. package/views/draw/support/Reshape.js +1 -1
  85. package/views/interactive/Tooltip.js +1 -1
  86. package/views/interactive/sketch/SketchLabelOptions.js +1 -1
  87. package/views/interactive/sketch/SketchOptions.js +1 -1
  88. package/views/interactive/sketch/SketchTooltipOptions.js +1 -1
  89. package/views/interactive/sketch/SketchTooltipVisibleElements.js +1 -1
  90. package/views/interactive/sketch/SketchValueOptions.js +1 -1
  91. package/views/interactive/sketch/Units.js +1 -1
  92. package/views/interactive/sketch/constraints.js +1 -1
  93. package/views/interactive/snapping/featureSources/FeatureCollectionSnappingSource.js +1 -1
  94. package/views/interactive/snapping/featureSources/FeatureServiceSnappingSource.js +1 -1
  95. package/views/interactive/snapping/featureSources/GraphicsSnappingSource.js +1 -1
  96. package/views/interactive/tooltip/fields/fields.js +1 -1
  97. package/views/interactive/tooltip/fields/parsingAndFormattingUtils.js +1 -1
  98. package/views/interactive/tooltip/tooltipCommonUtils.js +1 -1
  99. package/views/support/angularMeasurementUtils.js +1 -1
  100. package/widgets/OrientedImageryViewer/components/ImageLocationWidget.js +1 -1
  101. package/widgets/OrientedImageryViewer/imageMeasurementUtils.js +1 -1
  102. package/widgets/VideoPlayer/components/PlayerActionsGroup.js +1 -1
  103. package/widgets/VideoPlayer/css.js +1 -1
  104. package/widgets/VideoPlayer.js +1 -1
  105. package/assets/esri/core/workers/chunks/710ee12aa955e3eea371.js +0 -1
@@ -1 +1 @@
1
- "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[3661],{55537:(t,s,e)=>{function i(t,s){try{if(!t)throw new Error(s)}catch(t){throw t}}e.d(s,{A:()=>I,B:()=>k,C:()=>S,D:()=>L,G:()=>m,a:()=>M,b:()=>w,c:()=>R,d:()=>z,e:()=>v,f:()=>d,g:()=>i,h:()=>x,i:()=>p,j:()=>N,k:()=>b,l:()=>_,m:()=>g,n:()=>E,o:()=>B,p:()=>D,q:()=>q,r:()=>T,s:()=>C,t:()=>A,u:()=>P,v:()=>y,w:()=>Z,x:()=>F,y:()=>G,z:()=>f});class n extends Error{constructor(t,s){super(s),this.m_AdditionalMessage=s,this.m_ErrorType=t,this.name="GeometryError"}what(){return function(t){switch(t){case 1:return"Unknown error";case 2:return"Corrupted geometry";case 3:return"Empty geometry";case 4:return"Math singularity";case 5:return"Buffer is too small";case 6:return"Invalid shape type";case 7:return"Projection out of supported range";case 8:return"Non simple geometry";case 9:return"Cannot calculate geodesic";case 10:return"Notation conversion";case 11:return"Missing grid file";case 12:return"Invalid call";case 13:return"Internal error";case 14:return"Not implemented";case 15:return"IO error";case 16:return"Invalid 3D";case 17:return"An ambiguous geography edge with antipodal points";case 18:return"Geocentric coordinates require ellipsoidal height";case 19:return"Geography cannot be projected into a gnomonic plane or a result of an operation cannot fit into a gnomonic plane";case 20:return"Geometry is too large to be exported in to a given format";case 22:return"Operation is canceled by the user";case 21:return"The operation, such as projection or geodetic computation, cannot be performed without pe-wasm loaded";default:return"unknown error"}}(this.m_ErrorType)}additionalMessage(){return this.m_AdditionalMessage?this.m_AdditionalMessage:""}code(){return this.m_ErrorType}}class r extends n{constructor(t){super(2,t),this.name="CorruptedGeometryError"}}class u extends n{constructor(t){super(3,t),this.name="EmptyGeometryError"}}class h extends n{constructor(t){super(4,t),this.name="MathSingularityError"}}class o extends n{constructor(t){super(21,t),this.name="ProjectionEngineNotLoadedError"}}class a extends n{constructor(t){super(8,t),this.name="NonSimpleGeometryError"}}var m,l;(l=m||(m={}))[l.enumUnknown=0]="enumUnknown",l[l.enumPoint=513]="enumPoint",l[l.enumLine=5122]="enumLine",l[l.enumBezier=5123]="enumBezier",l[l.enumEllipticArc=5124]="enumEllipticArc",l[l.enumEnvelope=3077]="enumEnvelope",l[l.enumMultiPoint=8710]="enumMultiPoint",l[l.enumPolyline=25607]="enumPolyline",l[l.enumPolygon=27656]="enumPolygon",l[l.enumMultipatch=40969]="enumMultipatch",l[l.enumGeometryCollection=3594]="enumGeometryCollection",l[l.enumRationalBezier2=5134]="enumRationalBezier2",l[l.enumBezier2=5135]="enumBezier2",l[l.enumRationalBezier23d=5392]="enumRationalBezier23d",l[l.enumGreatArc3d=5393]="enumGreatArc3d";const c=[0,0,1,1,1,2,0,1,2,3,-1,-1,-1,-1,1,1];function f(t){return c[15&t]}function v(t){return!!(512&t)}function _(t){return!!(1024&t)}function b(t){return!!(2048&t)}function d(t){return!!(4096&t)}function p(t){return!!(8192&t)}function x(t){return!!(16384&t)}function N(t){return!!(32768&t)}function y(t){const s=t.getGeometryType();return p(s)?t.getPointCount():t.isEmpty()?0:s===m.enumEnvelope?4:s===m.enumPoint?1:d(s)?2:void z("missing type")}function g(t){const s=t.getGeometryType();if(x(s))return t.hasNonLinearSegments();if(s===m.enumGeometryCollection){const s=t;for(let t=0,e=s.getGeometryCount();t<e;t++)if(g(s.getGeometry(t)))return!0;return!1}return!!d(s)&&s!==m.enumLine}function T(t){throw new o(t)}function E(t){throw new r(t)}function M(t){throw new Error(t)}function w(t){throw new h(t)}function I(){M("Geometry type is not supported for 3D operations.")}function D(t){throw new n(12,t)}function P(t){throw new u(t)}function A(t){throw new n(14,t)}function q(t){throw new Error(t)}function z(t){throw new n(13,t)}function C(t){throw new Error(t)}function Z(t){throw new a(t)}function B(t){t&&g(t)&&A("Operation does not support curves.")}function R(t){t&&N(t.getGeometryType())&&A("Unsupported geometry type.")}function k(t){t===m.enumGeometryCollection&&M("Geometry_collection instances are not supported in this operation")}function G(t){k(t.getGeometryType())}function S(t){M(`bad wkid: ${t}`)}function L(t){let s="bad wkt: ";s+=t,s+="...",M(s)}function F(t,s){t||M(s)}},83661:(t,s,e)=>{e.d(s,{$:()=>Ds,A:()=>ft,B:()=>ds,C:()=>xt,D:()=>gs,E:()=>a,F:()=>Kt,G:()=>Jt,H:()=>l,I:()=>p,J:()=>d,K:()=>n,L:()=>Pt,M:()=>Bs,N:()=>Es,O:()=>Ts,P:()=>Qs,Q:()=>Ht,R:()=>St,S:()=>Zt,T:()=>As,U:()=>R,V:()=>ct,W:()=>Ct,X:()=>Z,Y:()=>B,Z:()=>pt,_:()=>A,a:()=>G,a0:()=>Is,a1:()=>zs,a2:()=>D,a3:()=>P,a4:()=>q,a5:()=>z,a6:()=>x,a7:()=>Gs,a8:()=>Nt,a9:()=>Ps,aA:()=>Tt,aB:()=>ls,aC:()=>ts,aD:()=>ws,aE:()=>M,aF:()=>fs,aG:()=>Fs,aH:()=>Ls,aI:()=>bs,aJ:()=>Ut,aK:()=>cs,aa:()=>it,ab:()=>nt,ac:()=>wt,ad:()=>N,ae:()=>y,af:()=>et,ag:()=>Rt,ah:()=>ks,ai:()=>Rs,aj:()=>lt,ak:()=>Cs,al:()=>yt,am:()=>V,an:()=>S,ao:()=>at,ap:()=>L,aq:()=>ys,ar:()=>es,as:()=>_t,at:()=>ms,au:()=>vs,av:()=>At,aw:()=>Dt,ax:()=>I,ay:()=>as,az:()=>Os,b:()=>vt,c:()=>bt,d:()=>zt,e:()=>F,f:()=>w,g:()=>Ns,h:()=>Et,i:()=>ss,j:()=>Xt,k:()=>Bt,l:()=>st,m:()=>It,n:()=>qt,o:()=>Gt,p:()=>kt,q:()=>C,r:()=>Wt,s:()=>Ms,t:()=>O,u:()=>gt,v:()=>dt,w:()=>Mt,x:()=>k,y:()=>g,z:()=>E});var i=e(55537);class n{constructor(t){this.sum=t,this.compensation=0}assign(t){return this.compensation=t.compensation,this.sum=t.sum,this}reset(){this.sum=this.compensation=0}resetToStart(t){this.sum=t,this.compensation=0}normalize(){const t=[Number.NaN];this.sum=tt(this.sum,this.compensation,t),this.compensation=t[0]}add(t){const s=this.sum+t;let e;if(Math.abs(this.sum)>=Math.abs(t)){const i=this.sum-s+t;e=this.compensation+i}else{const i=t-s+this.sum;e=this.compensation+i}this.sum=s,this.compensation=e}sub(t){this.add(-t)}addProduct(t,s){const e=[0],i=J(t,s,e);this.add(i),this.add(e[0])}mul(t){const s=new n(0);s.addProduct(this.sum,t),s.addProduct(this.compensation,t),this.assign(s)}getResult(){return this.sum+this.compensation}pe(t){return this.add(t),this}me(t){return this.add(-t),this}}const r=[5,1,2,1,3,1,2,1,4,1,2,1,3,1,2,1],u=[-1,0,1,1,2,2,2,2,3,3,3,3,3,3,3,3];function h(t){let s=0;return 65535n&t||(s+=16,t>>=16n),255n&t||(s+=8,t>>=8n),15n&t||(s+=4,t>>=4n),s+r[Number(BigInt.asUintN(4,t))]}function o(t){let s=0;return 4294967295n&t||(s=32,t>>=32n),s+h(BigInt.asUintN(32,t))}class a{constructor(t,s){if(this.m_EnvelopeType=1,void 0!==t){if(t instanceof a)return this.vmin=t.vmin,void(this.vmax=t.vmax);this.vmin=t,this.vmax=s,this.normalize()}else this.setEmpty()}static construct(t,s){return new a(t,s)}static constructEmpty(){return new a}setCoords(t,s){this.vmin=t,this.vmax=s,this.normalize()}setCoordsFromEnvelope(t){this.vmin=t.vmin,this.vmax=t.vmax}setEmpty(){this.vmin=Number.NaN,this.vmax=Number.NaN}getCenter(){return.5*(this.vmin+this.vmax)}equalsRange(t,s){return Ht(this.vmin,t)&&Ht(this.vmax,s)}equals(t,s){return!(!this.isEmpty()||!t.isEmpty())||(void 0!==s?Math.abs(this.vmin-t.vmin)<=s&&Math.abs(this.vmax-t.vmax)<=s:this.vmin===t.vmin&&this.vmax===t.vmax)}width(){return this.vmax-this.vmin}isEmpty(){return Number.isNaN(this.vmin)||Number.isNaN(this.vmax)}isZero(){return this.vmin===this.vmax}setInfinite(){this.vmin=Number.NEGATIVE_INFINITY,this.vmax=Number.POSITIVE_INFINITY}move(t){this.isEmpty()||(this.vmin+=t,this.vmax+=t)}contains(t){return t.vmin>=this.vmin&&t.vmax<=this.vmax}containsCoordinate(t){return t>=this.vmin&&t<=this.vmax}containsRightExclusive(t){return t>=this.vmin&&t<this.vmax}containsExclusiveCoordinate(t){return t>this.vmin&&t<this.vmax}containsExclusive(t){return t.vmin>this.vmin&&t.vmax<this.vmax}isIntersecting(t){return this.vmin<=t.vmin?this.vmax>=t.vmin:t.vmax>=this.vmin}mergeCoordinate(t){if(this.isEmpty())return this.vmin=t,void(this.vmax=t);this.mergeNeCoordinate(t)}merge(t){if(t.isEmpty())return;const s=t.vmin,e=t.vmax;this.mergeCoordinate(s),this.mergeCoordinate(e)}mergeNe(t){const s=t.vmin,e=t.vmax;this.mergeNeCoordinate(s),this.mergeNeCoordinate(e)}mergeNeCoordinate(t){t<this.vmin?this.vmin=t:t>this.vmax&&(this.vmax=t)}intersect(t){this.isEmpty()||t.isEmpty()?this.setEmpty():(this.vmin<t.vmin&&(this.vmin=t.vmin),this.vmax>t.vmax&&(this.vmax=t.vmax),this.vmin>this.vmax&&this.setEmpty())}inflate(t){this.isEmpty()||(this.vmin-=t,this.vmax+=t,this.vmax<this.vmin&&this.setEmpty())}normalize(){this.vmin<=this.vmax||(this.vmin>this.vmax?this.vmax=bt(this.vmin,this.vmin=this.vmax):this.setEmpty())}isValid(){return this.isEmpty()||this.vmin<=this.vmax}snapClip(t){return Ms(t,this.vmin,this.vmax)}calculateToleranceFromEnvelope(){return this.isEmpty()?Ns():(Math.abs(this.vmin)+Math.abs(this.vmax)+1)*Ns()}static unit(){return m}normalizeNoNAN(){this.vmin>this.vmax&&(this.vmax=bt(this.vmin,this.vmin=this.vmax))}setCoordsNoNAN(t,s){this.vmin=t,this.vmax=s,this.normalizeNoNAN()}clone(){return new a(this.vmin,this.vmax)}}const m=new a(0,1);class l{static getNAN(){return new l(Number.NaN)}constructor(t,s){this.m_value=t??0,this.m_eps=s??0}[Symbol.toPrimitive](t){return this}clone(){return new l(this.m_value,this.m_eps)}assign(t){return this.m_value=t.m_value,this.m_eps=t.m_eps,this}scaleError(t){this.m_eps*=t}setError(t){this.m_eps=t}set(t,s){return this.m_value=t,this.m_eps=s??0,this}setWithEps(t,s){return void 0===s&&(s=1),this.m_value=t,this.m_eps=l.ulp(t)*s,this}setE(t){return this.m_value=t.m_value,this.m_eps=t.m_eps,this}precise(){return new l(this.m_value)}value(){return this.m_value}toDouble(){return this.m_value}eps(){return this.m_eps}resetError(){return this.m_eps=0,this}absThis(){return this.m_value=Math.abs(this.m_value),this}add(t){return this.clone().addThis(t)}addE(t){return this.clone().addThisE(t)}addThisE(t){const s=this.m_value+t.m_value,e=this.m_eps+t.m_eps+l.ulp(s);return this.m_value=s,this.m_eps=e,this}addThis(t){const s=this.m_value+t,e=this.m_eps+l.ulp(s);return this.m_value=s,this.m_eps=e,this}subE(t){return this.clone().subThisE(t)}sub(t){return this.clone().subThis(t)}subThisE(t){const s=this.m_value-t.m_value,e=this.m_eps+t.m_eps+l.ulp(s);return this.m_value=s,this.m_eps=e,this}subThis(t){const s=this.m_value-t,e=this.m_eps+l.ulp(s);return this.m_value=s,this.m_eps=e,this}setAddE(t,s){return this.m_value=t.m_value+s.m_value,this.m_eps=t.m_eps+s.m_eps+l.ulp(this.m_value),this}setAdd(t,s){return this.m_value=t+s,this.m_eps=l.ulp(this.m_value),this}setAddEN(t,s){return this.m_value=t.m_value+s,this.m_eps=t.m_eps+l.ulp(this.m_value),this}setAddNE(t,s){return this.m_value=t+s.m_value,this.m_eps=s.m_eps+l.ulp(this.m_value),this}setSubE(t,s){return this.m_value=t.m_value-s.m_value,this.m_eps=t.m_eps+s.m_eps+l.ulp(this.m_value),this}setSub(t,s){return this.m_value=t-s,this.m_eps=l.ulp(this.m_value),this}setSubEN(t,s){return this.m_value=t.m_value-s,this.m_eps=t.m_eps+l.ulp(this.m_value),this}setSubNE(t,s){return this.m_value=t-s.m_value,this.m_eps=s.m_eps+l.ulp(this.m_value),this}mulThisE(t){const s=this.m_value*t.m_value;return this.m_eps=this.m_eps*Math.abs(t.m_value)+t.m_eps*Math.abs(this.m_value)+this.m_eps*t.m_eps+l.ulp(s),this.m_value=s,this}mulThis(t){const s=this.m_value*t;return this.m_eps=this.m_eps*Math.abs(t)+l.ulp(s),this.m_value=s,this}mul(t){return this.clone().mulThis(t)}mulE(t){return this.clone().mulThisE(t)}setMulE(t,s){const e=t.m_value*s.m_value;return this.m_eps=t.m_eps*Math.abs(s.m_value)+s.m_eps*Math.abs(t.m_value)+t.m_eps*s.m_eps+l.ulp(e),this.m_value=e,this}setMul(t,s){return this.m_value=t*s,this.m_eps=l.ulp(this.m_value),this}setMulEN(t,s){return this.setE(t),this.mulThis(s)}setMulNE(t,s){return this.setE(s),this.mulThis(t)}mulThisByPower2(t){return this.m_value*=t,this.m_eps*=Math.abs(t),this}static st_mulByPower2(t,s){return new l(t.m_value,t.m_eps).mulThisByPower2(s)}divE(t){return this.clone().divThisE(t)}divThisE(t){const s=Math.abs(t.m_value),e=this.m_value/t.m_value;let i=(this.m_eps+Math.abs(e)*t.m_eps)/s;if(t.m_eps>.01*s){const e=t.m_eps/s;i*=1+(1+e)*e}return this.m_value=e,this.m_eps=i+l.ulp(e),this}divThis(t){const s=Math.abs(t);return this.m_value/=t,this.m_eps=this.m_eps/s+l.ulp(this.m_value),this}setDivE(t,s){return this.setE(t),this.divThisE(s)}setDiv(t,s){return this.m_value=t/s,this.m_eps=l.ulp(this.m_value),this}setDivEN(t,s){return this.setE(t),this.divThis(s)}setDivNE(t,s){return this.set(t),this.divThisE(s)}divThisByPower2(t){return this.m_value/=t,this.m_eps/=Math.abs(t),this}invThis(){return this.setE(p.clone().divThisE(this)),this}sqrt(){return this.clone().sqrtThis()}sqrtThis(){let t,s;return this.m_value>=0?(t=Math.sqrt(this.m_value),s=this.m_value>10*this.m_eps?.5*this.m_eps/t:this.m_value>this.m_eps?t-Math.sqrt(this.m_value-this.m_eps):Math.max(t,Math.sqrt(this.m_value+this.m_eps)-t),s+=l.ulp(t)):this.m_value<-this.m_eps?(t=Number.NaN,s=Number.NaN):(t=0,s=Math.sqrt(this.m_eps)),this.m_value=t,this.m_eps=s,this}sqr(){return this.clone().sqrThis()}sqrThis(){const t=this.m_value*this.m_value;return this.m_eps=2*this.m_eps*Math.abs(this.m_value)+this.m_eps*this.m_eps+l.ulp(t),this.m_value=t,this}setSin(t){const s=Math.sin(t.m_value),e=Math.cos(t.m_value);this.m_value=s;const i=Math.abs(s),n=Math.abs(t.value());return this.m_eps=(Math.abs(e)+.5*i*t.m_eps)*t.m_eps+l.ulp(i+n),this}static ulp(t){let s=Vt(t);const e=((0x7ff0000000000000n&s)>>52n)-1075n;return e>-1023n?(s=e+0x3ffn<<52n,function(t){return Ot[0]=t,Ft[0]}(s)):0===t?0:Number.MIN_VALUE}setCos(t){const s=Math.sin(t.m_value),e=Math.cos(t.m_value);this.m_value=e;const i=Math.abs(e),n=Math.abs(t.value());return this.m_eps=(Math.abs(s)+.5*i*t.m_eps)*t.m_eps+l.ulp(i+n),this}static st_cosAndSin(t,s,e){const i=Math.sin(t.m_value),n=Math.cos(t.m_value);e.m_value=i,s.m_value=n;const r=Math.abs(i),u=Math.abs(n),h=Math.abs(t.value());e.m_eps=(Math.abs(n)+.5*r*t.m_eps)*t.m_eps+l.ulp(r+h),s.m_eps=(Math.abs(i)+.5*u*t.m_eps)*t.m_eps+l.ulp(u+h)}negate(){return this.clone().negateThis()}negateThis(){return this.m_value=-this.m_value,this}setAbs(){return this.m_value=Math.abs(this.m_value),this}isInInterval(t){return a.construct(this.m_value-this.m_eps,this.m_value+this.m_eps).isIntersecting(t)}eq(t){return Math.abs(this.m_value-t.m_value)<=this.m_eps+t.m_eps}ne(t){return!this.eq(t)}gt(t){return this.m_value-t.m_value>this.m_eps+t.m_eps}lt(t){return t.m_value-this.m_value>this.m_eps+t.m_eps}ge(t){return!this.lt(t)}le(t){return!this.gt(t)}tolEQ(t,s){return Math.abs(this.m_value-t.m_value)<=s||this.eq(t)}tolNE(t,s){return!this.tolEQ(t,s)}tolGT(t,s){return this.m_value-t.m_value>s&&this.gt(t)}tolLT(t,s){return t.m_value-this.m_value>s&&this.lt(t)}tolGE(t,s){return!this.tolLT(t,s)}tolLE(t,s){return!this.tolGT(t,s)}isZero(){return Math.abs(this.m_value)<=this.m_eps}isFuzzyZero(){return this.isZero()&&0!==this.m_eps}tolIsZero(t){return Math.abs(this.m_value)<=Math.max(this.m_eps,t)}setPi(){this.setE(b)}setEuler(){this.set(2.718281828459045,_())}static size(){return 1}}function c(t,s){const e=jt(t),i=jt(s),n=53-o(e),r=53-o(i);return(n>=0?n:0)+(r>=0?r:0)<=52}function f(t,s){const e=t+s;return e-t===s&&e-s===t}function v(t,s){const e=t-s;return t-e===s&&s+e===t}function _(){return Ts()}l.dimensions=1;const b=new l(Math.PI,.5*_()),d=new l(0,0),p=new l(1,0),x=new l(4,0);function N(t,s,e){return t.addE(s.subE(t).mulE(e))}function y(t,s,e){return s.subE(s.subE(t).mulE(p.subE(e)))}function g(t){let s;if(0===t)s=1;else if(Math.abs(t)>.01)s=function(t){return Math.atanh(t)}(t)/t;else{let e;const i=-36.841361487904734;s=0;const n=t*t;for(let t=2*Math.trunc(i/Math.log(n)+2.5)-1;t>1;t-=2)e=1/t,s=(s+e)*n;s+=1}return s}function T(t){const s=Math.PI*Math.PI/6;let e;if(1===t)e=s;else if(t>1)e=s;else if(0===t)e=t;else if(t<0){const s=1+(t=Math.abs(t)),i=Math.log(s);e=i*i/-2-T(t/s)}else if(t>.5){const i=1-t,n=Math.log(t)*Math.log(i);e=s-T(i)-n}else{e=0;const s=1+Math.trunc(-16*Math.log(10)/Math.log(t)+1.5);let i=s;for(let n=s;n>0;n--,i-=1)e*=t,e+=1/(i*i);e*=t}return e}function E(t,s){const e=s*t;if(Math.abs(s)<.1){let s=0;for(let t=60;t>=1;t--)s*=e,s+=1/t/t;return s*=t,s}return T(e)/s}function M(t,s){return t<s?Bt(t,s):Bt(s,t)}function w(t,s){const e=Math.abs(t);return s>=0?e:-e}function I(t){return Math.round(t)}function D(t,s,e,i,n){n[0]=s[0]+(e[0]-s[0])*i,n[1]=s[1]+(e[1]-s[1])*i,3===t&&(n[2]=s[2]+(e[2]-s[2])*i)}function P(t,s,e,i,n){n[0]=e[0]-(e[0]-s[0])*(1-i),n[1]=e[1]-(e[1]-s[1])*(1-i),3===t&&(n[2]=e[2]-(e[2]-s[2])*(1-i))}function A(t,s,e,i,n){i<=.5?D(t,s,e,i,n):P(t,s,e,i,n)}function q(t,s,e,i,n){n[0]=s[0].addE(e[0].subE(s[0]).mulE(i)),n[1]=s[1].addE(e[1].subE(s[1]).mulE(i))}function z(t,s,e,i,n){n[0]=e[0].subE(e[0].subE(s[0]).mulE(p.subE(i))),n[1]=e[1].subE(e[1].subE(s[1]).mulE(p.subE(i)))}function C(t,s,e){let i;return i=e<=.5?t+(s-t)*e:s-(s-t)*(1-e),i}function Z(t,s,e){return t+(s-t)*e}function B(t,s,e){return s-(s-t)*(1-e)}function R(t,s,e,i){e<=.5?(i.x=t.x+(s.x-t.x)*e,i.y=t.y+(s.y-t.y)*e):(i.x=s.x-(s.x-t.x)*(1-e),i.y=s.y-(s.y-t.y)*(1-e))}function k(t,s,e,i){e<=.5?(i.x=t.x+(s.x-t.x)*e,i.y=t.y+(s.y-t.y)*e,i.z=t.z+(s.z-t.z)*e):(i.x=s.x-(s.x-t.x)*(1-e),i.y=s.y-(s.y-t.y)*(1-e),i.z=s.z-(s.z-t.z)*(1-e))}function G(t){return t*t}function S(t){return t*t*t}function L(t){return 1/Math.sqrt(t)}function F(t){return t<0?-1:t>0?1:0}function O(t,s,e,i){const n=[0],r=[0],u=[0];return tt(J(t,e,n),J(s,i,r),u)+(n[0]+r[0]+u[0])}const Q=[0],U=[0];function V(t,s,e){return function(t,s,e,i){const n=tt(t,s,W),r=tt(n,e,X);return tt(r,W[0]+X[0],i)}(J(t,s,Q),e,Q[0],U)}const j=[0],Y=[0],$=[0],H=[0];function J(t,s,e){const i=t*s;return K(t,j,Y),K(s,$,H),e[0]=Y[0]*H[0]-(i-j[0]*$[0]-Y[0]*$[0]-j[0]*H[0]),i}function K(t,s,e){const i=134217729*t;s[0]=i-(i-t),e[0]=t-s[0]}const W=[0],X=[0];function tt(t,s,e){const i=t+s;return Math.abs(t)>Math.abs(s)?e[0]=t-i+s:e[0]=s-i+t,i}function st(t,s){return t%s}function et(t){const s=1-t;if(0===s)return 1;let e;if(s<=.01){const t=s,i=Math.log(t);e=1+t*(.4431471805599453-.25*i+t*(.05680519270997949-.09375*i+t*(.02183137044373718-.05859375*i+t*(.011544521417308362-.042724609375*i+t*(.00714200031339596-.0336456298828125*i+t*(.004854743337164948-.027757644653320312*i+t*(.003514687963781376-.023627042770385742*i)))))))}else{if(t<.016){const s=t,e=.25,i=.046875,n=.01953125,r=.01068115234375,u=.0067291259765625,h=.004626274108886719,o=.0033752918243408203,a=.0025710230693221092;return As()*(1-s*(e+s*(i+s*(n+s*(r+s*(u+s*(h+s*(o+s*a))))))))}e=rt(0,s,1)-t*ut(0,s,1)/3}return Ms(e,1,As())}function it(t,s,e=Number.NaN){if((0,i.g)(s>=0&&s<=1),0===s)return t;let n=1,r=t;if(r<0&&(r=-r,n=-1),1===s){const t=Math.round(r/Ds()),s=r-t*Ds();return n*(2*t+Math.sin(s))}const u=As(),h=Math.floor(r/u);1&h?r=(h+1)*u-r:r-=h*u;const o=Math.sin(r),a=Number.isNaN(e)?et(s):e;let m;if(1===o)m=a+Math.sqrt(1-s)*(r-u);else{const t=r*r;if(.01424*Math.pow(t,4)<=2*Ts())m=r*(1+t*s*(-1/6+t*((4-3*s)/120-(16+(45*s-60)*s)/5040*t)));else if(s<=.01){const t=Math.sin(2*r),e=Math.sin(4*r),i=Math.sin(6*r),n=Math.sin(8*r),u=Math.sin(10*r);m=r+s*((2*-r+t)/8+s*((-3*r+2*t-.25*e)/64+s*((-20*r+15*t-3*e+i/3)/1024+s*(5*(-140*r+112*t-28*e+16/3*i-.5*n)/65536+7*s*((-63*r+52.5*t-15*e+3.75*i-.625*n+.05*u)/65536+s*(-693*r+594*t-185.625*e+1.375*i-12.375*n+1.8*u-.125*Math.sin(12*r))/1048576)))))}else{const t=o*o,e=Math.cos(r),i=e*e,n=ht(o,e,s);m=o*(rt(i,n,1)-s*t*ut(i,n,1)/3)}}return 1&h?m=a*(h+1)-m:m+=a*h,n*m}function nt(t,s,e=Number.NaN){if(0===t)return 0;let i=1,n=t;t<0&&(n=-n,i=-1);const r=Number.isNaN(e)?et(s):e,u=Math.floor(n/r);1&u?n=(u+1)*r-n:n-=u*r;let h=n<=0?0:n>=r?As():function(t,s,e){if(0===s)return t;if(1===s)return Math.asin(t);let i=0,n=!0;if(t<.2){const e=t*t,r=t*(1+e*s*(1/6+e*((13*s-4)/120+(16-284*s+493*s*s)/5040*e))),u=Math.abs(s*(4944*s-64-31224*s*s+37369*s*s*s)/362880*Math.pow(t,9));if(u<Math.abs(r)*Ts())return r;i=r,n=u>.1*r}if(n){const n=1-s,r=1-t/e,u=Math.sqrt(r*r+n*n),h=Math.atan2(n,t+Ts());i=As()+Math.sqrt(u)*(h-As())}let r=0;for(let n=0;n<7;n++){r=it(i,s,e);const u=ht(Math.sin(i),Math.cos(i),s);if(i-=(r-t)/Math.sqrt(u),n>0&&Math.abs(r-t)<=4*Ts()*t)break}return i}(n,s,r);return 1&u?h=As()*(u+1)-h:h+=As()*u,i*h}function rt(t,s,e){(0,i.g)((0!==t?1:0)+(0!==s?1:0)+1>1);let n=t,r=s,u=e;for(;;){const t=Math.sqrt(n*r)+Math.sqrt(r*u)+Math.sqrt(u*n);n=.25*(n+t),r=.25*(r+t),u=.25*(u+t);const s=(n+r+u)/3,e=(s-n)/s,i=(s-r)/s,h=(s-u)/s;if(Math.abs(e)<=.0024&&Math.abs(i)<=.0024&&Math.abs(h)<=.0024){const t=e*i-h*h,n=e*i*h;return(1+(1/24*t-.1-3/44*n-5*t*t/208+t*n/16)*t+(1/14+3*n/104)*n)/Math.sqrt(s)}}}function ut(t,s,e){(0,i.g)(0!==t||0!==s);let r=t,u=s,h=e;const o=new n(0);let a=1;for(;;){const t=.2*(r+u+3*h),s=(t-r)/t,e=(t-u)/t,i=(t-h)/t;if(Math.abs(s)<=.0015&&Math.abs(e)<=.0015&&Math.abs(i)<=.0015){const n=s*e,r=i*i,u=n-r,h=n-6*r,m=h+u+u,l=3/26,c=h*(9/22*.25*h-.21428571428571427-1.5*l*i*m),f=i*(1/6*m+i*(-.4090909090909091*u+i*l*n));return 3*o.getResult()+a*(1+c+f)/(t*Math.sqrt(t))}const n=Math.sqrt(r),m=Math.sqrt(u),l=Math.sqrt(h),c=n*(m+l)+m*l;o.add(a/(l*(h+c))),a*=.25,r=.25*(r+c),u=.25*(u+c),h=.25*(h+c)}}function ht(t,s,e){return t<.999?1-e*G(t):1-e+e*G(s)}const ot=new class{constructor(t){for(this.values=[[1]];this.values.length<t+1;){const t=this.values.at(-1),s=zt(t.length+1,1);for(let e=1;e<t.length;++e)s[e]=t[e-1]+t[e];this.values.push(s)}}get(t,s){return this.values[t][s]}}(32);function at(t,s){if(t<ot.values.length)return ot.get(t,s);const e=Math.exp(((0,i.g)(0),0));return e+.01>2147483647&&(0,i.q)("The result value of n choose k is out of range"),e+.01}function mt(t,s){if(t.isZero())return t.clone();const e=t.clone().divThis(t);if(s<0)return e.divThis(mt(t,-s));for(t=t.clone(),s=Math.trunc(s);1&s&&e.mulThis(t),s>>=1;)t.mulThis(t);return e}function lt(t,s){if(0===s)return[];const e=t[0].clone().mulDoubleThis(0),i=[];i.length=s;const n=s-1;for(let s=0;s<=n;++s){i[s]=e.clone();for(let e=0;e<=s;++e)i[s].addThis(t[e].clone().mulDoubleThis(at(s,e)/at(n,e)))}return i}function ct(t,s,e,n,r){return 0===t?0===n?s:1===n?e:r:1===t?0===n?s:1===n?e:C(s,e,n):(2===t&&(0,i.t)("angular interpolation"),void(0,i.t)(""))}function ft(t,s,e,n,r,u,h,o){if(0===t)for(let t=0;t<u;++t)n[t+r]=0===h?s[t]:1===h?e[t]:o;else if(1===t)if(0===h)vt(n,s,r,0,u);else if(1===h)vt(n,e,r,0,u);else for(let t=0;t<u;++t)n[t+r]=C(s[t],e[t],h);else if(2===t)if(0===h)vt(n,s,r,0,u);else if(1===h)vt(n,e,r,0,u);else{let t=0;for(let i=0,o=r;i<u;++i,++o)n[o]=C(s[i],e[i],h),t+=n[o]*n[o];if(t>0){t=Math.sqrt(t);for(let s=r;s<r+u;++s)n[s]/=t}else{for(let t=r;t<r+u;++t)n[t]=0;n[r]=1}}else(0,i.t)("")}function vt(t,s,e,i,n){if(0===n)return;let r=0,u=e,h=i;for(;r++<n;)t[u++]=s[h++]}function _t(t,s,e){let i=0;for(let n=0;!i&&n<e;++n)i=t[n]-s[n];return i}function bt(t,s){return t}function dt(t){t.sort(((t,s)=>t<s?-1:t>s?1:0))}function pt(t,s){const e=t.slice(0,s);dt(e),vt(t,e,0,0,s)}function xt(t,s,e,i){const n=t.slice(s,s+e);n.sort(i),vt(t,n,s,0,e)}function Nt(t,s){return t<s?-1:t>s?1:0}function yt(t,s,e,i){return t<e?-1:t>e?1:s<i?-1:s>i?1:0}function gt(t,s){if(t.length<2)return t.length;let e=0;for(let i=1;i<t.length;++i)s(t[i],t[e])||(e++,t[i]=bt(t[e],t[e]=t[i]));return 1+e}function Tt(t,s){t[s]=t.at(-1),t.pop()}function Et(t,s=!1){return{[Symbol.dispose](){this.bForget||t()},bForget:s}}function Mt(t,s,e){t.length=s,t.fill(e)}function wt(t,s,e){t.length=e;for(let i=0;i<e;++i)t[i]=new s}function It(t,s){const e=new Array(s);for(let i=0;i<s;++i)e[i]=new t;return e}function Dt(t,s,e){for(let i=0;i<e;++i)t[i].assign(s[i]);return e}function Pt(t,s){const e=t.slice(0,s);for(let t=0;t<s;++t)e[t]=e[t].clone();return e}function At(t){return Array.from({length:t},(()=>null))}function qt(t,s){return Array.from({length:s},(()=>t()))}function zt(t,s){const e=new Array(t);return e.fill(s),e}function Ct(t,s){return s in t&&1===Object.getOwnPropertyNames(t).length}class Zt{constructor(...t){this.m_elts=t}get length(){return this.m_elts.length}at(t){return this.m_elts[t]}[Symbol.dispose](){for(const t of this.m_elts)t[Symbol.dispose]()}}function Bt(t,s){return{first:t,second:s}}const Rt=Math.PI,kt=2*Math.PI,Gt=.5*Math.PI;class St{constructor(t,s){this.m_cr=t,this.m_cc=s,this.m_v=zt(t*s,0)}get(t,s){return this.m_v[t*this.m_cc+s]}set(t,s,e){this.m_v[t*this.m_cc+s]=e}inc(t,s){return++this.m_v[t*this.m_cc+s]}}const Lt=new ArrayBuffer(8),Ft=new Float64Array(Lt),Ot=new BigUint64Array(Lt),Qt=0x0fffffffffffffn;function Ut(){return Number.EPSILON*xs}function Vt(t){return Ft[0]=t,Ot[0]}function jt(t){return Vt(t)&Qt}function Yt(t){return Number((9218868437227405312n&Vt(t))>>52n)}function $t(t){if(0n===t)return-1n;if(1n===t||-1n===t)return 0n;t<0n&&(t=-t);let s=0n,e=512n,i=1n<<s+e;for(;t>=i;)s+=e,e<<=1n,i<<=e;let n=s;e>>=1n;let r=n+e;for(;e>0n;)t<1n<<r||(n=r),e>>=1n,r=n+e;return n}function Ht(t,s){return t===s||Number.isNaN(t)&&Number.isNaN(s)}function Jt(t,s,e){return t===s||Math.abs(t-s)<=e||Number.isNaN(t)&&Number.isNaN(s)}function Kt(t,s){return t<s?-1:t>s?1:0}function Wt(t,s){if(t<s)return-1;if(t>s)return 1;if(t===s)return 0;{const e=Number.isNaN(t),i=Number.isNaN(s);return e<i?-1:e>i?1:0}}function Xt(){return 2147483647}function ts(){return 32767}function ss(){return 2147483647}function es(){return-2147483648}const is=2147483647,ns=BigInt(is),rs=2166136261,us=16777619,hs=14695981039346656037n,os=1099511628211n;function as(t){let s=rs;for(let e=0,i=t.length;e<i;++e)s=(s^t.charCodeAt(e))*us;return s&is}function ms(t,s){return s+2654435769+(t<<6)+(t>>2)&is}function ls(t,s){return ms(t,_s(s))}function cs(t){return ms(3735928559,t)}function fs(t,s){return ms(t,cs(s))}function vs(t){return function(t){let s=rs,e=t;return s=(s^255&e)*us,e>>=8,s=(s^255&e)*us,e>>=8,s=(s^255&e)*us,e>>=8,s=(s^255&e)*us,s&is}(t)}function _s(t){return Number(function(t){let s=hs,e=t;return s=(s^0xffn&e)*os,e>>=8n,s=(s^0xffn&e)*os,e>>=8n,s=(s^0xffn&e)*os,e>>=8n,s=(s^0xffn&e)*os,e>>=8n,s=(s^0xffn&e)*os,e>>=8n,s=(s^0xffn&e)*os,e>>=8n,s=(s^0xffn&e)*os,s&ns}(t))}function bs(t){return _s(Vt(function(t){return Cs(t)}(t)))}function ds(t){return function(t){return 1103515245*t+12345&2147483647}(t)}const ps=100,xs=100;function Ns(){return Number.EPSILON*ps}function ys(){return.38196601125010515}function gs(){return 1.4142135623730951}function Ts(){return Number.EPSILON}function Es(t,s,e){return t===s||t===e}function Ms(t,s,e){return t>=s?t<=e?t:e:s}function ws(t,s,e){const i=t[0];if(i>=s){if(i<=e)return!1;t[0]=e}else t[0]=s;return!0}function Is(t,s){return t>=s?s:t<-s?-s:t}function Ds(){return Rt}function Ps(){return kt}function As(){return Gt}const qs=3*As();function zs(){return qs}function Cs(t){return t+0}function Zs(t){return{v:t}}class Bs{constructor(){this.m_rn=Zs(0n),this.m_rd=Zs(1n),this.m_bNaN=!1,this.m_bNormalized=!1,this.m_power=0,this.m_sign=0}static constructAssign(t,s){const e=t.clone();return void 0!==s&&e.limitPrecisionThis(s),e}static constructDouble(t){return(new Bs).setDouble(t)}static constructInt64(t){return(new Bs).setInt64(t)}static constructRational(t,s){return(new Bs).setRational(t,s)}static constructInt32(t){return this.constructInt64(BigInt(Math.trunc(t)))}[Symbol.toPrimitive](t){return this}compare(t){return this.lt(t)?-1:this.gt(t)?1:0}assignCopy(t){return this.setThis(t)}abs(){return this.clone().absThis()}absThis(){return this.isNAN()||(this.m_sign*=this.m_sign),this}clone(){return(new Bs).setThis(this)}setThis(t){return this.m_bNaN=t.m_bNaN,this.m_bNormalized=t.m_bNormalized,this.m_rn.v=t.m_rn.v,this.m_rd.v=t.m_rd.v,this.m_power=t.m_power,this.m_sign=t.m_sign,this}setZero(){return this.m_rn.v=0n,this.m_rd.v=1n,this.m_bNaN=!1,this.m_power=0,this.m_bNormalized=!0,this.m_sign=0,this}setDouble(t){if(this.setZero(),0===t)return this;if(Number.isInteger(t)&&Math.abs(t)<2147483647)return this.setInt32(t);const s=Vt(t),e=(s&Bs.s_em)>>52n,n=!!(s&Bs.s_sm),r=s&Bs.s_fm;if(e===Bs.s_emax)return r?(this.m_rn.v=this.m_rd.v=0n,this.m_bNaN=!0,this):(this.m_rn.v=n?-1n:1n,this.m_rd.v=0n,this);0n===e&&(0,i.t)("denormalized numbers not yet implemented");const u=e-1023n,h=u>=0n?u:0n,o=u<0n?-u:0n;return this.m_rn.v=(1n<<52n|r)<<h,this.m_rd.v=1n<<52n+o,this.m_sign=n?-1:1,this.m_bNormalized=!1,this.normalizeThis()}setInt64(t){return 0n===t?this.setZero():(this.m_bNaN=!1,this.m_sign=t>0n?1:-1,this.m_rn.v=t>0n?t:-t,this.m_rd.v=1n,this.m_power=0,this.m_bNormalized=!1,this.normalizeThis())}setRational(t,s){return 0n===t?0n===s?this.setNAN():this.setZero():0n===s?t>0n?this.setPositiveInf():this.setNegativeInf():(this.m_sign=(t>0n?1:-1)*(s>0n?1:-1),this.m_rn.v=t>0n?t:-t,this.m_rd.v=s>0n?s:-s,this.m_power=0,this.m_bNormalized=!1,this.normalizeThis())}setInt32(t){return this.setInt64(BigInt(Math.trunc(t)))}getDouble(){return this.convertToDouble()}toDouble(){return this.convertToDouble()}value(){return this.convertToDouble()}isNAN(){return this.m_bNaN}isPositiveInf(){return!this.isNAN()&&0n===this.m_rd.v&&1===this.m_sign}isNegativeInf(){return!this.isNAN()&&0n===this.m_rd.v&&-1===this.m_sign}isFinite(){return!this.isNAN()&&0n!==this.m_rd.v}setNAN(){return this.m_bNaN=!0,this.m_rn.v=0n,this.m_rd.v=0n,this.m_power=0,this.m_bNormalized=!0,this}setPositiveInf(){return this.m_rn.v=1n,this.m_rd.v=0n,this.m_bNaN=!1,this.m_bNormalized=!0,this.m_sign=1,this.m_power=0,this}setNegativeInf(){return this.m_rn.v=1n,this.m_rd.v=0n,this.m_bNaN=!1,this.m_bNormalized=!0,this.m_sign=-1,this.m_power=0,this}subThis(t){if(t.isNAN()&&this.setNAN(),this.isPositiveInf()&&t.isPositiveInf())this.setNAN();else{if(this.isPositiveInf()&&t.isNegativeInf())return this.setPositiveInf(),this;if(this.isNegativeInf()&&t.isNegativeInf())this.setNAN();else if(this.isNegativeInf()&&t.isPositiveInf())return this.setNegativeInf(),this}return this.isNAN()?this:this.opPlusMinus(t,!1)}thisSubAbs(t){return(0,i.g)(0),this}mulThis(t){return t.isNAN()&&this.setNAN(),this.isNAN()?this:(this.m_sign*=t.m_sign,0===this.m_sign?this.setZero():(this.m_rn.v*=t.m_rn.v,this.m_rd.v*=t.m_rd.v,this.m_power+=t.m_power,this.m_bNormalized=!1,this.normalizeThis(),this))}mulDoubleThis(t){return this.mulThis(Bs.constructDouble(t))}thisMulInt64(t){return(0,i.g)(0),this}thisMulInt32(t){return(0,i.g)(0),this}divThis(t){return this.mulThis(t.clone().invertThis())}divDoubleThis(t){return this.divThis(Bs.constructDouble(t))}addDoubleThis(t){return this.addThis(Bs.constructDouble(t))}subDoubleThis(t){return this.subThis(Bs.constructDouble(t))}mul(t){return this.clone().mulThis(t)}mulBigIntThis(t){return this.mulThis(Bs.constructInt64(t))}mulDouble(t){return this.clone().mulThis(Bs.constructDouble(t))}div(t){return this.clone().divThis(t)}divDouble(t){return this.clone().divDoubleThis(t)}add(t){return this.clone().addThis(t)}fmSubThis(t,s){return this.subThis(t.clone().mulThis(s))}fmAddThis(t,s){return this.addThis(t.clone().mulThis(s))}addThis(t){if(t.isNAN()&&this.setNAN(),this.isPositiveInf()&&t.isPositiveInf())return this.setPositiveInf(),this;if(this.isPositiveInf()&&t.isNegativeInf())this.setNAN();else{if(this.isNegativeInf()&&t.isNegativeInf())return this.setNegativeInf(),this;this.isNegativeInf()&&t.isPositiveInf()&&this.setNAN()}return this.isNAN()?this:this.opPlusMinus(t,!0)}addDouble(t){return this.clone().addThis(Bs.constructDouble(t))}sub(t){return this.clone().subThis(t)}subDouble(t){return this.clone().subThis(Bs.constructDouble(t))}isZero(){return 0===this.m_sign}equals(t){return this.clone().subThis(t).isZero()}lt(t){return!this.isNAN()&&!t.isNAN()&&!(this.isPositiveInf()&&t.isPositiveInf()||this.isNegativeInf()&&t.isNegativeInf())&&!this.isPositiveInf()&&(!!t.isPositiveInf()||this.clone().sub(t).LZ())}absLessAbs(t){return this.abs().lt(t.abs())}gt(t){return this.clone().sub(t).GZ()}lte(t){return this.sub(t).LEZ()}gte(t){return this.sub(t).GEZ()}normalizeThis(){if(this.m_bNormalized)return this;if(0n===this.m_rn.v)return this.setZero();let t=0,s=0xffffffffn;for(;0n===(this.m_rn.v&s)&&s<=this.m_rn.v;)s<<=32n,t+=32;s&=this.m_rn.v,s>>=BigInt(t),t+=h(BigInt.asUintN(32,s))-1;let e=0;for(s=0xffffffffn;0n===(this.m_rd.v&s)&&s<=this.m_rd.v;)s<<=32n,e+=32;return s&=this.m_rd.v,s>>=BigInt(e),e+=h(BigInt.asUintN(32,s))-1,this.m_rn.v>>=BigInt(t),this.m_rd.v>>=BigInt(e),this.m_power+=t-e,this.m_rn.v>1n&&this.m_rd.v>1n&&(this.m_rn.v%this.m_rd.v===0n?(this.m_rn.v/=this.m_rd.v,this.m_rd.v=1n):this.m_rd.v%this.m_rn.v===0n&&(this.m_rd.v/=this.m_rn.v,this.m_rn.v=1n)),this.m_bNormalized=!0,this}negateThis(){return this.isNAN()||(this.m_sign*=-1),this}negate(){return this.clone().negateThis()}invertThis(){return this.isNAN()?this:this.isPositiveInf()||this.isNegativeInf()?(this.setZero(),this):0n===this.m_rn.v?(this.setPositiveInf(),this):(this.m_rd=bt(this.m_rn,this.m_rn=this.m_rd),this.m_power=-this.m_power,this)}limitPrecisionThis(t){if(0===t)return this;if(this.isZero())return this.setZero();if(!this.isFinite())return this;this.normalizeThis();let s=Number($t(this.m_rn.v));if(s>t){const e=s-t;this.m_rn.v>>=BigInt(s-t),this.m_power+=e}if(s=Number($t(this.m_rd.v)),s>t){const e=s-t;this.m_rd.v>>=BigInt(s-t),this.m_power-=e}return this}hiBitIndex(){return Math.max(Number($t(this.m_rn.v)),Number($t(this.m_rd.v)))}ldexp(t){return this.clone().ldexpThis(t)}ldexpThis(t){return t&&(this.m_bNormalized=!1,this.m_power+=t,this.normalizeThis()),this}static lerp(t,s,e){return Bs.lerpLo(s,s,e)}static lerpLo(t,s,e){return s.sub(t).mulThis(e).addThis(t)}static lerpHi(t,s,e){return s.sub(t).mulThis(Rs.sub(e)).addThis(t)}LZ(){return!this.isNAN()&&-1===this.m_sign}GZ(){return!this.isNAN()&&1===this.m_sign}LEZ(){return!this.isNAN()&&this.m_sign<=0}GEZ(){return!this.isNAN()&&this.m_sign>=0}toString(){return this.toDouble().toString()}sqr(){return this.clone().sqrThis()}sqrThis(){return this.mulThis(this.clone())}static sqrt(t,s){if(t.m_sign<0n&&(0,i.q)("MP_value: sqrt(-1)"),t.isZero())return t.clone();let e=52,n=2220446049250313e-31;for(;e<s;)2*e<=s?(n*=n,e*=2):(n*=2220446049250313e-31,e+=52);e+=52;const r=$t(t.m_rn.v),u=$t(t.m_rd.v);let h,o=t.m_power+Number(r-u);const a=new Bs;Math.abs(o)>200?(1&Math.abs(o)&&(o+=1),h=Bs.constructAssign(t,53).ldexpThis(-o).value(),a.setThis(t).ldexpThis(-o),(0,i.g)(Number.isFinite(h))):(a.setThis(t),h=a.value(),(0,i.g)(Number.isFinite(h)),o=0),h=Math.sqrt(h);const m=Bs.constructDouble(h),l=Bs.constructDouble(n);l.mulThis(m).ldexpThis(1);const c=n*h*2,f=m.clone(),v=new Bs;let _;for(let t=0;t<10;++t){f.mulThis(m),v.setThis(a).subThis(f).absThis();let t=v.value();if(_=1,t<.9)for(;t>c;)t*=t,++_;else _=4;if(v.lte(l))break;for(let t=0;t<_;t++)f.setThis(m).divThis(a).invertThis().addThis(m).ldexpThis(-1).limitPrecisionThis(e),m.setThis(f)}return m.ldexpThis(o/2)}static cubicRoot(t,s){if(t.isZero())return t.clone();let e=52,i=2220446049250313e-31;for(;e<s;)2*e<=s?(i*=i,e*=2):(i*=2220446049250313e-31,e+=52);e+=52;const n=Math.pow(Math.abs(t.value()),1/3),r=Bs.constructDouble(n),u=r.clone();u.sqrThis().mulDoubleThis(3).mulDoubleThis(i),u.limitPrecisionThis(32),t.LZ()&&r.negateThis();for(let s=0;s<10;++s){const s=r.clone();s.sqrThis().mulThis(r);const i=s.clone();if(i.subThis(t),i.absThis().limitPrecisionThis(32),i.lte(u))break;i.setThis(t),i.ldexpThis(1),i.addThis(s);const n=s.clone();n.ldexpThis(1),n.addThis(t),i.divThis(n),r.mulThis(i),r.limitPrecisionThis(e)}return r}isInTheRangeOfDouble(){return(0,i.g)(0),!1}sign(){return this.m_sign}cosAndSin(t,s){(0,i.g)(0)}pow(t){return mt(this,t)}static nan(){return(0,i.g)(0),new Bs}convertToDouble(){if(this.m_bNaN)return Number.NaN;if(this.isZero())return 0;if(0n===this.m_rd.v)return 1===this.m_sign?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY;const t=-1===this.m_sign,s=this.m_rn.v<<(this.m_power>=0?BigInt(this.m_power):0n);let e=this.m_rd.v<<(this.m_power<0?BigInt(-this.m_power):0n);const i=s/e;let n=Number(i);if(BigInt(n)!==i)return t?-n:n;let r=s-i*e;if(r){let t=$t(e)-1023n;t>0n&&(e>>=t,r<<=52n,r>>=t);let s=Number(r);Number.isFinite(s)||(r>>=52n,s=Number(r),t=0n),t>0n&&(s/=Math.pow(2,52)),n+=s/Number(e)}return t?-n:n}signVal(){return 1===this.m_sign?1n:-1===this.m_sign?-1n:0n}opPlusMinus(t,s){const e=Math.min(this.m_power,t.m_power);let i,n;this.m_power>e?(i=BigInt(this.m_power-e),n=0n):(i=0n,n=BigInt(t.m_power-e));const r=this.signVal()*this.m_rn.v*t.m_rd.v<<i,u=t.signVal()*t.m_rn.v*this.m_rd.v<<n;return this.m_rn.v=s?r+u:r-u,this.m_rd.v*=t.m_rd.v,this.m_power=e,this.m_sign=1,this.m_rn.v<0n&&(this.m_sign=-1,this.m_rn.v=-this.m_rn.v),this.m_bNormalized=!1,this.normalizeThis(),this}}Bs.s_sm=0x8000000000000000n,Bs.s_em=0x7ff0000000000000n,Bs.s_fm=0x000fffffffffffffn,Bs.s_emax=0x7ffn;const Rs=Bs.constructInt32(1),ks=Bs.constructInt32(0),Gs=Bs.constructDouble(.5);function Ss(t,s){let e=Yt(t);const i=Yt(s);return e===i?(e-=53-function(t,s){return function(t){let s=0;return 0xffffffff00000000n&t&&(s=32,t>>=32n),s+function(t){let s=0;return 4294901760n&t&&(s+=16,t>>=16n),65280n&t&&(s+=8,t>>=8n),240n&t&&(s+=4,t>>=4n),s+u[Number(BigInt.asUintN(4,t))]+1}(t)}(t^s)}(jt(t),jt(s)),e):e>i?e:i}function Ls(t,s){for(let e=0,i=0,n=t.length;e<n;e+=2,i++)s[i].x=t[e],s[i].y=t[e+1]}function Fs(t){const s=new Float64Array(2*t.length);for(let e=0,i=t.length;e<i;++e){const i=e<<1;s[i]=t[e].x,s[i+1]=t[e].y}return s}function Os(t){const s=It(Qs,t.length);for(let e=0,i=t.length;e<i;++e)s[e].setCoords(t[e][0],t[e][1]);return s}class Qs{static construct(t,s){return new Qs(t,s)}constructor(t,s){void 0!==t?(this.x=t,this.y=s):this.x=this.y=Number.NaN}clone(){return new Qs(this.x,this.y)}assign(t){this.setCoordsPoint2D(t)}setCoords(t,s){return this.x=t,this.y=s,this}setCoordsPoint2D(t){this.x=t.x,this.y=t.y}isEqualPoint2D(t,s){return void 0!==s?Math.abs(this.x-t.x)<=s&&Math.abs(this.y-t.y)<=s:this.x===t.x&&this.y===t.y}isEqual(t,s,e){return void 0!==e?Math.abs(this.x-t)<=e&&Math.abs(this.y-s)<=e:this.x===t&&this.y===s}equalsPoint2D(t,s){return this.isEqualPoint2D(t,s)}setSub(t,s){this.x=t.x-s.x,this.y=t.y-s.y}addThis(t){return this.x+=t.x,this.y+=t.y,this}setAdd(t,s){return this.x=t.x+s.x,this.y=t.y+s.y,this}absoluteOther(t){}absolute(){return(0,i.g)(0),this}setNegate(){this.x=-this.x,this.y=-this.y}setNegateOther(t){this.x=-t.x,this.y=-t.y}interpolateThis(t,s){}interpolate(t,s,e){(0,i.g)(0)}scaleAddThis(t,s){this.x=this.x*t+s.x,this.y=this.y*t+s.y}setScaleAdd(t,s,e){this.x=s.x*t+e.x,this.y=s.y*t+e.y}scaleOther(t,s){(0,i.g)(0)}scale(t){this.x*=t,this.y*=t}compare(t){return this.y<t.y?-1:this.y>t.y?1:this.x<t.x?-1:this.x>t.x?1:0}compareX(t){return this.x<t.x?-1:this.x>t.x?1:this.y<t.y?-1:this.y>t.y?1:0}normalizeOther(t){(0,i.g)(0)}normalize(){const t=this.length();return t?(this.x/=t,this.y/=t):(this.x=1,this.y=0),this}getUnitVector(){return this.clone().normalize()}length(){return Math.sqrt(this.x*this.x+this.y*this.y)}sqrLength(){return this.x*this.x+this.y*this.y}static averageFast(t,s){return(0,i.g)(0),{}}static average(t,s){const e=new Qs;if(0===s)return e.setNAN(),e;if(1===s)return e.assign(t[0]),e;const i=new n(t[0].x),r=new n(t[0].y);for(let e=1;e<s;e++)i.add(t[e].x),r.add(t[e].y),255&e||(i.normalize(),r.normalize());return e.x=i.getResult()/s,e.y=r.getResult()/s,e}static calculateLength(t,s){const e=new n(0);for(let i=1;i<s;i++)e.add(Qs.distance(t[i],t[i-1]));return e.getResult()}offset(t,s){const e=Qs.distance(t,s),i=Qs.construct(this.x,this.y);if(0===e)return Qs.distance(i,t);const n=s.clone();return n.subThis(t),i.subThis(t),i.crossProduct(n)/e}side(t,s){return t.equals(s)?this.equals(t)?0:1:Qs.orientationRobust(s,t,this)}static sqrDistance(t,s){const e=t.x-s.x,i=t.y-s.y;return e*e+i*i}static sqrDistanceCoords(t,s,e,i){const n=e-t,r=i-s;return n*n+r*r}static distance(t,s){return Math.sqrt(Qs.sqrDistance(t,s))}dotProduct(t){return this.x*t.x+this.y*t.y}dotProductAbs(t){return Math.abs(this.x*t.x)+Math.abs(this.y*t.y)}crossProduct(t){return this.x*t.y-this.y*t.x}crossProductAbs(t){return(0,i.g)(0),0}rotateDirect(t,s){const e=this.x*t-this.y*s,i=this.x*s+this.y*t;this.x=e,this.y=i}rotateReverse(t,s){const e=this.x*t+this.y*s,i=-this.x*s+this.y*t;this.x=e,this.y=i}leftPerpendicularThis(){const t=this.x;this.x=-this.y,this.y=t}leftPerpendicularOther(t){const s=t.x;this.x=-t.y,this.y=s}rightPerpendicularThis(){const t=this.x;this.x=this.y,this.y=-t}rightPerpendicularOther(t){const s=t.x;this.x=t.y,this.y=-s}equals(t){return this.x===t.x&&this.y===t.y}notequals(t){return this.x!==t.x||this.y!==t.y}not(){return!this.x&&!this.y}gt(t){return this.y>t.y||this.y===t.y&&this.x>t.x}gte(t){return!this.lt(t)}lt(t){return this.y<t.y||this.y===t.y&&this.x<t.x}lte(t){return!this.gt(t)}subThis(t){return this.x-=t.x,this.y-=t.y,this}divThis(t){return this.x/=t,this.y/=t,this}add(t){return new Qs(this.x+t.x,this.y+t.y)}sub(t){return new Qs(this.x-t.x,this.y-t.y)}negateThis(){return this.x=-this.x,this.y=-this.y,this}negate(){return new Qs(-this.x,-this.y)}mul(t){return new Qs(this.x*t,this.y*t)}mulThis(t){return this.x*=t,this.y*=t,this}divide(t){return new Qs(this.x/t,this.y/t)}setNAN(){this.x=this.y=Number.NaN}isNAN(){return Number.isNaN(this.x)||Number.isNaN(this.y)}static getNAN(){return new Qs(Number.NaN,Number.NaN)}isFinite(){return Number.isFinite(this.x)&&Number.isFinite(this.y)}isZero(){return 0===this.x&&0===this.y}norm(t){switch(t){case 0:{const t=Math.abs(this.x),s=Math.abs(this.y),e=t-s;return e>=0?t:e<=0?s:Number.NaN}case 1:return Math.abs(this.x)+Math.abs(this.y);case 2:return Math.sqrt(this.x*this.x+this.y*this.y);default:(0,i.a)("norm")}}getQuarter(){return Qs.getQuarterCoords(this.x,this.y)}static getQuarterCoords(t,s){return t>0?s>=0?1:4:s>0?2:0===t?4:3}static compareVectors(t,s){const e=t.getQuarter(),i=s.getQuarter();return i===e?Qs.orientationRobustImpl(Qs.construct(0,0),s,t,!0):e<i?-1:1}static compareVectorsOrigin(t,s,e){const i=s.sub(t),n=e.sub(t),r=i.getQuarter(),u=n.getQuarter();return u===r?Qs.orientationRobustImpl(t,e,s,!0):r<u?-1:1}static orientationRobust(t,s,e){return Qs.orientationRobustImpl(t,s,e,!1)}static orientationRobustEx(t,s,e,i){if(t.equals(s)||e.equals(i))return 0;const n=s.x-t.x,r=s.y-t.y,u=i.x-e.x,h=i.y-e.y;{const t=Qs.getQuarterCoords(n,r)-1,s=Qs.getQuarterCoords(u,h)-1,e=Qs.d[t][s];if(0!==e)return e}const o=n*h,a=r*u,m=4*Ts()*(Math.abs(o)+Math.abs(a)),l=o-a;return Math.abs(l)>=m?l<0?-1:l>0?1:0:Qs.orientationRobustExMp(t,s,e,i)}static orientationRobustExMp(t,s,e,i){const n=Bs.constructDouble(s.x),r=Bs.constructDouble(i.x);n.subThis(Bs.constructDouble(t.x)),r.subThis(Bs.constructDouble(e.x));const u=Bs.constructDouble(s.y),h=Bs.constructDouble(i.y);return u.subThis(Bs.constructDouble(t.y)),h.subThis(Bs.constructDouble(e.y)),n.mulThis(h),u.mulThis(r),n.subThis(u),n.LZ()?-1:n.GZ()?1:0}static orientationNonRobust(t,s,e){const i=s.sub(t).crossProduct(e.sub(t));return i<0?-1:i>0?1:0}static orientationRobustImpl(t,s,e,i){if(s.isEqualPoint2D(t)||e.isEqualPoint2D(t)||s.isEqualPoint2D(e))return 0;const n=s.x-t.x,r=s.y-t.y,u=e.x-t.x,h=e.y-t.y;if(!i){const t=Qs.getQuarterCoords(n,r)-1,s=Qs.getQuarterCoords(u,h)-1,e=Qs.d[t][s];if(0!==e)return e}const o=(Math.abs(n)+Math.abs(r)+Math.abs(u)+Math.abs(h))*(Math.abs(s.x)+Math.abs(s.y)+Math.abs(e.x)+Math.abs(e.y))*8*_(),a=n*h-r*u;if(Math.abs(a)>o)return a<0?-1:1;if(v(s.x,t.x)&&v(e.y,t.y)&&v(s.y,t.y)&&v(e.x,t.x)&&c(n,h)&&c(r,u)){const t=n*h,s=r*u;if(v(t,s)){const e=t-s;return e<0?-1:e>0?1:0}}return Qs.orientationRobustMp(t,s,e)}static orientationRobustMp(t,s,e){const i=Bs.constructDouble(s.x),n=Bs.constructDouble(e.x);{const s=Bs.constructDouble(t.x);i.subThis(s),n.subThis(s)}const r=Bs.constructDouble(e.y),u=Bs.constructDouble(s.y);{const s=Bs.constructDouble(t.y);r.subThis(s),u.subThis(s)}return i.mulThis(r),u.mulThis(n),i.subThis(u),i.LZ()?-1:i.GZ()?1:0}static inCircleRobust(t,s,e,i){const n=new l,r=new l;n.set(t.x),n.subThis(i.x),r.set(t.y),r.subThis(i.y);const u=new l,h=new l;u.set(s.x),u.subThis(i.x),h.set(s.y),h.subThis(i.y);const o=new l,a=new l;o.set(e.x),o.subThis(i.x),a.set(e.y),a.subThis(i.y);const m=n.mulE(h).subE(r.mulE(u)),c=u.mulE(a).subE(h.mulE(o)),f=n.mulE(a).subE(r.mulE(o)),v=n.mulE(n).addE(r.mulE(r)),_=u.mulE(u).addE(h.mulE(h)),b=o.mulE(o).addE(a.mulE(a)),d=v.mulE(c).subE(_.mulE(f)).addE(b.mulE(m));if(!d.isFuzzyZero()){const t=d.value();return t<0?-1:t>0?1:0}return Qs.inCircleRobustMp(t,s,e,i)}static inCircleRobustMp(t,s,e,i){do{if(!v(t.x,i.x)||!v(t.y,i.y))break;if(!v(s.x,i.x)||!v(s.y,i.y))break;if(!v(e.x,i.x)||!v(e.y,i.y))break;const n=t.x-i.x,r=t.y-i.y,u=s.x-i.x,h=s.y-i.y,o=e.x-i.x,a=e.y-i.y;if(!c(n,h)||!c(r,u))break;if(!c(u,a)||!c(h,o))break;if(!c(n,a)||!c(r,o))break;if(!c(n,n)||!c(r,r))break;if(!c(u,u)||!c(h,h))break;if(!c(o,o)||!c(a,a))break;const m=n*h,l=r*u,_=u*a,b=h*o,d=n*a,p=r*o,x=n*n,N=r*r,y=u*u,g=h*h,T=o*o,E=a*a;if(!v(m,l))break;if(!v(_,b))break;if(!v(d,p))break;if(!f(x,N))break;if(!f(y,g))break;if(!f(T,E))break;const M=m-l,w=_-b,I=d-p,D=x+N,P=y+g,A=T+E;if(!c(D,w))break;if(!c(P,I))break;if(!c(A,M))break;const q=D*w,z=P*I,C=A*M;if(!v(q,z))break;const Z=q-z;if(!f(Z,C))break;const B=Z+C;return B<0?-1:B>0?1:0}while(0);const n=Bs.constructDouble(i.x),r=Bs.constructDouble(i.y),u=Bs.constructDouble(t.x),h=Bs.constructDouble(t.y);u.subThis(n),h.subThis(r);const o=Bs.constructDouble(s.x),a=Bs.constructDouble(s.y);o.subThis(n),a.subThis(r);const m=Bs.constructDouble(e.x),l=Bs.constructDouble(e.y);m.subThis(n),l.subThis(r);const _=u.mul(a).sub(h.mul(o)),b=o.mul(l).sub(a.mul(m)),d=u.mul(l).sub(h.mul(m)),p=u.mul(u).add(h.mul(h)),x=o.mul(o).add(a.mul(a)),N=m.mul(m).add(l.mul(l)),y=p.mul(b).sub(x.mul(d)).add(N.mul(_));return y.LZ()?-1:y.GZ()?1:0}static inCircleRobustMp3Point(t,s,e){const i=Bs.constructDouble(t.x),n=Bs.constructDouble(t.y),r=Bs.constructDouble(s.x),u=Bs.constructDouble(s.y),h=Bs.constructDouble(e.x),o=Bs.constructDouble(e.y),a=h.mul(h).add(o.mul(o)).sub(h.mul(i).add(o.mul(n)).add(h.mul(r)).add(o.mul(u))).add(i.mul(r).add(n.mul(u)));return a.LZ()?-1:a.GZ()?1:0}static inCircleRobust3Point(t,s,e){const i=new l(t.x),n=new l(t.y),r=new l(s.x),u=new l(s.y),h=new l(e.x),o=new l(e.y),a=h.mulE(h).addE(o.mulE(o)).subE(h.mulE(i).addE(o.mulE(n)).addE(h.mulE(r)).addE(o.mulE(u))).addE(i.mulE(r).addE(n.mulE(u)));if(!a.isFuzzyZero()){const t=a.value();return t<0?-1:t>0?1:0}return Qs.inCircleRobustMp3Point(t,s,e)}static calculateCircleCenterFromThreePoints(t,s,e){if(t.equals(e)||t.equals(s)||e.equals(s))return Qs.getNAN();const i=function(t,s,e){const i=new l(s.x);i.subThis(t.x);const n=new l(s.y);n.subThis(t.y);const r=new l(e.x);r.subThis(t.x);const u=new l(e.y);u.subThis(t.y);const h=i.clone();h.mulThisE(u);let o=n.clone();if(o.mulThisE(r),h.subThisE(o),0===h.value())return Qs.getNAN();h.mulThis(2);const a=i.clone();a.mulThisE(i);const m=n.clone();m.mulThisE(n);const c=a.clone();c.addThisE(m);const f=r.clone();f.mulThisE(r);const v=u.clone();v.mulThisE(u);const _=f.clone();_.addThisE(v);const b=n.clone();b.mulThisE(_),o=u.clone(),o.mulThisE(c),b.subThisE(o),b.divThisE(h);const d=i.clone();d.mulThisE(_),o=r.clone(),o.mulThisE(c),d.subThisE(o),d.divThisE(h);const p=Qs.construct(t.x-b.value(),t.y+d.value()),x=t.sub(p).length(),N=s.sub(p).length(),y=e.sub(p).length(),g=1e-15*(x+Math.abs(t.x)+Math.abs(s.x)+Math.abs(e.x)+Math.abs(t.y)+Math.abs(s.y)+Math.abs(e.y));return Math.abs(x-N)<=g&&Math.abs(x-y)<=g&&b.eps()<g&&d.eps()<g?p:Qs.getNAN()}(t,s,e);return i.isNAN()?function(t,s,e){const i=Bs.constructDouble(s.x);i.subDoubleThis(t.x);const n=Bs.constructDouble(s.y);n.subDoubleThis(t.y);const r=Bs.constructDouble(e.x);r.subDoubleThis(t.x);const u=Bs.constructDouble(e.y);u.subDoubleThis(t.y);const h=i.clone();h.mulThis(u);let o=n.clone();if(o.mulThis(r),h.subThis(o),h.isZero())return Qs.getNAN();h.mulDoubleThis(2);const a=i.clone();a.mulThis(i);const m=n.clone();m.mulThis(n);const l=a.clone();l.addThis(m);const c=r.clone();c.mulThis(r);const f=u.clone();f.mulThis(u);const v=c.clone();v.addThis(f);const _=n.clone();_.mulThis(v),o=u.clone(),o.mulThis(l),_.subThis(o),_.divThis(h);const b=i.clone();return b.mulThis(v),o=r.clone(),o.mulThis(l),b.subThis(o),b.divThis(h),Qs.construct(t.x-_.value(),t.y+b.value())}(t,s,e):i}static calculateAngle(t,s){return Math.atan2(t.crossProduct(s),t.dotProduct(s))}static isBisectorRobust(t,s,e){return(0,i.g)(0),!1}static size(){return 2}get 0(){return this.x}get 1(){return this.y}set 0(t){this.x=t}set 1(t){this.y=t}static compareZorder(t,s){const e=Qs.c_compare_zorder_xx[t.x<0?1:0]|Qs.c_compare_zorder_yy[t.y<0?1:0],i=Qs.c_compare_zorder_xx[s.x<0?1:0]|Qs.c_compare_zorder_yy[s.y<0?1:0];if(e===i){let e=0,i=0;for(let n=0;n<2;++n){const r=Ss(t[n],s[n]);r>e&&(e=r,i=n)}return t[i]<s[i]}return e<i}static lerp(t,s,e){const i=new Qs;return R(t,s,e,i),i}static getClosestCoordinate(t,s,e,i=!1){const n=Qs.getNAN();n.setSub(s,t);const r=n.sqrLength();if(0===r)return.5;if(s.isEqualPoint2D(e))return 1;const u=Qs.getNAN();u.setSub(e,t);let h=u.dotProduct(n)/r;return i||(h<0?h=0:h>1&&(h=1)),h}static intersectLinesAtOnePoint(t,s,e,i){if(t.equals(s)||e.equals(i))return Qs.getNAN();const n=s.x-t.x,r=e.x-i.x,u=s.y-t.y,h=e.y-i.y,o=n*h-r*u;if(!o)return Qs.getNAN();const a=o;if(0===a)return Qs.getNAN();let m=(e.x-t.x)*h-(e.y-t.y)*r;m/=a;const l=new Qs;return R(t,s,m,l),l.isFinite()?l:Qs.getNAN()}toString(){return`[${this.x},${this.y}]`}}Qs.dimensions=2,Qs.d=[[0,1,0,-1],[-1,0,1,0],[0,-1,0,1],[1,0,-1,0]],Qs.c_compare_zorder_xx=[2,0],Qs.c_compare_zorder_yy=[1,0]}}]);
1
+ "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[3661],{55537:(t,s,e)=>{function i(t,s){try{if(!t)throw new Error(s)}catch(t){throw t}}e.d(s,{A:()=>I,B:()=>k,C:()=>S,D:()=>L,G:()=>m,a:()=>M,b:()=>w,c:()=>R,d:()=>z,e:()=>v,f:()=>d,g:()=>i,h:()=>x,i:()=>p,j:()=>N,k:()=>b,l:()=>_,m:()=>g,n:()=>E,o:()=>B,p:()=>D,q:()=>q,r:()=>T,s:()=>C,t:()=>A,u:()=>P,v:()=>y,w:()=>Z,x:()=>F,y:()=>G,z:()=>f});class n extends Error{constructor(t,s){super(s),this.m_AdditionalMessage=s,this.m_ErrorType=t,this.name="GeometryError"}what(){return function(t){switch(t){case 1:return"Unknown error";case 2:return"Corrupted geometry";case 3:return"Empty geometry";case 4:return"Math singularity";case 5:return"Buffer is too small";case 6:return"Invalid shape type";case 7:return"Projection out of supported range";case 8:return"Non simple geometry";case 9:return"Cannot calculate geodesic";case 10:return"Notation conversion";case 11:return"Missing grid file";case 12:return"Invalid call";case 13:return"Internal error";case 14:return"Not implemented";case 15:return"IO error";case 16:return"Invalid 3D";case 17:return"An ambiguous geography edge with antipodal points";case 18:return"Geocentric coordinates require ellipsoidal height";case 19:return"Geography cannot be projected into a gnomonic plane or a result of an operation cannot fit into a gnomonic plane";case 20:return"Geometry is too large to be exported in to a given format";case 22:return"Operation is canceled by the user";case 21:return"The operation, such as projection or geodetic computation, cannot be performed without pe-wasm loaded";default:return"unknown error"}}(this.m_ErrorType)}additionalMessage(){return this.m_AdditionalMessage?this.m_AdditionalMessage:""}code(){return this.m_ErrorType}}class r extends n{constructor(t){super(2,t),this.name="CorruptedGeometryError"}}class u extends n{constructor(t){super(3,t),this.name="EmptyGeometryError"}}class h extends n{constructor(t){super(4,t),this.name="MathSingularityError"}}class o extends n{constructor(t){super(21,t),this.name="ProjectionEngineNotLoadedError"}}class a extends n{constructor(t){super(8,t),this.name="NonSimpleGeometryError"}}var m,l;(l=m||(m={}))[l.enumUnknown=0]="enumUnknown",l[l.enumPoint=513]="enumPoint",l[l.enumLine=5122]="enumLine",l[l.enumBezier=5123]="enumBezier",l[l.enumEllipticArc=5124]="enumEllipticArc",l[l.enumEnvelope=3077]="enumEnvelope",l[l.enumMultiPoint=8710]="enumMultiPoint",l[l.enumPolyline=25607]="enumPolyline",l[l.enumPolygon=27656]="enumPolygon",l[l.enumMultipatch=40969]="enumMultipatch",l[l.enumGeometryCollection=3594]="enumGeometryCollection",l[l.enumRationalBezier2=5134]="enumRationalBezier2",l[l.enumBezier2=5135]="enumBezier2",l[l.enumRationalBezier23d=5392]="enumRationalBezier23d",l[l.enumGreatArc3d=5393]="enumGreatArc3d";const c=[0,0,1,1,1,2,0,1,2,3,-1,-1,-1,-1,1,1];function f(t){return c[15&t]}function v(t){return!!(512&t)}function _(t){return!!(1024&t)}function b(t){return!!(2048&t)}function d(t){return!!(4096&t)}function p(t){return!!(8192&t)}function x(t){return!!(16384&t)}function N(t){return!!(32768&t)}function y(t){const s=t.getGeometryType();return p(s)?t.getPointCount():t.isEmpty()?0:s===m.enumEnvelope?4:s===m.enumPoint?1:d(s)?2:void z("missing type")}function g(t){const s=t.getGeometryType();if(x(s))return t.hasNonLinearSegments();if(s===m.enumGeometryCollection){const s=t;for(let t=0,e=s.getGeometryCount();t<e;t++)if(g(s.getGeometry(t)))return!0;return!1}return!!d(s)&&s!==m.enumLine}function T(t){throw new o(t)}function E(t){throw new r(t)}function M(t){throw new Error(t)}function w(t){throw new h(t)}function I(){M("Geometry type is not supported for 3D operations.")}function D(t){throw new n(12,t)}function P(t){throw new u(t)}function A(t){throw new n(14,t)}function q(t){throw new Error(t)}function z(t){throw new n(13,t)}function C(t){throw new Error(t)}function Z(t){throw new a(t)}function B(t){t&&g(t)&&A("Operation does not support curves.")}function R(t){t&&N(t.getGeometryType())&&A("Unsupported geometry type.")}function k(t){t===m.enumGeometryCollection&&M("Geometry_collection instances are not supported in this operation")}function G(t){k(t.getGeometryType())}function S(t){M(`bad wkid: ${t}`)}function L(t){let s="bad wkt: ";s+=t,s+="...",M(s)}function F(t,s){t||M(s)}},83661:(t,s,e)=>{e.d(s,{$:()=>Ds,A:()=>ft,B:()=>ds,C:()=>xt,D:()=>gs,E:()=>a,F:()=>Kt,G:()=>Jt,H:()=>l,I:()=>p,J:()=>d,K:()=>n,L:()=>Pt,M:()=>Bs,N:()=>Es,O:()=>Ts,P:()=>Qs,Q:()=>Ht,R:()=>St,S:()=>Zt,T:()=>As,U:()=>R,V:()=>ct,W:()=>Ct,X:()=>Z,Y:()=>B,Z:()=>pt,_:()=>A,a:()=>G,a0:()=>Is,a1:()=>zs,a2:()=>D,a3:()=>P,a4:()=>q,a5:()=>z,a6:()=>x,a7:()=>Gs,a8:()=>Nt,a9:()=>Ps,aA:()=>Tt,aB:()=>ls,aC:()=>ts,aD:()=>ws,aE:()=>M,aF:()=>fs,aG:()=>Fs,aH:()=>Ls,aI:()=>bs,aJ:()=>Ut,aK:()=>cs,aa:()=>it,ab:()=>nt,ac:()=>wt,ad:()=>N,ae:()=>y,af:()=>et,ag:()=>Rt,ah:()=>ks,ai:()=>Rs,aj:()=>lt,ak:()=>Cs,al:()=>yt,am:()=>V,an:()=>S,ao:()=>at,ap:()=>L,aq:()=>ys,ar:()=>es,as:()=>_t,at:()=>ms,au:()=>vs,av:()=>At,aw:()=>Dt,ax:()=>I,ay:()=>as,az:()=>Os,b:()=>vt,c:()=>bt,d:()=>zt,e:()=>F,f:()=>w,g:()=>Ns,h:()=>Et,i:()=>ss,j:()=>Xt,k:()=>qt,l:()=>Bt,m:()=>It,n:()=>st,o:()=>Gt,p:()=>kt,q:()=>C,r:()=>Wt,s:()=>Ms,t:()=>O,u:()=>gt,v:()=>dt,w:()=>Mt,x:()=>k,y:()=>g,z:()=>E});var i=e(55537);class n{constructor(t){this.sum=t,this.compensation=0}assign(t){return this.compensation=t.compensation,this.sum=t.sum,this}reset(){this.sum=this.compensation=0}resetToStart(t){this.sum=t,this.compensation=0}normalize(){const t=[Number.NaN];this.sum=tt(this.sum,this.compensation,t),this.compensation=t[0]}add(t){const s=this.sum+t;let e;if(Math.abs(this.sum)>=Math.abs(t)){const i=this.sum-s+t;e=this.compensation+i}else{const i=t-s+this.sum;e=this.compensation+i}this.sum=s,this.compensation=e}sub(t){this.add(-t)}addProduct(t,s){const e=[0],i=J(t,s,e);this.add(i),this.add(e[0])}mul(t){const s=new n(0);s.addProduct(this.sum,t),s.addProduct(this.compensation,t),this.assign(s)}getResult(){return this.sum+this.compensation}pe(t){return this.add(t),this}me(t){return this.add(-t),this}}const r=[5,1,2,1,3,1,2,1,4,1,2,1,3,1,2,1],u=[-1,0,1,1,2,2,2,2,3,3,3,3,3,3,3,3];function h(t){let s=0;return 65535n&t||(s+=16,t>>=16n),255n&t||(s+=8,t>>=8n),15n&t||(s+=4,t>>=4n),s+r[Number(BigInt.asUintN(4,t))]}function o(t){let s=0;return 4294967295n&t||(s=32,t>>=32n),s+h(BigInt.asUintN(32,t))}class a{constructor(t,s){if(this.m_EnvelopeType=1,void 0!==t){if(t instanceof a)return this.vmin=t.vmin,void(this.vmax=t.vmax);this.vmin=t,this.vmax=s,this.normalize()}else this.setEmpty()}static construct(t,s){return new a(t,s)}static constructEmpty(){return new a}setCoords(t,s){this.vmin=t,this.vmax=s,this.normalize()}setCoordsFromEnvelope(t){this.vmin=t.vmin,this.vmax=t.vmax}setEmpty(){this.vmin=Number.NaN,this.vmax=Number.NaN}getCenter(){return.5*(this.vmin+this.vmax)}equalsRange(t,s){return Ht(this.vmin,t)&&Ht(this.vmax,s)}equals(t,s){return!(!this.isEmpty()||!t.isEmpty())||(void 0!==s?Math.abs(this.vmin-t.vmin)<=s&&Math.abs(this.vmax-t.vmax)<=s:this.vmin===t.vmin&&this.vmax===t.vmax)}width(){return this.vmax-this.vmin}isEmpty(){return Number.isNaN(this.vmin)||Number.isNaN(this.vmax)}isZero(){return this.vmin===this.vmax}setInfinite(){this.vmin=Number.NEGATIVE_INFINITY,this.vmax=Number.POSITIVE_INFINITY}move(t){this.isEmpty()||(this.vmin+=t,this.vmax+=t)}contains(t){return t.vmin>=this.vmin&&t.vmax<=this.vmax}containsCoordinate(t){return t>=this.vmin&&t<=this.vmax}containsRightExclusive(t){return t>=this.vmin&&t<this.vmax}containsExclusiveCoordinate(t){return t>this.vmin&&t<this.vmax}containsExclusive(t){return t.vmin>this.vmin&&t.vmax<this.vmax}isIntersecting(t){return this.vmin<=t.vmin?this.vmax>=t.vmin:t.vmax>=this.vmin}mergeCoordinate(t){if(this.isEmpty())return this.vmin=t,void(this.vmax=t);this.mergeNeCoordinate(t)}merge(t){if(t.isEmpty())return;const s=t.vmin,e=t.vmax;this.mergeCoordinate(s),this.mergeCoordinate(e)}mergeNe(t){const s=t.vmin,e=t.vmax;this.mergeNeCoordinate(s),this.mergeNeCoordinate(e)}mergeNeCoordinate(t){t<this.vmin?this.vmin=t:t>this.vmax&&(this.vmax=t)}intersect(t){this.isEmpty()||t.isEmpty()?this.setEmpty():(this.vmin<t.vmin&&(this.vmin=t.vmin),this.vmax>t.vmax&&(this.vmax=t.vmax),this.vmin>this.vmax&&this.setEmpty())}inflate(t){this.isEmpty()||(this.vmin-=t,this.vmax+=t,this.vmax<this.vmin&&this.setEmpty())}normalize(){this.vmin<=this.vmax||(this.vmin>this.vmax?this.vmax=bt(this.vmin,this.vmin=this.vmax):this.setEmpty())}isValid(){return this.isEmpty()||this.vmin<=this.vmax}snapClip(t){return Ms(t,this.vmin,this.vmax)}calculateToleranceFromEnvelope(){return this.isEmpty()?Ns():(Math.abs(this.vmin)+Math.abs(this.vmax)+1)*Ns()}static unit(){return m}normalizeNoNAN(){this.vmin>this.vmax&&(this.vmax=bt(this.vmin,this.vmin=this.vmax))}setCoordsNoNAN(t,s){this.vmin=t,this.vmax=s,this.normalizeNoNAN()}clone(){return new a(this.vmin,this.vmax)}}const m=new a(0,1);class l{static getNAN(){return new l(Number.NaN)}constructor(t,s){this.m_value=t??0,this.m_eps=s??0}[Symbol.toPrimitive](t){return this}clone(){return new l(this.m_value,this.m_eps)}assign(t){return this.m_value=t.m_value,this.m_eps=t.m_eps,this}scaleError(t){this.m_eps*=t}setError(t){this.m_eps=t}set(t,s){return this.m_value=t,this.m_eps=s??0,this}setWithEps(t,s){return void 0===s&&(s=1),this.m_value=t,this.m_eps=l.ulp(t)*s,this}setE(t){return this.m_value=t.m_value,this.m_eps=t.m_eps,this}precise(){return new l(this.m_value)}value(){return this.m_value}toDouble(){return this.m_value}eps(){return this.m_eps}resetError(){return this.m_eps=0,this}absThis(){return this.m_value=Math.abs(this.m_value),this}add(t){return this.clone().addThis(t)}addE(t){return this.clone().addThisE(t)}addThisE(t){const s=this.m_value+t.m_value,e=this.m_eps+t.m_eps+l.ulp(s);return this.m_value=s,this.m_eps=e,this}addThis(t){const s=this.m_value+t,e=this.m_eps+l.ulp(s);return this.m_value=s,this.m_eps=e,this}subE(t){return this.clone().subThisE(t)}sub(t){return this.clone().subThis(t)}subThisE(t){const s=this.m_value-t.m_value,e=this.m_eps+t.m_eps+l.ulp(s);return this.m_value=s,this.m_eps=e,this}subThis(t){const s=this.m_value-t,e=this.m_eps+l.ulp(s);return this.m_value=s,this.m_eps=e,this}setAddE(t,s){return this.m_value=t.m_value+s.m_value,this.m_eps=t.m_eps+s.m_eps+l.ulp(this.m_value),this}setAdd(t,s){return this.m_value=t+s,this.m_eps=l.ulp(this.m_value),this}setAddEN(t,s){return this.m_value=t.m_value+s,this.m_eps=t.m_eps+l.ulp(this.m_value),this}setAddNE(t,s){return this.m_value=t+s.m_value,this.m_eps=s.m_eps+l.ulp(this.m_value),this}setSubE(t,s){return this.m_value=t.m_value-s.m_value,this.m_eps=t.m_eps+s.m_eps+l.ulp(this.m_value),this}setSub(t,s){return this.m_value=t-s,this.m_eps=l.ulp(this.m_value),this}setSubEN(t,s){return this.m_value=t.m_value-s,this.m_eps=t.m_eps+l.ulp(this.m_value),this}setSubNE(t,s){return this.m_value=t-s.m_value,this.m_eps=s.m_eps+l.ulp(this.m_value),this}mulThisE(t){const s=this.m_value*t.m_value;return this.m_eps=this.m_eps*Math.abs(t.m_value)+t.m_eps*Math.abs(this.m_value)+this.m_eps*t.m_eps+l.ulp(s),this.m_value=s,this}mulThis(t){const s=this.m_value*t;return this.m_eps=this.m_eps*Math.abs(t)+l.ulp(s),this.m_value=s,this}mul(t){return this.clone().mulThis(t)}mulE(t){return this.clone().mulThisE(t)}setMulE(t,s){const e=t.m_value*s.m_value;return this.m_eps=t.m_eps*Math.abs(s.m_value)+s.m_eps*Math.abs(t.m_value)+t.m_eps*s.m_eps+l.ulp(e),this.m_value=e,this}setMul(t,s){return this.m_value=t*s,this.m_eps=l.ulp(this.m_value),this}setMulEN(t,s){return this.setE(t),this.mulThis(s)}setMulNE(t,s){return this.setE(s),this.mulThis(t)}mulThisByPower2(t){return this.m_value*=t,this.m_eps*=Math.abs(t),this}static st_mulByPower2(t,s){return new l(t.m_value,t.m_eps).mulThisByPower2(s)}divE(t){return this.clone().divThisE(t)}divThisE(t){const s=Math.abs(t.m_value),e=this.m_value/t.m_value;let i=(this.m_eps+Math.abs(e)*t.m_eps)/s;if(t.m_eps>.01*s){const e=t.m_eps/s;i*=1+(1+e)*e}return this.m_value=e,this.m_eps=i+l.ulp(e),this}divThis(t){const s=Math.abs(t);return this.m_value/=t,this.m_eps=this.m_eps/s+l.ulp(this.m_value),this}setDivE(t,s){return this.setE(t),this.divThisE(s)}setDiv(t,s){return this.m_value=t/s,this.m_eps=l.ulp(this.m_value),this}setDivEN(t,s){return this.setE(t),this.divThis(s)}setDivNE(t,s){return this.set(t),this.divThisE(s)}divThisByPower2(t){return this.m_value/=t,this.m_eps/=Math.abs(t),this}invThis(){return this.setE(p.clone().divThisE(this)),this}sqrt(){return this.clone().sqrtThis()}sqrtThis(){let t,s;return this.m_value>=0?(t=Math.sqrt(this.m_value),s=this.m_value>10*this.m_eps?.5*this.m_eps/t:this.m_value>this.m_eps?t-Math.sqrt(this.m_value-this.m_eps):Math.max(t,Math.sqrt(this.m_value+this.m_eps)-t),s+=l.ulp(t)):this.m_value<-this.m_eps?(t=Number.NaN,s=Number.NaN):(t=0,s=Math.sqrt(this.m_eps)),this.m_value=t,this.m_eps=s,this}sqr(){return this.clone().sqrThis()}sqrThis(){const t=this.m_value*this.m_value;return this.m_eps=2*this.m_eps*Math.abs(this.m_value)+this.m_eps*this.m_eps+l.ulp(t),this.m_value=t,this}setSin(t){const s=Math.sin(t.m_value),e=Math.cos(t.m_value);this.m_value=s;const i=Math.abs(s),n=Math.abs(t.value());return this.m_eps=(Math.abs(e)+.5*i*t.m_eps)*t.m_eps+l.ulp(i+n),this}static ulp(t){let s=Vt(t);const e=((0x7ff0000000000000n&s)>>52n)-1075n;return e>-1023n?(s=e+0x3ffn<<52n,function(t){return Ot[0]=t,Ft[0]}(s)):0===t?0:Number.MIN_VALUE}setCos(t){const s=Math.sin(t.m_value),e=Math.cos(t.m_value);this.m_value=e;const i=Math.abs(e),n=Math.abs(t.value());return this.m_eps=(Math.abs(s)+.5*i*t.m_eps)*t.m_eps+l.ulp(i+n),this}static st_cosAndSin(t,s,e){const i=Math.sin(t.m_value),n=Math.cos(t.m_value);e.m_value=i,s.m_value=n;const r=Math.abs(i),u=Math.abs(n),h=Math.abs(t.value());e.m_eps=(Math.abs(n)+.5*r*t.m_eps)*t.m_eps+l.ulp(r+h),s.m_eps=(Math.abs(i)+.5*u*t.m_eps)*t.m_eps+l.ulp(u+h)}negate(){return this.clone().negateThis()}negateThis(){return this.m_value=-this.m_value,this}setAbs(){return this.m_value=Math.abs(this.m_value),this}isInInterval(t){return a.construct(this.m_value-this.m_eps,this.m_value+this.m_eps).isIntersecting(t)}eq(t){return Math.abs(this.m_value-t.m_value)<=this.m_eps+t.m_eps}ne(t){return!this.eq(t)}gt(t){return this.m_value-t.m_value>this.m_eps+t.m_eps}lt(t){return t.m_value-this.m_value>this.m_eps+t.m_eps}ge(t){return!this.lt(t)}le(t){return!this.gt(t)}tolEQ(t,s){return Math.abs(this.m_value-t.m_value)<=s||this.eq(t)}tolNE(t,s){return!this.tolEQ(t,s)}tolGT(t,s){return this.m_value-t.m_value>s&&this.gt(t)}tolLT(t,s){return t.m_value-this.m_value>s&&this.lt(t)}tolGE(t,s){return!this.tolLT(t,s)}tolLE(t,s){return!this.tolGT(t,s)}isZero(){return Math.abs(this.m_value)<=this.m_eps}isFuzzyZero(){return this.isZero()&&0!==this.m_eps}tolIsZero(t){return Math.abs(this.m_value)<=Math.max(this.m_eps,t)}setPi(){this.setE(b)}setEuler(){this.set(2.718281828459045,_())}static size(){return 1}}function c(t,s){const e=jt(t),i=jt(s),n=53-o(e),r=53-o(i);return(n>=0?n:0)+(r>=0?r:0)<=52}function f(t,s){const e=t+s;return e-t===s&&e-s===t}function v(t,s){const e=t-s;return t-e===s&&s+e===t}function _(){return Ts()}l.dimensions=1;const b=new l(Math.PI,.5*_()),d=new l(0,0),p=new l(1,0),x=new l(4,0);function N(t,s,e){return t.addE(s.subE(t).mulE(e))}function y(t,s,e){return s.subE(s.subE(t).mulE(p.subE(e)))}function g(t){let s;if(0===t)s=1;else if(Math.abs(t)>.01)s=function(t){return Math.atanh(t)}(t)/t;else{let e;const i=-36.841361487904734;s=0;const n=t*t;for(let t=2*Math.trunc(i/Math.log(n)+2.5)-1;t>1;t-=2)e=1/t,s=(s+e)*n;s+=1}return s}function T(t){const s=Math.PI*Math.PI/6;let e;if(1===t)e=s;else if(t>1)e=s;else if(0===t)e=t;else if(t<0){const s=1+(t=Math.abs(t)),i=Math.log(s);e=i*i/-2-T(t/s)}else if(t>.5){const i=1-t,n=Math.log(t)*Math.log(i);e=s-T(i)-n}else{e=0;const s=1+Math.trunc(-16*Math.log(10)/Math.log(t)+1.5);let i=s;for(let n=s;n>0;n--,i-=1)e*=t,e+=1/(i*i);e*=t}return e}function E(t,s){const e=s*t;if(Math.abs(s)<.1){let s=0;for(let t=60;t>=1;t--)s*=e,s+=1/t/t;return s*=t,s}return T(e)/s}function M(t,s){return t<s?Bt(t,s):Bt(s,t)}function w(t,s){const e=Math.abs(t);return s>=0?e:-e}function I(t){return Math.round(t)}function D(t,s,e,i,n){n[0]=s[0]+(e[0]-s[0])*i,n[1]=s[1]+(e[1]-s[1])*i,3===t&&(n[2]=s[2]+(e[2]-s[2])*i)}function P(t,s,e,i,n){n[0]=e[0]-(e[0]-s[0])*(1-i),n[1]=e[1]-(e[1]-s[1])*(1-i),3===t&&(n[2]=e[2]-(e[2]-s[2])*(1-i))}function A(t,s,e,i,n){i<=.5?D(t,s,e,i,n):P(t,s,e,i,n)}function q(t,s,e,i,n){n[0]=s[0].addE(e[0].subE(s[0]).mulE(i)),n[1]=s[1].addE(e[1].subE(s[1]).mulE(i))}function z(t,s,e,i,n){n[0]=e[0].subE(e[0].subE(s[0]).mulE(p.subE(i))),n[1]=e[1].subE(e[1].subE(s[1]).mulE(p.subE(i)))}function C(t,s,e){let i;return i=e<=.5?t+(s-t)*e:s-(s-t)*(1-e),i}function Z(t,s,e){return t+(s-t)*e}function B(t,s,e){return s-(s-t)*(1-e)}function R(t,s,e,i){e<=.5?(i.x=t.x+(s.x-t.x)*e,i.y=t.y+(s.y-t.y)*e):(i.x=s.x-(s.x-t.x)*(1-e),i.y=s.y-(s.y-t.y)*(1-e))}function k(t,s,e,i){e<=.5?(i.x=t.x+(s.x-t.x)*e,i.y=t.y+(s.y-t.y)*e,i.z=t.z+(s.z-t.z)*e):(i.x=s.x-(s.x-t.x)*(1-e),i.y=s.y-(s.y-t.y)*(1-e),i.z=s.z-(s.z-t.z)*(1-e))}function G(t){return t*t}function S(t){return t*t*t}function L(t){return 1/Math.sqrt(t)}function F(t){return t<0?-1:t>0?1:0}function O(t,s,e,i){const n=[0],r=[0],u=[0];return tt(J(t,e,n),J(s,i,r),u)+(n[0]+r[0]+u[0])}const Q=[0],U=[0];function V(t,s,e){return function(t,s,e,i){const n=tt(t,s,W),r=tt(n,e,X);return tt(r,W[0]+X[0],i)}(J(t,s,Q),e,Q[0],U)}const j=[0],Y=[0],$=[0],H=[0];function J(t,s,e){const i=t*s;return K(t,j,Y),K(s,$,H),e[0]=Y[0]*H[0]-(i-j[0]*$[0]-Y[0]*$[0]-j[0]*H[0]),i}function K(t,s,e){const i=134217729*t;s[0]=i-(i-t),e[0]=t-s[0]}const W=[0],X=[0];function tt(t,s,e){const i=t+s;return Math.abs(t)>Math.abs(s)?e[0]=t-i+s:e[0]=s-i+t,i}function st(t,s){return t%s}function et(t){const s=1-t;if(0===s)return 1;let e;if(s<=.01){const t=s,i=Math.log(t);e=1+t*(.4431471805599453-.25*i+t*(.05680519270997949-.09375*i+t*(.02183137044373718-.05859375*i+t*(.011544521417308362-.042724609375*i+t*(.00714200031339596-.0336456298828125*i+t*(.004854743337164948-.027757644653320312*i+t*(.003514687963781376-.023627042770385742*i)))))))}else{if(t<.016){const s=t,e=.25,i=.046875,n=.01953125,r=.01068115234375,u=.0067291259765625,h=.004626274108886719,o=.0033752918243408203,a=.0025710230693221092;return As()*(1-s*(e+s*(i+s*(n+s*(r+s*(u+s*(h+s*(o+s*a))))))))}e=rt(0,s,1)-t*ut(0,s,1)/3}return Ms(e,1,As())}function it(t,s,e=Number.NaN){if((0,i.g)(s>=0&&s<=1),0===s)return t;let n=1,r=t;if(r<0&&(r=-r,n=-1),1===s){const t=Math.round(r/Ds()),s=r-t*Ds();return n*(2*t+Math.sin(s))}const u=As(),h=Math.floor(r/u);1&h?r=(h+1)*u-r:r-=h*u;const o=Math.sin(r),a=Number.isNaN(e)?et(s):e;let m;if(1===o)m=a+Math.sqrt(1-s)*(r-u);else{const t=r*r;if(.01424*Math.pow(t,4)<=2*Ts())m=r*(1+t*s*(-1/6+t*((4-3*s)/120-(16+(45*s-60)*s)/5040*t)));else if(s<=.01){const t=Math.sin(2*r),e=Math.sin(4*r),i=Math.sin(6*r),n=Math.sin(8*r),u=Math.sin(10*r);m=r+s*((2*-r+t)/8+s*((-3*r+2*t-.25*e)/64+s*((-20*r+15*t-3*e+i/3)/1024+s*(5*(-140*r+112*t-28*e+16/3*i-.5*n)/65536+7*s*((-63*r+52.5*t-15*e+3.75*i-.625*n+.05*u)/65536+s*(-693*r+594*t-185.625*e+1.375*i-12.375*n+1.8*u-.125*Math.sin(12*r))/1048576)))))}else{const t=o*o,e=Math.cos(r),i=e*e,n=ht(o,e,s);m=o*(rt(i,n,1)-s*t*ut(i,n,1)/3)}}return 1&h?m=a*(h+1)-m:m+=a*h,n*m}function nt(t,s,e=Number.NaN){if(0===t)return 0;let i=1,n=t;t<0&&(n=-n,i=-1);const r=Number.isNaN(e)?et(s):e,u=Math.floor(n/r);1&u?n=(u+1)*r-n:n-=u*r;let h=n<=0?0:n>=r?As():function(t,s,e){if(0===s)return t;if(1===s)return Math.asin(t);let i=0,n=!0;if(t<.2){const e=t*t,r=t*(1+e*s*(1/6+e*((13*s-4)/120+(16-284*s+493*s*s)/5040*e))),u=Math.abs(s*(4944*s-64-31224*s*s+37369*s*s*s)/362880*Math.pow(t,9));if(u<Math.abs(r)*Ts())return r;i=r,n=u>.1*r}if(n){const n=1-s,r=1-t/e,u=Math.sqrt(r*r+n*n),h=Math.atan2(n,t+Ts());i=As()+Math.sqrt(u)*(h-As())}let r=0;for(let n=0;n<7;n++){r=it(i,s,e);const u=ht(Math.sin(i),Math.cos(i),s);if(i-=(r-t)/Math.sqrt(u),n>0&&Math.abs(r-t)<=4*Ts()*t)break}return i}(n,s,r);return 1&u?h=As()*(u+1)-h:h+=As()*u,i*h}function rt(t,s,e){(0,i.g)((0!==t?1:0)+(0!==s?1:0)+1>1);let n=t,r=s,u=e;for(;;){const t=Math.sqrt(n*r)+Math.sqrt(r*u)+Math.sqrt(u*n);n=.25*(n+t),r=.25*(r+t),u=.25*(u+t);const s=(n+r+u)/3,e=(s-n)/s,i=(s-r)/s,h=(s-u)/s;if(Math.abs(e)<=.0024&&Math.abs(i)<=.0024&&Math.abs(h)<=.0024){const t=e*i-h*h,n=e*i*h;return(1+(1/24*t-.1-3/44*n-5*t*t/208+t*n/16)*t+(1/14+3*n/104)*n)/Math.sqrt(s)}}}function ut(t,s,e){(0,i.g)(0!==t||0!==s);let r=t,u=s,h=e;const o=new n(0);let a=1;for(;;){const t=.2*(r+u+3*h),s=(t-r)/t,e=(t-u)/t,i=(t-h)/t;if(Math.abs(s)<=.0015&&Math.abs(e)<=.0015&&Math.abs(i)<=.0015){const n=s*e,r=i*i,u=n-r,h=n-6*r,m=h+u+u,l=3/26,c=h*(9/22*.25*h-.21428571428571427-1.5*l*i*m),f=i*(1/6*m+i*(-.4090909090909091*u+i*l*n));return 3*o.getResult()+a*(1+c+f)/(t*Math.sqrt(t))}const n=Math.sqrt(r),m=Math.sqrt(u),l=Math.sqrt(h),c=n*(m+l)+m*l;o.add(a/(l*(h+c))),a*=.25,r=.25*(r+c),u=.25*(u+c),h=.25*(h+c)}}function ht(t,s,e){return t<.999?1-e*G(t):1-e+e*G(s)}const ot=new class{constructor(t){for(this.values=[[1]];this.values.length<t+1;){const t=this.values.at(-1),s=zt(t.length+1,1);for(let e=1;e<t.length;++e)s[e]=t[e-1]+t[e];this.values.push(s)}}get(t,s){return this.values[t][s]}}(32);function at(t,s){if(t<ot.values.length)return ot.get(t,s);const e=Math.exp(((0,i.g)(0),0));return e+.01>2147483647&&(0,i.q)("The result value of n choose k is out of range"),e+.01}function mt(t,s){if(t.isZero())return t.clone();const e=t.clone().divThis(t);if(s<0)return e.divThis(mt(t,-s));for(t=t.clone(),s=Math.trunc(s);1&s&&e.mulThis(t),s>>=1;)t.mulThis(t);return e}function lt(t,s){if(0===s)return[];const e=t[0].clone().mulDoubleThis(0),i=[];i.length=s;const n=s-1;for(let s=0;s<=n;++s){i[s]=e.clone();for(let e=0;e<=s;++e)i[s].addThis(t[e].clone().mulDoubleThis(at(s,e)/at(n,e)))}return i}function ct(t,s,e,n,r){return 0===t?0===n?s:1===n?e:r:1===t?0===n?s:1===n?e:C(s,e,n):(2===t&&(0,i.t)("angular interpolation"),void(0,i.t)(""))}function ft(t,s,e,n,r,u,h,o){if(0===t)for(let t=0;t<u;++t)n[t+r]=0===h?s[t]:1===h?e[t]:o;else if(1===t)if(0===h)vt(n,s,r,0,u);else if(1===h)vt(n,e,r,0,u);else for(let t=0;t<u;++t)n[t+r]=C(s[t],e[t],h);else if(2===t)if(0===h)vt(n,s,r,0,u);else if(1===h)vt(n,e,r,0,u);else{let t=0;for(let i=0,o=r;i<u;++i,++o)n[o]=C(s[i],e[i],h),t+=n[o]*n[o];if(t>0){t=Math.sqrt(t);for(let s=r;s<r+u;++s)n[s]/=t}else{for(let t=r;t<r+u;++t)n[t]=0;n[r]=1}}else(0,i.t)("")}function vt(t,s,e,i,n){if(0===n)return;let r=0,u=e,h=i;for(;r++<n;)t[u++]=s[h++]}function _t(t,s,e){let i=0;for(let n=0;!i&&n<e;++n)i=t[n]-s[n];return i}function bt(t,s){return t}function dt(t){t.sort(((t,s)=>t<s?-1:t>s?1:0))}function pt(t,s){const e=t.slice(0,s);dt(e),vt(t,e,0,0,s)}function xt(t,s,e,i){const n=t.slice(s,s+e);n.sort(i),vt(t,n,s,0,e)}function Nt(t,s){return t<s?-1:t>s?1:0}function yt(t,s,e,i){return t<e?-1:t>e?1:s<i?-1:s>i?1:0}function gt(t,s){if(t.length<2)return t.length;let e=0;for(let i=1;i<t.length;++i)s(t[i],t[e])||(e++,t[i]=bt(t[e],t[e]=t[i]));return 1+e}function Tt(t,s){t[s]=t.at(-1),t.pop()}function Et(t,s=!1){return{[Symbol.dispose](){this.bForget||t()},bForget:s}}function Mt(t,s,e){t.length=s,t.fill(e)}function wt(t,s,e){t.length=e;for(let i=0;i<e;++i)t[i]=new s}function It(t,s){const e=new Array(s);for(let i=0;i<s;++i)e[i]=new t;return e}function Dt(t,s,e){for(let i=0;i<e;++i)t[i].assign(s[i]);return e}function Pt(t,s){const e=t.slice(0,s);for(let t=0;t<s;++t)e[t]=e[t].clone();return e}function At(t){return Array.from({length:t},(()=>null))}function qt(t,s){return Array.from({length:s},(()=>t()))}function zt(t,s){const e=new Array(t);return e.fill(s),e}function Ct(t,s){return s in t&&1===Object.getOwnPropertyNames(t).length}class Zt{constructor(...t){this.m_elts=t}get length(){return this.m_elts.length}at(t){return this.m_elts[t]}[Symbol.dispose](){for(const t of this.m_elts)t[Symbol.dispose]()}}function Bt(t,s){return{first:t,second:s}}const Rt=Math.PI,kt=2*Math.PI,Gt=.5*Math.PI;class St{constructor(t,s){this.m_cr=t,this.m_cc=s,this.m_v=zt(t*s,0)}get(t,s){return this.m_v[t*this.m_cc+s]}set(t,s,e){this.m_v[t*this.m_cc+s]=e}inc(t,s){return++this.m_v[t*this.m_cc+s]}}const Lt=new ArrayBuffer(8),Ft=new Float64Array(Lt),Ot=new BigUint64Array(Lt),Qt=0x0fffffffffffffn;function Ut(){return Number.EPSILON*xs}function Vt(t){return Ft[0]=t,Ot[0]}function jt(t){return Vt(t)&Qt}function Yt(t){return Number((9218868437227405312n&Vt(t))>>52n)}function $t(t){if(0n===t)return-1n;if(1n===t||-1n===t)return 0n;t<0n&&(t=-t);let s=0n,e=512n,i=1n<<s+e;for(;t>=i;)s+=e,e<<=1n,i<<=e;let n=s;e>>=1n;let r=n+e;for(;e>0n;)t<1n<<r||(n=r),e>>=1n,r=n+e;return n}function Ht(t,s){return t===s||Number.isNaN(t)&&Number.isNaN(s)}function Jt(t,s,e){return t===s||Math.abs(t-s)<=e||Number.isNaN(t)&&Number.isNaN(s)}function Kt(t,s){return t<s?-1:t>s?1:0}function Wt(t,s){if(t<s)return-1;if(t>s)return 1;if(t===s)return 0;{const e=Number.isNaN(t),i=Number.isNaN(s);return e<i?-1:e>i?1:0}}function Xt(){return 2147483647}function ts(){return 32767}function ss(){return 2147483647}function es(){return-2147483648}const is=2147483647,ns=BigInt(is),rs=2166136261,us=16777619,hs=14695981039346656037n,os=1099511628211n;function as(t){let s=rs;for(let e=0,i=t.length;e<i;++e)s=(s^t.charCodeAt(e))*us;return s&is}function ms(t,s){return s+2654435769+(t<<6)+(t>>2)&is}function ls(t,s){return ms(t,_s(s))}function cs(t){return ms(3735928559,t)}function fs(t,s){return ms(t,cs(s))}function vs(t){return function(t){let s=rs,e=t;return s=(s^255&e)*us,e>>=8,s=(s^255&e)*us,e>>=8,s=(s^255&e)*us,e>>=8,s=(s^255&e)*us,s&is}(t)}function _s(t){return Number(function(t){let s=hs,e=t;return s=(s^0xffn&e)*os,e>>=8n,s=(s^0xffn&e)*os,e>>=8n,s=(s^0xffn&e)*os,e>>=8n,s=(s^0xffn&e)*os,e>>=8n,s=(s^0xffn&e)*os,e>>=8n,s=(s^0xffn&e)*os,e>>=8n,s=(s^0xffn&e)*os,s&ns}(t))}function bs(t){return _s(Vt(function(t){return Cs(t)}(t)))}function ds(t){return function(t){return 1103515245*t+12345&2147483647}(t)}const ps=100,xs=100;function Ns(){return Number.EPSILON*ps}function ys(){return.38196601125010515}function gs(){return 1.4142135623730951}function Ts(){return Number.EPSILON}function Es(t,s,e){return t===s||t===e}function Ms(t,s,e){return t>=s?t<=e?t:e:s}function ws(t,s,e){const i=t[0];if(i>=s){if(i<=e)return!1;t[0]=e}else t[0]=s;return!0}function Is(t,s){return t>=s?s:t<-s?-s:t}function Ds(){return Rt}function Ps(){return kt}function As(){return Gt}const qs=3*As();function zs(){return qs}function Cs(t){return t+0}function Zs(t){return{v:t}}class Bs{constructor(){this.m_rn=Zs(0n),this.m_rd=Zs(1n),this.m_bNaN=!1,this.m_bNormalized=!1,this.m_power=0,this.m_sign=0}static constructAssign(t,s){const e=t.clone();return void 0!==s&&e.limitPrecisionThis(s),e}static constructDouble(t){return(new Bs).setDouble(t)}static constructInt64(t){return(new Bs).setInt64(t)}static constructRational(t,s){return(new Bs).setRational(t,s)}static constructInt32(t){return this.constructInt64(BigInt(Math.trunc(t)))}[Symbol.toPrimitive](t){return this}compare(t){return this.lt(t)?-1:this.gt(t)?1:0}assignCopy(t){return this.setThis(t)}abs(){return this.clone().absThis()}absThis(){return this.isNAN()||(this.m_sign*=this.m_sign),this}clone(){return(new Bs).setThis(this)}setThis(t){return this.m_bNaN=t.m_bNaN,this.m_bNormalized=t.m_bNormalized,this.m_rn.v=t.m_rn.v,this.m_rd.v=t.m_rd.v,this.m_power=t.m_power,this.m_sign=t.m_sign,this}setZero(){return this.m_rn.v=0n,this.m_rd.v=1n,this.m_bNaN=!1,this.m_power=0,this.m_bNormalized=!0,this.m_sign=0,this}setDouble(t){if(this.setZero(),0===t)return this;if(Number.isInteger(t)&&Math.abs(t)<2147483647)return this.setInt32(t);const s=Vt(t),e=(s&Bs.s_em)>>52n,n=!!(s&Bs.s_sm),r=s&Bs.s_fm;if(e===Bs.s_emax)return r?(this.m_rn.v=this.m_rd.v=0n,this.m_bNaN=!0,this):(this.m_rn.v=n?-1n:1n,this.m_rd.v=0n,this);0n===e&&(0,i.t)("denormalized numbers not yet implemented");const u=e-1023n,h=u>=0n?u:0n,o=u<0n?-u:0n;return this.m_rn.v=(1n<<52n|r)<<h,this.m_rd.v=1n<<52n+o,this.m_sign=n?-1:1,this.m_bNormalized=!1,this.normalizeThis()}setInt64(t){return 0n===t?this.setZero():(this.m_bNaN=!1,this.m_sign=t>0n?1:-1,this.m_rn.v=t>0n?t:-t,this.m_rd.v=1n,this.m_power=0,this.m_bNormalized=!1,this.normalizeThis())}setRational(t,s){return 0n===t?0n===s?this.setNAN():this.setZero():0n===s?t>0n?this.setPositiveInf():this.setNegativeInf():(this.m_sign=(t>0n?1:-1)*(s>0n?1:-1),this.m_rn.v=t>0n?t:-t,this.m_rd.v=s>0n?s:-s,this.m_power=0,this.m_bNormalized=!1,this.normalizeThis())}setInt32(t){return this.setInt64(BigInt(Math.trunc(t)))}getDouble(){return this.convertToDouble()}toDouble(){return this.convertToDouble()}value(){return this.convertToDouble()}isNAN(){return this.m_bNaN}isPositiveInf(){return!this.isNAN()&&0n===this.m_rd.v&&1===this.m_sign}isNegativeInf(){return!this.isNAN()&&0n===this.m_rd.v&&-1===this.m_sign}isFinite(){return!this.isNAN()&&0n!==this.m_rd.v}setNAN(){return this.m_bNaN=!0,this.m_rn.v=0n,this.m_rd.v=0n,this.m_power=0,this.m_bNormalized=!0,this}setPositiveInf(){return this.m_rn.v=1n,this.m_rd.v=0n,this.m_bNaN=!1,this.m_bNormalized=!0,this.m_sign=1,this.m_power=0,this}setNegativeInf(){return this.m_rn.v=1n,this.m_rd.v=0n,this.m_bNaN=!1,this.m_bNormalized=!0,this.m_sign=-1,this.m_power=0,this}subThis(t){if(t.isNAN()&&this.setNAN(),this.isPositiveInf()&&t.isPositiveInf())this.setNAN();else{if(this.isPositiveInf()&&t.isNegativeInf())return this.setPositiveInf(),this;if(this.isNegativeInf()&&t.isNegativeInf())this.setNAN();else if(this.isNegativeInf()&&t.isPositiveInf())return this.setNegativeInf(),this}return this.isNAN()?this:this.opPlusMinus(t,!1)}thisSubAbs(t){return(0,i.g)(0),this}mulThis(t){return t.isNAN()&&this.setNAN(),this.isNAN()?this:(this.m_sign*=t.m_sign,0===this.m_sign?this.setZero():(this.m_rn.v*=t.m_rn.v,this.m_rd.v*=t.m_rd.v,this.m_power+=t.m_power,this.m_bNormalized=!1,this.normalizeThis(),this))}mulDoubleThis(t){return this.mulThis(Bs.constructDouble(t))}thisMulInt64(t){return(0,i.g)(0),this}thisMulInt32(t){return(0,i.g)(0),this}divThis(t){return this.mulThis(t.clone().invertThis())}divDoubleThis(t){return this.divThis(Bs.constructDouble(t))}addDoubleThis(t){return this.addThis(Bs.constructDouble(t))}subDoubleThis(t){return this.subThis(Bs.constructDouble(t))}mul(t){return this.clone().mulThis(t)}mulBigIntThis(t){return this.mulThis(Bs.constructInt64(t))}mulDouble(t){return this.clone().mulThis(Bs.constructDouble(t))}div(t){return this.clone().divThis(t)}divDouble(t){return this.clone().divDoubleThis(t)}add(t){return this.clone().addThis(t)}fmSubThis(t,s){return this.subThis(t.clone().mulThis(s))}fmAddThis(t,s){return this.addThis(t.clone().mulThis(s))}addThis(t){if(t.isNAN()&&this.setNAN(),this.isPositiveInf()&&t.isPositiveInf())return this.setPositiveInf(),this;if(this.isPositiveInf()&&t.isNegativeInf())this.setNAN();else{if(this.isNegativeInf()&&t.isNegativeInf())return this.setNegativeInf(),this;this.isNegativeInf()&&t.isPositiveInf()&&this.setNAN()}return this.isNAN()?this:this.opPlusMinus(t,!0)}addDouble(t){return this.clone().addThis(Bs.constructDouble(t))}sub(t){return this.clone().subThis(t)}subDouble(t){return this.clone().subThis(Bs.constructDouble(t))}isZero(){return 0===this.m_sign}equals(t){return this.clone().subThis(t).isZero()}lt(t){return!this.isNAN()&&!t.isNAN()&&!(this.isPositiveInf()&&t.isPositiveInf()||this.isNegativeInf()&&t.isNegativeInf())&&!this.isPositiveInf()&&(!!t.isPositiveInf()||this.clone().sub(t).LZ())}absLessAbs(t){return this.abs().lt(t.abs())}gt(t){return this.clone().sub(t).GZ()}lte(t){return this.sub(t).LEZ()}gte(t){return this.sub(t).GEZ()}normalizeThis(){if(this.m_bNormalized)return this;if(0n===this.m_rn.v)return this.setZero();let t=0,s=0xffffffffn;for(;0n===(this.m_rn.v&s)&&s<=this.m_rn.v;)s<<=32n,t+=32;s&=this.m_rn.v,s>>=BigInt(t),t+=h(BigInt.asUintN(32,s))-1;let e=0;for(s=0xffffffffn;0n===(this.m_rd.v&s)&&s<=this.m_rd.v;)s<<=32n,e+=32;return s&=this.m_rd.v,s>>=BigInt(e),e+=h(BigInt.asUintN(32,s))-1,this.m_rn.v>>=BigInt(t),this.m_rd.v>>=BigInt(e),this.m_power+=t-e,this.m_rn.v>1n&&this.m_rd.v>1n&&(this.m_rn.v%this.m_rd.v===0n?(this.m_rn.v/=this.m_rd.v,this.m_rd.v=1n):this.m_rd.v%this.m_rn.v===0n&&(this.m_rd.v/=this.m_rn.v,this.m_rn.v=1n)),this.m_bNormalized=!0,this}negateThis(){return this.isNAN()||(this.m_sign*=-1),this}negate(){return this.clone().negateThis()}invertThis(){return this.isNAN()?this:this.isPositiveInf()||this.isNegativeInf()?(this.setZero(),this):0n===this.m_rn.v?(this.setPositiveInf(),this):(this.m_rd=bt(this.m_rn,this.m_rn=this.m_rd),this.m_power=-this.m_power,this)}limitPrecisionThis(t){if(0===t)return this;if(this.isZero())return this.setZero();if(!this.isFinite())return this;this.normalizeThis();let s=Number($t(this.m_rn.v));if(s>t){const e=s-t;this.m_rn.v>>=BigInt(s-t),this.m_power+=e}if(s=Number($t(this.m_rd.v)),s>t){const e=s-t;this.m_rd.v>>=BigInt(s-t),this.m_power-=e}return this}hiBitIndex(){return Math.max(Number($t(this.m_rn.v)),Number($t(this.m_rd.v)))}ldexp(t){return this.clone().ldexpThis(t)}ldexpThis(t){return t&&(this.m_bNormalized=!1,this.m_power+=t,this.normalizeThis()),this}static lerp(t,s,e){return Bs.lerpLo(s,s,e)}static lerpLo(t,s,e){return s.sub(t).mulThis(e).addThis(t)}static lerpHi(t,s,e){return s.sub(t).mulThis(Rs.sub(e)).addThis(t)}LZ(){return!this.isNAN()&&-1===this.m_sign}GZ(){return!this.isNAN()&&1===this.m_sign}LEZ(){return!this.isNAN()&&this.m_sign<=0}GEZ(){return!this.isNAN()&&this.m_sign>=0}toString(){return this.toDouble().toString()}sqr(){return this.clone().sqrThis()}sqrThis(){return this.mulThis(this.clone())}static sqrt(t,s){if(t.m_sign<0n&&(0,i.q)("MP_value: sqrt(-1)"),t.isZero())return t.clone();let e=52,n=2220446049250313e-31;for(;e<s;)2*e<=s?(n*=n,e*=2):(n*=2220446049250313e-31,e+=52);e+=52;const r=$t(t.m_rn.v),u=$t(t.m_rd.v);let h,o=t.m_power+Number(r-u);const a=new Bs;Math.abs(o)>200?(1&Math.abs(o)&&(o+=1),h=Bs.constructAssign(t,53).ldexpThis(-o).value(),a.setThis(t).ldexpThis(-o),(0,i.g)(Number.isFinite(h))):(a.setThis(t),h=a.value(),(0,i.g)(Number.isFinite(h)),o=0),h=Math.sqrt(h);const m=Bs.constructDouble(h),l=Bs.constructDouble(n);l.mulThis(m).ldexpThis(1);const c=n*h*2,f=m.clone(),v=new Bs;let _;for(let t=0;t<10;++t){f.mulThis(m),v.setThis(a).subThis(f).absThis();let t=v.value();if(_=1,t<.9)for(;t>c;)t*=t,++_;else _=4;if(v.lte(l))break;for(let t=0;t<_;t++)f.setThis(m).divThis(a).invertThis().addThis(m).ldexpThis(-1).limitPrecisionThis(e),m.setThis(f)}return m.ldexpThis(o/2)}static cubicRoot(t,s){if(t.isZero())return t.clone();let e=52,i=2220446049250313e-31;for(;e<s;)2*e<=s?(i*=i,e*=2):(i*=2220446049250313e-31,e+=52);e+=52;const n=Math.pow(Math.abs(t.value()),1/3),r=Bs.constructDouble(n),u=r.clone();u.sqrThis().mulDoubleThis(3).mulDoubleThis(i),u.limitPrecisionThis(32),t.LZ()&&r.negateThis();for(let s=0;s<10;++s){const s=r.clone();s.sqrThis().mulThis(r);const i=s.clone();if(i.subThis(t),i.absThis().limitPrecisionThis(32),i.lte(u))break;i.setThis(t),i.ldexpThis(1),i.addThis(s);const n=s.clone();n.ldexpThis(1),n.addThis(t),i.divThis(n),r.mulThis(i),r.limitPrecisionThis(e)}return r}isInTheRangeOfDouble(){return(0,i.g)(0),!1}sign(){return this.m_sign}cosAndSin(t,s){(0,i.g)(0)}pow(t){return mt(this,t)}static nan(){return(0,i.g)(0),new Bs}convertToDouble(){if(this.m_bNaN)return Number.NaN;if(this.isZero())return 0;if(0n===this.m_rd.v)return 1===this.m_sign?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY;const t=-1===this.m_sign,s=this.m_rn.v<<(this.m_power>=0?BigInt(this.m_power):0n);let e=this.m_rd.v<<(this.m_power<0?BigInt(-this.m_power):0n);const i=s/e;let n=Number(i);if(BigInt(n)!==i)return t?-n:n;let r=s-i*e;if(r){let t=$t(e)-1023n;t>0n&&(e>>=t,r<<=52n,r>>=t);let s=Number(r);Number.isFinite(s)||(r>>=52n,s=Number(r),t=0n),t>0n&&(s/=Math.pow(2,52)),n+=s/Number(e)}return t?-n:n}signVal(){return 1===this.m_sign?1n:-1===this.m_sign?-1n:0n}opPlusMinus(t,s){const e=Math.min(this.m_power,t.m_power);let i,n;this.m_power>e?(i=BigInt(this.m_power-e),n=0n):(i=0n,n=BigInt(t.m_power-e));const r=this.signVal()*this.m_rn.v*t.m_rd.v<<i,u=t.signVal()*t.m_rn.v*this.m_rd.v<<n;return this.m_rn.v=s?r+u:r-u,this.m_rd.v*=t.m_rd.v,this.m_power=e,this.m_sign=1,this.m_rn.v<0n&&(this.m_sign=-1,this.m_rn.v=-this.m_rn.v),this.m_bNormalized=!1,this.normalizeThis(),this}}Bs.s_sm=0x8000000000000000n,Bs.s_em=0x7ff0000000000000n,Bs.s_fm=0x000fffffffffffffn,Bs.s_emax=0x7ffn;const Rs=Bs.constructInt32(1),ks=Bs.constructInt32(0),Gs=Bs.constructDouble(.5);function Ss(t,s){let e=Yt(t);const i=Yt(s);return e===i?(e-=53-function(t,s){return function(t){let s=0;return 0xffffffff00000000n&t&&(s=32,t>>=32n),s+function(t){let s=0;return 4294901760n&t&&(s+=16,t>>=16n),65280n&t&&(s+=8,t>>=8n),240n&t&&(s+=4,t>>=4n),s+u[Number(BigInt.asUintN(4,t))]+1}(t)}(t^s)}(jt(t),jt(s)),e):e>i?e:i}function Ls(t,s){for(let e=0,i=0,n=t.length;e<n;e+=2,i++)s[i].x=t[e],s[i].y=t[e+1]}function Fs(t){const s=new Float64Array(2*t.length);for(let e=0,i=t.length;e<i;++e){const i=e<<1;s[i]=t[e].x,s[i+1]=t[e].y}return s}function Os(t){const s=It(Qs,t.length);for(let e=0,i=t.length;e<i;++e)s[e].setCoords(t[e][0],t[e][1]);return s}class Qs{static construct(t,s){return new Qs(t,s)}constructor(t,s){void 0!==t?(this.x=t,this.y=s):this.x=this.y=Number.NaN}clone(){return new Qs(this.x,this.y)}assign(t){this.setCoordsPoint2D(t)}setCoords(t,s){return this.x=t,this.y=s,this}setCoordsPoint2D(t){this.x=t.x,this.y=t.y}isEqualPoint2D(t,s){return void 0!==s?Math.abs(this.x-t.x)<=s&&Math.abs(this.y-t.y)<=s:this.x===t.x&&this.y===t.y}isEqual(t,s,e){return void 0!==e?Math.abs(this.x-t)<=e&&Math.abs(this.y-s)<=e:this.x===t&&this.y===s}equalsPoint2D(t,s){return this.isEqualPoint2D(t,s)}setSub(t,s){this.x=t.x-s.x,this.y=t.y-s.y}addThis(t){return this.x+=t.x,this.y+=t.y,this}setAdd(t,s){return this.x=t.x+s.x,this.y=t.y+s.y,this}absoluteOther(t){}absolute(){return(0,i.g)(0),this}setNegate(){this.x=-this.x,this.y=-this.y}setNegateOther(t){this.x=-t.x,this.y=-t.y}interpolateThis(t,s){}interpolate(t,s,e){(0,i.g)(0)}scaleAddThis(t,s){this.x=this.x*t+s.x,this.y=this.y*t+s.y}setScaleAdd(t,s,e){this.x=s.x*t+e.x,this.y=s.y*t+e.y}scaleOther(t,s){(0,i.g)(0)}scale(t){this.x*=t,this.y*=t}compare(t){return this.y<t.y?-1:this.y>t.y?1:this.x<t.x?-1:this.x>t.x?1:0}compareX(t){return this.x<t.x?-1:this.x>t.x?1:this.y<t.y?-1:this.y>t.y?1:0}normalizeOther(t){(0,i.g)(0)}normalize(){const t=this.length();return t?(this.x/=t,this.y/=t):(this.x=1,this.y=0),this}getUnitVector(){return this.clone().normalize()}length(){return Math.sqrt(this.x*this.x+this.y*this.y)}sqrLength(){return this.x*this.x+this.y*this.y}static averageFast(t,s){return(0,i.g)(0),{}}static average(t,s){const e=new Qs;if(0===s)return e.setNAN(),e;if(1===s)return e.assign(t[0]),e;const i=new n(t[0].x),r=new n(t[0].y);for(let e=1;e<s;e++)i.add(t[e].x),r.add(t[e].y),255&e||(i.normalize(),r.normalize());return e.x=i.getResult()/s,e.y=r.getResult()/s,e}static calculateLength(t,s){const e=new n(0);for(let i=1;i<s;i++)e.add(Qs.distance(t[i],t[i-1]));return e.getResult()}offset(t,s){const e=Qs.distance(t,s),i=Qs.construct(this.x,this.y);if(0===e)return Qs.distance(i,t);const n=s.clone();return n.subThis(t),i.subThis(t),i.crossProduct(n)/e}side(t,s){return t.equals(s)?this.equals(t)?0:1:Qs.orientationRobust(s,t,this)}static sqrDistance(t,s){const e=t.x-s.x,i=t.y-s.y;return e*e+i*i}static sqrDistanceCoords(t,s,e,i){const n=e-t,r=i-s;return n*n+r*r}static distance(t,s){return Math.sqrt(Qs.sqrDistance(t,s))}dotProduct(t){return this.x*t.x+this.y*t.y}dotProductAbs(t){return Math.abs(this.x*t.x)+Math.abs(this.y*t.y)}crossProduct(t){return this.x*t.y-this.y*t.x}crossProductAbs(t){return(0,i.g)(0),0}rotateDirect(t,s){const e=this.x*t-this.y*s,i=this.x*s+this.y*t;this.x=e,this.y=i}rotateReverse(t,s){const e=this.x*t+this.y*s,i=-this.x*s+this.y*t;this.x=e,this.y=i}leftPerpendicularThis(){const t=this.x;this.x=-this.y,this.y=t}leftPerpendicularOther(t){const s=t.x;this.x=-t.y,this.y=s}rightPerpendicularThis(){const t=this.x;this.x=this.y,this.y=-t}rightPerpendicularOther(t){const s=t.x;this.x=t.y,this.y=-s}equals(t){return this.x===t.x&&this.y===t.y}notequals(t){return this.x!==t.x||this.y!==t.y}not(){return!this.x&&!this.y}gt(t){return this.y>t.y||this.y===t.y&&this.x>t.x}gte(t){return!this.lt(t)}lt(t){return this.y<t.y||this.y===t.y&&this.x<t.x}lte(t){return!this.gt(t)}subThis(t){return this.x-=t.x,this.y-=t.y,this}divThis(t){return this.x/=t,this.y/=t,this}add(t){return new Qs(this.x+t.x,this.y+t.y)}sub(t){return new Qs(this.x-t.x,this.y-t.y)}negateThis(){return this.x=-this.x,this.y=-this.y,this}negate(){return new Qs(-this.x,-this.y)}mul(t){return new Qs(this.x*t,this.y*t)}mulThis(t){return this.x*=t,this.y*=t,this}divide(t){return new Qs(this.x/t,this.y/t)}setNAN(){this.x=this.y=Number.NaN}isNAN(){return Number.isNaN(this.x)||Number.isNaN(this.y)}static getNAN(){return new Qs(Number.NaN,Number.NaN)}isFinite(){return Number.isFinite(this.x)&&Number.isFinite(this.y)}isZero(){return 0===this.x&&0===this.y}norm(t){switch(t){case 0:{const t=Math.abs(this.x),s=Math.abs(this.y),e=t-s;return e>=0?t:e<=0?s:Number.NaN}case 1:return Math.abs(this.x)+Math.abs(this.y);case 2:return Math.sqrt(this.x*this.x+this.y*this.y);default:(0,i.a)("norm")}}getQuarter(){return Qs.getQuarterCoords(this.x,this.y)}static getQuarterCoords(t,s){return t>0?s>=0?1:4:s>0?2:0===t?4:3}static compareVectors(t,s){const e=t.getQuarter(),i=s.getQuarter();return i===e?Qs.orientationRobustImpl(Qs.construct(0,0),s,t,!0):e<i?-1:1}static compareVectorsOrigin(t,s,e){const i=s.sub(t),n=e.sub(t),r=i.getQuarter(),u=n.getQuarter();return u===r?Qs.orientationRobustImpl(t,e,s,!0):r<u?-1:1}static orientationRobust(t,s,e){return Qs.orientationRobustImpl(t,s,e,!1)}static orientationRobustEx(t,s,e,i){if(t.equals(s)||e.equals(i))return 0;const n=s.x-t.x,r=s.y-t.y,u=i.x-e.x,h=i.y-e.y;{const t=Qs.getQuarterCoords(n,r)-1,s=Qs.getQuarterCoords(u,h)-1,e=Qs.d[t][s];if(0!==e)return e}const o=n*h,a=r*u,m=4*Ts()*(Math.abs(o)+Math.abs(a)),l=o-a;return Math.abs(l)>=m?l<0?-1:l>0?1:0:Qs.orientationRobustExMp(t,s,e,i)}static orientationRobustExMp(t,s,e,i){const n=Bs.constructDouble(s.x),r=Bs.constructDouble(i.x);n.subThis(Bs.constructDouble(t.x)),r.subThis(Bs.constructDouble(e.x));const u=Bs.constructDouble(s.y),h=Bs.constructDouble(i.y);return u.subThis(Bs.constructDouble(t.y)),h.subThis(Bs.constructDouble(e.y)),n.mulThis(h),u.mulThis(r),n.subThis(u),n.LZ()?-1:n.GZ()?1:0}static orientationNonRobust(t,s,e){const i=s.sub(t).crossProduct(e.sub(t));return i<0?-1:i>0?1:0}static orientationRobustImpl(t,s,e,i){if(s.isEqualPoint2D(t)||e.isEqualPoint2D(t)||s.isEqualPoint2D(e))return 0;const n=s.x-t.x,r=s.y-t.y,u=e.x-t.x,h=e.y-t.y;if(!i){const t=Qs.getQuarterCoords(n,r)-1,s=Qs.getQuarterCoords(u,h)-1,e=Qs.d[t][s];if(0!==e)return e}const o=(Math.abs(n)+Math.abs(r)+Math.abs(u)+Math.abs(h))*(Math.abs(s.x)+Math.abs(s.y)+Math.abs(e.x)+Math.abs(e.y))*8*_(),a=n*h-r*u;if(Math.abs(a)>o)return a<0?-1:1;if(v(s.x,t.x)&&v(e.y,t.y)&&v(s.y,t.y)&&v(e.x,t.x)&&c(n,h)&&c(r,u)){const t=n*h,s=r*u;if(v(t,s)){const e=t-s;return e<0?-1:e>0?1:0}}return Qs.orientationRobustMp(t,s,e)}static orientationRobustMp(t,s,e){const i=Bs.constructDouble(s.x),n=Bs.constructDouble(e.x);{const s=Bs.constructDouble(t.x);i.subThis(s),n.subThis(s)}const r=Bs.constructDouble(e.y),u=Bs.constructDouble(s.y);{const s=Bs.constructDouble(t.y);r.subThis(s),u.subThis(s)}return i.mulThis(r),u.mulThis(n),i.subThis(u),i.LZ()?-1:i.GZ()?1:0}static inCircleRobust(t,s,e,i){const n=new l,r=new l;n.set(t.x),n.subThis(i.x),r.set(t.y),r.subThis(i.y);const u=new l,h=new l;u.set(s.x),u.subThis(i.x),h.set(s.y),h.subThis(i.y);const o=new l,a=new l;o.set(e.x),o.subThis(i.x),a.set(e.y),a.subThis(i.y);const m=n.mulE(h).subE(r.mulE(u)),c=u.mulE(a).subE(h.mulE(o)),f=n.mulE(a).subE(r.mulE(o)),v=n.mulE(n).addE(r.mulE(r)),_=u.mulE(u).addE(h.mulE(h)),b=o.mulE(o).addE(a.mulE(a)),d=v.mulE(c).subE(_.mulE(f)).addE(b.mulE(m));if(!d.isFuzzyZero()){const t=d.value();return t<0?-1:t>0?1:0}return Qs.inCircleRobustMp(t,s,e,i)}static inCircleRobustMp(t,s,e,i){do{if(!v(t.x,i.x)||!v(t.y,i.y))break;if(!v(s.x,i.x)||!v(s.y,i.y))break;if(!v(e.x,i.x)||!v(e.y,i.y))break;const n=t.x-i.x,r=t.y-i.y,u=s.x-i.x,h=s.y-i.y,o=e.x-i.x,a=e.y-i.y;if(!c(n,h)||!c(r,u))break;if(!c(u,a)||!c(h,o))break;if(!c(n,a)||!c(r,o))break;if(!c(n,n)||!c(r,r))break;if(!c(u,u)||!c(h,h))break;if(!c(o,o)||!c(a,a))break;const m=n*h,l=r*u,_=u*a,b=h*o,d=n*a,p=r*o,x=n*n,N=r*r,y=u*u,g=h*h,T=o*o,E=a*a;if(!v(m,l))break;if(!v(_,b))break;if(!v(d,p))break;if(!f(x,N))break;if(!f(y,g))break;if(!f(T,E))break;const M=m-l,w=_-b,I=d-p,D=x+N,P=y+g,A=T+E;if(!c(D,w))break;if(!c(P,I))break;if(!c(A,M))break;const q=D*w,z=P*I,C=A*M;if(!v(q,z))break;const Z=q-z;if(!f(Z,C))break;const B=Z+C;return B<0?-1:B>0?1:0}while(0);const n=Bs.constructDouble(i.x),r=Bs.constructDouble(i.y),u=Bs.constructDouble(t.x),h=Bs.constructDouble(t.y);u.subThis(n),h.subThis(r);const o=Bs.constructDouble(s.x),a=Bs.constructDouble(s.y);o.subThis(n),a.subThis(r);const m=Bs.constructDouble(e.x),l=Bs.constructDouble(e.y);m.subThis(n),l.subThis(r);const _=u.mul(a).sub(h.mul(o)),b=o.mul(l).sub(a.mul(m)),d=u.mul(l).sub(h.mul(m)),p=u.mul(u).add(h.mul(h)),x=o.mul(o).add(a.mul(a)),N=m.mul(m).add(l.mul(l)),y=p.mul(b).sub(x.mul(d)).add(N.mul(_));return y.LZ()?-1:y.GZ()?1:0}static inCircleRobustMp3Point(t,s,e){const i=Bs.constructDouble(t.x),n=Bs.constructDouble(t.y),r=Bs.constructDouble(s.x),u=Bs.constructDouble(s.y),h=Bs.constructDouble(e.x),o=Bs.constructDouble(e.y),a=h.mul(h).add(o.mul(o)).sub(h.mul(i).add(o.mul(n)).add(h.mul(r)).add(o.mul(u))).add(i.mul(r).add(n.mul(u)));return a.LZ()?-1:a.GZ()?1:0}static inCircleRobust3Point(t,s,e){const i=new l(t.x),n=new l(t.y),r=new l(s.x),u=new l(s.y),h=new l(e.x),o=new l(e.y),a=h.mulE(h).addE(o.mulE(o)).subE(h.mulE(i).addE(o.mulE(n)).addE(h.mulE(r)).addE(o.mulE(u))).addE(i.mulE(r).addE(n.mulE(u)));if(!a.isFuzzyZero()){const t=a.value();return t<0?-1:t>0?1:0}return Qs.inCircleRobustMp3Point(t,s,e)}static calculateCircleCenterFromThreePoints(t,s,e){if(t.equals(e)||t.equals(s)||e.equals(s))return Qs.getNAN();const i=function(t,s,e){const i=new l(s.x);i.subThis(t.x);const n=new l(s.y);n.subThis(t.y);const r=new l(e.x);r.subThis(t.x);const u=new l(e.y);u.subThis(t.y);const h=i.clone();h.mulThisE(u);let o=n.clone();if(o.mulThisE(r),h.subThisE(o),0===h.value())return Qs.getNAN();h.mulThis(2);const a=i.clone();a.mulThisE(i);const m=n.clone();m.mulThisE(n);const c=a.clone();c.addThisE(m);const f=r.clone();f.mulThisE(r);const v=u.clone();v.mulThisE(u);const _=f.clone();_.addThisE(v);const b=n.clone();b.mulThisE(_),o=u.clone(),o.mulThisE(c),b.subThisE(o),b.divThisE(h);const d=i.clone();d.mulThisE(_),o=r.clone(),o.mulThisE(c),d.subThisE(o),d.divThisE(h);const p=Qs.construct(t.x-b.value(),t.y+d.value()),x=t.sub(p).length(),N=s.sub(p).length(),y=e.sub(p).length(),g=1e-15*(x+Math.abs(t.x)+Math.abs(s.x)+Math.abs(e.x)+Math.abs(t.y)+Math.abs(s.y)+Math.abs(e.y));return Math.abs(x-N)<=g&&Math.abs(x-y)<=g&&b.eps()<g&&d.eps()<g?p:Qs.getNAN()}(t,s,e);return i.isNAN()?function(t,s,e){const i=Bs.constructDouble(s.x);i.subDoubleThis(t.x);const n=Bs.constructDouble(s.y);n.subDoubleThis(t.y);const r=Bs.constructDouble(e.x);r.subDoubleThis(t.x);const u=Bs.constructDouble(e.y);u.subDoubleThis(t.y);const h=i.clone();h.mulThis(u);let o=n.clone();if(o.mulThis(r),h.subThis(o),h.isZero())return Qs.getNAN();h.mulDoubleThis(2);const a=i.clone();a.mulThis(i);const m=n.clone();m.mulThis(n);const l=a.clone();l.addThis(m);const c=r.clone();c.mulThis(r);const f=u.clone();f.mulThis(u);const v=c.clone();v.addThis(f);const _=n.clone();_.mulThis(v),o=u.clone(),o.mulThis(l),_.subThis(o),_.divThis(h);const b=i.clone();return b.mulThis(v),o=r.clone(),o.mulThis(l),b.subThis(o),b.divThis(h),Qs.construct(t.x-_.value(),t.y+b.value())}(t,s,e):i}static calculateAngle(t,s){return Math.atan2(t.crossProduct(s),t.dotProduct(s))}static isBisectorRobust(t,s,e){return(0,i.g)(0),!1}static size(){return 2}get 0(){return this.x}get 1(){return this.y}set 0(t){this.x=t}set 1(t){this.y=t}static compareZorder(t,s){const e=Qs.c_compare_zorder_xx[t.x<0?1:0]|Qs.c_compare_zorder_yy[t.y<0?1:0],i=Qs.c_compare_zorder_xx[s.x<0?1:0]|Qs.c_compare_zorder_yy[s.y<0?1:0];if(e===i){let e=0,i=0;for(let n=0;n<2;++n){const r=Ss(t[n],s[n]);r>e&&(e=r,i=n)}return t[i]<s[i]}return e<i}static lerp(t,s,e){const i=new Qs;return R(t,s,e,i),i}static getClosestCoordinate(t,s,e,i=!1){const n=Qs.getNAN();n.setSub(s,t);const r=n.sqrLength();if(0===r)return.5;if(s.isEqualPoint2D(e))return 1;const u=Qs.getNAN();u.setSub(e,t);let h=u.dotProduct(n)/r;return i||(h<0?h=0:h>1&&(h=1)),h}static intersectLinesAtOnePoint(t,s,e,i){if(t.equals(s)||e.equals(i))return Qs.getNAN();const n=s.x-t.x,r=e.x-i.x,u=s.y-t.y,h=e.y-i.y,o=n*h-r*u;if(!o)return Qs.getNAN();const a=o;if(0===a)return Qs.getNAN();let m=(e.x-t.x)*h-(e.y-t.y)*r;m/=a;const l=new Qs;return R(t,s,m,l),l.isFinite()?l:Qs.getNAN()}toString(){return`[${this.x},${this.y}]`}}Qs.dimensions=2,Qs.d=[[0,1,0,-1],[-1,0,1,0],[0,-1,0,1],[1,0,-1,0]],Qs.c_compare_zorder_xx=[2,0],Qs.c_compare_zorder_yy=[1,0]}}]);
@@ -1 +1 @@
1
- "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[6112],{240:(t,n,r)=>{r.d(n,{C:()=>c,vt:()=>u,lU:()=>h,fA:()=>f,mR:()=>_,Qj:()=>l,T7:()=>v,gv:()=>N,Ui:()=>E,Tj:()=>S,_I:()=>T,mP:()=>g,LV:()=>i});var e=r(34727),o=r(38954),a=r(51850),s=(r(87317),r(44280),r(32114));function u(t=w){return[t[0],t[1],t[2],t[3]]}function i(t=w[0],n=w[1],r=w[2],e=w[3]){return f(t,n,r,e,s.Km.get())}function c(t,n){return f(n[0],n[1],n[2],n[3],t)}function l(t){return t}function f(t,n,r,e,o=u()){return o[0]=t,o[1]=n,o[2]=r,o[3]=e,o}function h(t,n,r,e=0,a=Math.floor(r*(1/3)),s=Math.floor(r*(2/3))){if(r<3)return!1;n(m,e);let i=a,c=!1;for(;i<r-1&&!c;)n(I,i),i++,c=!(0,o.q)(m,I);if(!c)return!1;for(i=Math.max(i,s),c=!1;i<r&&!c;)n(d,i),i++,(0,o.d)(p,m,I),(0,o.n)(p,p),(0,o.d)(b,I,d),(0,o.n)(b,b),c=!(0,o.q)(m,d)&&!(0,o.q)(I,d)&&Math.abs((0,o.e)(p,b))<M;return c?(function(t,n,r,e=u()){const o=r[0]-n[0],a=r[1]-n[1],s=r[2]-n[2],i=t[0]-n[0],c=t[1]-n[1],l=t[2]-n[2],f=a*l-s*c,h=s*i-o*l,M=o*c-a*i,m=f*f+h*h+M*M,I=Math.abs(m-1)>1e-5&&m>1e-12?1/Math.sqrt(m):1;e[0]=f*I,e[1]=h*I,e[2]=M*I,e[3]=-(e[0]*t[0]+e[1]*t[1]+e[2]*t[2])}(m,I,d,t),!0):(0!==e||1!==a||2!==s)&&h(t,n,r,0,1,2)}(0,a.vt)(),(0,a.vt)(),(0,a.vt)(),(0,a.vt)(),(0,a.vt)();const M=.99619469809,m=(0,a.vt)(),I=(0,a.vt)(),d=(0,a.vt)(),p=(0,a.vt)(),b=(0,a.vt)();function g(t,n,r){return n!==t&&c(t,n),t[3]=-(0,o.e)(t,r),t}function _(t,n,r,e){return(0,o.h)(d,n,t),function(t,n,r){const e=n[0]*n[0]+n[1]*n[1]+n[2]*n[2],o=Math.abs(e-1)>1e-5&&e>1e-12?1/Math.sqrt(e):1;return r[0]=n[0]*o,r[1]=n[1]*o,r[2]=n[2]*o,r[3]=-(r[0]*t[0]+r[1]*t[1]+r[2]*t[2]),r}(r,d,e)}function E(t,n,r){return null!=n&&O(P(t,n.origin,n.direction,D,r))}function v(t,n,r){return O(P(t,n.origin,n.vector,C.NONE,r))}function N(t,n,r){return O(P(t,n.origin,n.vector,C.CLAMP,r))}function S(t,n){return A(t,n)>=0}function T(t,n,r){const e=(0,o.g)(s.rq.get(),t,-t[3]),a=function(t,n,r){const e=(0,o.g)(s.rq.get(),t,(0,o.e)(t,n));return(0,o.d)(r,n,e),r}(t,(0,o.d)(s.rq.get(),n,e),s.rq.get());return(0,o.f)(r,a,e),r}function A(t,n){return(0,o.e)(t,n)+t[3]}var y,x;function O(t){return t===y.INTERSECTS_INSIDE_OUT||t===y.INTERSECTS_OUTSIDE_IN}function P(t,n,r,a,s){const u=(0,o.e)(t,r),i=A(t,n);if(0===u)return i>=0?y.INSIDE:y.OUTSIDE;let c=-i/u;return a&C.CLAMP&&(c=(0,e.qE)(c,0,1)),!(a&C.INFINITE_MIN)&&c<0||!(a&C.INFINITE_MAX)&&c>1?i>=0?y.INSIDE:y.OUTSIDE:((0,o.f)(s,n,(0,o.g)(s,r,c)),i>=0?y.INTERSECTS_INSIDE_OUT:y.INTERSECTS_OUTSIDE_IN)}(x=y||(y={}))[x.INTERSECTS_INSIDE_OUT=0]="INTERSECTS_INSIDE_OUT",x[x.INTERSECTS_OUTSIDE_IN=1]="INTERSECTS_OUTSIDE_IN",x[x.INSIDE=2]="INSIDE",x[x.OUTSIDE=3]="OUTSIDE";const w=[0,0,1,0];var C;!function(t){t[t.NONE=0]="NONE",t[t.CLAMP=1]="CLAMP",t[t.INFINITE_MIN=4]="INFINITE_MIN",t[t.INFINITE_MAX=8]="INFINITE_MAX"}(C||(C={})),C.INFINITE_MIN,C.INFINITE_MAX;const D=C.INFINITE_MAX},9093:(t,n,r)=>{function e(){return[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]}function o(t){return[t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15]]}r.d(n,{o8:()=>o,vt:()=>e,zK:()=>a});const a=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];Object.freeze(Object.defineProperty({__proto__:null,IDENTITY:a,clone:o,create:e,fromValues:function(t,n,r,e,o,a,s,u,i,c,l,f,h,M,m,I){return[t,n,r,e,o,a,s,u,i,c,l,f,h,M,m,I]}},Symbol.toStringTag,{value:"Module"}))},24770:(t,n,r)=>{r.d(n,{$I:()=>d,AU:()=>M,g7:()=>I,i4:()=>l,ui:()=>f,up:()=>b,vt:()=>c,yo:()=>m});var e=r(34727),o=r(58083),a=r(67026),s=r(82534),u=r(38954),i=r(51850);function c(t=b){return[t[0],t[1],t[2],t[3]]}function l(t,n,r=c()){return(0,u.c)(r,t),r[3]=n,r}function f(t,n=c()){const r=(0,o.l)(g,t);return p(n,(0,e.KJ)((0,a.Xd)(n,r))),n}function h(t,n,r=c()){return(0,a.x8)(g,t,d(t)),(0,a.x8)(_,n,d(n)),(0,a.lw)(g,_,g),p(r,(0,e.KJ)((0,a.Xd)(r,g)))}function M(t,n,r,e=c()){return l(i.Cw,t,E),l(i.JP,n,v),l(i.Cb,r,N),h(E,v,E),h(E,N,e),e}function m(t){return t}function I(t){return t[3]}function d(t){return(0,e.kU)(t[3])}function p(t,n){return t[3]=n,t}const b=[0,0,1,0],g=(0,s.vt)(),_=(0,s.vt)(),E=(c(),c()),v=c(),N=c()},29242:(t,n,r)=>{function e(){return[1,0,0,0,1,0,0,0,1]}function o(t,n,r,e,o,a,s,u,i){return[t,n,r,e,o,a,s,u,i]}r.d(n,{fA:()=>o,vt:()=>e,zK:()=>a});const a=[1,0,0,0,1,0,0,0,1];Object.freeze(Object.defineProperty({__proto__:null,IDENTITY:a,clone:function(t){return[t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]]},create:e,fromValues:o},Symbol.toStringTag,{value:"Module"}))},32114:(t,n,r)=>{r.d(n,{Rc:()=>M,J8:()=>m,rq:()=>f,Km:()=>h}),r(44208);var e=r(26390),o=r(29242),a=r(9093),s=r(82534),u=r(48163),i=r(51850),c=r(91829);class l{constructor(t){this._create=t,this._items=new Array,this._itemsPtr=0}get(){return 0===this._itemsPtr&&(0,e.d)((()=>this._reset())),this._itemsPtr>=this._items.length&&this._items.push(this._create()),this._items[this._itemsPtr++]}_reset(){const t=2*this._itemsPtr;this._items.length>t&&(this._items.length=t),this._itemsPtr=0}static createVec2f64(){return new l(u.vt)}static createVec3f64(){return new l(i.vt)}static createVec4f64(){return new l(c.vt)}static createMat3f64(){return new l(o.vt)}static createMat4f64(){return new l(a.vt)}static createQuatf64(){return new l(s.vt)}get test(){}}l.createVec2f64();const f=l.createVec3f64(),h=l.createVec4f64(),M=(l.createMat3f64(),l.createMat4f64()),m=l.createQuatf64()},38954:(t,n,r)=>{r.d(n,{A:()=>m,B:()=>M,C:()=>l,D:()=>f,E:()=>D,F:()=>F,H:()=>j,a:()=>q,b:()=>p,c:()=>s,d:()=>c,e:()=>S,f:()=>i,g:()=>d,h:()=>T,i:()=>u,j:()=>b,k:()=>_,l:()=>a,m:()=>A,n:()=>N,o:()=>x,q:()=>C,r:()=>v,s:()=>g,t:()=>y,u:()=>E,v:()=>O,w:()=>h,x:()=>L,y:()=>X,z:()=>I});var e=r(51850),o=r(34304);function a(t){const n=t[0],r=t[1],e=t[2];return Math.sqrt(n*n+r*r+e*e)}function s(t,n){return t[0]=n[0],t[1]=n[1],t[2]=n[2],t}function u(t,n,r,e){return t[0]=n,t[1]=r,t[2]=e,t}function i(t,n,r){return t[0]=n[0]+r[0],t[1]=n[1]+r[1],t[2]=n[2]+r[2],t}function c(t,n,r){return t[0]=n[0]-r[0],t[1]=n[1]-r[1],t[2]=n[2]-r[2],t}function l(t,n,r){return t[0]=n[0]*r[0],t[1]=n[1]*r[1],t[2]=n[2]*r[2],t}function f(t,n,r){return t[0]=n[0]/r[0],t[1]=n[1]/r[1],t[2]=n[2]/r[2],t}function h(t,n){return t[0]=Math.abs(n[0]),t[1]=Math.abs(n[1]),t[2]=Math.abs(n[2]),t}function M(t,n){return t[0]=Math.sign(n[0]),t[1]=Math.sign(n[1]),t[2]=Math.sign(n[2]),t}function m(t,n,r){return t[0]=Math.min(n[0],r[0]),t[1]=Math.min(n[1],r[1]),t[2]=Math.min(n[2],r[2]),t}function I(t,n,r){return t[0]=Math.max(n[0],r[0]),t[1]=Math.max(n[1],r[1]),t[2]=Math.max(n[2],r[2]),t}function d(t,n,r){return t[0]=n[0]*r,t[1]=n[1]*r,t[2]=n[2]*r,t}function p(t,n,r,e){return t[0]=n[0]+r[0]*e,t[1]=n[1]+r[1]*e,t[2]=n[2]+r[2]*e,t}function b(t,n){const r=n[0]-t[0],e=n[1]-t[1],o=n[2]-t[2];return Math.sqrt(r*r+e*e+o*o)}function g(t,n){const r=n[0]-t[0],e=n[1]-t[1],o=n[2]-t[2];return r*r+e*e+o*o}function _(t){const n=t[0],r=t[1],e=t[2];return n*n+r*r+e*e}function E(t,n){return t[0]=-n[0],t[1]=-n[1],t[2]=-n[2],t}function v(t,n){return t[0]=1/n[0],t[1]=1/n[1],t[2]=1/n[2],t}function N(t,n){const r=n[0],e=n[1],o=n[2];let a=r*r+e*e+o*o;return a>0&&(a=1/Math.sqrt(a),t[0]=n[0]*a,t[1]=n[1]*a,t[2]=n[2]*a),t}function S(t,n){return t[0]*n[0]+t[1]*n[1]+t[2]*n[2]}function T(t,n,r){const e=n[0],o=n[1],a=n[2],s=r[0],u=r[1],i=r[2];return t[0]=o*i-a*u,t[1]=a*s-e*i,t[2]=e*u-o*s,t}function A(t,n,r,e){const o=n[0],a=n[1],s=n[2];return t[0]=o+e*(r[0]-o),t[1]=a+e*(r[1]-a),t[2]=s+e*(r[2]-s),t}function y(t,n,r){const e=n[0],o=n[1],a=n[2];return t[0]=r[0]*e+r[4]*o+r[8]*a+r[12],t[1]=r[1]*e+r[5]*o+r[9]*a+r[13],t[2]=r[2]*e+r[6]*o+r[10]*a+r[14],t}function x(t,n,r){const e=n[0],o=n[1],a=n[2];return t[0]=e*r[0]+o*r[3]+a*r[6],t[1]=e*r[1]+o*r[4]+a*r[7],t[2]=e*r[2]+o*r[5]+a*r[8],t}function O(t,n,r){const e=r[0],o=r[1],a=r[2],s=r[3],u=n[0],i=n[1],c=n[2],l=o*c-a*i,f=a*u-e*c,h=e*i-o*u,M=o*h-a*f,m=a*l-e*h,I=e*f-o*l,d=2*s;return t[0]=u+l*d+2*M,t[1]=i+f*d+2*m,t[2]=c+h*d+2*I,t}const P=(0,e.vt)(),w=(0,e.vt)();function C(t,n){return t[0]===n[0]&&t[1]===n[1]&&t[2]===n[2]}function D(t,n,r){const e=r[0]-n[0],o=r[1]-n[1],a=r[2]-n[2];let s=e*e+o*o+a*a;return s>0?(s=1/Math.sqrt(s),t[0]=e*s,t[1]=o*s,t[2]=a*s,t):(t[0]=0,t[1]=0,t[2]=0,t)}const q=c,z=l,R=f,F=b,L=g,j=a,X=_;Object.freeze(Object.defineProperty({__proto__:null,abs:h,add:i,angle:function(t,n){N(P,t),N(w,n);const r=S(P,w);return r>1?0:r<-1?Math.PI:Math.acos(r)},bezier:function(t,n,r,e,o,a){const s=1-a,u=s*s,i=a*a,c=u*s,l=3*a*u,f=3*i*s,h=i*a;return t[0]=n[0]*c+r[0]*l+e[0]*f+o[0]*h,t[1]=n[1]*c+r[1]*l+e[1]*f+o[1]*h,t[2]=n[2]*c+r[2]*l+e[2]*f+o[2]*h,t},ceil:function(t,n){return t[0]=Math.ceil(n[0]),t[1]=Math.ceil(n[1]),t[2]=Math.ceil(n[2]),t},clamp:function(t,n=0,r=1){return t[0]=Math.min(Math.max(t[0],n),r),t[1]=Math.min(Math.max(t[1],n),r),t[2]=Math.min(Math.max(t[2],n),r),t},copy:s,cross:T,crossAndNormalize:function(t,n,r){const e=n[0],o=n[1],a=n[2],s=r[0],u=r[1],i=r[2],c=o*i-a*u,l=a*s-e*i,f=e*u-o*s,h=Math.sqrt(c*c+l*l+f*f);return t[0]=c/h,t[1]=l/h,t[2]=f/h,t},direction:D,dist:F,distance:b,div:R,divide:f,dot:S,equals:function(t,n){if(t===n)return!0;const r=t[0],e=t[1],a=t[2],s=n[0],u=n[1],i=n[2],c=(0,o.FD)();return Math.abs(r-s)<=c*Math.max(1,Math.abs(r),Math.abs(s))&&Math.abs(e-u)<=c*Math.max(1,Math.abs(e),Math.abs(u))&&Math.abs(a-i)<=c*Math.max(1,Math.abs(a),Math.abs(i))},exactEquals:C,floor:function(t,n){return t[0]=Math.floor(n[0]),t[1]=Math.floor(n[1]),t[2]=Math.floor(n[2]),t},hermite:function(t,n,r,e,o,a){const s=a*a,u=s*(2*a-3)+1,i=s*(a-2)+a,c=s*(a-1),l=s*(3-2*a);return t[0]=n[0]*u+r[0]*i+e[0]*c+o[0]*l,t[1]=n[1]*u+r[1]*i+e[1]*c+o[1]*l,t[2]=n[2]*u+r[2]*i+e[2]*c+o[2]*l,t},inverse:v,len:j,length:a,lerp:A,max:I,min:m,mul:z,multiply:l,negate:E,normalize:N,random:function(t,n=1){const r=o.Ov,e=2*r()*Math.PI,a=2*r()-1,s=Math.sqrt(1-a*a)*n;return t[0]=Math.cos(e)*s,t[1]=Math.sin(e)*s,t[2]=a*n,t},rotateX:function(t,n,r,e){const o=[],a=[];return o[0]=n[0]-r[0],o[1]=n[1]-r[1],o[2]=n[2]-r[2],a[0]=o[0],a[1]=o[1]*Math.cos(e)-o[2]*Math.sin(e),a[2]=o[1]*Math.sin(e)+o[2]*Math.cos(e),t[0]=a[0]+r[0],t[1]=a[1]+r[1],t[2]=a[2]+r[2],t},rotateY:function(t,n,r,e){const o=[],a=[];return o[0]=n[0]-r[0],o[1]=n[1]-r[1],o[2]=n[2]-r[2],a[0]=o[2]*Math.sin(e)+o[0]*Math.cos(e),a[1]=o[1],a[2]=o[2]*Math.cos(e)-o[0]*Math.sin(e),t[0]=a[0]+r[0],t[1]=a[1]+r[1],t[2]=a[2]+r[2],t},rotateZ:function(t,n,r,e){const o=[],a=[];return o[0]=n[0]-r[0],o[1]=n[1]-r[1],o[2]=n[2]-r[2],a[0]=o[0]*Math.cos(e)-o[1]*Math.sin(e),a[1]=o[0]*Math.sin(e)+o[1]*Math.cos(e),a[2]=o[2],t[0]=a[0]+r[0],t[1]=a[1]+r[1],t[2]=a[2]+r[2],t},round:function(t,n){return t[0]=Math.round(n[0]),t[1]=Math.round(n[1]),t[2]=Math.round(n[2]),t},scale:d,scaleAndAdd:p,set:u,sign:M,sqrDist:L,sqrLen:X,squaredDistance:g,squaredLength:_,str:function(t){return"vec3("+t[0]+", "+t[1]+", "+t[2]+")"},sub:q,subtract:c,transformMat3:x,transformMat4:y,transformQuat:O},Symbol.toStringTag,{value:"Module"}))},40050:(t,n,r)=>{r.r(n),r.d(n,{assetMapFromAssetMapsJSON:()=>b,extractMesh:()=>I,meshFeatureSetFromJSON:()=>m});var e=r(52106),o=r(53966),a=r(91869),s=r(5443),u=r(40036),i=r(16930),c=r(63579),l=r(20557),f=r(22671),h=r(77793);const M=()=>o.A.getLogger("esri.rest.support.meshFeatureSet");function m(t,n,r){const o=r.features;r.features=[],delete r.geometryType;const a=f.A.fromJSON(r);if(a.geometryType="mesh",!r.assetMaps)return a;const s=b(n,r.assetMaps),u=t.sourceSpatialReference??i.A.WGS84,c=r.globalIdFieldName,{outFields:l}=t,h=null!=l&&l.length>0?(M=l.includes("*")?null:new Set(l),({attributes:t})=>{if(!t)return{};if(!M)return t;for(const n in t)M.has(n)||delete t[n];return t}):()=>({});var M;for(const t of o){const r=I(t,c,u,n,s);a.features.push(new e.A({geometry:r,attributes:h(t)}))}return a}function I(t,n,r,e,o){const a=t.attributes[n],i=o.get(a);if(null==i||!t.geometry)return null;const l=(0,h.V)(t.attributes,r,e.transformFieldRoles),f=s.A.fromJSON(t.geometry);f.spatialReference=r;const M=(0,h.f)(t.attributes,e.transformFieldRoles),m=r.isGeographic?"local":"georeferenced",I=function(t){const n=Array.from(t.files.values()),r=new Array;for(const t of n){if(t.status!==d.COMPLETED)return null;const n=new Array;for(const r of t.parts){if(!r)return null;n.push(new c.Bq(r.url,r.hash))}r.push(new c.Qp(t.name,t.mimeType,n))}return{type:"service",assets:r}}(i);return I?u.default.createWithExternalSource(l,I,{extent:f,transform:M,vertexSpace:m,unitConversionDisabled:!0}):u.default.createIncomplete(l,{extent:f,transform:M,vertexSpace:m})}var d,p;function b(t,n){const r=new Map;for(const e of n){const n=e.parentGlobalId;if(null==n)continue;const o=e.assetName,s=e.assetType,u=e.assetHash,i=e.assetURL,c=e.conversionStatus,f=e.seqNo,h=(0,l.Fm)(s,t.supportedFormats);if(!h){M().error("mesh-feature-set:unknown-format",`Service returned an asset of type ${s}, but it does not list it as a supported type`);continue}const m=(0,a.tE)(r,n,(()=>({files:new Map})));(0,a.tE)(m.files,o,(()=>({name:o,type:s,mimeType:h,status:g(c),parts:[]}))).parts[f]={hash:u,url:i}}return r}function g(t){switch(t){case"COMPLETED":case"SUBMITTED":return d.COMPLETED;case"INPROGRESS":return d.PENDING;default:return d.FAILED}}(p=d||(d={}))[p.FAILED=0]="FAILED",p[p.PENDING=1]="PENDING",p[p.COMPLETED=2]="COMPLETED"},44280:(t,n,r)=>{r.d(n,{EJ:()=>i,g7:()=>u,gr:()=>s});var e=r(34727),o=r(38954),a=r(51850);function s(t,n){return(0,o.e)(t,n)/(0,o.l)(t)}function u(t,n){const r=(0,o.e)(t,n)/((0,o.l)(t)*(0,o.l)(n));return-(0,e.XM)(r)}function i(t,n,r){(0,o.n)(c,t),(0,o.n)(l,n);const a=(0,o.e)(c,l),s=(0,e.XM)(a),u=(0,o.h)(c,c,l);return(0,o.e)(u,r)<0?2*Math.PI-s:s}const c=(0,a.vt)(),l=(0,a.vt)()},48163:(t,n,r)=>{function e(){return[0,0]}function o(t,n){return[t,n]}function a(){return o(1,1)}function s(){return o(1,0)}function u(){return o(0,1)}r.d(n,{Un:()=>i,fA:()=>o,vt:()=>e});const i=a(),c=s(),l=u();Object.freeze(Object.defineProperty({__proto__:null,ONES:i,UNIT_X:c,UNIT_Y:l,ZEROS:[0,0],clone:function(t){return[t[0],t[1]]},create:e,freeze:function(t,n){return[t,n]},fromArray:function(t,n=[0,0]){const r=Math.min(2,t.length);for(let e=0;e<r;++e)n[e]=t[e];return n},fromValues:o,ones:a,unitX:s,unitY:u,zeros:function(){return[0,0]}},Symbol.toStringTag,{value:"Module"}))},48353:(t,n,r)=>{r.d(n,{l:()=>c});var e=r(34727),o=r(58083),a=r(51850);function s(t,n,r){const e=Math.sin(t),o=Math.cos(t),a=Math.sin(n),s=Math.cos(n),u=r;return u[0]=-e,u[4]=-a*o,u[8]=s*o,u[12]=0,u[1]=o,u[5]=-a*e,u[9]=s*e,u[13]=0,u[2]=0,u[6]=s,u[10]=a,u[14]=0,u[3]=0,u[7]=0,u[11]=0,u[15]=1,u}var u=r(37539),i=r(21325);function c(t,n,r,e){const a=(0,u.Tp)(t,e);if(null==a)return!1;const c=a.source.spatialReferenceId,m=a.dest.spatialReferenceId;if(c===m&&!l(m)&&(c!==u.rz.UNKNOWN||(0,i.aI)(t,e)))return(0,o.kN)(r,n),!0;if(l(m)){const t=u.w5[c][u.rz.LON_LAT],e=u.w5[u.rz.LON_LAT][m];return null!=t&&null!=e&&(t(n,0,h,0),e(h,0,M,0),s(f*h[0],f*h[1],r),r[12]=M[0],r[13]=M[1],r[14]=M[2],!0)}const I=l(c);if((m===u.rz.WEB_MERCATOR||m===u.rz.PLATE_CARREE||m===u.rz.WGS84||m===u.rz.CGCS2000)&&(c===u.rz.WGS84||I||c===u.rz.WEB_MERCATOR||c===u.rz.CGCS2000)){const t=u.w5[c][u.rz.LON_LAT],e=u.w5[u.rz.LON_LAT][m];return null!=t&&null!=e&&(t(n,0,h,0),e(h,0,M,0),I?function(t,n,r){s(t,n,r),(0,o.mg)(r,r)}(f*h[0],f*h[1],r):(0,o.D_)(r),r[12]=M[0],r[13]=M[1],r[14]=M[2],!0)}return!1}function l(t){return t===u.rz.SPHERICAL_ECEF||t===u.rz.SPHERICAL_MARS_PCPF||t===u.rz.SPHERICAL_MOON_PCPF||t===u.rz.WGS84_ECEF}const f=(0,e.kU)(1),h=(0,a.vt)(),M=(0,a.vt)()},65806:(t,n,r)=>{r.d(n,{g:()=>s});var e=r(51850),o=r(98988),a=r(9762);function s(t,n,r,e){if((0,o.canProjectWithoutEngine)(t.spatialReference,r)){u[0]=t.x,u[1]=t.y;const o=t.z;return u[2]=o??e??0,(0,a.projectBuffer)(u,t.spatialReference,0,n,r,0)}const s=(0,o.tryProjectWithZConversion)(t,r);return!!s&&(n[0]=s?.x,n[1]=s?.y,n[2]=s?.z??e??0,!0)}const u=(0,e.vt)()},67026:(t,n,r)=>{r.d(n,{A6:()=>I,Xd:()=>l,Xr:()=>M,hZ:()=>p,lw:()=>f,t2:()=>x,x8:()=>c});var e=r(29242),o=r(82534),a=r(51850),s=r(34304),u=r(38954),i=r(87317);function c(t,n,r){r*=.5;const e=Math.sin(r);return t[0]=e*n[0],t[1]=e*n[1],t[2]=e*n[2],t[3]=Math.cos(r),t}function l(t,n){const r=2*Math.acos(n[3]),e=Math.sin(r/2);return e>(0,s.FD)()?(t[0]=n[0]/e,t[1]=n[1]/e,t[2]=n[2]/e):(t[0]=1,t[1]=0,t[2]=0),r}function f(t,n,r){const e=n[0],o=n[1],a=n[2],s=n[3],u=r[0],i=r[1],c=r[2],l=r[3];return t[0]=e*l+s*u+o*c-a*i,t[1]=o*l+s*i+a*u-e*c,t[2]=a*l+s*c+e*i-o*u,t[3]=s*l-e*u-o*i-a*c,t}function h(t,n,r,e){const o=n[0],a=n[1],u=n[2],i=n[3];let c,l,f,h,M,m=r[0],I=r[1],d=r[2],p=r[3];return l=o*m+a*I+u*d+i*p,l<0&&(l=-l,m=-m,I=-I,d=-d,p=-p),1-l>(0,s.FD)()?(c=Math.acos(l),f=Math.sin(c),h=Math.sin((1-e)*c)/f,M=Math.sin(e*c)/f):(h=1-e,M=e),t[0]=h*o+M*m,t[1]=h*a+M*I,t[2]=h*u+M*d,t[3]=h*i+M*p,t}function M(t,n){return t[0]=-n[0],t[1]=-n[1],t[2]=-n[2],t[3]=n[3],t}function m(t,n){const r=n[0]+n[4]+n[8];let e;if(r>0)e=Math.sqrt(r+1),t[3]=.5*e,e=.5/e,t[0]=(n[5]-n[7])*e,t[1]=(n[6]-n[2])*e,t[2]=(n[1]-n[3])*e;else{let r=0;n[4]>n[0]&&(r=1),n[8]>n[3*r+r]&&(r=2);const o=(r+1)%3,a=(r+2)%3;e=Math.sqrt(n[3*r+r]-n[3*o+o]-n[3*a+a]+1),t[r]=.5*e,e=.5/e,t[3]=(n[3*o+a]-n[3*a+o])*e,t[o]=(n[3*o+r]+n[3*r+o])*e,t[a]=(n[3*a+r]+n[3*r+a])*e}return t}function I(t,n,r,e){const o=.5*Math.PI/180;n*=o,r*=o,e*=o;const a=Math.sin(n),s=Math.cos(n),u=Math.sin(r),i=Math.cos(r),c=Math.sin(e),l=Math.cos(e);return t[0]=a*i*l-s*u*c,t[1]=s*u*l+a*i*c,t[2]=s*i*c-a*u*l,t[3]=s*i*l+a*u*c,t}const d=i.c,p=i.s,b=i.g,g=f,_=i.d,E=i.h,v=i.l,N=i.j,S=N,T=i.b,A=T,y=i.n,x=i.a,O=i.e,P=(0,a.vt)(),w=(0,a.fA)(1,0,0),C=(0,a.fA)(0,1,0),D=(0,o.vt)(),q=(0,o.vt)(),z=(0,e.vt)();Object.freeze(Object.defineProperty({__proto__:null,add:b,calculateW:function(t,n){const r=n[0],e=n[1],o=n[2];return t[0]=r,t[1]=e,t[2]=o,t[3]=Math.sqrt(Math.abs(1-r*r-e*e-o*o)),t},conjugate:M,copy:d,dot:E,equals:O,exactEquals:x,fromEuler:I,fromMat3:m,getAxisAngle:l,identity:function(t){return t[0]=0,t[1]=0,t[2]=0,t[3]=1,t},invert:function(t,n){const r=n[0],e=n[1],o=n[2],a=n[3],s=r*r+e*e+o*o+a*a,u=s?1/s:0;return t[0]=-r*u,t[1]=-e*u,t[2]=-o*u,t[3]=a*u,t},len:S,length:N,lerp:v,mul:g,multiply:f,normalize:y,random:function(t){const n=s.Ov,r=n(),e=n(),o=n(),a=Math.sqrt(1-r),u=Math.sqrt(r);return t[0]=a*Math.sin(2*Math.PI*e),t[1]=a*Math.cos(2*Math.PI*e),t[2]=u*Math.sin(2*Math.PI*o),t[3]=u*Math.cos(2*Math.PI*o),t},rotateX:function(t,n,r){r*=.5;const e=n[0],o=n[1],a=n[2],s=n[3],u=Math.sin(r),i=Math.cos(r);return t[0]=e*i+s*u,t[1]=o*i+a*u,t[2]=a*i-o*u,t[3]=s*i-e*u,t},rotateY:function(t,n,r){r*=.5;const e=n[0],o=n[1],a=n[2],s=n[3],u=Math.sin(r),i=Math.cos(r);return t[0]=e*i-a*u,t[1]=o*i+s*u,t[2]=a*i+e*u,t[3]=s*i-o*u,t},rotateZ:function(t,n,r){r*=.5;const e=n[0],o=n[1],a=n[2],s=n[3],u=Math.sin(r),i=Math.cos(r);return t[0]=e*i+o*u,t[1]=o*i-e*u,t[2]=a*i+s*u,t[3]=s*i-a*u,t},rotationTo:function(t,n,r){const e=(0,u.e)(n,r);return e<-.999999?((0,u.h)(P,w,n),(0,u.H)(P)<1e-6&&(0,u.h)(P,C,n),(0,u.n)(P,P),c(t,P,Math.PI),t):e>.999999?(t[0]=0,t[1]=0,t[2]=0,t[3]=1,t):((0,u.h)(P,n,r),t[0]=P[0],t[1]=P[1],t[2]=P[2],t[3]=1+e,y(t,t))},scale:_,set:p,setAxes:function(t,n,r,e){const o=z;return o[0]=r[0],o[3]=r[1],o[6]=r[2],o[1]=e[0],o[4]=e[1],o[7]=e[2],o[2]=-n[0],o[5]=-n[1],o[8]=-n[2],y(t,m(t,o))},setAxisAngle:c,slerp:h,sqlerp:function(t,n,r,e,o,a){return h(D,n,o,a),h(q,r,e,a),h(t,D,q,2*a*(1-a)),t},sqrLen:A,squaredLength:T,str:function(t){return"quat("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+")"}},Symbol.toStringTag,{value:"Module"}))},73836:(t,n,r)=>{r.d(n,{A:()=>m});var e,o=r(90237),a=r(25482),s=r(10107),u=(r(44208),r(53966),r(87811),r(40608)),i=r(58083),c=r(9093),l=r(67026),f=r(82534),h=r(51850),M=r(24770);let m=class extends a.A{static{e=this}constructor(t){super(t),this.translation=(0,h.vt)(),this.rotationAxis=(0,h.ci)(M.up),this.rotationAngle=0,this.scale=(0,h.fA)(1,1,1)}get rotation(){return(0,M.i4)(this.rotationAxis,this.rotationAngle)}set rotation(t){this.rotationAxis=(0,h.o8)((0,M.yo)(t)),this.rotationAngle=(0,M.g7)(t)}get localMatrix(){const t=(0,c.vt)();return(0,l.x8)(I,(0,M.yo)(this.rotation),(0,M.$I)(this.rotation)),(0,i.o1)(t,I,this.translation,this.scale),t}get localMatrixInverse(){return(0,i.B8)((0,c.vt)(),this.localMatrix)}equals(t){return this===t||null!=t&&(0,i.t2)(this.localMatrix,t.localMatrix)}clone(){const t={translation:(0,h.o8)(this.translation),rotationAxis:(0,h.o8)(this.rotationAxis),rotationAngle:this.rotationAngle,scale:(0,h.o8)(this.scale)};return new e(t)}};(0,o._)([(0,s.MZ)({type:[Number],nonNullable:!0,json:{write:!0}})],m.prototype,"translation",void 0),(0,o._)([(0,s.MZ)({type:[Number],nonNullable:!0,json:{write:!0}})],m.prototype,"rotationAxis",void 0),(0,o._)([(0,s.MZ)({type:Number,nonNullable:!0,json:{write:!0}})],m.prototype,"rotationAngle",void 0),(0,o._)([(0,s.MZ)({type:[Number],nonNullable:!0,json:{write:!0}})],m.prototype,"scale",void 0),(0,o._)([(0,s.MZ)()],m.prototype,"rotation",null),(0,o._)([(0,s.MZ)()],m.prototype,"localMatrix",null),(0,o._)([(0,s.MZ)()],m.prototype,"localMatrixInverse",null),m=e=(0,o._)([(0,u.$)("esri.geometry.support.MeshTransform")],m);const I=(0,f.vt)()},77690:(t,n,r)=>{r.d(n,{B8:()=>u,Ge:()=>h,I0:()=>f,KC:()=>i,hZ:()=>a,hs:()=>l,lw:()=>c,mg:()=>s,z0:()=>o});var e=r(34304);function o(t,n){return t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[4],t[4]=n[5],t[5]=n[6],t[6]=n[8],t[7]=n[9],t[8]=n[10],t}function a(t,n,r,e,o,a,s,u,i,c){return t[0]=n,t[1]=r,t[2]=e,t[3]=o,t[4]=a,t[5]=s,t[6]=u,t[7]=i,t[8]=c,t}function s(t,n){if(t===n){const r=n[1],e=n[2],o=n[5];t[1]=n[3],t[2]=n[6],t[3]=r,t[5]=n[7],t[6]=e,t[7]=o}else t[0]=n[0],t[1]=n[3],t[2]=n[6],t[3]=n[1],t[4]=n[4],t[5]=n[7],t[6]=n[2],t[7]=n[5],t[8]=n[8];return t}function u(t,n){const r=n[0],e=n[1],o=n[2],a=n[3],s=n[4],u=n[5],i=n[6],c=n[7],l=n[8],f=l*s-u*c,h=-l*a+u*i,M=c*a-s*i;let m=r*f+e*h+o*M;return m?(m=1/m,t[0]=f*m,t[1]=(-l*e+o*c)*m,t[2]=(u*e-o*s)*m,t[3]=h*m,t[4]=(l*r-o*i)*m,t[5]=(-u*r+o*a)*m,t[6]=M*m,t[7]=(-c*r+e*i)*m,t[8]=(s*r-e*a)*m,t):null}function i(t,n){const r=n[0],e=n[1],o=n[2],a=n[3],s=n[4],u=n[5],i=n[6],c=n[7],l=n[8];return t[0]=s*l-u*c,t[1]=o*c-e*l,t[2]=e*u-o*s,t[3]=u*i-a*l,t[4]=r*l-o*i,t[5]=o*a-r*u,t[6]=a*c-s*i,t[7]=e*i-r*c,t[8]=r*s-e*a,t}function c(t,n,r){const e=n[0],o=n[1],a=n[2],s=n[3],u=n[4],i=n[5],c=n[6],l=n[7],f=n[8],h=r[0],M=r[1],m=r[2],I=r[3],d=r[4],p=r[5],b=r[6],g=r[7],_=r[8];return t[0]=h*e+M*s+m*c,t[1]=h*o+M*u+m*l,t[2]=h*a+M*i+m*f,t[3]=I*e+d*s+p*c,t[4]=I*o+d*u+p*l,t[5]=I*a+d*i+p*f,t[6]=b*e+g*s+_*c,t[7]=b*o+g*u+_*l,t[8]=b*a+g*i+_*f,t}function l(t,n,r){const e=r[0],o=r[1],a=r[2];return t[0]=e*n[0],t[1]=e*n[1],t[2]=e*n[2],t[3]=o*n[3],t[4]=o*n[4],t[5]=o*n[5],t[6]=a*n[6],t[7]=a*n[7],t[8]=a*n[8],t}function f(t,n){const r=n[0],e=n[1],o=n[2],a=n[3],s=r+r,u=e+e,i=o+o,c=r*s,l=e*s,f=e*u,h=o*s,M=o*u,m=o*i,I=a*s,d=a*u,p=a*i;return t[0]=1-f-m,t[3]=l-p,t[6]=h+d,t[1]=l+p,t[4]=1-c-m,t[7]=M-I,t[2]=h-d,t[5]=M+I,t[8]=1-c-f,t}function h(t,n){const r=n[0],e=n[1],o=n[2],a=n[3],s=n[4],u=n[5],i=n[6],c=n[7],l=n[8],f=n[9],h=n[10],M=n[11],m=n[12],I=n[13],d=n[14],p=n[15],b=r*u-e*s,g=r*i-o*s,_=r*c-a*s,E=e*i-o*u,v=e*c-a*u,N=o*c-a*i,S=l*I-f*m,T=l*d-h*m,A=l*p-M*m,y=f*d-h*I,x=f*p-M*I,O=h*p-M*d;let P=b*O-g*x+_*y+E*A-v*T+N*S;return P?(P=1/P,t[0]=(u*O-i*x+c*y)*P,t[1]=(i*A-s*O-c*T)*P,t[2]=(s*x-u*A+c*S)*P,t[3]=(o*x-e*O-a*y)*P,t[4]=(r*O-o*A+a*T)*P,t[5]=(e*A-r*x-a*S)*P,t[6]=(I*N-d*v+p*E)*P,t[7]=(d*_-m*N-p*g)*P,t[8]=(m*v-I*_+p*b)*P,t):null}function M(t,n,r){return t[0]=n[0]-r[0],t[1]=n[1]-r[1],t[2]=n[2]-r[2],t[3]=n[3]-r[3],t[4]=n[4]-r[4],t[5]=n[5]-r[5],t[6]=n[6]-r[6],t[7]=n[7]-r[7],t[8]=n[8]-r[8],t}const m=c,I=M;Object.freeze(Object.defineProperty({__proto__:null,add:function(t,n,r){return t[0]=n[0]+r[0],t[1]=n[1]+r[1],t[2]=n[2]+r[2],t[3]=n[3]+r[3],t[4]=n[4]+r[4],t[5]=n[5]+r[5],t[6]=n[6]+r[6],t[7]=n[7]+r[7],t[8]=n[8]+r[8],t},adjoint:i,copy:function(t,n){return t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[3],t[4]=n[4],t[5]=n[5],t[6]=n[6],t[7]=n[7],t[8]=n[8],t},determinant:function(t){const n=t[0],r=t[1],e=t[2],o=t[3],a=t[4],s=t[5],u=t[6],i=t[7],c=t[8];return n*(c*a-s*i)+r*(-c*o+s*u)+e*(i*o-a*u)},equals:function(t,n){const r=t[0],o=t[1],a=t[2],s=t[3],u=t[4],i=t[5],c=t[6],l=t[7],f=t[8],h=n[0],M=n[1],m=n[2],I=n[3],d=n[4],p=n[5],b=n[6],g=n[7],_=n[8],E=(0,e.FD)();return Math.abs(r-h)<=E*Math.max(1,Math.abs(r),Math.abs(h))&&Math.abs(o-M)<=E*Math.max(1,Math.abs(o),Math.abs(M))&&Math.abs(a-m)<=E*Math.max(1,Math.abs(a),Math.abs(m))&&Math.abs(s-I)<=E*Math.max(1,Math.abs(s),Math.abs(I))&&Math.abs(u-d)<=E*Math.max(1,Math.abs(u),Math.abs(d))&&Math.abs(i-p)<=E*Math.max(1,Math.abs(i),Math.abs(p))&&Math.abs(c-b)<=E*Math.max(1,Math.abs(c),Math.abs(b))&&Math.abs(l-g)<=E*Math.max(1,Math.abs(l),Math.abs(g))&&Math.abs(f-_)<=E*Math.max(1,Math.abs(f),Math.abs(_))},exactEquals:function(t,n){return t[0]===n[0]&&t[1]===n[1]&&t[2]===n[2]&&t[3]===n[3]&&t[4]===n[4]&&t[5]===n[5]&&t[6]===n[6]&&t[7]===n[7]&&t[8]===n[8]},frob:function(t){return Math.sqrt(t[0]**2+t[1]**2+t[2]**2+t[3]**2+t[4]**2+t[5]**2+t[6]**2+t[7]**2+t[8]**2)},fromMat2d:function(t,n){return t[0]=n[0],t[1]=n[1],t[2]=0,t[3]=n[2],t[4]=n[3],t[5]=0,t[6]=n[4],t[7]=n[5],t[8]=1,t},fromMat4:o,fromQuat:f,fromRotation:function(t,n){const r=Math.sin(n),e=Math.cos(n);return t[0]=e,t[1]=r,t[2]=0,t[3]=-r,t[4]=e,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t},fromScaling:function(t,n){return t[0]=n[0],t[1]=0,t[2]=0,t[3]=0,t[4]=n[1],t[5]=0,t[6]=0,t[7]=0,t[8]=1,t},fromTranslation:function(t,n){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=1,t[5]=0,t[6]=n[0],t[7]=n[1],t[8]=1,t},identity:function(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=1,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t},invert:u,isOrthoNormal:function(t){const n=(0,e.FD)(),r=t[0],o=t[1],a=t[2],s=t[3],u=t[4],i=t[5],c=t[6],l=t[7],f=t[8];return Math.abs(1-(r*r+s*s+c*c))<=n&&Math.abs(1-(o*o+u*u+l*l))<=n&&Math.abs(1-(a*a+i*i+f*f))<=n},mul:m,multiply:c,multiplyScalar:function(t,n,r){return t[0]=n[0]*r,t[1]=n[1]*r,t[2]=n[2]*r,t[3]=n[3]*r,t[4]=n[4]*r,t[5]=n[5]*r,t[6]=n[6]*r,t[7]=n[7]*r,t[8]=n[8]*r,t},multiplyScalarAndAdd:function(t,n,r,e){return t[0]=n[0]+r[0]*e,t[1]=n[1]+r[1]*e,t[2]=n[2]+r[2]*e,t[3]=n[3]+r[3]*e,t[4]=n[4]+r[4]*e,t[5]=n[5]+r[5]*e,t[6]=n[6]+r[6]*e,t[7]=n[7]+r[7]*e,t[8]=n[8]+r[8]*e,t},normalFromMat4:h,normalFromMat4Legacy:function(t,n){const r=n[0],e=n[1],o=n[2],a=n[4],s=n[5],u=n[6],i=n[8],c=n[9],l=n[10],f=l*s-u*c,h=-l*a+u*i,M=c*a-s*i,m=r*f+e*h+o*M;if(!m)return null;const I=1/m;return t[0]=f*I,t[1]=(-l*e+o*c)*I,t[2]=(u*e-o*s)*I,t[3]=h*I,t[4]=(l*r-o*i)*I,t[5]=(-u*r+o*a)*I,t[6]=M*I,t[7]=(-c*r+e*i)*I,t[8]=(s*r-e*a)*I,t},projection:function(t,n,r){return t[0]=2/n,t[1]=0,t[2]=0,t[3]=0,t[4]=-2/r,t[5]=0,t[6]=-1,t[7]=1,t[8]=1,t},rotate:function(t,n,r){const e=n[0],o=n[1],a=n[2],s=n[3],u=n[4],i=n[5],c=n[6],l=n[7],f=n[8],h=Math.sin(r),M=Math.cos(r);return t[0]=M*e+h*s,t[1]=M*o+h*u,t[2]=M*a+h*i,t[3]=M*s-h*e,t[4]=M*u-h*o,t[5]=M*i-h*a,t[6]=c,t[7]=l,t[8]=f,t},scale:l,scaleByVec2:function(t,n,r){const e=r[0],o=r[1];return t[0]=e*n[0],t[1]=e*n[1],t[2]=e*n[2],t[3]=o*n[3],t[4]=o*n[4],t[5]=o*n[5],t},set:a,str:function(t){return"mat3("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+", "+t[4]+", "+t[5]+", "+t[6]+", "+t[7]+", "+t[8]+")"},sub:I,subtract:M,translate:function(t,n,r){const e=n[0],o=n[1],a=n[2],s=n[3],u=n[4],i=n[5],c=n[6],l=n[7],f=n[8],h=r[0],M=r[1];return t[0]=e,t[1]=o,t[2]=a,t[3]=s,t[4]=u,t[5]=i,t[6]=h*e+M*s+c,t[7]=h*o+M*u+l,t[8]=h*a+M*i+f,t},transpose:s},Symbol.toStringTag,{value:"Module"}))},77793:(t,n,r)=>{r.d(n,{V:()=>a,f:()=>s});var e=r(86738),o=r(73836);function a(t,n,r=u){return new e.A({x:t[r.originX],y:t[r.originY],z:t[r.originZ],spatialReference:n})}function s(t,n=u){return new o.A({translation:[t[n.translationX],-t[n.translationZ],t[n.translationY]],rotationAxis:[t[n.rotationX],-t[n.rotationZ],t[n.rotationY]],rotationAngle:t[n.rotationDeg],scale:[t[n.scaleX],t[n.scaleZ],t[n.scaleY]]})}const u={originX:"originX",originY:"originY",originZ:"originZ",translationX:"translationX",translationY:"translationY",translationZ:"translationZ",scaleX:"scaleX",scaleY:"scaleY",scaleZ:"scaleZ",rotationX:"rotationX",rotationY:"rotationY",rotationZ:"rotationZ",rotationDeg:"rotationDeg"}},82534:(t,n,r)=>{function e(){return[0,0,0,1]}function o(t){return[t[0],t[1],t[2],t[3]]}r.d(n,{o8:()=>o,vt:()=>e,zK:()=>a});const a=[0,0,0,1];Object.freeze(Object.defineProperty({__proto__:null,IDENTITY:a,clone:o,create:e,fromValues:function(t,n,r,e){return[t,n,r,e]}},Symbol.toStringTag,{value:"Module"}))},98764:(t,n,r)=>{r.d(n,{Y0:()=>c,lO:()=>l});var e=r(73941),o=r(16930),a=r(21325);const s=new o.A(e.fv),u=new o.A(e.FY),i=new o.A(e.LJ),c=new o.A(e.Ro);function l(t){const n=f.get(t);if(n)return n;let r=s;if(t)if(t===u)r=u;else if(t===i)r=i;else{const n=t.wkid,e=t.latestWkid;if(null!=n||null!=e)(0,a.tl)(n)||(0,a.tl)(e)?r=u:((0,a.ZL)(n)||(0,a.ZL)(e))&&(r=i);else{const n=t.wkt2??t.wkt;if(n){const t=n.toUpperCase();t===h?r=u:t===M&&(r=i)}}}return f.set(t,r),r}const f=new Map,h=u.wkt.toUpperCase(),M=i.wkt.toUpperCase()}}]);
1
+ "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[6112],{240:(t,n,r)=>{r.d(n,{C:()=>c,vt:()=>u,lU:()=>h,fA:()=>f,mR:()=>_,Qj:()=>l,T7:()=>v,gv:()=>N,Ui:()=>E,Tj:()=>S,_I:()=>T,mP:()=>g,LV:()=>i});var e=r(34727),o=r(38954),a=r(51850),s=(r(87317),r(44280),r(32114));function u(t=w){return[t[0],t[1],t[2],t[3]]}function i(t=w[0],n=w[1],r=w[2],e=w[3]){return f(t,n,r,e,s.Km.get())}function c(t,n){return f(n[0],n[1],n[2],n[3],t)}function l(t){return t}function f(t,n,r,e,o=u()){return o[0]=t,o[1]=n,o[2]=r,o[3]=e,o}function h(t,n,r,e=0,a=Math.floor(r*(1/3)),s=Math.floor(r*(2/3))){if(r<3)return!1;n(m,e);let i=a,c=!1;for(;i<r-1&&!c;)n(I,i),i++,c=!(0,o.q)(m,I);if(!c)return!1;for(i=Math.max(i,s),c=!1;i<r&&!c;)n(d,i),i++,(0,o.d)(p,m,I),(0,o.n)(p,p),(0,o.d)(b,I,d),(0,o.n)(b,b),c=!(0,o.q)(m,d)&&!(0,o.q)(I,d)&&Math.abs((0,o.e)(p,b))<M;return c?(function(t,n,r,e=u()){const o=r[0]-n[0],a=r[1]-n[1],s=r[2]-n[2],i=t[0]-n[0],c=t[1]-n[1],l=t[2]-n[2],f=a*l-s*c,h=s*i-o*l,M=o*c-a*i,m=f*f+h*h+M*M,I=Math.abs(m-1)>1e-5&&m>1e-12?1/Math.sqrt(m):1;e[0]=f*I,e[1]=h*I,e[2]=M*I,e[3]=-(e[0]*t[0]+e[1]*t[1]+e[2]*t[2])}(m,I,d,t),!0):(0!==e||1!==a||2!==s)&&h(t,n,r,0,1,2)}(0,a.vt)(),(0,a.vt)(),(0,a.vt)(),(0,a.vt)(),(0,a.vt)();const M=.99619469809,m=(0,a.vt)(),I=(0,a.vt)(),d=(0,a.vt)(),p=(0,a.vt)(),b=(0,a.vt)();function g(t,n,r){return n!==t&&c(t,n),t[3]=-(0,o.e)(t,r),t}function _(t,n,r,e){return(0,o.h)(d,n,t),function(t,n,r){const e=n[0]*n[0]+n[1]*n[1]+n[2]*n[2],o=Math.abs(e-1)>1e-5&&e>1e-12?1/Math.sqrt(e):1;return r[0]=n[0]*o,r[1]=n[1]*o,r[2]=n[2]*o,r[3]=-(r[0]*t[0]+r[1]*t[1]+r[2]*t[2]),r}(r,d,e)}function E(t,n,r){return null!=n&&O(P(t,n.origin,n.direction,D,r))}function v(t,n,r){return O(P(t,n.origin,n.vector,C.NONE,r))}function N(t,n,r){return O(P(t,n.origin,n.vector,C.CLAMP,r))}function S(t,n){return A(t,n)>=0}function T(t,n,r){const e=(0,o.g)(s.rq.get(),t,-t[3]),a=function(t,n,r){const e=(0,o.g)(s.rq.get(),t,(0,o.e)(t,n));return(0,o.d)(r,n,e),r}(t,(0,o.d)(s.rq.get(),n,e),s.rq.get());return(0,o.f)(r,a,e),r}function A(t,n){return(0,o.e)(t,n)+t[3]}var y,x;function O(t){return t===y.INTERSECTS_INSIDE_OUT||t===y.INTERSECTS_OUTSIDE_IN}function P(t,n,r,a,s){const u=(0,o.e)(t,r),i=A(t,n);if(0===u)return i>=0?y.INSIDE:y.OUTSIDE;let c=-i/u;return a&C.CLAMP&&(c=(0,e.qE)(c,0,1)),!(a&C.INFINITE_MIN)&&c<0||!(a&C.INFINITE_MAX)&&c>1?i>=0?y.INSIDE:y.OUTSIDE:((0,o.f)(s,n,(0,o.g)(s,r,c)),i>=0?y.INTERSECTS_INSIDE_OUT:y.INTERSECTS_OUTSIDE_IN)}(x=y||(y={}))[x.INTERSECTS_INSIDE_OUT=0]="INTERSECTS_INSIDE_OUT",x[x.INTERSECTS_OUTSIDE_IN=1]="INTERSECTS_OUTSIDE_IN",x[x.INSIDE=2]="INSIDE",x[x.OUTSIDE=3]="OUTSIDE";const w=[0,0,1,0];var C;!function(t){t[t.NONE=0]="NONE",t[t.CLAMP=1]="CLAMP",t[t.INFINITE_MIN=4]="INFINITE_MIN",t[t.INFINITE_MAX=8]="INFINITE_MAX"}(C||(C={})),C.INFINITE_MIN,C.INFINITE_MAX;const D=C.INFINITE_MAX},9093:(t,n,r)=>{function e(){return[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]}function o(t){return[t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15]]}r.d(n,{o8:()=>o,vt:()=>e,zK:()=>a});const a=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];Object.freeze(Object.defineProperty({__proto__:null,IDENTITY:a,clone:o,create:e,fromValues:function(t,n,r,e,o,a,s,u,i,c,l,f,h,M,m,I){return[t,n,r,e,o,a,s,u,i,c,l,f,h,M,m,I]}},Symbol.toStringTag,{value:"Module"}))},24770:(t,n,r)=>{r.d(n,{$I:()=>d,AU:()=>M,g7:()=>I,i4:()=>l,ui:()=>f,up:()=>b,vt:()=>c,yo:()=>m});var e=r(34727),o=r(58083),a=r(67026),s=r(82534),u=r(38954),i=r(51850);function c(t=b){return[t[0],t[1],t[2],t[3]]}function l(t,n,r=c()){return(0,u.c)(r,t),r[3]=n,r}function f(t,n=c()){const r=(0,o.l)(g,t);return p(n,(0,e.KJ)((0,a.Xd)(n,r))),n}function h(t,n,r=c()){return(0,a.x8)(g,t,d(t)),(0,a.x8)(_,n,d(n)),(0,a.lw)(g,_,g),p(r,(0,e.KJ)((0,a.Xd)(r,g)))}function M(t,n,r,e=c()){return l(i.Cw,t,E),l(i.JP,n,v),l(i.Cb,r,N),h(E,v,E),h(E,N,e),e}function m(t){return t}function I(t){return t[3]}function d(t){return(0,e.kU)(t[3])}function p(t,n){return t[3]=n,t}const b=[0,0,1,0],g=(0,s.vt)(),_=(0,s.vt)(),E=(c(),c()),v=c(),N=c()},29242:(t,n,r)=>{function e(){return[1,0,0,0,1,0,0,0,1]}function o(t,n,r,e,o,a,s,u,i){return[t,n,r,e,o,a,s,u,i]}r.d(n,{fA:()=>o,vt:()=>e,zK:()=>a});const a=[1,0,0,0,1,0,0,0,1];Object.freeze(Object.defineProperty({__proto__:null,IDENTITY:a,clone:function(t){return[t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]]},create:e,fromValues:o},Symbol.toStringTag,{value:"Module"}))},32114:(t,n,r)=>{r.d(n,{Rc:()=>M,J8:()=>m,rq:()=>f,Km:()=>h}),r(44208);var e=r(26390),o=r(29242),a=r(9093),s=r(82534),u=r(48163),i=r(51850),c=r(91829);class l{constructor(t){this._create=t,this._items=new Array,this._itemsPtr=0}get(){return 0===this._itemsPtr&&(0,e.d)((()=>this._reset())),this._itemsPtr>=this._items.length&&this._items.push(this._create()),this._items[this._itemsPtr++]}_reset(){const t=2*this._itemsPtr;this._items.length>t&&(this._items.length=t),this._itemsPtr=0}static createVec2f64(){return new l(u.vt)}static createVec3f64(){return new l(i.vt)}static createVec4f64(){return new l(c.vt)}static createMat3f64(){return new l(o.vt)}static createMat4f64(){return new l(a.vt)}static createQuatf64(){return new l(s.vt)}get test(){}}l.createVec2f64();const f=l.createVec3f64(),h=l.createVec4f64(),M=(l.createMat3f64(),l.createMat4f64()),m=l.createQuatf64()},38954:(t,n,r)=>{r.d(n,{A:()=>m,B:()=>M,C:()=>l,D:()=>f,E:()=>D,F:()=>F,H:()=>j,a:()=>q,b:()=>p,c:()=>s,d:()=>c,e:()=>S,f:()=>i,g:()=>d,h:()=>T,i:()=>u,j:()=>b,k:()=>_,l:()=>a,m:()=>A,n:()=>N,o:()=>x,q:()=>C,r:()=>v,s:()=>g,t:()=>y,u:()=>E,v:()=>O,w:()=>h,x:()=>L,y:()=>X,z:()=>I});var e=r(51850),o=r(34304);function a(t){const n=t[0],r=t[1],e=t[2];return Math.sqrt(n*n+r*r+e*e)}function s(t,n){return t[0]=n[0],t[1]=n[1],t[2]=n[2],t}function u(t,n,r,e){return t[0]=n,t[1]=r,t[2]=e,t}function i(t,n,r){return t[0]=n[0]+r[0],t[1]=n[1]+r[1],t[2]=n[2]+r[2],t}function c(t,n,r){return t[0]=n[0]-r[0],t[1]=n[1]-r[1],t[2]=n[2]-r[2],t}function l(t,n,r){return t[0]=n[0]*r[0],t[1]=n[1]*r[1],t[2]=n[2]*r[2],t}function f(t,n,r){return t[0]=n[0]/r[0],t[1]=n[1]/r[1],t[2]=n[2]/r[2],t}function h(t,n){return t[0]=Math.abs(n[0]),t[1]=Math.abs(n[1]),t[2]=Math.abs(n[2]),t}function M(t,n){return t[0]=Math.sign(n[0]),t[1]=Math.sign(n[1]),t[2]=Math.sign(n[2]),t}function m(t,n,r){return t[0]=Math.min(n[0],r[0]),t[1]=Math.min(n[1],r[1]),t[2]=Math.min(n[2],r[2]),t}function I(t,n,r){return t[0]=Math.max(n[0],r[0]),t[1]=Math.max(n[1],r[1]),t[2]=Math.max(n[2],r[2]),t}function d(t,n,r){return t[0]=n[0]*r,t[1]=n[1]*r,t[2]=n[2]*r,t}function p(t,n,r,e){return t[0]=n[0]+r[0]*e,t[1]=n[1]+r[1]*e,t[2]=n[2]+r[2]*e,t}function b(t,n){const r=n[0]-t[0],e=n[1]-t[1],o=n[2]-t[2];return Math.sqrt(r*r+e*e+o*o)}function g(t,n){const r=n[0]-t[0],e=n[1]-t[1],o=n[2]-t[2];return r*r+e*e+o*o}function _(t){const n=t[0],r=t[1],e=t[2];return n*n+r*r+e*e}function E(t,n){return t[0]=-n[0],t[1]=-n[1],t[2]=-n[2],t}function v(t,n){return t[0]=1/n[0],t[1]=1/n[1],t[2]=1/n[2],t}function N(t,n){const r=n[0],e=n[1],o=n[2];let a=r*r+e*e+o*o;return a>0&&(a=1/Math.sqrt(a),t[0]=n[0]*a,t[1]=n[1]*a,t[2]=n[2]*a),t}function S(t,n){return t[0]*n[0]+t[1]*n[1]+t[2]*n[2]}function T(t,n,r){const e=n[0],o=n[1],a=n[2],s=r[0],u=r[1],i=r[2];return t[0]=o*i-a*u,t[1]=a*s-e*i,t[2]=e*u-o*s,t}function A(t,n,r,e){const o=n[0],a=n[1],s=n[2];return t[0]=o+e*(r[0]-o),t[1]=a+e*(r[1]-a),t[2]=s+e*(r[2]-s),t}function y(t,n,r){const e=n[0],o=n[1],a=n[2];return t[0]=r[0]*e+r[4]*o+r[8]*a+r[12],t[1]=r[1]*e+r[5]*o+r[9]*a+r[13],t[2]=r[2]*e+r[6]*o+r[10]*a+r[14],t}function x(t,n,r){const e=n[0],o=n[1],a=n[2];return t[0]=e*r[0]+o*r[3]+a*r[6],t[1]=e*r[1]+o*r[4]+a*r[7],t[2]=e*r[2]+o*r[5]+a*r[8],t}function O(t,n,r){const e=r[0],o=r[1],a=r[2],s=r[3],u=n[0],i=n[1],c=n[2],l=o*c-a*i,f=a*u-e*c,h=e*i-o*u,M=o*h-a*f,m=a*l-e*h,I=e*f-o*l,d=2*s;return t[0]=u+l*d+2*M,t[1]=i+f*d+2*m,t[2]=c+h*d+2*I,t}const P=(0,e.vt)(),w=(0,e.vt)();function C(t,n){return t[0]===n[0]&&t[1]===n[1]&&t[2]===n[2]}function D(t,n,r){const e=r[0]-n[0],o=r[1]-n[1],a=r[2]-n[2];let s=e*e+o*o+a*a;return s>0?(s=1/Math.sqrt(s),t[0]=e*s,t[1]=o*s,t[2]=a*s,t):(t[0]=0,t[1]=0,t[2]=0,t)}const q=c,z=l,R=f,F=b,L=g,j=a,X=_;Object.freeze(Object.defineProperty({__proto__:null,abs:h,add:i,angle:function(t,n){N(P,t),N(w,n);const r=S(P,w);return r>1?0:r<-1?Math.PI:Math.acos(r)},bezier:function(t,n,r,e,o,a){const s=1-a,u=s*s,i=a*a,c=u*s,l=3*a*u,f=3*i*s,h=i*a;return t[0]=n[0]*c+r[0]*l+e[0]*f+o[0]*h,t[1]=n[1]*c+r[1]*l+e[1]*f+o[1]*h,t[2]=n[2]*c+r[2]*l+e[2]*f+o[2]*h,t},ceil:function(t,n){return t[0]=Math.ceil(n[0]),t[1]=Math.ceil(n[1]),t[2]=Math.ceil(n[2]),t},clamp:function(t,n=0,r=1){return t[0]=Math.min(Math.max(t[0],n),r),t[1]=Math.min(Math.max(t[1],n),r),t[2]=Math.min(Math.max(t[2],n),r),t},copy:s,cross:T,crossAndNormalize:function(t,n,r){const e=n[0],o=n[1],a=n[2],s=r[0],u=r[1],i=r[2],c=o*i-a*u,l=a*s-e*i,f=e*u-o*s,h=Math.sqrt(c*c+l*l+f*f);return t[0]=c/h,t[1]=l/h,t[2]=f/h,t},direction:D,dist:F,distance:b,div:R,divide:f,dot:S,equals:function(t,n){if(t===n)return!0;const r=t[0],e=t[1],a=t[2],s=n[0],u=n[1],i=n[2],c=(0,o.FD)();return Math.abs(r-s)<=c*Math.max(1,Math.abs(r),Math.abs(s))&&Math.abs(e-u)<=c*Math.max(1,Math.abs(e),Math.abs(u))&&Math.abs(a-i)<=c*Math.max(1,Math.abs(a),Math.abs(i))},exactEquals:C,floor:function(t,n){return t[0]=Math.floor(n[0]),t[1]=Math.floor(n[1]),t[2]=Math.floor(n[2]),t},hermite:function(t,n,r,e,o,a){const s=a*a,u=s*(2*a-3)+1,i=s*(a-2)+a,c=s*(a-1),l=s*(3-2*a);return t[0]=n[0]*u+r[0]*i+e[0]*c+o[0]*l,t[1]=n[1]*u+r[1]*i+e[1]*c+o[1]*l,t[2]=n[2]*u+r[2]*i+e[2]*c+o[2]*l,t},inverse:v,len:j,length:a,lerp:A,max:I,min:m,mul:z,multiply:l,negate:E,normalize:N,random:function(t,n=1){const r=o.Ov,e=2*r()*Math.PI,a=2*r()-1,s=Math.sqrt(1-a*a)*n;return t[0]=Math.cos(e)*s,t[1]=Math.sin(e)*s,t[2]=a*n,t},rotateX:function(t,n,r,e){const o=[],a=[];return o[0]=n[0]-r[0],o[1]=n[1]-r[1],o[2]=n[2]-r[2],a[0]=o[0],a[1]=o[1]*Math.cos(e)-o[2]*Math.sin(e),a[2]=o[1]*Math.sin(e)+o[2]*Math.cos(e),t[0]=a[0]+r[0],t[1]=a[1]+r[1],t[2]=a[2]+r[2],t},rotateY:function(t,n,r,e){const o=[],a=[];return o[0]=n[0]-r[0],o[1]=n[1]-r[1],o[2]=n[2]-r[2],a[0]=o[2]*Math.sin(e)+o[0]*Math.cos(e),a[1]=o[1],a[2]=o[2]*Math.cos(e)-o[0]*Math.sin(e),t[0]=a[0]+r[0],t[1]=a[1]+r[1],t[2]=a[2]+r[2],t},rotateZ:function(t,n,r,e){const o=[],a=[];return o[0]=n[0]-r[0],o[1]=n[1]-r[1],o[2]=n[2]-r[2],a[0]=o[0]*Math.cos(e)-o[1]*Math.sin(e),a[1]=o[0]*Math.sin(e)+o[1]*Math.cos(e),a[2]=o[2],t[0]=a[0]+r[0],t[1]=a[1]+r[1],t[2]=a[2]+r[2],t},round:function(t,n){return t[0]=Math.round(n[0]),t[1]=Math.round(n[1]),t[2]=Math.round(n[2]),t},scale:d,scaleAndAdd:p,set:u,sign:M,sqrDist:L,sqrLen:X,squaredDistance:g,squaredLength:_,str:function(t){return"vec3("+t[0]+", "+t[1]+", "+t[2]+")"},sub:q,subtract:c,transformMat3:x,transformMat4:y,transformQuat:O},Symbol.toStringTag,{value:"Module"}))},40050:(t,n,r)=>{r.r(n),r.d(n,{assetMapFromAssetMapsJSON:()=>b,extractMesh:()=>I,meshFeatureSetFromJSON:()=>m});var e=r(52106),o=r(53966),a=r(91869),s=r(5443),u=r(40036),i=r(16930),c=r(63579),l=r(20557),f=r(22671),h=r(77793);const M=()=>o.A.getLogger("esri.rest.support.meshFeatureSet");function m(t,n,r){const o=r.features;r.features=[],delete r.geometryType;const a=f.A.fromJSON(r);if(a.geometryType="mesh",!r.assetMaps)return a;const s=b(n,r.assetMaps),u=t.sourceSpatialReference??i.A.WGS84,c=r.globalIdFieldName,{outFields:l}=t,h=null!=l&&l.length>0?(M=l.includes("*")?null:new Set(l),({attributes:t})=>{if(!t)return{};if(!M)return t;for(const n in t)M.has(n)||delete t[n];return t}):()=>({});var M;for(const t of o){const r=I(t,c,u,n,s);a.features.push(new e.A({geometry:r,attributes:h(t)}))}return a}function I(t,n,r,e,o){const a=t.attributes[n],i=o.get(a);if(null==i||!t.geometry)return null;const l=(0,h.V)(t.attributes,r,e.transformFieldRoles),f=s.A.fromJSON(t.geometry);f.spatialReference=r;const M=(0,h.f)(t.attributes,e.transformFieldRoles),m=r.isGeographic?"local":"georeferenced",I=function(t){const n=Array.from(t.files.values()),r=new Array;for(const t of n){if(t.status!==d.COMPLETED)return null;const n=new Array;for(const r of t.parts){if(!r)return null;n.push(new c.Bq(r.url,r.hash))}r.push(new c.Qp(t.name,t.mimeType,n))}return{type:"service",assets:r}}(i);return I?u.default.createWithExternalSource(l,I,{extent:f,transform:M,vertexSpace:m,unitConversionDisabled:!0}):u.default.createIncomplete(l,{extent:f,transform:M,vertexSpace:m})}var d,p;function b(t,n){const r=new Map;for(const e of n){const n=e.parentGlobalId;if(null==n)continue;const o=e.assetName,s=e.assetType,u=e.assetHash,i=e.assetURL,c=e.conversionStatus,f=e.seqNo,h=(0,l.Fm)(s,t.supportedFormats);if(!h){M().error("mesh-feature-set:unknown-format",`Service returned an asset of type ${s}, but it does not list it as a supported type`);continue}const m=(0,a.tE)(r,n,(()=>({files:new Map})));(0,a.tE)(m.files,o,(()=>({name:o,type:s,mimeType:h,status:g(c),parts:[]}))).parts[f]={hash:u,url:i}}return r}function g(t){switch(t){case"COMPLETED":case"SUBMITTED":return d.COMPLETED;case"INPROGRESS":return d.PENDING;default:return d.FAILED}}(p=d||(d={}))[p.FAILED=0]="FAILED",p[p.PENDING=1]="PENDING",p[p.COMPLETED=2]="COMPLETED"},44280:(t,n,r)=>{r.d(n,{EJ:()=>i,g7:()=>u,gr:()=>s});var e=r(34727),o=r(38954),a=r(51850);function s(t,n){return(0,o.e)(t,n)/(0,o.l)(t)}function u(t,n){const r=(0,o.e)(t,n)/((0,o.l)(t)*(0,o.l)(n));return-(0,e.XM)(r)}function i(t,n,r){(0,o.n)(c,t),(0,o.n)(l,n);const a=(0,o.e)(c,l),s=(0,e.XM)(a),u=(0,o.h)(c,c,l);return(0,o.e)(u,r)<0?2*Math.PI-s:s}const c=(0,a.vt)(),l=(0,a.vt)()},48163:(t,n,r)=>{function e(){return[0,0]}function o(t,n){return[t,n]}function a(){return o(1,1)}function s(){return o(1,0)}function u(){return o(0,1)}r.d(n,{Un:()=>i,fA:()=>o,vt:()=>e});const i=a(),c=s(),l=u();Object.freeze(Object.defineProperty({__proto__:null,ONES:i,UNIT_X:c,UNIT_Y:l,ZEROS:[0,0],clone:function(t){return[t[0],t[1]]},create:e,freeze:function(t,n){return[t,n]},fromArray:function(t,n=[0,0]){const r=Math.min(2,t.length);for(let e=0;e<r;++e)n[e]=t[e];return n},fromValues:o,ones:a,unitX:s,unitY:u,zeros:function(){return[0,0]}},Symbol.toStringTag,{value:"Module"}))},48353:(t,n,r)=>{r.d(n,{l:()=>c});var e=r(34727),o=r(58083),a=r(51850);function s(t,n,r){const e=Math.sin(t),o=Math.cos(t),a=Math.sin(n),s=Math.cos(n),u=r;return u[0]=-e,u[4]=-a*o,u[8]=s*o,u[12]=0,u[1]=o,u[5]=-a*e,u[9]=s*e,u[13]=0,u[2]=0,u[6]=s,u[10]=a,u[14]=0,u[3]=0,u[7]=0,u[11]=0,u[15]=1,u}var u=r(37539),i=r(21325);function c(t,n,r,e){const a=(0,u.Tp)(t,e);if(null==a)return!1;const c=a.source.spatialReferenceId,m=a.dest.spatialReferenceId;if(c===m&&!l(m)&&(c!==u.rz.UNKNOWN||(0,i.aI)(t,e)))return(0,o.kN)(r,n),!0;if(l(m)){const t=u.w5[c][u.rz.LON_LAT],e=u.w5[u.rz.LON_LAT][m];return null!=t&&null!=e&&(t(n,0,h,0),e(h,0,M,0),s(f*h[0],f*h[1],r),r[12]=M[0],r[13]=M[1],r[14]=M[2],!0)}const I=l(c);if((m===u.rz.WEB_MERCATOR||m===u.rz.PLATE_CARREE||m===u.rz.WGS84||m===u.rz.CGCS2000)&&(c===u.rz.WGS84||I||c===u.rz.WEB_MERCATOR||c===u.rz.CGCS2000)){const t=u.w5[c][u.rz.LON_LAT],e=u.w5[u.rz.LON_LAT][m];return null!=t&&null!=e&&(t(n,0,h,0),e(h,0,M,0),I?function(t,n,r){s(t,n,r),(0,o.mg)(r,r)}(f*h[0],f*h[1],r):(0,o.D_)(r),r[12]=M[0],r[13]=M[1],r[14]=M[2],!0)}return!1}function l(t){return t===u.rz.SPHERICAL_ECEF||t===u.rz.SPHERICAL_MARS_PCPF||t===u.rz.SPHERICAL_MOON_PCPF||t===u.rz.WGS84_ECEF}const f=(0,e.kU)(1),h=(0,a.vt)(),M=(0,a.vt)()},65806:(t,n,r)=>{r.d(n,{g:()=>s});var e=r(51850),o=r(98988),a=r(9762);function s(t,n,r,e){if((0,o.canProjectWithoutEngine)(t.spatialReference,r)){u[0]=t.x,u[1]=t.y;const o=t.z;return u[2]=o??e??0,(0,a.projectBuffer)(u,t.spatialReference,0,n,r,0)}const s=(0,o.tryProjectWithZConversion)(t,r);return!!s&&(n[0]=s?.x,n[1]=s?.y,n[2]=s?.z??e??0,!0)}const u=(0,e.vt)()},67026:(t,n,r)=>{r.d(n,{A6:()=>I,Xd:()=>l,Xr:()=>M,hZ:()=>p,lw:()=>f,t2:()=>x,x8:()=>c});var e=r(29242),o=r(82534),a=r(51850),s=r(34304),u=r(38954),i=r(87317);function c(t,n,r){r*=.5;const e=Math.sin(r);return t[0]=e*n[0],t[1]=e*n[1],t[2]=e*n[2],t[3]=Math.cos(r),t}function l(t,n){const r=2*Math.acos(n[3]),e=Math.sin(r/2);return e>(0,s.FD)()?(t[0]=n[0]/e,t[1]=n[1]/e,t[2]=n[2]/e):(t[0]=1,t[1]=0,t[2]=0),r}function f(t,n,r){const e=n[0],o=n[1],a=n[2],s=n[3],u=r[0],i=r[1],c=r[2],l=r[3];return t[0]=e*l+s*u+o*c-a*i,t[1]=o*l+s*i+a*u-e*c,t[2]=a*l+s*c+e*i-o*u,t[3]=s*l-e*u-o*i-a*c,t}function h(t,n,r,e){const o=n[0],a=n[1],u=n[2],i=n[3];let c,l,f,h,M,m=r[0],I=r[1],d=r[2],p=r[3];return l=o*m+a*I+u*d+i*p,l<0&&(l=-l,m=-m,I=-I,d=-d,p=-p),1-l>(0,s.FD)()?(c=Math.acos(l),f=Math.sin(c),h=Math.sin((1-e)*c)/f,M=Math.sin(e*c)/f):(h=1-e,M=e),t[0]=h*o+M*m,t[1]=h*a+M*I,t[2]=h*u+M*d,t[3]=h*i+M*p,t}function M(t,n){return t[0]=-n[0],t[1]=-n[1],t[2]=-n[2],t[3]=n[3],t}function m(t,n){const r=n[0]+n[4]+n[8];let e;if(r>0)e=Math.sqrt(r+1),t[3]=.5*e,e=.5/e,t[0]=(n[5]-n[7])*e,t[1]=(n[6]-n[2])*e,t[2]=(n[1]-n[3])*e;else{let r=0;n[4]>n[0]&&(r=1),n[8]>n[3*r+r]&&(r=2);const o=(r+1)%3,a=(r+2)%3;e=Math.sqrt(n[3*r+r]-n[3*o+o]-n[3*a+a]+1),t[r]=.5*e,e=.5/e,t[3]=(n[3*o+a]-n[3*a+o])*e,t[o]=(n[3*o+r]+n[3*r+o])*e,t[a]=(n[3*a+r]+n[3*r+a])*e}return t}function I(t,n,r,e){const o=.5*Math.PI/180;n*=o,r*=o,e*=o;const a=Math.sin(n),s=Math.cos(n),u=Math.sin(r),i=Math.cos(r),c=Math.sin(e),l=Math.cos(e);return t[0]=a*i*l-s*u*c,t[1]=s*u*l+a*i*c,t[2]=s*i*c-a*u*l,t[3]=s*i*l+a*u*c,t}const d=i.c,p=i.s,b=i.h,g=f,_=i.d,E=i.g,v=i.l,N=i.j,S=N,T=i.b,A=T,y=i.n,x=i.a,O=i.e,P=(0,a.vt)(),w=(0,a.fA)(1,0,0),C=(0,a.fA)(0,1,0),D=(0,o.vt)(),q=(0,o.vt)(),z=(0,e.vt)();Object.freeze(Object.defineProperty({__proto__:null,add:b,calculateW:function(t,n){const r=n[0],e=n[1],o=n[2];return t[0]=r,t[1]=e,t[2]=o,t[3]=Math.sqrt(Math.abs(1-r*r-e*e-o*o)),t},conjugate:M,copy:d,dot:E,equals:O,exactEquals:x,fromEuler:I,fromMat3:m,getAxisAngle:l,identity:function(t){return t[0]=0,t[1]=0,t[2]=0,t[3]=1,t},invert:function(t,n){const r=n[0],e=n[1],o=n[2],a=n[3],s=r*r+e*e+o*o+a*a,u=s?1/s:0;return t[0]=-r*u,t[1]=-e*u,t[2]=-o*u,t[3]=a*u,t},len:S,length:N,lerp:v,mul:g,multiply:f,normalize:y,random:function(t){const n=s.Ov,r=n(),e=n(),o=n(),a=Math.sqrt(1-r),u=Math.sqrt(r);return t[0]=a*Math.sin(2*Math.PI*e),t[1]=a*Math.cos(2*Math.PI*e),t[2]=u*Math.sin(2*Math.PI*o),t[3]=u*Math.cos(2*Math.PI*o),t},rotateX:function(t,n,r){r*=.5;const e=n[0],o=n[1],a=n[2],s=n[3],u=Math.sin(r),i=Math.cos(r);return t[0]=e*i+s*u,t[1]=o*i+a*u,t[2]=a*i-o*u,t[3]=s*i-e*u,t},rotateY:function(t,n,r){r*=.5;const e=n[0],o=n[1],a=n[2],s=n[3],u=Math.sin(r),i=Math.cos(r);return t[0]=e*i-a*u,t[1]=o*i+s*u,t[2]=a*i+e*u,t[3]=s*i-o*u,t},rotateZ:function(t,n,r){r*=.5;const e=n[0],o=n[1],a=n[2],s=n[3],u=Math.sin(r),i=Math.cos(r);return t[0]=e*i+o*u,t[1]=o*i-e*u,t[2]=a*i+s*u,t[3]=s*i-a*u,t},rotationTo:function(t,n,r){const e=(0,u.e)(n,r);return e<-.999999?((0,u.h)(P,w,n),(0,u.H)(P)<1e-6&&(0,u.h)(P,C,n),(0,u.n)(P,P),c(t,P,Math.PI),t):e>.999999?(t[0]=0,t[1]=0,t[2]=0,t[3]=1,t):((0,u.h)(P,n,r),t[0]=P[0],t[1]=P[1],t[2]=P[2],t[3]=1+e,y(t,t))},scale:_,set:p,setAxes:function(t,n,r,e){const o=z;return o[0]=r[0],o[3]=r[1],o[6]=r[2],o[1]=e[0],o[4]=e[1],o[7]=e[2],o[2]=-n[0],o[5]=-n[1],o[8]=-n[2],y(t,m(t,o))},setAxisAngle:c,slerp:h,sqlerp:function(t,n,r,e,o,a){return h(D,n,o,a),h(q,r,e,a),h(t,D,q,2*a*(1-a)),t},sqrLen:A,squaredLength:T,str:function(t){return"quat("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+")"}},Symbol.toStringTag,{value:"Module"}))},73836:(t,n,r)=>{r.d(n,{A:()=>m});var e,o=r(90237),a=r(25482),s=r(10107),u=(r(44208),r(53966),r(87811),r(40608)),i=r(58083),c=r(9093),l=r(67026),f=r(82534),h=r(51850),M=r(24770);let m=class extends a.A{static{e=this}constructor(t){super(t),this.translation=(0,h.vt)(),this.rotationAxis=(0,h.ci)(M.up),this.rotationAngle=0,this.scale=(0,h.fA)(1,1,1)}get rotation(){return(0,M.i4)(this.rotationAxis,this.rotationAngle)}set rotation(t){this.rotationAxis=(0,h.o8)((0,M.yo)(t)),this.rotationAngle=(0,M.g7)(t)}get localMatrix(){const t=(0,c.vt)();return(0,l.x8)(I,(0,M.yo)(this.rotation),(0,M.$I)(this.rotation)),(0,i.o1)(t,I,this.translation,this.scale),t}get localMatrixInverse(){return(0,i.B8)((0,c.vt)(),this.localMatrix)}equals(t){return this===t||null!=t&&(0,i.t2)(this.localMatrix,t.localMatrix)}clone(){const t={translation:(0,h.o8)(this.translation),rotationAxis:(0,h.o8)(this.rotationAxis),rotationAngle:this.rotationAngle,scale:(0,h.o8)(this.scale)};return new e(t)}};(0,o._)([(0,s.MZ)({type:[Number],nonNullable:!0,json:{write:!0}})],m.prototype,"translation",void 0),(0,o._)([(0,s.MZ)({type:[Number],nonNullable:!0,json:{write:!0}})],m.prototype,"rotationAxis",void 0),(0,o._)([(0,s.MZ)({type:Number,nonNullable:!0,json:{write:!0}})],m.prototype,"rotationAngle",void 0),(0,o._)([(0,s.MZ)({type:[Number],nonNullable:!0,json:{write:!0}})],m.prototype,"scale",void 0),(0,o._)([(0,s.MZ)()],m.prototype,"rotation",null),(0,o._)([(0,s.MZ)()],m.prototype,"localMatrix",null),(0,o._)([(0,s.MZ)()],m.prototype,"localMatrixInverse",null),m=e=(0,o._)([(0,u.$)("esri.geometry.support.MeshTransform")],m);const I=(0,f.vt)()},77690:(t,n,r)=>{r.d(n,{B8:()=>u,Ge:()=>h,I0:()=>f,KC:()=>i,hZ:()=>a,hs:()=>l,lw:()=>c,mg:()=>s,z0:()=>o});var e=r(34304);function o(t,n){return t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[4],t[4]=n[5],t[5]=n[6],t[6]=n[8],t[7]=n[9],t[8]=n[10],t}function a(t,n,r,e,o,a,s,u,i,c){return t[0]=n,t[1]=r,t[2]=e,t[3]=o,t[4]=a,t[5]=s,t[6]=u,t[7]=i,t[8]=c,t}function s(t,n){if(t===n){const r=n[1],e=n[2],o=n[5];t[1]=n[3],t[2]=n[6],t[3]=r,t[5]=n[7],t[6]=e,t[7]=o}else t[0]=n[0],t[1]=n[3],t[2]=n[6],t[3]=n[1],t[4]=n[4],t[5]=n[7],t[6]=n[2],t[7]=n[5],t[8]=n[8];return t}function u(t,n){const r=n[0],e=n[1],o=n[2],a=n[3],s=n[4],u=n[5],i=n[6],c=n[7],l=n[8],f=l*s-u*c,h=-l*a+u*i,M=c*a-s*i;let m=r*f+e*h+o*M;return m?(m=1/m,t[0]=f*m,t[1]=(-l*e+o*c)*m,t[2]=(u*e-o*s)*m,t[3]=h*m,t[4]=(l*r-o*i)*m,t[5]=(-u*r+o*a)*m,t[6]=M*m,t[7]=(-c*r+e*i)*m,t[8]=(s*r-e*a)*m,t):null}function i(t,n){const r=n[0],e=n[1],o=n[2],a=n[3],s=n[4],u=n[5],i=n[6],c=n[7],l=n[8];return t[0]=s*l-u*c,t[1]=o*c-e*l,t[2]=e*u-o*s,t[3]=u*i-a*l,t[4]=r*l-o*i,t[5]=o*a-r*u,t[6]=a*c-s*i,t[7]=e*i-r*c,t[8]=r*s-e*a,t}function c(t,n,r){const e=n[0],o=n[1],a=n[2],s=n[3],u=n[4],i=n[5],c=n[6],l=n[7],f=n[8],h=r[0],M=r[1],m=r[2],I=r[3],d=r[4],p=r[5],b=r[6],g=r[7],_=r[8];return t[0]=h*e+M*s+m*c,t[1]=h*o+M*u+m*l,t[2]=h*a+M*i+m*f,t[3]=I*e+d*s+p*c,t[4]=I*o+d*u+p*l,t[5]=I*a+d*i+p*f,t[6]=b*e+g*s+_*c,t[7]=b*o+g*u+_*l,t[8]=b*a+g*i+_*f,t}function l(t,n,r){const e=r[0],o=r[1],a=r[2];return t[0]=e*n[0],t[1]=e*n[1],t[2]=e*n[2],t[3]=o*n[3],t[4]=o*n[4],t[5]=o*n[5],t[6]=a*n[6],t[7]=a*n[7],t[8]=a*n[8],t}function f(t,n){const r=n[0],e=n[1],o=n[2],a=n[3],s=r+r,u=e+e,i=o+o,c=r*s,l=e*s,f=e*u,h=o*s,M=o*u,m=o*i,I=a*s,d=a*u,p=a*i;return t[0]=1-f-m,t[3]=l-p,t[6]=h+d,t[1]=l+p,t[4]=1-c-m,t[7]=M-I,t[2]=h-d,t[5]=M+I,t[8]=1-c-f,t}function h(t,n){const r=n[0],e=n[1],o=n[2],a=n[3],s=n[4],u=n[5],i=n[6],c=n[7],l=n[8],f=n[9],h=n[10],M=n[11],m=n[12],I=n[13],d=n[14],p=n[15],b=r*u-e*s,g=r*i-o*s,_=r*c-a*s,E=e*i-o*u,v=e*c-a*u,N=o*c-a*i,S=l*I-f*m,T=l*d-h*m,A=l*p-M*m,y=f*d-h*I,x=f*p-M*I,O=h*p-M*d;let P=b*O-g*x+_*y+E*A-v*T+N*S;return P?(P=1/P,t[0]=(u*O-i*x+c*y)*P,t[1]=(i*A-s*O-c*T)*P,t[2]=(s*x-u*A+c*S)*P,t[3]=(o*x-e*O-a*y)*P,t[4]=(r*O-o*A+a*T)*P,t[5]=(e*A-r*x-a*S)*P,t[6]=(I*N-d*v+p*E)*P,t[7]=(d*_-m*N-p*g)*P,t[8]=(m*v-I*_+p*b)*P,t):null}function M(t,n,r){return t[0]=n[0]-r[0],t[1]=n[1]-r[1],t[2]=n[2]-r[2],t[3]=n[3]-r[3],t[4]=n[4]-r[4],t[5]=n[5]-r[5],t[6]=n[6]-r[6],t[7]=n[7]-r[7],t[8]=n[8]-r[8],t}const m=c,I=M;Object.freeze(Object.defineProperty({__proto__:null,add:function(t,n,r){return t[0]=n[0]+r[0],t[1]=n[1]+r[1],t[2]=n[2]+r[2],t[3]=n[3]+r[3],t[4]=n[4]+r[4],t[5]=n[5]+r[5],t[6]=n[6]+r[6],t[7]=n[7]+r[7],t[8]=n[8]+r[8],t},adjoint:i,copy:function(t,n){return t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[3],t[4]=n[4],t[5]=n[5],t[6]=n[6],t[7]=n[7],t[8]=n[8],t},determinant:function(t){const n=t[0],r=t[1],e=t[2],o=t[3],a=t[4],s=t[5],u=t[6],i=t[7],c=t[8];return n*(c*a-s*i)+r*(-c*o+s*u)+e*(i*o-a*u)},equals:function(t,n){const r=t[0],o=t[1],a=t[2],s=t[3],u=t[4],i=t[5],c=t[6],l=t[7],f=t[8],h=n[0],M=n[1],m=n[2],I=n[3],d=n[4],p=n[5],b=n[6],g=n[7],_=n[8],E=(0,e.FD)();return Math.abs(r-h)<=E*Math.max(1,Math.abs(r),Math.abs(h))&&Math.abs(o-M)<=E*Math.max(1,Math.abs(o),Math.abs(M))&&Math.abs(a-m)<=E*Math.max(1,Math.abs(a),Math.abs(m))&&Math.abs(s-I)<=E*Math.max(1,Math.abs(s),Math.abs(I))&&Math.abs(u-d)<=E*Math.max(1,Math.abs(u),Math.abs(d))&&Math.abs(i-p)<=E*Math.max(1,Math.abs(i),Math.abs(p))&&Math.abs(c-b)<=E*Math.max(1,Math.abs(c),Math.abs(b))&&Math.abs(l-g)<=E*Math.max(1,Math.abs(l),Math.abs(g))&&Math.abs(f-_)<=E*Math.max(1,Math.abs(f),Math.abs(_))},exactEquals:function(t,n){return t[0]===n[0]&&t[1]===n[1]&&t[2]===n[2]&&t[3]===n[3]&&t[4]===n[4]&&t[5]===n[5]&&t[6]===n[6]&&t[7]===n[7]&&t[8]===n[8]},frob:function(t){return Math.sqrt(t[0]**2+t[1]**2+t[2]**2+t[3]**2+t[4]**2+t[5]**2+t[6]**2+t[7]**2+t[8]**2)},fromMat2d:function(t,n){return t[0]=n[0],t[1]=n[1],t[2]=0,t[3]=n[2],t[4]=n[3],t[5]=0,t[6]=n[4],t[7]=n[5],t[8]=1,t},fromMat4:o,fromQuat:f,fromRotation:function(t,n){const r=Math.sin(n),e=Math.cos(n);return t[0]=e,t[1]=r,t[2]=0,t[3]=-r,t[4]=e,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t},fromScaling:function(t,n){return t[0]=n[0],t[1]=0,t[2]=0,t[3]=0,t[4]=n[1],t[5]=0,t[6]=0,t[7]=0,t[8]=1,t},fromTranslation:function(t,n){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=1,t[5]=0,t[6]=n[0],t[7]=n[1],t[8]=1,t},identity:function(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=1,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t},invert:u,isOrthoNormal:function(t){const n=(0,e.FD)(),r=t[0],o=t[1],a=t[2],s=t[3],u=t[4],i=t[5],c=t[6],l=t[7],f=t[8];return Math.abs(1-(r*r+s*s+c*c))<=n&&Math.abs(1-(o*o+u*u+l*l))<=n&&Math.abs(1-(a*a+i*i+f*f))<=n},mul:m,multiply:c,multiplyScalar:function(t,n,r){return t[0]=n[0]*r,t[1]=n[1]*r,t[2]=n[2]*r,t[3]=n[3]*r,t[4]=n[4]*r,t[5]=n[5]*r,t[6]=n[6]*r,t[7]=n[7]*r,t[8]=n[8]*r,t},multiplyScalarAndAdd:function(t,n,r,e){return t[0]=n[0]+r[0]*e,t[1]=n[1]+r[1]*e,t[2]=n[2]+r[2]*e,t[3]=n[3]+r[3]*e,t[4]=n[4]+r[4]*e,t[5]=n[5]+r[5]*e,t[6]=n[6]+r[6]*e,t[7]=n[7]+r[7]*e,t[8]=n[8]+r[8]*e,t},normalFromMat4:h,normalFromMat4Legacy:function(t,n){const r=n[0],e=n[1],o=n[2],a=n[4],s=n[5],u=n[6],i=n[8],c=n[9],l=n[10],f=l*s-u*c,h=-l*a+u*i,M=c*a-s*i,m=r*f+e*h+o*M;if(!m)return null;const I=1/m;return t[0]=f*I,t[1]=(-l*e+o*c)*I,t[2]=(u*e-o*s)*I,t[3]=h*I,t[4]=(l*r-o*i)*I,t[5]=(-u*r+o*a)*I,t[6]=M*I,t[7]=(-c*r+e*i)*I,t[8]=(s*r-e*a)*I,t},projection:function(t,n,r){return t[0]=2/n,t[1]=0,t[2]=0,t[3]=0,t[4]=-2/r,t[5]=0,t[6]=-1,t[7]=1,t[8]=1,t},rotate:function(t,n,r){const e=n[0],o=n[1],a=n[2],s=n[3],u=n[4],i=n[5],c=n[6],l=n[7],f=n[8],h=Math.sin(r),M=Math.cos(r);return t[0]=M*e+h*s,t[1]=M*o+h*u,t[2]=M*a+h*i,t[3]=M*s-h*e,t[4]=M*u-h*o,t[5]=M*i-h*a,t[6]=c,t[7]=l,t[8]=f,t},scale:l,scaleByVec2:function(t,n,r){const e=r[0],o=r[1];return t[0]=e*n[0],t[1]=e*n[1],t[2]=e*n[2],t[3]=o*n[3],t[4]=o*n[4],t[5]=o*n[5],t},set:a,str:function(t){return"mat3("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+", "+t[4]+", "+t[5]+", "+t[6]+", "+t[7]+", "+t[8]+")"},sub:I,subtract:M,translate:function(t,n,r){const e=n[0],o=n[1],a=n[2],s=n[3],u=n[4],i=n[5],c=n[6],l=n[7],f=n[8],h=r[0],M=r[1];return t[0]=e,t[1]=o,t[2]=a,t[3]=s,t[4]=u,t[5]=i,t[6]=h*e+M*s+c,t[7]=h*o+M*u+l,t[8]=h*a+M*i+f,t},transpose:s},Symbol.toStringTag,{value:"Module"}))},77793:(t,n,r)=>{r.d(n,{V:()=>a,f:()=>s});var e=r(86738),o=r(73836);function a(t,n,r=u){return new e.A({x:t[r.originX],y:t[r.originY],z:t[r.originZ],spatialReference:n})}function s(t,n=u){return new o.A({translation:[t[n.translationX],-t[n.translationZ],t[n.translationY]],rotationAxis:[t[n.rotationX],-t[n.rotationZ],t[n.rotationY]],rotationAngle:t[n.rotationDeg],scale:[t[n.scaleX],t[n.scaleZ],t[n.scaleY]]})}const u={originX:"originX",originY:"originY",originZ:"originZ",translationX:"translationX",translationY:"translationY",translationZ:"translationZ",scaleX:"scaleX",scaleY:"scaleY",scaleZ:"scaleZ",rotationX:"rotationX",rotationY:"rotationY",rotationZ:"rotationZ",rotationDeg:"rotationDeg"}},82534:(t,n,r)=>{function e(){return[0,0,0,1]}function o(t){return[t[0],t[1],t[2],t[3]]}r.d(n,{o8:()=>o,vt:()=>e,zK:()=>a});const a=[0,0,0,1];Object.freeze(Object.defineProperty({__proto__:null,IDENTITY:a,clone:o,create:e,fromValues:function(t,n,r,e){return[t,n,r,e]}},Symbol.toStringTag,{value:"Module"}))},98764:(t,n,r)=>{r.d(n,{Y0:()=>c,lO:()=>l});var e=r(73941),o=r(16930),a=r(21325);const s=new o.A(e.fv),u=new o.A(e.FY),i=new o.A(e.LJ),c=new o.A(e.Ro);function l(t){const n=f.get(t);if(n)return n;let r=s;if(t)if(t===u)r=u;else if(t===i)r=i;else{const n=t.wkid,e=t.latestWkid;if(null!=n||null!=e)(0,a.tl)(n)||(0,a.tl)(e)?r=u:((0,a.ZL)(n)||(0,a.ZL)(e))&&(r=i);else{const n=t.wkt2??t.wkt;if(n){const t=n.toUpperCase();t===h?r=u:t===M&&(r=i)}}}return f.set(t,r),r}const f=new Map,h=u.wkt.toUpperCase(),M=i.wkt.toUpperCase()}}]);
@@ -1 +1 @@
1
- "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[7444],{1364:(e,t,s)=>{s.d(t,{c:()=>i});var n=s(55537);function i(e,t){const s=e.getGeometryType();return s===n.G.enumPoint?e:(0,n.h)(s)?function(e){if(function(e){for(let t=0,s=e.getPathCount();t<s;t++){const s=e.getPathSize(t);if(0===s)return!1;if(1===s){if(0===e.getSegmentCountPath(t))return!1;if(e.getSegmentType(e.getPathStart(t))===n.G.enumLine)return!1;if(!e.isClosedPath(t))return!1}}return!0}(e))return e;const t=e.createInstance();for(let s=0,i=e.getPathCount();s<i;s++){const i=e.getPathSize(s);if(0!==i){if(1===i){if(0===e.getSegmentCountPath(s))continue;if(e.getSegmentType(e.getPathStart(s))===n.G.enumLine)continue;if(!e.isClosedPath(s))continue}t.addPath(e,s,!0)}}return t}(e):s===n.G.enumMultiPoint||s===n.G.enumEnvelope?e:s===n.G.enumMultipatch?((0,n.t)("not implemented for multipatch"),e):e}},37444:(e,t,s)=>{s.r(t),s.d(t,{OperatorGeodesicBuffer:()=>T});var n=s(76061),i=s(55537),r=s(79187),o=s(12189),m=s(90237),a=s(88885),h=s(95213),c=s(11878),u=s(83661),l=s(31139),_=s(1364),f=s(5247);class d{constructor(e){this.m_sr=null,this.m_gcs=null,this.m_transform=null,this.m_a=0,this.m_eSquared=0,this.m_rpu=0,this.m_radTolerance=0,this.m_q90=0,this.m_gcs90=0,this.m_gcs180=0,this.m_gcs360=0,this.m_gcs60=0,this.m_ellipticToGeodesicMaxRatio=0,this.m_curveType=0,this.m_bShapePreserving=!1,this.m_distance=0,this.m_absDistance=0,this.m_convergenceOffset=0,this.m_cornerStep=0,this.m_segmentStep=0,this.m_progressTracker=e}bufferPolygon(e){const t=new a.a,s=new I(this,e,t);return this.processGnomonicBufferPiecesCursor(!0,s)}bufferPolyline(e){const t=new I(this,e,null);return this.processGnomonicBufferPiecesCursor(!0,t)}bufferMultiPoint(e){const t=new G(this,e);return this.processGnomonicBufferPiecesCursor(!1,t)}bufferPoint(e){const t=e.getXY();t.scale(this.m_rpu);let s=new a.a;if(this.bufferPoint2D(t,!1,s)){const e=(0,h.b)(null,s,!0);s=(0,o.p)(s,e,!0,!0,-1,this.m_progressTracker,0,!1)}return s=(new o.A).foldInto360RangeGeodetic(s,this.m_gcs,2),s}processGnomonicBufferPiecesCursor(e,t){const s=t;let n=s.getGnomonic();const i=(0,o.R)((0,o.S)());let m=new o.U,a=(new o.j).executeMany(m,i,this.m_progressTracker,2);const l=(0,u.d)(6,!1),_=(0,u.m)(r.Envelope2D,6);this.initializeGrid(l,_);const f=[null,null,null,null,null,null],d=[null,null,null,null,null,null],g=[null,null,null,null,null,null];let P,p,b;for(;null!==(P=s.next());){if(p=s.getGnomonic(),p!==n){if(null!==n){let t=a.next();if(m=null,a=null,null!=t){const s=(0,h.b)(i,t,!0),r=(0,h.e)(s);t=n.unproject(t,r,this.m_progressTracker),this.putInGridCursors(e,t,i,!0,l,_,f,d,g)}}null!==p&&(m=new o.U,a=(new o.j).executeMany(m,i,this.m_progressTracker,2)),n=p}if(s.isRunningInGnomonic()){if(p.project(P),s.needsSimplify()){const e=(0,h.b)(null,P,!0);P=(0,o.p)(P,e,!0,!0,-1,this.m_progressTracker,0,!1)}m.tick(v(P)),a.tock()}else this.putInGridCursors(e,P,i,!0,l,_,f,d,g)}let x=!1;for(let e=0;e<6;e++)if(null!=g[e]){x=!0;break}if(x){let t=!1;const r=[null,null,null,null,null,null];if(e){const n=s.m_densified;if(s.m_densified=null,null!==n){const s=new c.T;s.scale(1/this.m_rpu,1/this.m_rpu),n.applyTransformation(s),this.m_distance>0?this.putInGridCursors(e,n,i,!1,l,_,f,d,g):(this.processInGrid(e,n,!1,l,_,f,r),t=!0)}}const u=new o.U,P=(new o.j).executeMany(u,this.m_gcs,this.m_progressTracker,2);if(null!==a){let t=a.next();m=null,a=null;const s=(0,h.b)(i,t,!0),r=(0,h.e)(s);t=n.unproject(t,r,this.m_progressTracker),this.putInGridCursors(e,t,i,!0,l,_,f,d,g)}for(let e=0;e<6;e++)if(null!=g[e]){let s=g[e].next();g[e]=null,d[e]=null,t&&null!==r[e]&&(s=(new o.f).execute(r[e],s,i,this.m_progressTracker));const n=(0,h.b)(i,s,!0),m=(0,h.e)(n);s=f[e].unproject(s,m,this.m_progressTracker),s=(new o.O).execute(s,this.m_gcs,!0,this.m_progressTracker),u.tick(v(s)),P.tock()}b=P.next()}else{let t,r=!1;if(e){let e=s.m_densified;if(s.m_densified=null,null!==e){const s=new c.T;s.scale(1/this.m_rpu,1/this.m_rpu),e.applyTransformation(s),p.project(e);const n=(0,h.b)(null,e,!0);e=(0,o.p)(e,n,!1,!0,-1,this.m_progressTracker,0,!1),this.m_distance>0?(m.tick(v(e)),a.tock()):(t=e,r=!0)}}let u=a.next();m=null,a=null,r&&(u=(new o.f).execute(t,u,i,this.m_progressTracker));const l=(0,h.b)(i,u,!0),_=(0,h.e)(l);b=n.unproject(u,_,this.m_progressTracker),b=(new o.O).execute(b,this.m_gcs,!0,this.m_progressTracker)}return b=(new o.A).foldInto360RangeGeodetic(b,this.m_gcs,2),b}putInGridCursors(e,t,s,n,i,r,m,a,h){const c=[null,null,null,null,null,null];this.processInGrid(e,t,n,i,r,m,c);for(let e=0;e<6;e++)null!==c[e]&&(null===a[e]&&(a[e]=new o.U,h[e]=(new o.j).executeMany(a[e],s,this.m_progressTracker,2)),a[e].tick(v(c[e])),h[e].tock())}processInGrid(e,t,s,n,i,r,m){const a=.01,c=this.insertGeodeticPointsAlongGrid(t,i,a);for(let e=0;e<6;e++){if(n[e])continue;const _=i[e].clone();_.inflateCoords(a,a);const f=(0,h.f)(t,_),d=(0,h.c)(null,f,!1).total();let g=(0,l.c)(c,_,d,Number.NaN,this.m_progressTracker);if(null!==g&&!g.isEmpty()){if(g===c&&(g=g.clone()),null===r[e]){const t=new u.P;e<3?t.setCoords(0,1):t.setCoords(0,-1);const s=new u.P;s.setAdd(i[e].getCenter(),t),r[e]=S(this.m_gcs,s)}r[e].project(g);const t=(0,h.b)(null,g,!0);g=(0,o.p)(g,t,s,!0,-1,this.m_progressTracker,0,!1),m[e]=g}}}insertGeodeticPointsAlongGrid(e,t,s){const n=r.Envelope2D.construct(t[3].xmin,t[3].ymin,t[2].xmax,t[2].ymax),i=(0,o.V)(this.m_gcs,n,e,!0,this.m_progressTracker),m=new a.E,h=m.addGeometry(i);return(0,o.W)(m,h,this.m_gcs,0,2,!0,t[0].xmax+s),(0,o.W)(m,h,this.m_gcs,0,2,!0,t[1].xmax+s),(0,o.W)(m,h,this.m_gcs,0,2,!1,t[1].ymin+s),0!==s&&((0,o.W)(m,h,this.m_gcs,0,2,!0,t[0].xmax-s),(0,o.W)(m,h,this.m_gcs,0,2,!0,t[1].xmax-s),(0,o.W)(m,h,this.m_gcs,0,2,!1,t[1].ymin-s)),m.getGeometry(h)}initializeGrid(e,t){for(let t=0;t<6;t++)e[t]=!1;t[0].setCoords({xmin:-this.m_gcs180,ymin:0,xmax:-this.m_gcs60,ymax:this.m_gcs90}),t[1].setCoords({xmin:-this.m_gcs60,ymin:0,xmax:this.m_gcs60,ymax:this.m_gcs90}),t[2].setCoords({xmin:this.m_gcs60,ymin:0,xmax:this.m_gcs180,ymax:this.m_gcs90}),t[3].setCoords({xmin:-this.m_gcs180,ymin:-this.m_gcs90,xmax:-this.m_gcs60,ymax:0}),t[4].setCoords({xmin:-this.m_gcs60,ymin:-this.m_gcs90,xmax:this.m_gcs60,ymax:0}),t[5].setCoords({xmin:this.m_gcs60,ymin:-this.m_gcs90,xmax:this.m_gcs180,ymax:0})}checkAndPrepSegmentForCrossingAzimuthsOrPoleWrap(e,t,s,n,i,r){const m=e[0],a=e.at(-1),h=m.y<a.y?m.y:a.y,c=m.y>a.y?m.y:a.y,l=o.J.q(this.m_a,this.m_eSquared,h),_=o.J.q(this.m_a,this.m_eSquared,c);if(this.m_q90-(l+t+this.m_absDistance)>.001&&this.m_q90+(_-t-this.m_absDistance)>.001)return!1;const f=s-u.o,d=n+u.o,g=f-Math.PI,x=f+Math.PI,y=d+Math.PI,C=[Number.NaN],w=[Number.NaN],S=[Number.NaN],v=[Number.NaN];let D=!1;if(b(this.m_a,this.m_eSquared,this.m_rpu,this.m_absDistance,m,f,g,a,d,C,w),b(this.m_a,this.m_eSquared,this.m_rpu,this.m_absDistance,a,y,d,m,g,S,v),(d<C[0]&&C[0]<y||d<w[0]&&w[0]<y)&&(D=!0),D||(g<S[0]&&S[0]<f||g<v[0]&&v[0]<f)&&(D=!0),!D&&i)return!1;const I=[];for(let t=e.length-1;t>=0;t--)I.push(e[t]);r.setEmpty(),r.addPathPoint2D(null,0,!0);let G=0;G=P(this.m_a,this.m_eSquared,this.m_rpu,this.m_absDistance,this.m_curveType,e,f,d,i,G,r),G=p(this.m_a,this.m_eSquared,this.m_rpu,this.m_absDistance,a,d,y,this.m_cornerStep,i,G,r,C[0],w[0]),G=P(this.m_a,this.m_eSquared,this.m_rpu,this.m_absDistance,this.m_curveType,I,y,x,i,G,r),G=p(this.m_a,this.m_eSquared,this.m_rpu,this.m_absDistance,m,g,f,this.m_cornerStep,i,G,r,S[0],v[0]);let T=!1;return i||(T=this.checkAndPrepForPole(r)),D||T}bufferPoint2D(e,t,s){s.setEmpty(),s.addPathPoint2D(null,0,!0),p(this.m_a,this.m_eSquared,this.m_rpu,this.m_absDistance,e,-this.m_cornerStep,2*Math.PI,this.m_cornerStep,t,0,s);let n=!1;return t||(n=this.checkAndPrepForPole(s)),n}checkAndPrepForPole(e){const t=this.checkAndPrepForPoleTouch(e),s=this.checkAndPrepForPoleWrap(e);return t||s}checkAndPrepForPoleTouch(e){const t=new r.Envelope2D;return e.queryEnvelope(t),!(!(0,o.X)(t.ymax,this.m_gcs90)&&!(0,o.X)(t.ymin,-this.m_gcs90)||(this.prepPoleTouch(e),0))}checkAndPrepForPoleWrap(e){const t=e.getXY(0),s=e.getXY(e.getPointCount()-1);return Math.abs(t.x-s.x)>this.m_gcs180?(this.prepSinglePoleWrap(e),!0):this.checkAndPrepForDoublePoleWrap(e)}checkAndPrepForDoublePoleWrap(e){return e.calculateArea2D()<0&&(this.prepDoublePoleWrap(e),!0)}prepPoleTouch(e){const t=new a.a;t.insertPath2D(-1,null,0,0,!0);const s=e.getPathStart(0),n=e.getPathEnd(0),i=n-s;let r=-1;for(r=s;r<n;r++){const t=e.getXY(r),s=(0,o.X)(t.y,this.m_gcs90),n=(0,o.X)(t.y,-this.m_gcs90);if(!s&&!n)break}let m=r,h=!1,c=Number.NaN;do{const n=e.getXY(m),r=(0,o.X)(n.y,this.m_gcs90),a=(0,o.X)(n.y,-this.m_gcs90),l=s+(m+1-s)%i;if(r||a){let s=u.P.construct(c,n.y);t.insertPoint2D(0,-1,s);const i=e.getXY(l),r=(0,o.X)(i.y,this.m_gcs90),m=(0,o.X)(i.y,-this.m_gcs90);r||m||(s=u.P.construct(i.x,n.y),h?t.setXY(t.getPointCount()-1,s):t.insertPoint2D(0,-1,s)),h=!0}else t.insertPoint2D(0,-1,n),c=n.x,h=!1;m=l}while(m!==r);e.setEmpty(),e.add(t,!1)}prepSinglePoleWrap(e){const t=new a.a,s=new a.a,n=new c.T,i=e.getXY(e.getPathStart(0)),m=e.getXY(e.getPathEnd(0)-1),_=this.m_gcs360,f=this.m_gcs180,d=new r.Envelope2D;d.setCoords({xmin:-this.m_gcs180,ymin:-this.m_gcs90,xmax:this.m_gcs180,ymax:this.m_gcs90});const g=new r.Envelope2D;e.queryEnvelope(g);const P=Math.ceil(g.width()/_);let p,b;i.x>m.x?(p=-_,b=this.m_gcs90):(p=_,b=-this.m_gcs90),n.setShiftCoords(p,0),t.addPath(e,0,!0),s.add(t,!1);const x=new h.P;for(let e=0;e<P;e++)s.applyTransformation(n),s.getPointByVal(0,x),t.lineToPoint(x),t.addSegmentsFromPath(s,0,0,s.getSegmentCount()-1,!1);const y=t.getXY(0),C=t.getXY(t.getPointCount()-1);y.y=b,C.y=b,t.lineTo(C);const w=new u.P;for(w.setCoordsPoint2D(C),w.x-=.5*p;Math.abs(w.x-y.x)>f;)t.lineTo(w),w.x-=.5*p;t.lineTo(y);const S=d.getCenterX(),v=new r.Envelope2D;t.queryEnvelope(v);let D=0;const I=v.getCenter().x;I-S>f?D=-Math.ceil((I-S-f)/_):S-I>f&&(D=Math.ceil((S-I-f)/_)),0!==D&&(n.setShiftCoords(D*_,0),t.applyTransformation(n));const G=new a.E,T=G.addGeometry(t);(0,o.W)(G,T,this.m_gcs,0,2,!0,d.xmin),(0,o.W)(G,T,this.m_gcs,0,2,!0,d.xmax);const M=G.getGeometry(T),E=(0,h.f)(M,d);E.inflateCoords(0,1);const N=(0,h.c)(null,E,!0).total(),k=(0,l.c)(M,d,N,Number.NaN,this.m_progressTracker);e.setEmpty(),e.add(k,!1)}prepDoublePoleWrap(e){const t=this.m_gcs360,s=this.m_gcs180,n=new r.Envelope2D;n.setCoords({xmin:-this.m_gcs180,ymin:-this.m_gcs90,xmax:this.m_gcs180,ymax:this.m_gcs90});const i=n.getCenter().x,m=new r.Envelope2D;e.queryPathEnvelope(0,m);let _,f=0,d=m.getCenter().x;if(d-i>s?f=-Math.ceil((d-i-s)/t):i-d>s&&(f=Math.ceil((i-d-s)/t)),0!==f){const s=new c.T;s.setShiftCoords(f*t,0),e.getImpl().applyTransformationToPath(s,0),e.queryPathEnvelope(0,m),d=m.getCenter().x}const g=new r.Envelope2D;n.containsExclusiveEnvelope(m)?(_=!1,g.setCoords({env2D:n})):(_=!0,g.setCoords({env2D:n}),g.xmin-=t,g.xmax+=t);let P=e.createInstance();P.addPathPoint2D(null,0,!0);const p=new u.P;if(p.setCoords(g.xmin,g.ymin),P.insertPoint2D(0,-1,p),p.setCoords(g.xmin,g.ymax),P.insertPoint2D(0,-1,p),p.setCoords(.5*(g.xmin+g.xmax),g.ymax),P.insertPoint2D(0,-1,p),p.setCoords(g.xmax,g.ymax),P.insertPoint2D(0,-1,p),p.setCoords(g.xmax,g.ymin),P.insertPoint2D(0,-1,p),p.setCoords(.5*(g.xmin+g.xmax),g.ymin),P.insertPoint2D(0,-1,p),_){P.addPath(e,0,!0);const s=new c.T;d<i?s.setShiftCoords(t,0):s.setShiftCoords(-t,0),e.getImpl().applyTransformationToPath(s,0),P.addPath(e,0,!0);const r=new a.E,m=r.addGeometry(P);(0,o.W)(r,m,this.m_gcs,0,2,!0,n.xmin),(0,o.W)(r,m,this.m_gcs,0,2,!0,n.xmax),P=r.getGeometry(m);const u=(0,h.f)(P,n);u.inflateCoords(0,1);const _=(0,h.c)(null,u,!0).total();P=(0,l.c)(P,n,_,Number.NaN,this.m_progressTracker)}else P.addPath(e,0,!0);e.setEmpty(),e.add(P,!1)}setMinCornerStep(){const e={stack:[],error:void 0,hasError:!1};try{let t=Math.min(Math.PI*this.m_a-this.m_absDistance,this.m_absDistance);t=Math.min(t,.125*this.m_a*Math.PI);const s=new u.P;s.setCoords(0,10*this.m_rpu);const n=0;let i=45*this.m_rpu;const r=(0,m.b)(e,new u.S(new o.P,new o.P),!1),a=(0,m.b)(e,new u.S(new o.P,new o.P),!1),h=(0,m.b)(e,new u.S(new o.P,new o.P),!1),c=(0,m.b)(e,new u.S(new o.P,new o.P),!1),l=new u.P,_=new u.P,f=new u.P,d=new u.P;for(o.z.geodesicCoordinate(this.m_a,this.m_eSquared,s.x,s.y,t,n,r.at(0),r.at(1)),l.setCoords(r.at(0).val,r.at(1).val),o.z.geodesicCoordinate(this.m_a,this.m_eSquared,s.x,s.y,t,i,a.at(0),a.at(1)),_.setCoords(a.at(0).val,a.at(1).val);;){const e={stack:[],error:void 0,hasError:!1};try{const r=.5*(n+i);o.z.geodesicCoordinate(this.m_a,this.m_eSquared,s.x,s.y,t,r,h.at(0),h.at(1)),f.setCoords(h.at(0).val,h.at(1).val);const u=(0,m.b)(e,new o.P,!1),g=(0,m.b)(e,new o.P,!1);o.z.geodeticDistance(this.m_a,this.m_eSquared,l.x,l.y,_.x,_.y,u,g,null,2),o.z.geodeticCoordinate(this.m_a,this.m_eSquared,l.x,l.y,.5*u.val,g.val,c.at(0),c.at(1),2),d.setCoords(c.at(0).val,c.at(1).val);const P=(0,m.b)(e,new o.P,!1);if(o.z.geodeticDistance(this.m_a,this.m_eSquared,f.x,f.y,d.x,d.y,P,null,null,2),P.val<=this.m_convergenceOffset)break;i*=.9,o.z.geodesicCoordinate(this.m_a,this.m_eSquared,s.x,s.y,t,i,a.at(0),a.at(1)),_.setCoords(a.at(0).val,a.at(1).val)}catch(t){e.error=t,e.hasError=!0}finally{(0,m.c)(e)}}const g=i-n,P=2*Math.PI/Math.ceil(2*Math.PI/g);this.m_cornerStep=P}catch(t){e.error=t,e.hasError=!0}finally{(0,m.c)(e)}}setMinSegmentStep(){const e={stack:[],error:void 0,hasError:!1};try{let t=Math.min(Math.PI*this.m_a-this.m_absDistance,this.m_absDistance);t=Math.min(t,.125*this.m_a*Math.PI);const s=new u.P,n=new u.P;s.setCoords(0,10*this.m_rpu),n.setCoords(10*this.m_rpu,10*this.m_rpu);const i=(0,m.b)(e,new o.P,!1),r=(0,m.b)(e,new o.P,!1),a=(0,m.b)(e,new o.P,!1);o.z.geodeticDistance(this.m_a,this.m_eSquared,s.x,s.y,n.x,n.y,a,i,r,this.m_curveType);const h=(0,m.b)(e,new u.S(new o.P,new o.P),!1),c=(0,m.b)(e,new u.S(new o.P,new o.P),!1),l=new u.P,_=(0,m.b)(e,new o.P,!1),f=(0,m.b)(e,new u.S(new o.P,new o.P),!1),d=(0,m.b)(e,new u.S(new o.P,new o.P),!1),g=(0,m.b)(e,new u.S(new o.P,new o.P),!1),P=(0,m.b)(e,new u.S(new o.P,new o.P),!1),p=new u.P,b=new u.P,x=new u.P,y=new u.P,C=0;let w=1;const S=i.val,v=r.val,D=S-.5*Math.PI,I=v+.5*Math.PI,G=a.val;for(o.z.geodesicCoordinate(this.m_a,this.m_eSquared,s.x,s.y,t,D,f.at(0),f.at(1)),p.setCoords(f.at(0).val,f.at(1).val),o.z.geodesicCoordinate(this.m_a,this.m_eSquared,n.x,n.y,t,I,d.at(0),d.at(1)),b.setCoords(d.at(0).val,d.at(1).val);;){const e={stack:[],error:void 0,hasError:!1};try{const i=.5*(C+w);o.z.geodeticCoordinate(this.m_a,this.m_eSquared,s.x,s.y,i*G,S,h.at(0),h.at(1),this.m_curveType),l.setCoords(h.at(0).val,h.at(1).val),o.z.geodeticDistance(this.m_a,this.m_eSquared,s.x,s.y,l.x,l.y,null,null,_,this.m_curveType);const r=_.val+.5*Math.PI;o.z.geodesicCoordinate(this.m_a,this.m_eSquared,l.x,l.y,t,r,g.at(0),g.at(1)),x.setCoords(g.at(0).val,g.at(1).val);const a=(0,m.b)(e,new o.P,!1),u=(0,m.b)(e,new o.P,!1);o.z.geodeticDistance(this.m_a,this.m_eSquared,p.x,p.y,b.x,b.y,a,u,null,2),o.z.geodeticCoordinate(this.m_a,this.m_eSquared,p.x,p.y,.5*a.val,u.val,P.at(0),P.at(1),2),y.setCoords(P.at(0).val,P.at(1).val);const f=(0,m.b)(e,new o.P,!1);if(o.z.geodeticDistance(this.m_a,this.m_eSquared,x.x,x.y,y.x,y.y,f,null,null,2),f.val<=this.m_convergenceOffset)break;{const e={stack:[],error:void 0,hasError:!1};try{w*=.9,o.z.geodeticCoordinate(this.m_a,this.m_eSquared,s.x,s.y,w*G,S,c.at(0),c.at(1),this.m_curveType),n.setCoords(c.at(0).val,c.at(1).val);const i=(0,m.b)(e,new o.P,!1);o.z.geodeticDistance(this.m_a,this.m_eSquared,s.x,s.y,n.x,n.y,null,null,i,this.m_curveType);const r=i.val+.5*Math.PI;o.z.geodesicCoordinate(this.m_a,this.m_eSquared,n.x,n.y,t,r,d.at(0),d.at(1)),b.setCoords(d.at(0).val,d.at(1).val)}catch(t){e.error=t,e.hasError=!0}finally{(0,m.c)(e)}}}catch(t){e.error=t,e.hasError=!0}finally{(0,m.c)(e)}}let T=w*G;T>1e5&&(T=1e5),this.m_segmentStep=T}catch(t){e.error=t,e.hasError=!0}finally{(0,m.c)(e)}}setConvergenceOffset(){let e;e=this.m_absDistance>5e4?100:this.m_absDistance>1e4?10:1,this.m_absDistance/e<500&&(e=this.m_absDistance/500),e<.01&&(e=.01),this.m_convergenceOffset=e}}function g(e,t,s,n,m,c,l){if(e.isEmpty())return new a.a({vd:e.getDescription()});let _=e;if((0,i.m)(_)){const e=10*t.getTolerance(0);_=(new f.O).execute(_,0,e,0,l,12e3)}const g=new d(l);g.m_sr=t,g.m_gcs=t.getGCS(),g.m_transform=(0,o.B)(t,g.m_gcs,null);const P=(0,o.v)();g.m_gcs.querySpheroidData(P);const p=new r.Envelope2D;_.queryEnvelope(p),g.m_a=P.majorSemiAxis,g.m_eSquared=P.e2,g.m_rpu=g.m_gcs.getUnit().getUnitToBaseFactor(),g.m_gcs90=.5*Math.PI/g.m_rpu,g.m_gcs180=Math.PI/g.m_rpu,g.m_gcs360=2*Math.PI/g.m_rpu,g.m_gcs60=g.m_gcs360/6,g.m_q90=o.J.q90(g.m_a,g.m_eSquared),g.m_ellipticToGeodesicMaxRatio=.5*g.m_a*Math.PI/g.m_q90;const b=g.m_gcs.getTolerance(0);g.m_radTolerance=b*g.m_rpu,4===s?(g.m_curveType=2,g.m_bShapePreserving=!0):(g.m_curveType=s,g.m_bShapePreserving=!1),g.m_distance=n,g.m_absDistance=Math.abs(n),Number.isNaN(m)||m<=0?g.setConvergenceOffset():g.m_convergenceOffset=Math.max(m,.001),g.m_convergenceOffset/=c;let x,y=_.getGeometryType();if((0,i.f)(y)){const e=new a.P({vd:_.getDescription()});e.addSegment(_,!0),x=e,y=i.G.enumPolyline}else if(y===i.G.enumEnvelope){const e=_,t=new r.Envelope2D;e.queryEnvelope(t);const s=(0,h.e)((0,h.c)(g.m_sr,p,!0));if(t.minDimension()<=s)if(0===t.maxDimension()){const t=new h.P({vd:_.getDescription()});e.getCenter(t),x=t,y=i.G.enumPoint}else{const t=new a.P({vd:_.getDescription()});t.addEnvelope(e,!1),x=t,y=i.G.enumPolyline}else{const t=new a.a({vd:_.getDescription()});t.addEnvelope(e,!1),x=t,y=i.G.enumPolygon}}else x=_;if(g.setMinCornerStep(),(0,i.e)(y)||g.setMinSegmentStep(),g.m_absDistance<=.5*g.m_convergenceOffset)return y!==i.G.enumPolygon?new a.a({vd:x.getDescription()}):g.m_bShapePreserving?x:(0,o.L)(x,g.m_sr,g.m_curveType,g.m_segmentStep,-1,l);if(g.m_distance<0&&y!==i.G.enumPolygon)return new a.a({vd:x.getDescription()});if(g.m_bShapePreserving&&(0,i.h)(y)){const e=(0,o.L)(x,t,4,Number.NaN,g.m_convergenceOffset,l);x=(new o.A).execute(e,g.m_transform,l)}else x=(new o.A).execute(x,g.m_transform,l);if(x=(0,o.H)(x,g.m_gcs),x.isEmpty())return new a.a({vd:x.getDescription()});!g.m_bShapePreserving&&(0,i.h)(y)&&(x=(0,o.Q)(g.m_rpu,x)),x=function(e,t){const s=e.getGeometryType();let n;if(n=(0,i.h)(s)?e.getPathCount():s===i.G.enumMultiPoint?e.getPointCount():1,1===n)return e;const o=[],m=[];for(let a=0;a<n;a++){o.push(a);const n=new u.P;if((0,i.h)(s)){const t=new r.Envelope2D;e.queryPathEnvelope(a,t),n.assign(t.getCenter())}else n.assign(e.getXY(a));const h=t.toGeohash(n);m.push(h)}o.sort(((e,t)=>m[e]<m[t]?-1:m[e]>m[t]?1:0));const a=e.createInstance();for(let t=0;t<n;t++){const n=o[t];(0,i.h)(s)?a.addPath(e,n,!0):a.addPoints(e,n,n+1)}return a}(x,g.m_gcs);let C=new a.a;switch(y){case i.G.enumPolygon:C=g.bufferPolygon(x);break;case i.G.enumPolyline:C=g.bufferPolyline(x);break;case i.G.enumMultiPoint:C=g.bufferMultiPoint(x);break;case i.G.enumPoint:C=g.bufferPoint(x);break;default:(0,i.n)("")}const w=(new o.A).execute(C,g.m_transform.getInverse(),l);return w.mergeVertexDescription(x.getDescription()),w}function P(e,t,s,n,i,r,a,h,c,l,_){const f={stack:[],error:void 0,hasError:!1};try{const d=new u.P;d.setNAN(),c||_.getPointCount()>0&&(d.setCoordsPoint2D(_.getXY(_.getPointCount()-1)),d.scale(s));const g=(0,m.b)(f,new o.P,!1),P=(0,m.b)(f,new u.S(new o.P,new o.P),!1),p=new u.P,b=new u.P,y=r.at(-1),C=1/s;for(let s=0;s<r.length;s++){const m=r[s];let u;0===s?u=a:s===r.length-1?u=h:(o.z.geodeticDistance(e,t,y.x,y.y,m.x,m.y,null,null,g,i),u=g.val-.5*Math.PI),o.z.geodesicCoordinate(e,t,m.x,m.y,n,u,P.at(0),P.at(1)),c?b.setCoords(P.at(0).val,P.at(1).val):(p.setCoords(P.at(0).val,P.at(1).val),l=x(m.x,p.x,d.x,l),b.setCoords(l+p.x,p.y),d.setCoordsPoint2D(b)),b.scale(C),_.insertPoint2D(0,-1,b)}return l}catch(e){f.error=e,f.hasError=!0}finally{(0,m.c)(f)}}function p(e,t,s,n,i,r,a,h,c,l,_,f=Number.NaN,d=Number.NaN){const g={stack:[],error:void 0,hasError:!1};try{if(a-r<h)return l;const P=(0,m.b)(g,new u.S(new o.P,new o.P),!1),p=new u.P,b=new u.P,y=new u.P;b.setNAN(),c||_.getPointCount()>0&&(b.setCoordsPoint2D(_.getXY(_.getPointCount()-1)),b.scale(s));let C=Math.ceil(r/h),w=C++*h;w===r&&(w=C++*h);let S=r;const v=1/s;for(;w<a+h&&(S<f&&f<w?(w=f,C--):S<d&&d<w&&(w=d,C--),!(w>=a));)o.z.geodesicCoordinate(e,t,i.x,i.y,n,w,P.at(0),P.at(1)),c?y.setCoords(P.at(0).val,P.at(1).val):(p.setCoords(P.at(0).val,P.at(1).val),l=x(i.x,p.x,b.x,l),y.setCoords(l+p.x,p.y),b.setCoordsPoint2D(y)),y.scale(v),_.insertPoint2D(0,-1,y),S=w,w=C++*h;return l}catch(e){g.error=e,g.hasError=!0}finally{(0,m.c)(g)}}function b(e,t,s,n,i,r,a,h,c,l,_){const f={stack:[],error:void 0,hasError:!1};try{const s=new u.P,d=new u.P,g=(0,m.b)(f,new u.S(new o.P,new o.P),!1);o.z.geodesicCoordinate(e,t,i.x,i.y,n,r,g.at(0),g.at(1)),s.setCoords(g.at(0).val,g.at(1).val),o.z.geodesicCoordinate(e,t,i.x,i.y,n,a,g.at(0),g.at(1)),d.setCoords(g.at(0).val,g.at(1).val);const P=(0,m.b)(f,new o.P,!1);for(o.z.geodeticDistance(e,t,h.x,h.y,s.x,s.y,null,P,null,0),l[0]=P.val,o.z.geodeticDistance(e,t,h.x,h.y,d.x,d.y,null,P,null,0),_[0]=P.val;l[0]<=_[0];)l[0]+=u.p;for(;l[0]>_[0];)l[0]-=u.p;for(;l[0]>=c;)l[0]-=u.p,_[0]-=u.p;for(;l[0]<c;)l[0]+=u.p,_[0]+=u.p}catch(e){f.error=e,f.hasError=!0}finally{(0,m.c)(f)}}function x(e,t,s,n){if(Number.isNaN(s)){for(;n+t-e>Math.PI;)n-=u.p;for(;e-(n+t)>Math.PI;)n+=u.p;return n}return n+t-s>Math.PI?n-=u.p:s-(n+t)>Math.PI&&(n+=u.p),n}function y(e,t,s,n,i,r){const a={stack:[],error:void 0,hasError:!1};try{if(n>=r)return!1;const h=s[0],c=s.at(-1),u=(0,m.b)(a,new o.P,!1),l=(0,m.b)(a,new o.P,!1),_=(0,m.b)(a,new o.P,!1);o.z.greatEllipticDistance(e,t,i.x,i.y,h.x,h.y,u,null,null),o.z.greatEllipticDistance(e,t,i.x,i.y,c.x,c.y,l,null,null),o.z.greatEllipticDistance(e,t,h.x,h.y,c.x,c.y,_,null,null);let f=Math.min(u.val,l.val)+_.val,d=f+n;if(d<r)return!0;const g=(0,m.b)(a,new o.P,!1);f=Math.max(u.val,l.val);for(let n=1;n<s.length-1;n++){const r=s[n];o.z.greatEllipticDistance(e,t,i.x,i.y,r.x,r.y,g,null,null),g.val>f&&(f=g.val)}return d=f+n,d<r}catch(e){a.error=e,a.hasError=!0}finally{(0,m.c)(a)}}function C(e,t,s,n,i,r,m,a){let h;if(n.length%2==0){const e=n.length>>1,t=n[e],s=n[e-1];h=u.P.lerp(t,s,.5)}else h=n[n.length-1>>1].clone();const c=h.clone(),l=(0,o.Y)(e,t,c,75/180*Math.PI);return!!y(e,t,n,i,c,l)&&(null!==r&&(r.setCoordsPoint2D(h),r.scale(1/s)),null!==m&&m.setCoordsPoint2D(c),null!==a&&(a[0]=l),!0)}function w(e,t,s,n,i,r){const a={stack:[],error:void 0,hasError:!1};try{if(n>=r)return!1;const h=(0,m.b)(a,new o.P,!1);return o.z.greatEllipticDistance(e,t,i.x,i.y,s.x,s.y,h,null,null),h.val+n<r}catch(e){a.error=e,a.hasError=!0}finally{(0,m.c)(a)}}function S(e,t){return new o.a1(e,t)}function v(e){return(0,h.h)(e,0)||(0,h.s)(e,0),e}class D{constructor(e){this.m_bRunningInGnomonic=!1,this.m_bNeedsSimplify=!1,this.m_gnomonic=null,this.m_gnomonicCenterRad=new u.P,this.m_minGnomonicRadius=Number.NaN,this.m_progressTracker=e}isRunningInGnomonic(){return this.m_bRunningInGnomonic}needsSimplify(){return this.m_bNeedsSimplify}getGnomonic(){return this.m_gnomonic}}class I extends D{constructor(e,t,s){super(e.m_progressTracker),this.m_segIter=null,this.m_bNextSegmentCannotJoin=!1,this.m_currentDensifiedDelta=[0],this.m_currentBufferedDelta=0,this.m_lastAzimuth=0,this.m_startAzimuth=[0],this.m_endAzimuth=[0],this.m_numWinds=0,this.m_debugCounter=0,this.m_bufferHelper=new a.a,this.m_densifiedPoints=[],this.m_bufferer=e,this.m_multiPath=t,this.m_densified=s,this.m_bNeedsSimplify=!0;const n=new r.Envelope2D;this.m_multiPath.queryEnvelope(n);const i=n.getCenter(),m=i.clone();m.scale(this.m_bufferer.m_rpu),this.m_gnomonic=S(this.m_bufferer.m_gcs,i),this.m_gnomonicCenterRad=m.clone(),this.m_minGnomonicRadius=(0,o.Y)(this.m_bufferer.m_a,this.m_bufferer.m_eSquared,m,75/180*Math.PI)}next(){let e;if(this.m_bNextSegmentCannotJoin)return this.m_bNextSegmentCannotJoin=!1,this.m_segIter.nextSegment(),e=this.m_bufferHelper.clone(),e;if(null===this.m_segIter){if(this.m_segIter=this.m_multiPath.getImpl().querySegmentIterator(),!this.m_segIter.nextPath())return null;null!==this.m_densified&&this.m_densified.addPathPoint2D(null,0,!0)}if(!this.m_segIter.hasNextSegment()){if(!this.m_segIter.nextPath())return null;null!=this.m_densified&&this.m_densified.addPathPoint2D(null,0,!0)}let t=null;this.m_currentBufferedDelta=0,this.m_currentDensifiedDelta=[0],this.m_numWinds=0,this.m_lastAzimuth=Number.NaN,this.m_bNextSegmentCannotJoin=!1,this.m_densifiedPoints.length=0;let s=0;const n=new u.P,i=new u.P;for(;this.m_segIter.hasNextSegment()&&this.m_numWinds<16;){const e=this.m_segIter.nextSegment();if(n.setCoordsPoint2D(e.getStartXY()),i.setCoordsPoint2D(e.getEndXY()),n.scale(this.m_bufferer.m_rpu),i.scale(this.m_bufferer.m_rpu),(0,o.Z)(n,i))n.x=i.x;else if((0,o._)(n,i))i.x=n.x;else{let e=-1,t=-1;const s=this.m_segIter.getPathIndex(),r=this.m_multiPath.getPathStart(s),m=this.m_multiPath.getPathEnd(s);if(e=this.m_segIter.getStartPointIndex()-1,t=this.m_segIter.getEndPointIndex()+1,e<r&&(e=this.m_multiPath.isClosedPath(s)?m-1:-1),t>m-1&&(t=this.m_multiPath.isClosedPath(s)?r:-1),-1!==e){const t=this.m_multiPath.getXY(e);t.scale(this.m_bufferer.m_rpu),(0,o._)(t,n)&&(n.x=t.x)}if(-1!==t){const e=this.m_multiPath.getXY(t);e.scale(this.m_bufferer.m_rpu),(0,o.Z)(i,e)&&(i.x=e.x)}}this.m_densifiedPoints.length=0;const r=(0,o.$)(this.m_bufferer.m_a,this.m_bufferer.m_eSquared,this.m_bufferer.m_curveType,n,i,this.m_bufferer.m_segmentStep,Number.NaN,this.m_bufferer.m_radTolerance,this.m_startAzimuth,this.m_endAzimuth,this.m_densifiedPoints,this.m_currentDensifiedDelta);if(0===s)this.m_bRunningInGnomonic=this.isSegmentBufferInCurrentGnomonic(this.m_densifiedPoints),this.m_bRunningInGnomonic||(this.m_bRunningInGnomonic=this.tryUpdateGnomonic(this.m_densifiedPoints));else if(this.m_bRunningInGnomonic){if(!this.isSegmentBufferInCurrentGnomonic(this.m_densifiedPoints)){this.m_segIter.previousSegment(),this.m_segIter.previousSegment(),this.m_segIter.nextSegment();break}}else if(C(this.m_bufferer.m_a,this.m_bufferer.m_eSquared,this.m_bufferer.m_rpu,this.m_densifiedPoints,this.m_bufferer.m_absDistance*this.m_bufferer.m_ellipticToGeodesicMaxRatio,null,null,null)){this.m_segIter.previousSegment(),this.m_segIter.previousSegment(),this.m_segIter.nextSegment();break}if(0===r||(0,o.a0)(n,i)?(this.m_bufferHelper.setEmpty(),this.m_bufferer.bufferPoint2D(n,this.m_bRunningInGnomonic,this.m_bufferHelper),this.m_bNextSegmentCannotJoin=!0):(this.m_bufferHelper.setEmpty(),this.m_bNextSegmentCannotJoin=this.checkAndPrepSegmentForCrossingAzimuthsOrPoleWrap(r,this.m_bufferHelper)),this.m_bNextSegmentCannotJoin){this.m_segIter.previousSegment(),this.m_segIter.hasPreviousSegment()?(this.m_segIter.previousSegment(),this.m_segIter.nextSegment()):this.m_segIter.resetToFirstSegment(),null!=this.m_densified&&this.m_densified.insertPointsFromPoints(this.m_densified.getPathCount()-1,-1,this.m_densifiedPoints,0,this.m_densifiedPoints.length-1,!0);break}null!=this.m_densified&&this.m_densified.insertPointsFromPoints(this.m_densified.getPathCount()-1,-1,this.m_densifiedPoints,0,this.m_densifiedPoints.length-1,!0),null===t&&(t=new a.a,t.addPathPoint2D(null,0,!0)),this.addJoinAndBufferLeftSide(t),s++}if(this.m_currentDensifiedDelta=[0],s>0){const e=this.m_segIter.getStartPointIndex(),r=this.m_segIter.getPathIndex();for(;s>0;){if(this.m_segIter.previousSegment(),n.setCoordsPoint2D(this.m_multiPath.getXY(this.m_segIter.getStartPointIndex())),i.setCoordsPoint2D(this.m_multiPath.getXY(this.m_segIter.getEndPointIndex())),n.scale(this.m_bufferer.m_rpu),i.scale(this.m_bufferer.m_rpu),this.m_bRunningInGnomonic)if((0,o.Z)(n,i))n.x=i.x;else if((0,o._)(n,i))i.x=n.x;else{let e=-1,t=-1;const s=this.m_segIter.getPathIndex(),r=this.m_multiPath.getPathStart(s),m=this.m_multiPath.getPathEnd(s);if(e=this.m_segIter.getStartPointIndex()-1,t=this.m_segIter.getEndPointIndex()+1,e<r&&(e=this.m_multiPath.isClosedPath(s)?m-1:-1),t>m-1&&(t=this.m_multiPath.isClosedPath(s)?r:-1),-1!==e){const t=this.m_multiPath.getXY(e);t.scale(this.m_bufferer.m_rpu),(0,o._)(t,n)&&(n.x=t.x)}if(-1!==t){const e=this.m_multiPath.getXY(t);e.scale(this.m_bufferer.m_rpu),(0,o.Z)(i,e)&&(i.x=e.x)}}this.m_densifiedPoints.length=0,(0,o.$)(this.m_bufferer.m_a,this.m_bufferer.m_eSquared,this.m_bufferer.m_curveType,i,n,this.m_bufferer.m_segmentStep,Number.NaN,this.m_bufferer.m_radTolerance,this.m_startAzimuth,this.m_endAzimuth,this.m_densifiedPoints,this.m_currentDensifiedDelta),this.addJoinAndBufferLeftSide(t),s--}return n.setCoordsPoint2D(this.m_multiPath.getXY(this.m_segIter.getStartPointIndex())),n.scale(this.m_bufferer.m_rpu),this.m_currentBufferedDelta=p(this.m_bufferer.m_a,this.m_bufferer.m_eSquared,this.m_bufferer.m_rpu,this.m_bufferer.m_absDistance,n,this.m_lastAzimuth+.5*Math.PI,this.m_lastAzimuth+1.5*Math.PI,this.m_bufferer.m_cornerStep,this.m_bRunningInGnomonic,this.m_currentBufferedDelta,t),this.m_segIter.resetToVertex(e,r),this.m_segIter.nextSegment(),t}return this.m_bNextSegmentCannotJoin=!1,this.m_segIter.nextSegment(),e=this.m_bufferHelper.clone(),e}isSegmentBufferInCurrentGnomonic(e){return null!==this.m_gnomonic&&y(this.m_bufferer.m_a,this.m_bufferer.m_eSquared,e,this.m_bufferer.m_absDistance*this.m_bufferer.m_ellipticToGeodesicMaxRatio,this.m_gnomonicCenterRad,this.m_minGnomonicRadius)}tryUpdateGnomonic(e){const t=new u.P,s=new u.P,n=[0];return C(this.m_bufferer.m_a,this.m_bufferer.m_eSquared,this.m_bufferer.m_rpu,e,this.m_bufferer.m_absDistance*this.m_bufferer.m_ellipticToGeodesicMaxRatio,t,s,n)?(this.m_gnomonicCenterRad.setCoordsPoint2D(s),this.m_minGnomonicRadius=n[0],this.m_gnomonic=S(this.m_bufferer.m_gcs,t),!0):(this.m_gnomonic=null,!1)}checkAndPrepSegmentForCrossingAzimuthsOrPoleWrap(e,t){return this.m_bufferer.checkAndPrepSegmentForCrossingAzimuthsOrPoleWrap(this.m_densifiedPoints,e,this.m_startAzimuth[0],this.m_endAzimuth[0],this.m_bRunningInGnomonic,t)}addJoinAndBufferLeftSide(e){const t=this.m_densifiedPoints[0];let s=Number.NaN,n=this.m_startAzimuth[0]-u.o;const i=this.m_endAzimuth[0]+u.o;let r=!1;if(!Number.isNaN(this.m_lastAzimuth)){this.m_lastAzimuth>=this.m_startAzimuth[0]?(s=this.m_lastAzimuth+u.o,n=s+Math.PI-(this.m_lastAzimuth-this.m_startAzimuth[0])):(s=this.m_lastAzimuth+u.o,n=s+Math.PI-(u.p-(this.m_startAzimuth[0]-this.m_lastAzimuth))),r=!(this.m_lastAzimuth>=this.m_startAzimuth[0]&&this.m_lastAzimuth-this.m_startAzimuth[0]<=Math.PI||this.m_lastAzimuth<this.m_startAzimuth[0]&&this.m_startAzimuth[0]-this.m_lastAzimuth>=Math.PI);let i=!1;if(Math.abs(n-s)<=.5*this.m_bufferer.m_cornerStep&&(r||(i=!0)),i){if(e.removePointFromPath(0,e.getPointCount()-1),!this.m_bRunningInGnomonic){const t=new u.P;t.setCoordsPoint2D(e.getXY(e.getPointCount()-1)),t.scale(this.m_bufferer.m_rpu),t.x-this.m_currentBufferedDelta<-Math.PI?this.m_currentBufferedDelta-=u.p:t.x-this.m_currentBufferedDelta>Math.PI&&(this.m_currentBufferedDelta+=u.p)}n=.5*(n+s)}else if(r){const s=new u.P;s.setCoordsPoint2D(t),s.scale(1/this.m_bufferer.m_rpu),e.insertPoint2D(0,-1,s)}else p(this.m_bufferer.m_a,this.m_bufferer.m_eSquared,this.m_bufferer.m_rpu,this.m_bufferer.m_absDistance,this.m_densifiedPoints[0],s,n,this.m_bufferer.m_cornerStep,this.m_bRunningInGnomonic,this.m_currentBufferedDelta,e)}this.m_startAzimuth[0]!==this.m_lastAzimuth&&this.m_numWinds++,P(this.m_bufferer.m_a,this.m_bufferer.m_eSquared,this.m_bufferer.m_rpu,this.m_bufferer.m_absDistance,this.m_bufferer.m_curveType,this.m_densifiedPoints,n,i,this.m_bRunningInGnomonic,this.m_currentBufferedDelta,e),this.m_lastAzimuth=this.m_endAzimuth[0]}}class G extends D{constructor(e,t){super(e.m_progressTracker),this.m_pointIndex=-1,this.m_bufferer=e,this.m_multiPoint=t,this.m_bNeedsSimplify=!1;const s=new r.Envelope2D;this.m_multiPoint.queryEnvelope(s);const n=s.getCenter(),i=n.clone();i.scale(this.m_bufferer.m_rpu),this.m_gnomonic=S(this.m_bufferer.m_gcs,n),this.m_gnomonicCenterRad=i.clone(),this.m_minGnomonicRadius=(0,o.Y)(this.m_bufferer.m_a,this.m_bufferer.m_eSquared,i,75/180*Math.PI)}next(){if(this.m_bNeedsSimplify=!1,++this.m_pointIndex===this.m_multiPoint.getPointCount())return null;const e=this.m_multiPoint.getXY(this.m_pointIndex);e.scale(this.m_bufferer.m_rpu),this.m_bRunningInGnomonic=this.isPointBufferInCurrentGnomonic(e),this.m_bRunningInGnomonic||(this.m_bRunningInGnomonic=this.tryUpdateGnomonic(e));const t=new a.a,s=this.m_bufferer.bufferPoint2D(e,this.m_bRunningInGnomonic,t);return this.m_bNeedsSimplify=s,t}isPointBufferInCurrentGnomonic(e){return null!==this.m_gnomonic&&w(this.m_bufferer.m_a,this.m_bufferer.m_eSquared,e,this.m_bufferer.m_absDistance*this.m_bufferer.m_ellipticToGeodesicMaxRatio,this.m_gnomonicCenterRad,this.m_minGnomonicRadius)}tryUpdateGnomonic(e){const t=new u.P,s=new u.P,n=[0];return function(e,t,s,n,i,r,m,a){const h=(0,o.Y)(e,t,n,75/180*Math.PI);return!!w(e,t,n,i,n,h)&&(null!==r&&(r.setCoordsPoint2D(n),r.scale(1/s)),null!==m&&m.setCoordsPoint2D(n),null!==a&&(a[0]=h),!0)}(this.m_bufferer.m_a,this.m_bufferer.m_eSquared,this.m_bufferer.m_rpu,e,this.m_bufferer.m_absDistance*this.m_bufferer.m_ellipticToGeodesicMaxRatio,t,s,n)?(this.m_gnomonicCenterRad.setCoordsPoint2D(s),this.m_minGnomonicRadius=n[0],this.m_gnomonic=S(this.m_bufferer.m_gcs,t),!0):(this.m_gnomonic=null,!1)}}class T{getOperatorType(){return 10110}supportsCurves(){return!0}accelerateGeometry(e,t,s){return!1}canAccelerateGeometry(e){return!1}executeMany(e,t,s,n,i,r,m,a){if(m){const m=new M(e,t,s,n,i,!1,r,a);return(new o.j).executeMany(m,t,a)}return new M(e,t,s,n,i,!1,r,a)}execute(e,t,s,r,o,m,a){const h=new n.S([e]),c=[r],u=this.executeMany(h,t,s,c,o,!1,m,a).next();return u||(0,i.d)("geodesic buffer null output"),u}}class M extends n.G{constructor(e,t,s,n,o,m,a,h){super(),this.m_currentUnionEnvelope2D=new r.Envelope2D,this.m_index=-1,this.m_dindex=-1,this.m_progressTracker=h,m&&(0,i.t)(""),t||(0,i.a)(""),0===t.getCoordinateSystemType()&&(0,i.a)(""),this.m_inputGeoms=e,this.m_spatialReference=t,this.m_curveType=s,this.m_distances=n,this.m_convergenceOffset=o,this.m_bOutlineOnly=m,this.m_bUnion=a}next(){let e;for(;e=this.m_inputGeoms.next();)return(0,i.c)(e),this.m_index=this.m_inputGeoms.getGeometryID(),this.m_dindex+1<this.m_distances.length&&this.m_dindex++,this.geodesicBuffer(e,this.m_distances[this.m_dindex]);return null}getGeometryID(){return this.m_index}tock(){return!0}getRank(){return 1}geodesicBuffer(e,t){return function(e,t,s,n,r,o){n<Number.MAX_VALUE&&n>-Number.MAX_VALUE||(0,i.a)("Geodesic_bufferer.buffer - bad distance"),(0,i.c)(e);const m=(0,_.c)(e),a=m.getGeometryType();if((0,i.i)(a)){const e=m.getPointCount(),h=8e6;if(Math.abs(n)>h&&(e>50||a!==i.G.enumMultiPoint&&4===s&&e>2)){let e=m;const i=n>0?1:-1,a=7e6;let c=n,u=1;do{u++,c=(Math.abs(c)-a)*i}while(Math.abs(c)>h);c=n;for(let n=0;n<u-1;n++)e=g(e,t,s,a*i,r,u,o),c=(Math.abs(c)-a)*i;return e=g(e,t,s,c,r,u,o),e}}return g(m,t,s,n,r,1,o)}(e,this.m_spatialReference,this.m_curveType,t,this.m_convergenceOffset,this.m_progressTracker)}}}}]);
1
+ "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[7444],{1364:(e,t,s)=>{s.d(t,{c:()=>i});var n=s(55537);function i(e,t){const s=e.getGeometryType();return s===n.G.enumPoint?e:(0,n.h)(s)?function(e){if(function(e){for(let t=0,s=e.getPathCount();t<s;t++){const s=e.getPathSize(t);if(0===s)return!1;if(1===s){if(0===e.getSegmentCountPath(t))return!1;if(e.getSegmentType(e.getPathStart(t))===n.G.enumLine)return!1;if(!e.isClosedPath(t))return!1}}return!0}(e))return e;const t=e.createInstance();for(let s=0,i=e.getPathCount();s<i;s++){const i=e.getPathSize(s);if(0!==i){if(1===i){if(0===e.getSegmentCountPath(s))continue;if(e.getSegmentType(e.getPathStart(s))===n.G.enumLine)continue;if(!e.isClosedPath(s))continue}t.addPath(e,s,!0)}}return t}(e):s===n.G.enumMultiPoint||s===n.G.enumEnvelope?e:s===n.G.enumMultipatch?((0,n.t)("not implemented for multipatch"),e):e}},37444:(e,t,s)=>{s.r(t),s.d(t,{OperatorGeodesicBuffer:()=>A});var n=s(76061),i=s(55537),r=s(79187),o=s(12189),m=s(90237),a=s(88885),h=s(95213),c=s(11878),u=s(83661),l=s(31139),_=s(1364),f=s(5247);class d{constructor(e){this.m_sr=null,this.m_gcs=null,this.m_transform=null,this.m_a=0,this.m_eSquared=0,this.m_rpu=0,this.m_radTolerance=0,this.m_q90=0,this.m_gcs90=0,this.m_gcs180=0,this.m_gcs360=0,this.m_gcs60=0,this.m_ellipticToGeodesicMaxRatio=0,this.m_curveType=0,this.m_bShapePreserving=!1,this.m_distance=0,this.m_absDistance=0,this.m_convergenceOffset=0,this.m_cornerStep=0,this.m_segmentStep=0,this.m_progressTracker=e}bufferPolygon(e){const t=new a.a,s=new I(this,e,t);return this.processGnomonicBufferPiecesCursor(!0,s)}bufferPolyline(e){const t=new I(this,e,null);return this.processGnomonicBufferPiecesCursor(!0,t)}bufferMultiPoint(e){const t=new G(this,e);return this.processGnomonicBufferPiecesCursor(!1,t)}bufferPoint(e){const t=e.getXY();t.scale(this.m_rpu);let s=new a.a;if(this.bufferPoint2D(t,!1,s)){const e=(0,h.b)(null,s,!0);s=(0,o.p)(s,e,!0,!0,-1,this.m_progressTracker,0,!1)}return s=(new o.z).foldInto360RangeGeodetic(s,this.m_gcs,2),s}processGnomonicBufferPiecesCursor(e,t){const s=t;let n=s.getGnomonic();const i=(0,o.R)((0,o.S)());let m=new o.U,a=(new o.j).executeMany(m,i,this.m_progressTracker,2);const l=(0,u.d)(6,!1),_=(0,u.m)(r.Envelope2D,6);this.initializeGrid(l,_);const f=[null,null,null,null,null,null],d=[null,null,null,null,null,null],g=[null,null,null,null,null,null];let P,p,b;for(;null!==(P=s.next());){if(p=s.getGnomonic(),p!==n){if(null!==n){let t=a.next();if(m=null,a=null,null!=t){const s=(0,h.b)(i,t,!0),r=(0,h.e)(s);t=n.unproject(t,r,this.m_progressTracker),this.putInGridCursors(e,t,i,!0,l,_,f,d,g)}}null!==p&&(m=new o.U,a=(new o.j).executeMany(m,i,this.m_progressTracker,2)),n=p}if(s.isRunningInGnomonic()){if(p.project(P),s.needsSimplify()){const e=(0,h.b)(null,P,!0);P=(0,o.p)(P,e,!0,!0,-1,this.m_progressTracker,0,!1)}m.tick(v(P)),a.tock()}else this.putInGridCursors(e,P,i,!0,l,_,f,d,g)}let x=!1;for(let e=0;e<6;e++)if(null!=g[e]){x=!0;break}if(x){let t=!1;const r=[null,null,null,null,null,null];if(e){const n=s.m_densified;if(s.m_densified=null,null!==n){const s=new c.T;s.scale(1/this.m_rpu,1/this.m_rpu),n.applyTransformation(s),this.m_distance>0?this.putInGridCursors(e,n,i,!1,l,_,f,d,g):(this.processInGrid(e,n,!1,l,_,f,r),t=!0)}}const u=new o.U,P=(new o.j).executeMany(u,this.m_gcs,this.m_progressTracker,2);if(null!==a){let t=a.next();m=null,a=null;const s=(0,h.b)(i,t,!0),r=(0,h.e)(s);t=n.unproject(t,r,this.m_progressTracker),this.putInGridCursors(e,t,i,!0,l,_,f,d,g)}for(let e=0;e<6;e++)if(null!=g[e]){let s=g[e].next();g[e]=null,d[e]=null,t&&null!==r[e]&&(s=(new o.f).execute(r[e],s,i,this.m_progressTracker));const n=(0,h.b)(i,s,!0),m=(0,h.e)(n);s=f[e].unproject(s,m,this.m_progressTracker),s=(new o.O).execute(s,this.m_gcs,!0,this.m_progressTracker),u.tick(v(s)),P.tock()}b=P.next()}else{let t,r=!1;if(e){let e=s.m_densified;if(s.m_densified=null,null!==e){const s=new c.T;s.scale(1/this.m_rpu,1/this.m_rpu),e.applyTransformation(s),p.project(e);const n=(0,h.b)(null,e,!0);e=(0,o.p)(e,n,!1,!0,-1,this.m_progressTracker,0,!1),this.m_distance>0?(m.tick(v(e)),a.tock()):(t=e,r=!0)}}let u=a.next();m=null,a=null,r&&(u=(new o.f).execute(t,u,i,this.m_progressTracker));const l=(0,h.b)(i,u,!0),_=(0,h.e)(l);b=n.unproject(u,_,this.m_progressTracker),b=(new o.O).execute(b,this.m_gcs,!0,this.m_progressTracker)}return b=(new o.z).foldInto360RangeGeodetic(b,this.m_gcs,2),b}putInGridCursors(e,t,s,n,i,r,m,a,h){const c=[null,null,null,null,null,null];this.processInGrid(e,t,n,i,r,m,c);for(let e=0;e<6;e++)null!==c[e]&&(null===a[e]&&(a[e]=new o.U,h[e]=(new o.j).executeMany(a[e],s,this.m_progressTracker,2)),a[e].tick(v(c[e])),h[e].tock())}processInGrid(e,t,s,n,i,r,m){const a=.01,c=this.insertGeodeticPointsAlongGrid(t,i,a);for(let e=0;e<6;e++){if(n[e])continue;const _=i[e].clone();_.inflateCoords(a,a);const f=(0,h.f)(t,_),d=(0,h.c)(null,f,!1).total();let g=(0,l.c)(c,_,d,Number.NaN,this.m_progressTracker);if(null!==g&&!g.isEmpty()){if(g===c&&(g=g.clone()),null===r[e]){const t=new u.P;e<3?t.setCoords(0,1):t.setCoords(0,-1);const s=new u.P;s.setAdd(i[e].getCenter(),t),r[e]=S(this.m_gcs,s)}r[e].project(g);const t=(0,h.b)(null,g,!0);g=(0,o.p)(g,t,s,!0,-1,this.m_progressTracker,0,!1),m[e]=g}}}insertGeodeticPointsAlongGrid(e,t,s){const n=r.Envelope2D.construct(t[3].xmin,t[3].ymin,t[2].xmax,t[2].ymax),i=(0,o.V)(this.m_gcs,n,e,!0,this.m_progressTracker),m=new a.E,h=m.addGeometry(i);return(0,o.W)(m,h,this.m_gcs,0,2,!0,t[0].xmax+s),(0,o.W)(m,h,this.m_gcs,0,2,!0,t[1].xmax+s),(0,o.W)(m,h,this.m_gcs,0,2,!1,t[1].ymin+s),0!==s&&((0,o.W)(m,h,this.m_gcs,0,2,!0,t[0].xmax-s),(0,o.W)(m,h,this.m_gcs,0,2,!0,t[1].xmax-s),(0,o.W)(m,h,this.m_gcs,0,2,!1,t[1].ymin-s)),m.getGeometry(h)}initializeGrid(e,t){for(let t=0;t<6;t++)e[t]=!1;t[0].setCoords({xmin:-this.m_gcs180,ymin:0,xmax:-this.m_gcs60,ymax:this.m_gcs90}),t[1].setCoords({xmin:-this.m_gcs60,ymin:0,xmax:this.m_gcs60,ymax:this.m_gcs90}),t[2].setCoords({xmin:this.m_gcs60,ymin:0,xmax:this.m_gcs180,ymax:this.m_gcs90}),t[3].setCoords({xmin:-this.m_gcs180,ymin:-this.m_gcs90,xmax:-this.m_gcs60,ymax:0}),t[4].setCoords({xmin:-this.m_gcs60,ymin:-this.m_gcs90,xmax:this.m_gcs60,ymax:0}),t[5].setCoords({xmin:this.m_gcs60,ymin:-this.m_gcs90,xmax:this.m_gcs180,ymax:0})}checkAndPrepSegmentForCrossingAzimuthsOrPoleWrap(e,t,s,n,i,r){const m=e[0],a=e.at(-1),h=m.y<a.y?m.y:a.y,c=m.y>a.y?m.y:a.y,l=o.M.q(this.m_a,this.m_eSquared,h),_=o.M.q(this.m_a,this.m_eSquared,c);if(this.m_q90-(l+t+this.m_absDistance)>.001&&this.m_q90+(_-t-this.m_absDistance)>.001)return!1;const f=s-u.o,d=n+u.o,g=f-Math.PI,x=f+Math.PI,y=d+Math.PI,w=[Number.NaN],C=[Number.NaN],S=[Number.NaN],v=[Number.NaN];let D=!1;if(b(this.m_a,this.m_eSquared,this.m_rpu,this.m_absDistance,m,f,g,a,d,w,C),b(this.m_a,this.m_eSquared,this.m_rpu,this.m_absDistance,a,y,d,m,g,S,v),(d<w[0]&&w[0]<y||d<C[0]&&C[0]<y)&&(D=!0),D||(g<S[0]&&S[0]<f||g<v[0]&&v[0]<f)&&(D=!0),!D&&i)return!1;const I=[];for(let t=e.length-1;t>=0;t--)I.push(e[t]);r.setEmpty(),r.addPathPoint2D(null,0,!0);let G=0;G=P(this.m_a,this.m_eSquared,this.m_rpu,this.m_absDistance,this.m_curveType,e,f,d,i,G,r),G=p(this.m_a,this.m_eSquared,this.m_rpu,this.m_absDistance,a,d,y,this.m_cornerStep,i,G,r,w[0],C[0]),G=P(this.m_a,this.m_eSquared,this.m_rpu,this.m_absDistance,this.m_curveType,I,y,x,i,G,r),G=p(this.m_a,this.m_eSquared,this.m_rpu,this.m_absDistance,m,g,f,this.m_cornerStep,i,G,r,S[0],v[0]);let A=!1;return i||(A=this.checkAndPrepForPole(r)),D||A}bufferPoint2D(e,t,s){s.setEmpty(),s.addPathPoint2D(null,0,!0),p(this.m_a,this.m_eSquared,this.m_rpu,this.m_absDistance,e,-this.m_cornerStep,2*Math.PI,this.m_cornerStep,t,0,s);let n=!1;return t||(n=this.checkAndPrepForPole(s)),n}checkAndPrepForPole(e){const t=this.checkAndPrepForPoleTouch(e),s=this.checkAndPrepForPoleWrap(e);return t||s}checkAndPrepForPoleTouch(e){const t=new r.Envelope2D;return e.queryEnvelope(t),!(!(0,o.X)(t.ymax,this.m_gcs90)&&!(0,o.X)(t.ymin,-this.m_gcs90)||(this.prepPoleTouch(e),0))}checkAndPrepForPoleWrap(e){const t=e.getXY(0),s=e.getXY(e.getPointCount()-1);return Math.abs(t.x-s.x)>this.m_gcs180?(this.prepSinglePoleWrap(e),!0):this.checkAndPrepForDoublePoleWrap(e)}checkAndPrepForDoublePoleWrap(e){return e.calculateArea2D()<0&&(this.prepDoublePoleWrap(e),!0)}prepPoleTouch(e){const t=new a.a;t.insertPath2D(-1,null,0,0,!0);const s=e.getPathStart(0),n=e.getPathEnd(0),i=n-s;let r=-1;for(r=s;r<n;r++){const t=e.getXY(r),s=(0,o.X)(t.y,this.m_gcs90),n=(0,o.X)(t.y,-this.m_gcs90);if(!s&&!n)break}let m=r,h=!1,c=Number.NaN;do{const n=e.getXY(m),r=(0,o.X)(n.y,this.m_gcs90),a=(0,o.X)(n.y,-this.m_gcs90),l=s+(m+1-s)%i;if(r||a){let s=u.P.construct(c,n.y);t.insertPoint2D(0,-1,s);const i=e.getXY(l),r=(0,o.X)(i.y,this.m_gcs90),m=(0,o.X)(i.y,-this.m_gcs90);r||m||(s=u.P.construct(i.x,n.y),h?t.setXY(t.getPointCount()-1,s):t.insertPoint2D(0,-1,s)),h=!0}else t.insertPoint2D(0,-1,n),c=n.x,h=!1;m=l}while(m!==r);e.setEmpty(),e.add(t,!1)}prepSinglePoleWrap(e){const t=new a.a,s=new a.a,n=new c.T,i=e.getXY(e.getPathStart(0)),m=e.getXY(e.getPathEnd(0)-1),_=this.m_gcs360,f=this.m_gcs180,d=new r.Envelope2D;d.setCoords({xmin:-this.m_gcs180,ymin:-this.m_gcs90,xmax:this.m_gcs180,ymax:this.m_gcs90});const g=new r.Envelope2D;e.queryEnvelope(g);const P=Math.ceil(g.width()/_);let p,b;i.x>m.x?(p=-_,b=this.m_gcs90):(p=_,b=-this.m_gcs90),n.setShiftCoords(p,0),t.addPath(e,0,!0),s.add(t,!1);const x=new h.P;for(let e=0;e<P;e++)s.applyTransformation(n),s.getPointByVal(0,x),t.lineToPoint(x),t.addSegmentsFromPath(s,0,0,s.getSegmentCount()-1,!1);const y=t.getXY(0),w=t.getXY(t.getPointCount()-1);y.y=b,w.y=b,t.lineTo(w);const C=new u.P;for(C.setCoordsPoint2D(w),C.x-=.5*p;Math.abs(C.x-y.x)>f;)t.lineTo(C),C.x-=.5*p;t.lineTo(y);const S=d.getCenterX(),v=new r.Envelope2D;t.queryEnvelope(v);let D=0;const I=v.getCenter().x;I-S>f?D=-Math.ceil((I-S-f)/_):S-I>f&&(D=Math.ceil((S-I-f)/_)),0!==D&&(n.setShiftCoords(D*_,0),t.applyTransformation(n));const G=new a.E,A=G.addGeometry(t);(0,o.W)(G,A,this.m_gcs,0,2,!0,d.xmin),(0,o.W)(G,A,this.m_gcs,0,2,!0,d.xmax);const M=G.getGeometry(A),T=(0,h.f)(M,d);T.inflateCoords(0,1);const N=(0,h.c)(null,T,!0).total(),E=(0,l.c)(M,d,N,Number.NaN,this.m_progressTracker);e.setEmpty(),e.add(E,!1)}prepDoublePoleWrap(e){const t=this.m_gcs360,s=this.m_gcs180,n=new r.Envelope2D;n.setCoords({xmin:-this.m_gcs180,ymin:-this.m_gcs90,xmax:this.m_gcs180,ymax:this.m_gcs90});const i=n.getCenter().x,m=new r.Envelope2D;e.queryPathEnvelope(0,m);let _,f=0,d=m.getCenter().x;if(d-i>s?f=-Math.ceil((d-i-s)/t):i-d>s&&(f=Math.ceil((i-d-s)/t)),0!==f){const s=new c.T;s.setShiftCoords(f*t,0),e.getImpl().applyTransformationToPath(s,0),e.queryPathEnvelope(0,m),d=m.getCenter().x}const g=new r.Envelope2D;n.containsExclusiveEnvelope(m)?(_=!1,g.setCoords({env2D:n})):(_=!0,g.setCoords({env2D:n}),g.xmin-=t,g.xmax+=t);let P=e.createInstance();P.addPathPoint2D(null,0,!0);const p=new u.P;if(p.setCoords(g.xmin,g.ymin),P.insertPoint2D(0,-1,p),p.setCoords(g.xmin,g.ymax),P.insertPoint2D(0,-1,p),p.setCoords(.5*(g.xmin+g.xmax),g.ymax),P.insertPoint2D(0,-1,p),p.setCoords(g.xmax,g.ymax),P.insertPoint2D(0,-1,p),p.setCoords(g.xmax,g.ymin),P.insertPoint2D(0,-1,p),p.setCoords(.5*(g.xmin+g.xmax),g.ymin),P.insertPoint2D(0,-1,p),_){P.addPath(e,0,!0);const s=new c.T;d<i?s.setShiftCoords(t,0):s.setShiftCoords(-t,0),e.getImpl().applyTransformationToPath(s,0),P.addPath(e,0,!0);const r=new a.E,m=r.addGeometry(P);(0,o.W)(r,m,this.m_gcs,0,2,!0,n.xmin),(0,o.W)(r,m,this.m_gcs,0,2,!0,n.xmax),P=r.getGeometry(m);const u=(0,h.f)(P,n);u.inflateCoords(0,1);const _=(0,h.c)(null,u,!0).total();P=(0,l.c)(P,n,_,Number.NaN,this.m_progressTracker)}else P.addPath(e,0,!0);e.setEmpty(),e.add(P,!1)}setMinCornerStep(){const e={stack:[],error:void 0,hasError:!1};try{let t=Math.min(Math.PI*this.m_a-this.m_absDistance,this.m_absDistance);t=Math.min(t,.125*this.m_a*Math.PI);const s=new u.P;s.setCoords(0,10*this.m_rpu);const n=0;let i=45*this.m_rpu;const r=(0,m.b)(e,new u.S(new o.P,new o.P),!1),a=(0,m.b)(e,new u.S(new o.P,new o.P),!1),h=(0,m.b)(e,new u.S(new o.P,new o.P),!1),c=(0,m.b)(e,new u.S(new o.P,new o.P),!1),l=new u.P,_=new u.P,f=new u.P,d=new u.P;for(o.A.geodesicCoordinate(this.m_a,this.m_eSquared,s.x,s.y,t,n,r.at(0),r.at(1)),l.setCoords(r.at(0).val,r.at(1).val),o.A.geodesicCoordinate(this.m_a,this.m_eSquared,s.x,s.y,t,i,a.at(0),a.at(1)),_.setCoords(a.at(0).val,a.at(1).val);;){const e={stack:[],error:void 0,hasError:!1};try{const r=.5*(n+i);o.A.geodesicCoordinate(this.m_a,this.m_eSquared,s.x,s.y,t,r,h.at(0),h.at(1)),f.setCoords(h.at(0).val,h.at(1).val);const u=(0,m.b)(e,new o.P,!1),g=(0,m.b)(e,new o.P,!1);o.A.geodeticDistance(this.m_a,this.m_eSquared,l.x,l.y,_.x,_.y,u,g,null,2),o.A.geodeticCoordinate(this.m_a,this.m_eSquared,l.x,l.y,.5*u.val,g.val,c.at(0),c.at(1),2),d.setCoords(c.at(0).val,c.at(1).val);const P=(0,m.b)(e,new o.P,!1);if(o.A.geodeticDistance(this.m_a,this.m_eSquared,f.x,f.y,d.x,d.y,P,null,null,2),P.val<=this.m_convergenceOffset)break;i*=.9,o.A.geodesicCoordinate(this.m_a,this.m_eSquared,s.x,s.y,t,i,a.at(0),a.at(1)),_.setCoords(a.at(0).val,a.at(1).val)}catch(t){e.error=t,e.hasError=!0}finally{(0,m.c)(e)}}const g=i-n,P=2*Math.PI/Math.ceil(2*Math.PI/g);this.m_cornerStep=P}catch(t){e.error=t,e.hasError=!0}finally{(0,m.c)(e)}}setMinSegmentStep(){const e={stack:[],error:void 0,hasError:!1};try{let t=Math.min(Math.PI*this.m_a-this.m_absDistance,this.m_absDistance);t=Math.min(t,.125*this.m_a*Math.PI);const s=new u.P,n=new u.P;s.setCoords(0,10*this.m_rpu),n.setCoords(10*this.m_rpu,10*this.m_rpu);const i=(0,m.b)(e,new o.P,!1),r=(0,m.b)(e,new o.P,!1),a=(0,m.b)(e,new o.P,!1);o.A.geodeticDistance(this.m_a,this.m_eSquared,s.x,s.y,n.x,n.y,a,i,r,this.m_curveType);const h=(0,m.b)(e,new u.S(new o.P,new o.P),!1),c=(0,m.b)(e,new u.S(new o.P,new o.P),!1),l=new u.P,_=(0,m.b)(e,new o.P,!1),f=(0,m.b)(e,new u.S(new o.P,new o.P),!1),d=(0,m.b)(e,new u.S(new o.P,new o.P),!1),g=(0,m.b)(e,new u.S(new o.P,new o.P),!1),P=(0,m.b)(e,new u.S(new o.P,new o.P),!1),p=new u.P,b=new u.P,x=new u.P,y=new u.P,w=0;let C=1;const S=i.val,v=r.val,D=S-.5*Math.PI,I=v+.5*Math.PI,G=a.val;for(o.A.geodesicCoordinate(this.m_a,this.m_eSquared,s.x,s.y,t,D,f.at(0),f.at(1)),p.setCoords(f.at(0).val,f.at(1).val),o.A.geodesicCoordinate(this.m_a,this.m_eSquared,n.x,n.y,t,I,d.at(0),d.at(1)),b.setCoords(d.at(0).val,d.at(1).val);;){const e={stack:[],error:void 0,hasError:!1};try{const i=.5*(w+C);o.A.geodeticCoordinate(this.m_a,this.m_eSquared,s.x,s.y,i*G,S,h.at(0),h.at(1),this.m_curveType),l.setCoords(h.at(0).val,h.at(1).val),o.A.geodeticDistance(this.m_a,this.m_eSquared,s.x,s.y,l.x,l.y,null,null,_,this.m_curveType);const r=_.val+.5*Math.PI;o.A.geodesicCoordinate(this.m_a,this.m_eSquared,l.x,l.y,t,r,g.at(0),g.at(1)),x.setCoords(g.at(0).val,g.at(1).val);const a=(0,m.b)(e,new o.P,!1),u=(0,m.b)(e,new o.P,!1);o.A.geodeticDistance(this.m_a,this.m_eSquared,p.x,p.y,b.x,b.y,a,u,null,2),o.A.geodeticCoordinate(this.m_a,this.m_eSquared,p.x,p.y,.5*a.val,u.val,P.at(0),P.at(1),2),y.setCoords(P.at(0).val,P.at(1).val);const f=(0,m.b)(e,new o.P,!1);if(o.A.geodeticDistance(this.m_a,this.m_eSquared,x.x,x.y,y.x,y.y,f,null,null,2),f.val<=this.m_convergenceOffset)break;{const e={stack:[],error:void 0,hasError:!1};try{C*=.9,o.A.geodeticCoordinate(this.m_a,this.m_eSquared,s.x,s.y,C*G,S,c.at(0),c.at(1),this.m_curveType),n.setCoords(c.at(0).val,c.at(1).val);const i=(0,m.b)(e,new o.P,!1);o.A.geodeticDistance(this.m_a,this.m_eSquared,s.x,s.y,n.x,n.y,null,null,i,this.m_curveType);const r=i.val+.5*Math.PI;o.A.geodesicCoordinate(this.m_a,this.m_eSquared,n.x,n.y,t,r,d.at(0),d.at(1)),b.setCoords(d.at(0).val,d.at(1).val)}catch(t){e.error=t,e.hasError=!0}finally{(0,m.c)(e)}}}catch(t){e.error=t,e.hasError=!0}finally{(0,m.c)(e)}}let A=C*G;A>1e5&&(A=1e5),this.m_segmentStep=A}catch(t){e.error=t,e.hasError=!0}finally{(0,m.c)(e)}}setConvergenceOffset(){let e;e=this.m_absDistance>5e4?100:this.m_absDistance>1e4?10:1,this.m_absDistance/e<500&&(e=this.m_absDistance/500),e<.01&&(e=.01),this.m_convergenceOffset=e}}function g(e,t,s,n,m,c,l){if(e.isEmpty())return new a.a({vd:e.getDescription()});let _=e;if((0,i.m)(_)){const e=10*t.getTolerance(0);_=(new f.O).execute(_,0,e,0,l,12e3)}const g=new d(l);g.m_sr=t,g.m_gcs=t.getGCS(),g.m_transform=(0,o.D)(t,g.m_gcs,null);const P=(0,o.v)();g.m_gcs.querySpheroidData(P);const p=new r.Envelope2D;_.queryEnvelope(p),g.m_a=P.majorSemiAxis,g.m_eSquared=P.e2,g.m_rpu=g.m_gcs.getUnit().getUnitToBaseFactor(),g.m_gcs90=.5*Math.PI/g.m_rpu,g.m_gcs180=Math.PI/g.m_rpu,g.m_gcs360=2*Math.PI/g.m_rpu,g.m_gcs60=g.m_gcs360/6,g.m_q90=o.M.q90(g.m_a,g.m_eSquared),g.m_ellipticToGeodesicMaxRatio=.5*g.m_a*Math.PI/g.m_q90;const b=g.m_gcs.getTolerance(0);g.m_radTolerance=b*g.m_rpu,4===s?(g.m_curveType=2,g.m_bShapePreserving=!0):(g.m_curveType=s,g.m_bShapePreserving=!1),g.m_distance=n,g.m_absDistance=Math.abs(n),Number.isNaN(m)||m<=0?g.setConvergenceOffset():g.m_convergenceOffset=Math.max(m,.001),g.m_convergenceOffset/=c;let x,y=_.getGeometryType();if((0,i.f)(y)){const e=new a.P({vd:_.getDescription()});e.addSegment(_,!0),x=e,y=i.G.enumPolyline}else if(y===i.G.enumEnvelope){const e=_,t=new r.Envelope2D;e.queryEnvelope(t);const s=(0,h.e)((0,h.c)(g.m_sr,p,!0));if(t.minDimension()<=s)if(0===t.maxDimension()){const t=new h.P({vd:_.getDescription()});e.getCenter(t),x=t,y=i.G.enumPoint}else{const t=new a.P({vd:_.getDescription()});t.addEnvelope(e,!1),x=t,y=i.G.enumPolyline}else{const t=new a.a({vd:_.getDescription()});t.addEnvelope(e,!1),x=t,y=i.G.enumPolygon}}else x=_;if(g.setMinCornerStep(),(0,i.e)(y)||g.setMinSegmentStep(),g.m_absDistance<=.5*g.m_convergenceOffset)return y!==i.G.enumPolygon?new a.a({vd:x.getDescription()}):g.m_bShapePreserving?x:(0,o.N)(x,g.m_sr,g.m_curveType,g.m_segmentStep,-1,l);if(g.m_distance<0&&y!==i.G.enumPolygon)return new a.a({vd:x.getDescription()});if(g.m_bShapePreserving&&(0,i.h)(y)){const e=(0,o.N)(x,t,4,Number.NaN,g.m_convergenceOffset,l);x=(new o.z).execute(e,g.m_transform,l)}else x=(new o.z).execute(x,g.m_transform,l);if(x=(0,o.w)(x,g.m_gcs),x.isEmpty())return new a.a({vd:x.getDescription()});!g.m_bShapePreserving&&(0,i.h)(y)&&(x=(0,o.Q)(g.m_rpu,x)),x=function(e,t){const s=e.getGeometryType();let n;if(n=(0,i.h)(s)?e.getPathCount():s===i.G.enumMultiPoint?e.getPointCount():1,1===n)return e;const o=[],m=[];for(let a=0;a<n;a++){o.push(a);const n=new u.P;if((0,i.h)(s)){const t=new r.Envelope2D;e.queryPathEnvelope(a,t),n.assign(t.getCenter())}else n.assign(e.getXY(a));const h=t.toGeohash(n);m.push(h)}o.sort(((e,t)=>m[e]<m[t]?-1:m[e]>m[t]?1:0));const a=e.createInstance();for(let t=0;t<n;t++){const n=o[t];(0,i.h)(s)?a.addPath(e,n,!0):a.addPoints(e,n,n+1)}return a}(x,g.m_gcs);let w=new a.a;switch(y){case i.G.enumPolygon:w=g.bufferPolygon(x);break;case i.G.enumPolyline:w=g.bufferPolyline(x);break;case i.G.enumMultiPoint:w=g.bufferMultiPoint(x);break;case i.G.enumPoint:w=g.bufferPoint(x);break;default:(0,i.n)("")}const C=(new o.z).execute(w,g.m_transform.getInverse(),l);return C.mergeVertexDescription(x.getDescription()),C}function P(e,t,s,n,i,r,a,h,c,l,_){const f={stack:[],error:void 0,hasError:!1};try{const d=new u.P;d.setNAN(),c||_.getPointCount()>0&&(d.setCoordsPoint2D(_.getXY(_.getPointCount()-1)),d.scale(s));const g=(0,m.b)(f,new o.P,!1),P=(0,m.b)(f,new u.S(new o.P,new o.P),!1),p=new u.P,b=new u.P,y=r.at(-1),w=1/s;for(let s=0;s<r.length;s++){const m=r[s];let u;0===s?u=a:s===r.length-1?u=h:(o.A.geodeticDistance(e,t,y.x,y.y,m.x,m.y,null,null,g,i),u=g.val-.5*Math.PI),o.A.geodesicCoordinate(e,t,m.x,m.y,n,u,P.at(0),P.at(1)),c?b.setCoords(P.at(0).val,P.at(1).val):(p.setCoords(P.at(0).val,P.at(1).val),l=x(m.x,p.x,d.x,l),b.setCoords(l+p.x,p.y),d.setCoordsPoint2D(b)),b.scale(w),_.insertPoint2D(0,-1,b)}return l}catch(e){f.error=e,f.hasError=!0}finally{(0,m.c)(f)}}function p(e,t,s,n,i,r,a,h,c,l,_,f=Number.NaN,d=Number.NaN){const g={stack:[],error:void 0,hasError:!1};try{if(a-r<h)return l;const P=(0,m.b)(g,new u.S(new o.P,new o.P),!1),p=new u.P,b=new u.P,y=new u.P;b.setNAN(),c||_.getPointCount()>0&&(b.setCoordsPoint2D(_.getXY(_.getPointCount()-1)),b.scale(s));let w=Math.ceil(r/h),C=w++*h;C===r&&(C=w++*h);let S=r;const v=1/s;for(;C<a+h&&(S<f&&f<C?(C=f,w--):S<d&&d<C&&(C=d,w--),!(C>=a));)o.A.geodesicCoordinate(e,t,i.x,i.y,n,C,P.at(0),P.at(1)),c?y.setCoords(P.at(0).val,P.at(1).val):(p.setCoords(P.at(0).val,P.at(1).val),l=x(i.x,p.x,b.x,l),y.setCoords(l+p.x,p.y),b.setCoordsPoint2D(y)),y.scale(v),_.insertPoint2D(0,-1,y),S=C,C=w++*h;return l}catch(e){g.error=e,g.hasError=!0}finally{(0,m.c)(g)}}function b(e,t,s,n,i,r,a,h,c,l,_){const f={stack:[],error:void 0,hasError:!1};try{const s=new u.P,d=new u.P,g=(0,m.b)(f,new u.S(new o.P,new o.P),!1);o.A.geodesicCoordinate(e,t,i.x,i.y,n,r,g.at(0),g.at(1)),s.setCoords(g.at(0).val,g.at(1).val),o.A.geodesicCoordinate(e,t,i.x,i.y,n,a,g.at(0),g.at(1)),d.setCoords(g.at(0).val,g.at(1).val);const P=(0,m.b)(f,new o.P,!1);for(o.A.geodeticDistance(e,t,h.x,h.y,s.x,s.y,null,P,null,0),l[0]=P.val,o.A.geodeticDistance(e,t,h.x,h.y,d.x,d.y,null,P,null,0),_[0]=P.val;l[0]<=_[0];)l[0]+=u.p;for(;l[0]>_[0];)l[0]-=u.p;for(;l[0]>=c;)l[0]-=u.p,_[0]-=u.p;for(;l[0]<c;)l[0]+=u.p,_[0]+=u.p}catch(e){f.error=e,f.hasError=!0}finally{(0,m.c)(f)}}function x(e,t,s,n){if(Number.isNaN(s)){for(;n+t-e>Math.PI;)n-=u.p;for(;e-(n+t)>Math.PI;)n+=u.p;return n}return n+t-s>Math.PI?n-=u.p:s-(n+t)>Math.PI&&(n+=u.p),n}function y(e,t,s,n,i,r){const a={stack:[],error:void 0,hasError:!1};try{if(n>=r)return!1;const h=s[0],c=s.at(-1),u=(0,m.b)(a,new o.P,!1),l=(0,m.b)(a,new o.P,!1),_=(0,m.b)(a,new o.P,!1);o.A.greatEllipticDistance(e,t,i.x,i.y,h.x,h.y,u,null,null),o.A.greatEllipticDistance(e,t,i.x,i.y,c.x,c.y,l,null,null),o.A.greatEllipticDistance(e,t,h.x,h.y,c.x,c.y,_,null,null);let f=Math.min(u.val,l.val)+_.val,d=f+n;if(d<r)return!0;const g=(0,m.b)(a,new o.P,!1);f=Math.max(u.val,l.val);for(let n=1;n<s.length-1;n++){const r=s[n];o.A.greatEllipticDistance(e,t,i.x,i.y,r.x,r.y,g,null,null),g.val>f&&(f=g.val)}return d=f+n,d<r}catch(e){a.error=e,a.hasError=!0}finally{(0,m.c)(a)}}function w(e,t,s,n,i,r,m,a){let h;if(n.length%2==0){const e=n.length>>1,t=n[e],s=n[e-1];h=u.P.lerp(t,s,.5)}else h=n[n.length-1>>1].clone();const c=h.clone(),l=(0,o.Y)(e,t,c,75/180*Math.PI);return!!y(e,t,n,i,c,l)&&(null!==r&&(r.setCoordsPoint2D(h),r.scale(1/s)),null!==m&&m.setCoordsPoint2D(c),null!==a&&(a[0]=l),!0)}function C(e,t,s,n,i,r){const a={stack:[],error:void 0,hasError:!1};try{if(n>=r)return!1;const h=(0,m.b)(a,new o.P,!1);return o.A.greatEllipticDistance(e,t,i.x,i.y,s.x,s.y,h,null,null),h.val+n<r}catch(e){a.error=e,a.hasError=!0}finally{(0,m.c)(a)}}function S(e,t){return new o.a1(e,t)}function v(e){return(0,h.h)(e,0)||(0,h.s)(e,0),e}class D{constructor(e){this.m_bRunningInGnomonic=!1,this.m_bNeedsSimplify=!1,this.m_gnomonic=null,this.m_gnomonicCenterRad=new u.P,this.m_minGnomonicRadius=Number.NaN,this.m_progressTracker=e}isRunningInGnomonic(){return this.m_bRunningInGnomonic}needsSimplify(){return this.m_bNeedsSimplify}getGnomonic(){return this.m_gnomonic}}class I extends D{constructor(e,t,s){super(e.m_progressTracker),this.m_segIter=null,this.m_bNextSegmentCannotJoin=!1,this.m_currentDensifiedDelta=[0],this.m_currentBufferedDelta=0,this.m_lastAzimuth=0,this.m_startAzimuth=[0],this.m_endAzimuth=[0],this.m_numWinds=0,this.m_debugCounter=0,this.m_bufferHelper=new a.a,this.m_densifiedPoints=[],this.m_bufferer=e,this.m_multiPath=t,this.m_densified=s,this.m_bNeedsSimplify=!0;const n=new r.Envelope2D;this.m_multiPath.queryEnvelope(n);const i=n.getCenter(),m=i.clone();m.scale(this.m_bufferer.m_rpu),this.m_gnomonic=S(this.m_bufferer.m_gcs,i),this.m_gnomonicCenterRad=m.clone(),this.m_minGnomonicRadius=(0,o.Y)(this.m_bufferer.m_a,this.m_bufferer.m_eSquared,m,75/180*Math.PI)}next(){let e;if(this.m_bNextSegmentCannotJoin)return this.m_bNextSegmentCannotJoin=!1,this.m_segIter.nextSegment(),e=this.m_bufferHelper.clone(),e;if(null===this.m_segIter){if(this.m_segIter=this.m_multiPath.getImpl().querySegmentIterator(),!this.m_segIter.nextPath())return null;null!==this.m_densified&&this.m_densified.addPathPoint2D(null,0,!0)}if(!this.m_segIter.hasNextSegment()){if(!this.m_segIter.nextPath())return null;null!=this.m_densified&&this.m_densified.addPathPoint2D(null,0,!0)}let t=null;this.m_currentBufferedDelta=0,this.m_currentDensifiedDelta=[0],this.m_numWinds=0,this.m_lastAzimuth=Number.NaN,this.m_bNextSegmentCannotJoin=!1,this.m_densifiedPoints.length=0;let s=0;const n=new u.P,i=new u.P;for(;this.m_segIter.hasNextSegment()&&this.m_numWinds<16;){const e=this.m_segIter.nextSegment();if(n.setCoordsPoint2D(e.getStartXY()),i.setCoordsPoint2D(e.getEndXY()),n.scale(this.m_bufferer.m_rpu),i.scale(this.m_bufferer.m_rpu),(0,o.Z)(n,i))n.x=i.x;else if((0,o._)(n,i))i.x=n.x;else{let e=-1,t=-1;const s=this.m_segIter.getPathIndex(),r=this.m_multiPath.getPathStart(s),m=this.m_multiPath.getPathEnd(s);if(e=this.m_segIter.getStartPointIndex()-1,t=this.m_segIter.getEndPointIndex()+1,e<r&&(e=this.m_multiPath.isClosedPath(s)?m-1:-1),t>m-1&&(t=this.m_multiPath.isClosedPath(s)?r:-1),-1!==e){const t=this.m_multiPath.getXY(e);t.scale(this.m_bufferer.m_rpu),(0,o._)(t,n)&&(n.x=t.x)}if(-1!==t){const e=this.m_multiPath.getXY(t);e.scale(this.m_bufferer.m_rpu),(0,o.Z)(i,e)&&(i.x=e.x)}}this.m_densifiedPoints.length=0;const r=(0,o.$)(this.m_bufferer.m_a,this.m_bufferer.m_eSquared,this.m_bufferer.m_curveType,n,i,this.m_bufferer.m_segmentStep,Number.NaN,this.m_bufferer.m_radTolerance,this.m_startAzimuth,this.m_endAzimuth,this.m_densifiedPoints,this.m_currentDensifiedDelta);if(0===s)this.m_bRunningInGnomonic=this.isSegmentBufferInCurrentGnomonic(this.m_densifiedPoints),this.m_bRunningInGnomonic||(this.m_bRunningInGnomonic=this.tryUpdateGnomonic(this.m_densifiedPoints));else if(this.m_bRunningInGnomonic){if(!this.isSegmentBufferInCurrentGnomonic(this.m_densifiedPoints)){this.m_segIter.previousSegment(),this.m_segIter.previousSegment(),this.m_segIter.nextSegment();break}}else if(w(this.m_bufferer.m_a,this.m_bufferer.m_eSquared,this.m_bufferer.m_rpu,this.m_densifiedPoints,this.m_bufferer.m_absDistance*this.m_bufferer.m_ellipticToGeodesicMaxRatio,null,null,null)){this.m_segIter.previousSegment(),this.m_segIter.previousSegment(),this.m_segIter.nextSegment();break}if(0===r||(0,o.a0)(n,i)?(this.m_bufferHelper.setEmpty(),this.m_bufferer.bufferPoint2D(n,this.m_bRunningInGnomonic,this.m_bufferHelper),this.m_bNextSegmentCannotJoin=!0):(this.m_bufferHelper.setEmpty(),this.m_bNextSegmentCannotJoin=this.checkAndPrepSegmentForCrossingAzimuthsOrPoleWrap(r,this.m_bufferHelper)),this.m_bNextSegmentCannotJoin){this.m_segIter.previousSegment(),this.m_segIter.hasPreviousSegment()?(this.m_segIter.previousSegment(),this.m_segIter.nextSegment()):this.m_segIter.resetToFirstSegment(),null!=this.m_densified&&this.m_densified.insertPointsFromPoints(this.m_densified.getPathCount()-1,-1,this.m_densifiedPoints,0,this.m_densifiedPoints.length-1,!0);break}null!=this.m_densified&&this.m_densified.insertPointsFromPoints(this.m_densified.getPathCount()-1,-1,this.m_densifiedPoints,0,this.m_densifiedPoints.length-1,!0),null===t&&(t=new a.a,t.addPathPoint2D(null,0,!0)),this.addJoinAndBufferLeftSide(t),s++}if(this.m_currentDensifiedDelta=[0],s>0){const e=this.m_segIter.getStartPointIndex(),r=this.m_segIter.getPathIndex();for(;s>0;){if(this.m_segIter.previousSegment(),n.setCoordsPoint2D(this.m_multiPath.getXY(this.m_segIter.getStartPointIndex())),i.setCoordsPoint2D(this.m_multiPath.getXY(this.m_segIter.getEndPointIndex())),n.scale(this.m_bufferer.m_rpu),i.scale(this.m_bufferer.m_rpu),this.m_bRunningInGnomonic)if((0,o.Z)(n,i))n.x=i.x;else if((0,o._)(n,i))i.x=n.x;else{let e=-1,t=-1;const s=this.m_segIter.getPathIndex(),r=this.m_multiPath.getPathStart(s),m=this.m_multiPath.getPathEnd(s);if(e=this.m_segIter.getStartPointIndex()-1,t=this.m_segIter.getEndPointIndex()+1,e<r&&(e=this.m_multiPath.isClosedPath(s)?m-1:-1),t>m-1&&(t=this.m_multiPath.isClosedPath(s)?r:-1),-1!==e){const t=this.m_multiPath.getXY(e);t.scale(this.m_bufferer.m_rpu),(0,o._)(t,n)&&(n.x=t.x)}if(-1!==t){const e=this.m_multiPath.getXY(t);e.scale(this.m_bufferer.m_rpu),(0,o.Z)(i,e)&&(i.x=e.x)}}this.m_densifiedPoints.length=0,(0,o.$)(this.m_bufferer.m_a,this.m_bufferer.m_eSquared,this.m_bufferer.m_curveType,i,n,this.m_bufferer.m_segmentStep,Number.NaN,this.m_bufferer.m_radTolerance,this.m_startAzimuth,this.m_endAzimuth,this.m_densifiedPoints,this.m_currentDensifiedDelta),this.addJoinAndBufferLeftSide(t),s--}return n.setCoordsPoint2D(this.m_multiPath.getXY(this.m_segIter.getStartPointIndex())),n.scale(this.m_bufferer.m_rpu),this.m_currentBufferedDelta=p(this.m_bufferer.m_a,this.m_bufferer.m_eSquared,this.m_bufferer.m_rpu,this.m_bufferer.m_absDistance,n,this.m_lastAzimuth+.5*Math.PI,this.m_lastAzimuth+1.5*Math.PI,this.m_bufferer.m_cornerStep,this.m_bRunningInGnomonic,this.m_currentBufferedDelta,t),this.m_segIter.resetToVertex(e,r),this.m_segIter.nextSegment(),t}return this.m_bNextSegmentCannotJoin=!1,this.m_segIter.nextSegment(),e=this.m_bufferHelper.clone(),e}isSegmentBufferInCurrentGnomonic(e){return null!==this.m_gnomonic&&y(this.m_bufferer.m_a,this.m_bufferer.m_eSquared,e,this.m_bufferer.m_absDistance*this.m_bufferer.m_ellipticToGeodesicMaxRatio,this.m_gnomonicCenterRad,this.m_minGnomonicRadius)}tryUpdateGnomonic(e){const t=new u.P,s=new u.P,n=[0];return w(this.m_bufferer.m_a,this.m_bufferer.m_eSquared,this.m_bufferer.m_rpu,e,this.m_bufferer.m_absDistance*this.m_bufferer.m_ellipticToGeodesicMaxRatio,t,s,n)?(this.m_gnomonicCenterRad.setCoordsPoint2D(s),this.m_minGnomonicRadius=n[0],this.m_gnomonic=S(this.m_bufferer.m_gcs,t),!0):(this.m_gnomonic=null,!1)}checkAndPrepSegmentForCrossingAzimuthsOrPoleWrap(e,t){return this.m_bufferer.checkAndPrepSegmentForCrossingAzimuthsOrPoleWrap(this.m_densifiedPoints,e,this.m_startAzimuth[0],this.m_endAzimuth[0],this.m_bRunningInGnomonic,t)}addJoinAndBufferLeftSide(e){const t=this.m_densifiedPoints[0];let s=Number.NaN,n=this.m_startAzimuth[0]-u.o;const i=this.m_endAzimuth[0]+u.o;let r=!1;if(!Number.isNaN(this.m_lastAzimuth)){this.m_lastAzimuth>=this.m_startAzimuth[0]?(s=this.m_lastAzimuth+u.o,n=s+Math.PI-(this.m_lastAzimuth-this.m_startAzimuth[0])):(s=this.m_lastAzimuth+u.o,n=s+Math.PI-(u.p-(this.m_startAzimuth[0]-this.m_lastAzimuth))),r=!(this.m_lastAzimuth>=this.m_startAzimuth[0]&&this.m_lastAzimuth-this.m_startAzimuth[0]<=Math.PI||this.m_lastAzimuth<this.m_startAzimuth[0]&&this.m_startAzimuth[0]-this.m_lastAzimuth>=Math.PI);let i=!1;if(Math.abs(n-s)<=.5*this.m_bufferer.m_cornerStep&&(r||(i=!0)),i){if(e.removePointFromPath(0,e.getPointCount()-1),!this.m_bRunningInGnomonic){const t=new u.P;t.setCoordsPoint2D(e.getXY(e.getPointCount()-1)),t.scale(this.m_bufferer.m_rpu),t.x-this.m_currentBufferedDelta<-Math.PI?this.m_currentBufferedDelta-=u.p:t.x-this.m_currentBufferedDelta>Math.PI&&(this.m_currentBufferedDelta+=u.p)}n=.5*(n+s)}else if(r){const s=new u.P;s.setCoordsPoint2D(t),s.scale(1/this.m_bufferer.m_rpu),e.insertPoint2D(0,-1,s)}else p(this.m_bufferer.m_a,this.m_bufferer.m_eSquared,this.m_bufferer.m_rpu,this.m_bufferer.m_absDistance,this.m_densifiedPoints[0],s,n,this.m_bufferer.m_cornerStep,this.m_bRunningInGnomonic,this.m_currentBufferedDelta,e)}this.m_startAzimuth[0]!==this.m_lastAzimuth&&this.m_numWinds++,P(this.m_bufferer.m_a,this.m_bufferer.m_eSquared,this.m_bufferer.m_rpu,this.m_bufferer.m_absDistance,this.m_bufferer.m_curveType,this.m_densifiedPoints,n,i,this.m_bRunningInGnomonic,this.m_currentBufferedDelta,e),this.m_lastAzimuth=this.m_endAzimuth[0]}}class G extends D{constructor(e,t){super(e.m_progressTracker),this.m_pointIndex=-1,this.m_bufferer=e,this.m_multiPoint=t,this.m_bNeedsSimplify=!1;const s=new r.Envelope2D;this.m_multiPoint.queryEnvelope(s);const n=s.getCenter(),i=n.clone();i.scale(this.m_bufferer.m_rpu),this.m_gnomonic=S(this.m_bufferer.m_gcs,n),this.m_gnomonicCenterRad=i.clone(),this.m_minGnomonicRadius=(0,o.Y)(this.m_bufferer.m_a,this.m_bufferer.m_eSquared,i,75/180*Math.PI)}next(){if(this.m_bNeedsSimplify=!1,++this.m_pointIndex===this.m_multiPoint.getPointCount())return null;const e=this.m_multiPoint.getXY(this.m_pointIndex);e.scale(this.m_bufferer.m_rpu),this.m_bRunningInGnomonic=this.isPointBufferInCurrentGnomonic(e),this.m_bRunningInGnomonic||(this.m_bRunningInGnomonic=this.tryUpdateGnomonic(e));const t=new a.a,s=this.m_bufferer.bufferPoint2D(e,this.m_bRunningInGnomonic,t);return this.m_bNeedsSimplify=s,t}isPointBufferInCurrentGnomonic(e){return null!==this.m_gnomonic&&C(this.m_bufferer.m_a,this.m_bufferer.m_eSquared,e,this.m_bufferer.m_absDistance*this.m_bufferer.m_ellipticToGeodesicMaxRatio,this.m_gnomonicCenterRad,this.m_minGnomonicRadius)}tryUpdateGnomonic(e){const t=new u.P,s=new u.P,n=[0];return function(e,t,s,n,i,r,m,a){const h=(0,o.Y)(e,t,n,75/180*Math.PI);return!!C(e,t,n,i,n,h)&&(null!==r&&(r.setCoordsPoint2D(n),r.scale(1/s)),null!==m&&m.setCoordsPoint2D(n),null!==a&&(a[0]=h),!0)}(this.m_bufferer.m_a,this.m_bufferer.m_eSquared,this.m_bufferer.m_rpu,e,this.m_bufferer.m_absDistance*this.m_bufferer.m_ellipticToGeodesicMaxRatio,t,s,n)?(this.m_gnomonicCenterRad.setCoordsPoint2D(s),this.m_minGnomonicRadius=n[0],this.m_gnomonic=S(this.m_bufferer.m_gcs,t),!0):(this.m_gnomonic=null,!1)}}class A{getOperatorType(){return 10110}supportsCurves(){return!0}accelerateGeometry(e,t,s){return!1}canAccelerateGeometry(e){return!1}executeMany(e,t,s,n,i,r,m,a){if(m){const m=new M(e,t,s,n,i,!1,r,a);return(new o.j).executeMany(m,t,a)}return new M(e,t,s,n,i,!1,r,a)}execute(e,t,s,r,o,m,a){const h=new n.S([e]),c=[r],u=this.executeMany(h,t,s,c,o,!1,m,a).next();return u||(0,i.d)("geodesic buffer null output"),u}}class M extends n.G{constructor(e,t,s,n,o,m,a,h){super(),this.m_currentUnionEnvelope2D=new r.Envelope2D,this.m_index=-1,this.m_dindex=-1,this.m_progressTracker=h,m&&(0,i.t)(""),t||(0,i.a)(""),0===t.getCoordinateSystemType()&&(0,i.a)(""),this.m_inputGeoms=e,this.m_spatialReference=t,this.m_curveType=s,this.m_distances=n,this.m_convergenceOffset=o,this.m_bOutlineOnly=m,this.m_bUnion=a}next(){let e;for(;e=this.m_inputGeoms.next();)return(0,i.c)(e),this.m_index=this.m_inputGeoms.getGeometryID(),this.m_dindex+1<this.m_distances.length&&this.m_dindex++,this.geodesicBuffer(e,this.m_distances[this.m_dindex]);return null}getGeometryID(){return this.m_index}tock(){return!0}getRank(){return 1}geodesicBuffer(e,t){return function(e,t,s,n,r,o){n<Number.MAX_VALUE&&n>-Number.MAX_VALUE||(0,i.a)("Geodesic_bufferer.buffer - bad distance"),(0,i.c)(e);const m=(0,_.c)(e),a=m.getGeometryType();if((0,i.i)(a)){const e=m.getPointCount(),h=8e6;if(Math.abs(n)>h&&(e>50||a!==i.G.enumMultiPoint&&4===s&&e>2)){let e=m;const i=n>0?1:-1,a=7e6;let c=n,u=1;do{u++,c=(Math.abs(c)-a)*i}while(Math.abs(c)>h);c=n;for(let n=0;n<u-1;n++)e=g(e,t,s,a*i,r,u,o),c=(Math.abs(c)-a)*i;return e=g(e,t,s,c,r,u,o),e}}return g(m,t,s,n,r,1,o)}(e,this.m_spatialReference,this.m_curveType,t,this.m_convergenceOffset,this.m_progressTracker)}}}}]);