@arcgis/core 5.1.0-next.10 → 5.1.0-next.12

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 (177) hide show
  1. package/WebScene.js +1 -1
  2. package/assets/esri/core/workers/RemoteClient.js +1 -1
  3. package/assets/esri/core/workers/chunks/008887a8014b61f837ae.js +1 -0
  4. package/assets/esri/core/workers/chunks/04f82b740325e3388d23.js +1 -0
  5. package/assets/esri/core/workers/chunks/09cf8aed89a1ea1f8b28.js +1 -0
  6. package/assets/esri/core/workers/chunks/{ff2412c5be1ad4edb458.js → 0b59e5be22139387bd84.js} +1 -1
  7. package/assets/esri/core/workers/chunks/0bf742d48f434c4c575f.js +1 -0
  8. package/assets/esri/core/workers/chunks/0c8a676599821b9871c2.js +1 -0
  9. package/assets/esri/core/workers/chunks/11882cbb28710e5f9fc5.js +1 -0
  10. package/assets/esri/core/workers/chunks/{f0e7207fd2c899b9fe9f.js → 12fd2e26e949d90abfbd.js} +1 -1
  11. package/assets/esri/core/workers/chunks/{8c5e834c2d243fc369fe.js → 18b0776aef1536867ab8.js} +1 -1
  12. package/assets/esri/core/workers/chunks/{72ab3ed37ac4da355710.js → 1aa2187597f7c4adb67f.js} +1 -1
  13. package/assets/esri/core/workers/chunks/2216264b22a605a0f1ce.js +1 -0
  14. package/assets/esri/core/workers/chunks/22d12c309af9c19a1a48.js +1 -0
  15. package/assets/esri/core/workers/chunks/{aefc089928ada18bc4d4.js → 2762149a922275136171.js} +2 -2
  16. package/assets/esri/core/workers/chunks/27aa21da934ecaca381a.js +1 -0
  17. package/assets/esri/core/workers/chunks/27d60fd727e9a68973f6.js +1 -0
  18. package/assets/esri/core/workers/chunks/{8fbfdd154413a2140180.js → 2a3e82a230b7ee4dfd55.js} +1 -1
  19. package/assets/esri/core/workers/chunks/{5aab1db039b2b61c6c6b.js → 2bb7bb7901bd343201fc.js} +1 -1
  20. package/assets/esri/core/workers/chunks/2d1a772abd730b61854f.js +1 -0
  21. package/assets/esri/core/workers/chunks/{ee2ae61fc747b5f9827b.js → 2e7d4a437717606bc39c.js} +1 -1
  22. package/assets/esri/core/workers/chunks/{02f03297491eef26f113.js → 34207774bc371e95ba3c.js} +1 -1
  23. package/assets/esri/core/workers/chunks/360b3499e2a671c309ce.js +1 -0
  24. package/assets/esri/core/workers/chunks/3b0cfe3db8d90e02d6c6.js +1 -0
  25. package/assets/esri/core/workers/chunks/3d78e9b3c97c0ce21d16.js +1 -0
  26. package/assets/esri/core/workers/chunks/4550b7620932cd6de20e.js +1 -0
  27. package/assets/esri/core/workers/chunks/{f3022255054e8d09c38b.js → 455fbddd814e4681f0c0.js} +1 -1
  28. package/assets/esri/core/workers/chunks/{3db4938b3f89b9b8234e.js → 4742a8c19b86a5f859f0.js} +1 -1
  29. package/assets/esri/core/workers/chunks/58cf3d35771b87bd74e5.js +1 -0
  30. package/assets/esri/core/workers/chunks/{d84af069f1057044c879.js → 5c12a9b0db317620dce2.js} +1 -1
  31. package/assets/esri/core/workers/chunks/65ad8838911a6d71816b.js +1 -0
  32. package/assets/esri/core/workers/chunks/{7a85e08cb968586f8d74.js → 72acfb74fd9ab9bae923.js} +2 -2
  33. package/assets/esri/core/workers/chunks/79ee97609f72e4cf989c.js +1 -0
  34. package/assets/esri/core/workers/chunks/{fba30f2e1d6b364aae79.js → 7b1964255722e756eba3.js} +1 -1
  35. package/assets/esri/core/workers/chunks/7e6309bfed6692e8d2d7.js +2 -0
  36. package/assets/esri/core/workers/chunks/{dc65843654dc25bd8f97.js → 8177e95596b71bf020aa.js} +1 -1
  37. package/assets/esri/core/workers/chunks/{afffb40cce91e135f092.js → 8374658d17f69bde6b08.js} +1 -1
  38. package/assets/esri/core/workers/chunks/879e8439a513cb333b61.js +1 -0
  39. package/assets/esri/core/workers/chunks/{ca767f0e3aa559b13699.js → 90aeef17af12cfbecb36.js} +1 -1
  40. package/assets/esri/core/workers/chunks/{4bd98d025bcd713eddca.js → 91858b02da40ff251ab2.js} +2 -2
  41. package/assets/esri/core/workers/chunks/{3114cbf7298239e1269d.js → 956237a2baa30760c256.js} +1 -1
  42. package/assets/esri/core/workers/chunks/98c3b7d8db53f0b12642.js +1 -0
  43. package/assets/esri/core/workers/chunks/a027da22acdaa6d6baa3.js +1 -0
  44. package/assets/esri/core/workers/chunks/{c064025d0dc69bb44f0d.js → a115984b794a7f90b2c0.js} +1 -1
  45. package/assets/esri/core/workers/chunks/a3e8b7185d63a0f85931.js +1 -0
  46. package/assets/esri/core/workers/chunks/{6be2dc8331ecf944efdc.js → a5af20f3d484d2d3bafe.js} +1 -1
  47. package/assets/esri/core/workers/chunks/aa748cdeab2db5eb9d45.js +1 -0
  48. package/assets/esri/core/workers/chunks/b0b24fb60a21b995b348.js +1 -0
  49. package/assets/esri/core/workers/chunks/b6e155b42a4a423139e7.js +1 -0
  50. package/assets/esri/core/workers/chunks/{fb57a07b76580dcdde46.js → bc9997d15ec0a86793c6.js} +1 -1
  51. package/assets/esri/core/workers/chunks/{4a571a1e897c8ad359c4.js → bf2bfc0d78be8c185d58.js} +1 -1
  52. package/assets/esri/core/workers/chunks/bf9b2aa2e67ca746ec7c.js +1 -0
  53. package/assets/esri/core/workers/chunks/c9babe86c00ae69e63ee.js +2 -0
  54. package/assets/esri/core/workers/chunks/{da40c63408affee86ac4.js → d0d1378e714ff0e43e26.js} +1 -1
  55. package/assets/esri/core/workers/chunks/{940185f10c2b16612b66.js → d3416e6da0c1cbb53b3a.js} +1 -1
  56. package/assets/esri/core/workers/chunks/d9c1e1ec5c56f09fb82f.js +1 -0
  57. package/assets/esri/core/workers/chunks/{4ee618a256b06221ea8f.js → da5deed75e1a170a49b3.js} +8 -8
  58. package/assets/esri/core/workers/chunks/{bb75ec3727b7ecabca6f.js → e4eb14952b7660feecc7.js} +1 -1
  59. package/assets/esri/core/workers/chunks/eaf5d55060ffc55aac39.js +1 -0
  60. package/assets/esri/core/workers/chunks/{9bcf8241c6b4aa42b1c5.js → ed78e19b1e400c0db309.js} +1 -1
  61. package/assets/esri/core/workers/chunks/f0b8de5b3cfbe9223df6.js +1 -0
  62. package/assets/esri/core/workers/chunks/fcf6a47f44c917490deb.js +1 -0
  63. package/config.js +1 -1
  64. package/core/Version.js +1 -1
  65. package/core/has.js +1 -1
  66. package/core/iteratorUtils.js +1 -1
  67. package/core/sql/WhereClause.js +1 -1
  68. package/core/sql/WhereGrammar.js +1 -1
  69. package/core/sql/sqlVisitor.js +2 -0
  70. package/core/sql/writeUtils.js +2 -0
  71. package/core/sql.d.ts +2 -3
  72. package/core/sql.js +1 -1
  73. package/kernel.js +1 -1
  74. package/layers/graphics/data/QueryEngineCapabilities.js +1 -1
  75. package/layers/graphics/sources/FeatureLayerSource.js +1 -1
  76. package/layers/graphics/sources/OGCFeatureSource.js +1 -1
  77. package/layers/graphics/sources/support/ParquetSourceWorker.js +1 -1
  78. package/layers/graphics/sources/support/QueryTask.js +1 -1
  79. package/layers/mixins/ArcGISImageService.js +1 -1
  80. package/layers/mixins/FeatureLayerBase.js +1 -1
  81. package/layers/support/Sublayer.js +1 -1
  82. package/layers/support/arcgisLayerUrl.js +1 -1
  83. package/layers/support/capabilities.js +1 -1
  84. package/layers/support/relativeTimeQueryUtils.js +2 -0
  85. package/layers/support/serviceCapabilitiesUtils.js +1 -1
  86. package/networks/support/jsonTypes.d.ts +2 -2
  87. package/package.json +2 -2
  88. package/renderers/support/rasterRendererHelper.js +1 -1
  89. package/rest/print.js +1 -1
  90. package/support/revision.js +1 -1
  91. package/views/2d/layers/features/layerAdapters/CatalogFootprintLayerAdapter.js +1 -1
  92. package/views/2d/layers/features/layerAdapters/FeatureLayerAdapter.js +1 -1
  93. package/views/2d/layers/features/layerAdapters/InMemoryLayerAdapter.js +1 -1
  94. package/views/2d/layers/features/layerAdapters/KnowledgeGraphSublayerAdapter.js +1 -1
  95. package/views/2d/layers/features/layerAdapters/OGCFeatureLayerAdapter.js +1 -1
  96. package/views/2d/layers/features/layerAdapters/OrientedImageryLayerAdapter.js +1 -1
  97. package/views/2d/layers/features/layerAdapters/SubtypeGroupLayerAdapter.js +1 -1
  98. package/views/2d/layers/features/schema/SourceSchema.js +1 -1
  99. package/views/2d/layers/features/sources/FeatureSource.js +1 -1
  100. package/views/2d/layers/features/sources/strategies/chunks/SourceChunkStore.js +1 -1
  101. package/views/2d/layers/features/support/FeatureSetReader.js +1 -1
  102. package/views/3d/environment/Fog.js +1 -1
  103. package/views/3d/layers/IntegratedMesh3DTilesLayerView3D.js +1 -1
  104. package/views/3d/layers/VectorTileLayerView3D.js +1 -1
  105. package/views/3d/layers/support/featureTileQuery3D.js +1 -1
  106. package/views/3d/webgl/ManagedFBOResource.js +1 -1
  107. package/views/3d/webgl-engine/core/FBOCache.js +1 -1
  108. package/views/3d/webgl-engine/effects/RenderNodes.js +1 -1
  109. package/views/3d/webgl-engine/effects/blit/Blit.js +1 -1
  110. package/views/3d/webgl-engine/effects/smaa/SMAA.js +1 -1
  111. package/views/3d/webgl-engine/lib/CutFillDepth.js +1 -1
  112. package/views/3d/webgl-engine/lib/MainFramebuffer.js +1 -1
  113. package/views/3d/webgl-engine/lib/Renderer.js +1 -1
  114. package/views/3d/webgl-engine/parts/ScreenshotManager.js +1 -1
  115. package/views/3d/webgl-engine/parts/renderUtils.js +1 -1
  116. package/views/draw/DrawTool.js +1 -1
  117. package/views/draw/plugins/BezierSegmentPlugin.js +1 -1
  118. package/views/draw/plugins/CircularArcSegmentPlugin.js +2 -0
  119. package/views/draw/support/EditSession.js +1 -1
  120. package/views/draw/support/PluginContext.js +1 -1
  121. package/views/draw/support/managers/TooltipManager.js +1 -1
  122. package/webscene/support/schemaValidator.js +1 -1
  123. package/webscene/support/versionUtils.js +1 -1
  124. package/widgets/Editor/CreateFeaturesWorkflow.js +1 -1
  125. package/widgets/Editor/EditorViewModel.d.ts +48 -0
  126. package/widgets/Editor/EditorViewModel.js +1 -1
  127. package/widgets/Editor/SplitFeatureWorkflow.js +1 -1
  128. package/widgets/Editor/UpdateFeatureWorkflow.js +1 -1
  129. package/widgets/Editor/UpdateFeaturesWorkflow.js +1 -1
  130. package/widgets/Editor/support/SketchController.js +1 -1
  131. package/widgets/Editor.d.ts +35 -0
  132. package/widgets/Editor.js +1 -1
  133. package/widgets/Sketch/SketchViewModel.d.ts +14 -15
  134. package/widgets/Sketch/SketchViewModel.js +1 -1
  135. package/widgets/Sketch/support/OperationHandle.js +1 -1
  136. package/widgets/Sketch/support/PluginManager.js +1 -1
  137. package/widgets/Sketch/support/sketchUtils.js +1 -1
  138. package/widgets/Sketch.d.ts +37 -0
  139. package/widgets/Sketch.js +1 -1
  140. package/assets/esri/core/workers/chunks/012992dc3910466ed207.js +0 -1
  141. package/assets/esri/core/workers/chunks/0994c12d01fe6f74350e.js +0 -1
  142. package/assets/esri/core/workers/chunks/13b104cc7925d4423aad.js +0 -1
  143. package/assets/esri/core/workers/chunks/147d0f7a2e471442c95c.js +0 -2
  144. package/assets/esri/core/workers/chunks/1a11ac1a34614132fabc.js +0 -1
  145. package/assets/esri/core/workers/chunks/1f613c599eff3b16c1d2.js +0 -1
  146. package/assets/esri/core/workers/chunks/2431a5480f0d22f00e00.js +0 -1
  147. package/assets/esri/core/workers/chunks/319226db47849acbe321.js +0 -1
  148. package/assets/esri/core/workers/chunks/360dd5cd63d132b5c7d5.js +0 -2
  149. package/assets/esri/core/workers/chunks/3e4c5cc24bdc1c807125.js +0 -1
  150. package/assets/esri/core/workers/chunks/504e6868445419b7680e.js +0 -1
  151. package/assets/esri/core/workers/chunks/545d801c4ba6f49df726.js +0 -1
  152. package/assets/esri/core/workers/chunks/71879de16a936a079362.js +0 -1
  153. package/assets/esri/core/workers/chunks/733d4ddb937c51ef3aed.js +0 -1
  154. package/assets/esri/core/workers/chunks/7352b4129f4875a053b0.js +0 -1
  155. package/assets/esri/core/workers/chunks/768ee8d940b5eb353ec3.js +0 -1
  156. package/assets/esri/core/workers/chunks/8556d06f522914e71bb8.js +0 -1
  157. package/assets/esri/core/workers/chunks/863873ffbed0cbbdfb9b.js +0 -1
  158. package/assets/esri/core/workers/chunks/88fe7d75dc3b619b8543.js +0 -1
  159. package/assets/esri/core/workers/chunks/8ac7a552189143ab4f91.js +0 -1
  160. package/assets/esri/core/workers/chunks/8ba1c7919e898ef4557f.js +0 -1
  161. package/assets/esri/core/workers/chunks/944b6d230a93add78c0d.js +0 -1
  162. package/assets/esri/core/workers/chunks/a37a003da59bdaf7ec0e.js +0 -1
  163. package/assets/esri/core/workers/chunks/ad688eee6a9f2be6df4a.js +0 -1
  164. package/assets/esri/core/workers/chunks/c0ae85f9c2dbe8611499.js +0 -1
  165. package/assets/esri/core/workers/chunks/c0cb0c22ee7fd91855cb.js +0 -1
  166. package/assets/esri/core/workers/chunks/cb1b16f8bf7c135e14f7.js +0 -1
  167. package/assets/esri/core/workers/chunks/cc245eb1c5aaaac5916e.js +0 -1
  168. package/assets/esri/core/workers/chunks/e03bf0ca545dce221ea0.js +0 -1
  169. package/assets/esri/core/workers/chunks/e880d7738155a4de4b0e.js +0 -1
  170. package/assets/esri/core/workers/chunks/fb4bcf366ba1b51668f6.js +0 -1
  171. package/assets/esri/core/workers/chunks/fb58f3ea98bf5e8cf8dd.js +0 -1
  172. package/views/3d/webgl/utils.js +0 -2
  173. /package/assets/esri/core/workers/chunks/{aefc089928ada18bc4d4.js.LICENSE.txt → 2762149a922275136171.js.LICENSE.txt} +0 -0
  174. /package/assets/esri/core/workers/chunks/{7a85e08cb968586f8d74.js.LICENSE.txt → 72acfb74fd9ab9bae923.js.LICENSE.txt} +0 -0
  175. /package/assets/esri/core/workers/chunks/{360dd5cd63d132b5c7d5.js.LICENSE.txt → 7e6309bfed6692e8d2d7.js.LICENSE.txt} +0 -0
  176. /package/assets/esri/core/workers/chunks/{4bd98d025bcd713eddca.js.LICENSE.txt → 91858b02da40ff251ab2.js.LICENSE.txt} +0 -0
  177. /package/assets/esri/core/workers/chunks/{147d0f7a2e471442c95c.js.LICENSE.txt → c9babe86c00ae69e63ee.js.LICENSE.txt} +0 -0
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- class t extends SyntaxError{constructor(t,n,e,r){super(t),this.expected=n,this.found=e,this.location=r,this.name="SyntaxError"}format(t){let n="Error: "+this.message;if(this.location){let e=null;const r=t.find(t=>t.source===this.location.source);r&&(e=r.text.split(/\r\n|\n|\r/g));const o=this.location.start,u=this.location.source&&"function"==typeof this.location.source.offset?this.location.source.offset(o):o,i=this.location.source+":"+u.line+":"+u.column;if(e){const t=this.location.end,r="".padEnd(u.line.toString().length," "),c=e[o.line-1],l=(o.line===t.line?t.column:c.length+1)-o.column||1;n+="\n --\x3e "+i+"\n"+r+" |\n"+u.line+" | "+c+"\n"+r+" | "+"".padEnd(o.column-1," ")+"".padEnd(l,"^")}else n+="\n at "+i}return n}static buildMessage(t,n){function e(t){return t.codePointAt(0).toString(16).toUpperCase()}const r=Object.prototype.hasOwnProperty.call(RegExp.prototype,"unicode")?new RegExp("[\\p{C}\\p{Mn}\\p{Mc}]","gu"):null;function o(t){return r?t.replace(r,t=>"\\u{"+e(t)+"}"):t}function u(t){return o(t.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,t=>"\\x0"+e(t)).replace(/[\x10-\x1F\x7F-\x9F]/g,t=>"\\x"+e(t)))}function i(t){return o(t.replace(/\\/g,"\\\\").replace(/\]/g,"\\]").replace(/\^/g,"\\^").replace(/-/g,"\\-").replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,t=>"\\x0"+e(t)).replace(/[\x10-\x1F\x7F-\x9F]/g,t=>"\\x"+e(t)))}const c={literal:t=>'"'+u(t.text)+'"',class(t){const n=t.parts.map(t=>Array.isArray(t)?i(t[0])+"-"+i(t[1]):i(t));return"["+(t.inverted?"^":"")+n.join("")+"]"+(t.unicode?"u":"")},any:()=>"any character",end:()=>"end of input",other:t=>t.description};function l(t){return c[t.type](t)}function s(t){const n=t.map(l);if(n.sort(),n.length>0){let t=1;for(let e=1;e<n.length;e++)n[e-1]!==n[e]&&(n[t]=n[e],t++);n.length=t}switch(n.length){case 1:return n[0];case 2:return n[0]+" or "+n[1];default:return n.slice(0,-1).join(", ")+", or "+n[n.length-1]}}function a(t){return t?'"'+u(t)+'"':"end of input"}return"Expected "+s(t)+" but "+a(n)+" found."}}function n(n,e){const r={},o=(e=void 0!==e?e:{}).grammarSource,u={start:yu};let i=yu;const c="!",l="=",s=">=",a=">",f="<=",p="<>",d="!=",v="||",y="@",h="'",g="N'",E="''",C=".",m="null",A="true",b="false",L="in",w="is",T="like",x="escape",N="not",R="and",I="or",O="between",F="from",S="for",M="substring",$="extract",D="trim",U="position",_="timestamp",H="date",P="time",Z="leading",j="trailing",k="both",z="cast",G="as",W="integer",B="int",Y="smallint",q="float",K="real",V="varchar",X="to",J="interval",Q="year",tt="timezone_hour",nt="timezone_minute",et="month",rt="day",ot="hour",ut="minute",it="second",ct="dow",lt="doy",st="week",at="case",ft="end",pt="when",dt="then",vt="else",yt=",",ht="(",gt=")",Et="`",Ct=/^[<-=]/,mt=/^[+\-]/,At=/^[*\/]/,bt=/^[A-Za-z_\x80-\uFFFF]/,Lt=/^[A-Za-z0-9_]/,wt=/^[A-Za-z0-9_.\x80-\uFFFF]/,Tt=/^["]/,xt=/^[^']/,Nt=/^[0-9]/,Rt=/^[eE]/,It=/^[ \t\n\r]/,Ot=/^[^`]/,Ft=cu("!",!1),St=cu("=",!1),Mt=cu(">=",!1),$t=cu(">",!1),Dt=cu("<=",!1),Ut=cu("<>",!1),_t=lu([["<","="]],!1,!1,!1),Ht=cu("!=",!1),Pt=lu(["+","-"],!1,!1,!1),Zt=cu("||",!1),jt=lu(["*","/"],!1,!1,!1),kt=lu([["A","Z"],["a","z"],"_",["€","￿"]],!1,!1,!1),zt=lu([["A","Z"],["a","z"],["0","9"],"_"],!1,!1,!1),Gt=lu([["A","Z"],["a","z"],["0","9"],"_",".",["€","￿"]],!1,!1,!1),Wt=lu(['"'],!1,!1,!1),Bt=cu("@",!1),Yt=cu("'",!1),qt=cu("N'",!1),Kt=cu("''",!1),Vt=lu(["'"],!0,!1,!1),Xt=cu(".",!1),Jt=lu([["0","9"]],!1,!1,!1),Qt=lu(["e","E"],!1,!1,!1),tn=cu("NULL",!0),nn=cu("TRUE",!0),en=cu("FALSE",!0),rn=cu("IN",!0),on=cu("IS",!0),un=cu("LIKE",!0),cn=cu("ESCAPE",!0),ln=cu("NOT",!0),sn=cu("AND",!0),an=cu("OR",!0),fn=cu("BETWEEN",!0),pn=cu("FROM",!0),dn=cu("FOR",!0),vn=cu("SUBSTRING",!0),yn=cu("EXTRACT",!0),hn=cu("TRIM",!0),gn=cu("POSITION",!0),En=cu("TIMESTAMP",!0),Cn=cu("DATE",!0),mn=cu("TIME",!0),An=cu("LEADING",!0),bn=cu("TRAILING",!0),Ln=cu("BOTH",!0),wn=cu("CAST",!0),Tn=cu("AS",!0),xn=cu("INTEGER",!0),Nn=cu("INT",!0),Rn=cu("SMALLINT",!0),In=cu("FLOAT",!0),On=cu("REAL",!0),Fn=cu("VARCHAR",!0),Sn=cu("TO",!0),Mn=cu("INTERVAL",!0),$n=cu("YEAR",!0),Dn=cu("TIMEZONE_HOUR",!0),Un=cu("TIMEZONE_MINUTE",!0),_n=cu("MONTH",!0),Hn=cu("DAY",!0),Pn=cu("HOUR",!0),Zn=cu("MINUTE",!0),jn=cu("SECOND",!0),kn=cu("DOW",!0),zn=cu("DOY",!0),Gn=cu("WEEK",!0),Wn=cu("CASE",!0),Bn=cu("END",!0),Yn=cu("WHEN",!0),qn=cu("THEN",!0),Kn=cu("ELSE",!0),Vn=cu(",",!1),Xn=cu("(",!1),Jn=cu(")",!1),Qn=lu([" ","\t","\n","\r"],!1,!1,!1),te=cu("`",!1),ne=lu(["`"],!0,!1,!1);function ee(t){return t}function re(t){return{type:"expression-list",location:ou(),value:t}}function oe(t,n,e){return{op:n,expr:e,location:ou()}}function ue(t,n){return Hc(t,n)}function ie(t,n,e){return{op:n,expr:e,location:ou()}}function ce(t,n){return Hc(t,n)}function le(t){return Dc("NOT",t,ou())}function se(t,n){if(""==n||null==n||null==n)return t;return"arithmetic"==n.type?Hc(t,n.tail):Uc(n.op,t,n.right,n.escape,ou())}function ae(t,n){return{op:t,expr:n,location:ou()}}function fe(t){return{type:"arithmetic",tail:t}}function pe(t,n){return{op:t+"NOT",right:n}}function de(t,n){return{op:t,right:n}}function ve(t,n,e){return _c(ou(),n,e)}function ye(t,n){return{op:"NOT"+t,right:n}}function he(t,n,e){return _c(ou(),n,e)}function ge(t,n){return{op:t,right:n}}function Ee(t){return t[0]+" "+t[2]}function Ce(t){return t[0]+" "+t[2]}function me(t,n,e){return{op:t,right:n,escape:e.value}}function Ae(t,n){return{op:t,right:n,escape:""}}function be(t,n){return{op:t,right:n}}function Le(t,n){return{op:t,right:n}}function we(t,n,e){return{op:n,expr:e,location:ou()}}function Te(t,n){return Hc(t,n)}function xe(t,n,e){return{op:n,expr:e,location:ou()}}function Ne(t,n){return Hc(t,n)}function Re(t){return t.paren=!0,t}function Ie(t){return/^CURRENT_DATE$/i.test(t)?{type:"current-time",location:ou(),mode:"date"}:/^CURRENT_TIMESTAMP$/i.test(t)?{type:"current-time",location:ou(),mode:"timestamp"}:/^CURRENT_TIME$/i.test(t)?{type:"current-time",location:ou(),mode:"time"}:/^CURRENT_USER$/i.test(t)?{type:"current-user",location:ou()}:{type:"column-reference",location:ou(),table:"",column:t}}function Oe(t){return{type:"column-reference",location:ou(),table:"",column:t,delimited:!0}}function Fe(t){return t}function Se(t,n){return t+n.join("")}function Me(t,n){return t+n.join("")}function $e(t){return t}function De(t){return t.join("")}function Ue(){return'"'}function _e(t){return{type:"parameter",location:ou(),value:t[1]}}function He(t,n){return _c(ou(),t,n)}function Pe(t,n){return _c(ou(),t,n)}function Ze(t){return{type:"function",location:ou(),name:"extract",args:t}}function je(t,n,e){return _c(ou(),t,n,...e?[e]:[])}function ke(t,n,e){return _c(ou(),t,n,e)}function ze(t){return{type:"function",location:ou(),name:"substring",args:t}}function Ge(t,n){return _c(ou(),t,n)}function We(t,n){return _c(ou(),t,n)}function Be(t){return{type:"function",location:ou(),name:"cast",args:t}}function Ye(){return{type:"data-type",location:ou(),value:{type:"integer"}}}function qe(){return{type:"data-type",location:ou(),value:{type:"smallint"}}}function Ke(){return{type:"data-type",location:ou(),value:{type:"float"}}}function Ve(){return{type:"data-type",location:ou(),value:{type:"real"}}}function Xe(){return{type:"data-type",location:ou(),value:{type:"date"}}}function Je(){return{type:"data-type",location:ou(),value:{type:"timestamp"}}}function Qe(){return{type:"data-type",location:ou(),value:{type:"time"}}}function tr(t){return{type:"data-type",location:ou(),value:{type:"varchar",size:parseInt(t)}}}function nr(t,n,e){return _c(ou(),t,n,e)}function er(t,n){return _c(ou(),t,n)}function rr(t){return{type:"function",location:ou(),name:"trim",args:t}}function or(t){return{type:"string",location:ou(),value:t??"BOTH"}}function ur(t,n){return _c(ou(),t,n)}function ir(t,n){return _c(ou(),t,n)}function cr(t){return{type:"function",location:ou(),name:"position",args:t}}function lr(t,n){return{type:"function",location:ou(),name:t,args:n}}function sr(t){return{type:"string",location:ou(),value:t}}function ar(t){return"string"===t.type&&Pc(t.value),{type:"timestamp",location:ou(),value:t.value}}function fr(t){return"string"===t.type&&Zc(t.value),{type:"time",location:ou(),value:t.value}}function pr(t,n,e){return{type:"interval",location:ou(),value:n,qualifier:e,op:t}}function dr(t,n){return{type:"interval",location:ou(),value:t,qualifier:n,op:""}}function vr(t,n){return{type:"interval-qualifier",location:ou(),start:t,end:n}}function yr(t,n){return{type:"interval-period",location:ou(),period:t.value,precision:n,secondary:null}}function hr(t){return{type:"interval-period",location:ou(),period:t.value,precision:null,secondary:null}}function gr(t){return{type:"interval-period",location:ou(),period:t.value,precision:null,secondary:null}}function Er(t,n){return{type:"interval-period",location:ou(),period:"second",precision:t,secondary:n}}function Cr(t){return{type:"interval-period",location:ou(),period:"second",precision:t,secondary:null}}function mr(){return{type:"interval-period",location:ou(),period:"second",precision:null,secondary:null}}function Ar(t,n){return{type:"interval-period",location:ou(),period:t.value,precision:n,secondary:null}}function br(t){return{type:"interval-period",location:ou(),period:t.value,precision:null,secondary:null}}function Lr(t,n){return{type:"interval-period",location:ou(),period:"second",precision:t,secondary:n}}function wr(t){return{type:"interval-period",location:ou(),period:"second",precision:t,secondary:null}}function Tr(){return{type:"interval-period",location:ou(),period:"second",precision:null,secondary:null}}function xr(){return{type:"string",location:ou(),value:"day"}}function Nr(){return{type:"string",location:ou(),value:"hour"}}function Rr(){return{type:"string",location:ou(),value:"minute"}}function Ir(){return{type:"string",location:ou(),value:"month"}}function Or(){return{type:"string",location:ou(),value:"year"}}function Fr(t){return parseFloat(t)}function Sr(t){return parseFloat(t)}function Mr(t){return"string"===t.type&&jc(t.value),{type:"date",location:ou(),value:t.value}}function $r(){return{type:"null",location:ou(),value:null}}function Dr(){return{type:"boolean",location:ou(),value:!0}}function Ur(){return{type:"boolean",location:ou(),value:!1}}function _r(){return"'"}function Hr(t){return{type:"string",location:ou(),value:t.join("")}}function Pr(t,n){return{type:"case-expression",location:ou(),format:"simple",operand:t,clauses:n,else:null,elseLocation:null}}function Zr(t,n,e){return{type:"case-expression",location:ou(),format:"simple",operand:t,clauses:n,else:e.value,elseLocation:e.location}}function jr(t){return{type:"case-expression",location:ou(),format:"searched",clauses:t,else:null,elseLocation:null}}function kr(t,n){return{type:"case-expression",location:ou(),format:"searched",clauses:t,else:n.value,elseLocation:n.location}}function zr(t,n){return{type:"when-clause",location:ou(),operand:t,value:n}}function Gr(t,n){return{type:"when-clause",location:ou(),operand:t,value:n}}function Wr(t){return{type:"else-clause",location:ou(),value:t}}function Br(t){return{type:"number",location:ou(),value:t}}function Yr(t,n,e){return parseFloat(t+n+e)}function qr(t,n){return parseFloat(t+n)}function Kr(t,n){return parseFloat(t+n)}function Vr(t){return parseFloat(t)}function Xr(t,n){return t[0]+n}function Jr(t){return"."+(null!=t?t:"")}function Qr(t,n){return t+n}function to(t){return t.join("")}function no(t,n){return"e"+(null===n?"":n)}function eo(){return"IN"}function ro(){return"IS"}function oo(){return"LIKE"}function uo(){return"ESCAPE"}function io(){return"NOT"}function co(){return"AND"}function lo(){return"OR"}function so(){return"BETWEEN"}function ao(){return"FROM"}function fo(){return"FOR"}function po(){return"SUBSTRING"}function vo(){return"EXTRACT"}function yo(){return"TRIM"}function ho(){return"POSITION"}function go(){return"TIMESTAMP"}function Eo(){return"DATE"}function Co(){return"TIME"}function mo(){return"LEADING"}function Ao(){return"TRAILING"}function bo(){return"BOTH"}function Lo(){return"CAST"}function wo(){return"AS"}function To(){return"INTEGER"}function xo(){return"INT"}function No(){return"SMALLINT"}function Ro(){return"FLOAT"}function Io(){return"REAL"}function Oo(){return"VARCHAR"}function Fo(){return"TO"}function So(){return"INTERVAL"}function Mo(){return"YEAR"}function $o(){return"TIMEZONE_HOUR"}function Do(){return"TIMEZONE_MINUTE"}function Uo(){return"MONTH"}function _o(){return"DAY"}function Ho(){return"HOUR"}function Po(){return"MINUTE"}function Zo(){return"SECOND"}function jo(){return"DOW"}function ko(){return"DOY"}function zo(){return"WEEK"}function Go(){return"CASE"}function Wo(){return"END"}function Bo(){return"WHEN"}function Yo(){return"THEN"}function qo(){return"ELSE"}function Ko(t){return t}function Vo(t){return t.join("")}let Xo=0|e.peg$currPos,Jo=Xo;const Qo=[{line:1,column:1}];let tu,nu=Xo,eu=e.peg$maxFailExpected||[],ru=0|e.peg$silentFails;if(e.startRule){if(!(e.startRule in u))throw new Error("Can't start parsing from rule \""+e.startRule+'".');i=u[e.startRule]}function ou(){return fu(Jo,Xo)}function uu(t,n){throw du(t,n=void 0!==n?n:fu(Jo,Xo))}function iu(t=Xo){const e=n.codePointAt(t);return void 0===e?"":String.fromCodePoint(e)}function cu(t,n){return{type:"literal",text:t,ignoreCase:n}}function lu(t,n,e,r){return{type:"class",parts:t,inverted:n,ignoreCase:e,unicode:r}}function su(){return{type:"end"}}function au(t){let e,r=Qo[t];if(r)return r;if(t>=Qo.length)e=Qo.length-1;else for(e=t;!Qo[--e];);for(r=Qo[e],r={line:r.line,column:r.column};e<t;)10===n.charCodeAt(e)?(r.line++,r.column=1):r.column++,e++;return Qo[t]=r,r}function fu(t,n,e){const r=au(t),u=au(n);return{source:o,start:{offset:t,line:r.line,column:r.column},end:{offset:n,line:u.line,column:u.column}}}function pu(t){Xo<nu||(Xo>nu&&(nu=Xo,eu=[]),eu.push(t))}function du(n,e){return new t(n,null,null,e)}function vu(n,e,r){return new t(t.buildMessage(n,e),n,e,r)}function yu(){let t,n;return t=Xo,Sc(),n=gu(),n!==r?(Sc(),Jo=t,t=ee(n)):(Xo=t,t=r),t}function hu(){let t,n,e,o,u,i,c,l;if(t=Xo,n=Oc(),n!==r){for(Sc(),e=[],o=gu();o!==r;)e.push(o),o=Xo,u=Xo,i=Sc(),c=Ic(),c!==r?(l=Sc(),i=[i,c,l],u=i):(Xo=u,u=r),u!==r?(u=gu(),u===r?(Xo=o,o=r):o=u):o=u;o=Sc(),u=Fc(),u!==r?(Jo=t,t=re(e)):(Xo=t,t=r)}else Xo=t,t=r;return t}function gu(){let t,n,e,o,u,i;if(t=Xo,n=Eu(),n!==r){for(e=[],o=Xo,Sc(),u=zi(),u!==r?(Sc(),i=Eu(),i!==r?(Jo=o,o=oe(n,u,i)):(Xo=o,o=r)):(Xo=o,o=r);o!==r;)e.push(o),o=Xo,Sc(),u=zi(),u!==r?(Sc(),i=Eu(),i!==r?(Jo=o,o=oe(n,u,i)):(Xo=o,o=r)):(Xo=o,o=r);Jo=t,t=ue(n,e)}else Xo=t,t=r;return t}function Eu(){let t,n,e,o,u,i;if(t=Xo,n=Cu(),n!==r){for(e=[],o=Xo,Sc(),u=ki(),u!==r?(Sc(),i=Cu(),i!==r?(Jo=o,o=ie(n,u,i)):(Xo=o,o=r)):(Xo=o,o=r);o!==r;)e.push(o),o=Xo,Sc(),u=ki(),u!==r?(Sc(),i=Cu(),i!==r?(Jo=o,o=ie(n,u,i)):(Xo=o,o=r)):(Xo=o,o=r);Jo=t,t=ce(n,e)}else Xo=t,t=r;return t}function Cu(){let t,e,o,u,i;return t=Xo,e=ji(),e===r&&(e=Xo,33===n.charCodeAt(Xo)?(o=c,Xo++):(o=r,0===ru&&pu(Ft)),o!==r?(u=Xo,ru++,61===n.charCodeAt(Xo)?(i=l,Xo++):(i=r,0===ru&&pu(St)),ru--,i===r?u=void 0:(Xo=u,u=r),u!==r?(o=[o,u],e=o):(Xo=e,e=r)):(Xo=e,e=r)),e!==r?(o=Sc(),u=Cu(),u!==r?(Jo=t,t=le(u)):(Xo=t,t=r)):(Xo=t,t=r),t===r&&(t=mu()),t}function mu(){let t,n,e,o;return t=Xo,n=Ou(),n!==r?(e=Xo,Sc(),o=Au(),o!==r?e=o:(Xo=e,e=r),e===r&&(e=null),Jo=t,t=se(n,e)):(Xo=t,t=r),t}function Au(){let t;return t=bu(),t===r&&(t=Iu(),t===r&&(t=Tu(),t===r&&(t=wu(),t===r&&(t=Ru())))),t}function bu(){let t,n,e,o,u;if(t=Xo,n=[],e=Xo,Sc(),o=Lu(),o!==r?(Sc(),u=Ou(),u!==r?(Jo=e,e=ae(o,u)):(Xo=e,e=r)):(Xo=e,e=r),e!==r)for(;e!==r;)n.push(e),e=Xo,Sc(),o=Lu(),o!==r?(Sc(),u=Ou(),u!==r?(Jo=e,e=ae(o,u)):(Xo=e,e=r)):(Xo=e,e=r);else n=r;return n!==r&&(Jo=t,n=fe(n)),t=n,t}function Lu(){let t;return n.substr(Xo,2)===s?(t=s,Xo+=2):(t=r,0===ru&&pu(Mt)),t===r&&(62===n.charCodeAt(Xo)?(t=a,Xo++):(t=r,0===ru&&pu($t)),t===r&&(n.substr(Xo,2)===f?(t=f,Xo+=2):(t=r,0===ru&&pu(Dt)),t===r&&(n.substr(Xo,2)===p?(t=p,Xo+=2):(t=r,0===ru&&pu(Ut)),t===r&&(t=n.charAt(Xo),Ct.test(t)?Xo++:(t=r,0===ru&&pu(_t)),t===r&&(n.substr(Xo,2)===d?(t=d,Xo+=2):(t=r,0===ru&&pu(Ht))))))),t}function wu(){let t,n,e,o;return t=Xo,n=Hi(),n!==r?(Sc(),e=ji(),e!==r?(Sc(),o=Ou(),o!==r?(Jo=t,t=pe(n,o)):(Xo=t,t=r)):(Xo=t,t=r)):(Xo=t,t=r),t===r&&(t=Xo,n=Hi(),n!==r?(Sc(),e=Ou(),e!==r?(Jo=t,t=de(n,e)):(Xo=t,t=r)):(Xo=t,t=r)),t}function Tu(){let t,n,e,o,u,i,c,l;return t=Xo,n=ji(),n!==r?(Sc(),e=Gi(),e!==r?(o=Sc(),u=Xo,i=Ou(),i!==r?(Sc(),c=ki(),c!==r?(Sc(),l=Ou(),l!==r?(Jo=u,u=ve(e,i,l)):(Xo=u,u=r)):(Xo=u,u=r)):(Xo=u,u=r),u!==r?(Jo=t,t=ye(e,u)):(Xo=t,t=r)):(Xo=t,t=r)):(Xo=t,t=r),t===r&&(t=Xo,n=Gi(),n!==r?(Sc(),e=Xo,o=Ou(),o!==r?(u=Sc(),i=ki(),i!==r?(Sc(),c=Ou(),c!==r?(Jo=e,e=he(n,o,c)):(Xo=e,e=r)):(Xo=e,e=r)):(Xo=e,e=r),e!==r?(Jo=t,t=ge(n,e)):(Xo=t,t=r)):(Xo=t,t=r)),t}function xu(){let t,n,e,o,u;return t=Xo,n=Xo,e=ji(),e!==r?(o=Sc(),u=Pi(),u!==r?(e=[e,o,u],n=e):(Xo=n,n=r)):(Xo=n,n=r),n!==r&&(Jo=t,n=Ee(n)),t=n,t===r&&(t=Pi()),t}function Nu(){let t,n,e,o,u;return t=Xo,n=Xo,e=ji(),e!==r?(o=Sc(),u=_i(),u!==r?(e=[e,o,u],n=e):(Xo=n,n=r)):(Xo=n,n=r),n!==r&&(Jo=t,n=Ce(n)),t=n,t===r&&(t=_i()),t}function Ru(){let t,n,e,o,u;return t=Xo,n=xu(),n!==r?(Sc(),e=Ou(),e!==r?(Sc(),o=Zi(),o!==r?(Sc(),u=Ci(),u!==r?(Jo=t,t=me(n,e,u)):(Xo=t,t=r)):(Xo=t,t=r)):(Xo=t,t=r)):(Xo=t,t=r),t===r&&(t=Xo,n=xu(),n!==r?(Sc(),e=Ou(),e!==r?(Jo=t,t=Ae(n,e)):(Xo=t,t=r)):(Xo=t,t=r)),t}function Iu(){let t,n,e;return t=Xo,n=Nu(),n!==r?(Sc(),e=hu(),e!==r?(Jo=t,t=be(n,e)):(Xo=t,t=r)):(Xo=t,t=r),t===r&&(t=Xo,n=Nu(),n!==r?(Sc(),e=qu(),e!==r?(Jo=t,t=Le(n,e)):(Xo=t,t=r)):(Xo=t,t=r)),t}function Ou(){let t,n,e,o,u,i;if(t=Xo,n=Su(),n!==r){for(e=[],o=Xo,Sc(),u=Fu(),u!==r?(Sc(),i=Su(),i!==r?(Jo=o,o=we(n,u,i)):(Xo=o,o=r)):(Xo=o,o=r);o!==r;)e.push(o),o=Xo,Sc(),u=Fu(),u!==r?(Sc(),i=Su(),i!==r?(Jo=o,o=we(n,u,i)):(Xo=o,o=r)):(Xo=o,o=r);Jo=t,t=Te(n,e)}else Xo=t,t=r;return t}function Fu(){let t;return t=n.charAt(Xo),mt.test(t)?Xo++:(t=r,0===ru&&pu(Pt)),t===r&&(n.substr(Xo,2)===v?(t=v,Xo+=2):(t=r,0===ru&&pu(Zt))),t}function Su(){let t,n,e,o,u,i;if(t=Xo,n=$u(),n!==r){for(e=[],o=Xo,Sc(),u=Mu(),u!==r?(Sc(),i=$u(),i!==r?(Jo=o,o=xe(n,u,i)):(Xo=o,o=r)):(Xo=o,o=r);o!==r;)e.push(o),o=Xo,Sc(),u=Mu(),u!==r?(Sc(),i=$u(),i!==r?(Jo=o,o=xe(n,u,i)):(Xo=o,o=r)):(Xo=o,o=r);Jo=t,t=Ne(n,e)}else Xo=t,t=r;return t}function Mu(){let t;return t=n.charAt(Xo),At.test(t)?Xo++:(t=r,0===ru&&pu(jt)),t}function $u(){let t,n,e,o;return t=oi(),t===r&&(t=Ku(),t===r&&(t=Vu(),t===r&&(t=Qu(),t===r&&(t=ni(),t===r&&(t=Xu(),t===r&&(t=ei(),t===r&&(t=mi(),t===r&&(t=Du(),t===r&&(t=qu(),t===r&&(t=Xo,n=Oc(),n!==r?(Sc(),e=gu(),e!==r?(Sc(),o=Fc(),o!==r?(Jo=t,t=Re(e)):(Xo=t,t=r)):(Xo=t,t=r)):(Xo=t,t=r))))))))))),t}function Du(){let t,n;return t=Xo,n=Uu(),n!==r&&(Jo=t,n=Ie(n)),t=n,t===r&&(t=Xo,n=ku(),n!==r&&(Jo=t,n=Oe(n)),t=n),t}function Uu(){let t,n;return t=Xo,n=_u(),n!==r&&(Jo=t,n=Fe(n)),t=n,t}function _u(){let t,n,e,o;if(t=Xo,n=Pu(),n!==r){for(e=[],o=ju();o!==r;)e.push(o),o=ju();Jo=t,t=Se(n,e)}else Xo=t,t=r;return t}function Hu(){let t,n,e,o;if(t=Xo,n=Pu(),n!==r){for(e=[],o=Zu();o!==r;)e.push(o),o=Zu();Jo=t,t=Me(n,e)}else Xo=t,t=r;return t}function Pu(){let t;return t=n.charAt(Xo),bt.test(t)?Xo++:(t=r,0===ru&&pu(kt)),t}function Zu(){let t;return t=n.charAt(Xo),Lt.test(t)?Xo++:(t=r,0===ru&&pu(zt)),t}function ju(){let t;return t=n.charAt(Xo),wt.test(t)?Xo++:(t=r,0===ru&&pu(Gt)),t}function ku(){let t,n,e,o;return t=Xo,n=Yu(),n!==r?(e=zu(),o=Yu(),o!==r?(Jo=t,t=$e(e)):(Xo=t,t=r)):(Xo=t,t=r),t}function zu(){let t,n,e;for(t=Xo,n=[],e=Gu();e!==r;)n.push(e),e=Gu();return Jo=t,n=De(n),t=n,t}function Gu(){let t;return t=Bu(),t===r&&(t=Wu()),t}function Wu(){let t,n,e;return t=Xo,n=Yu(),n!==r?(e=Yu(),e!==r?(Jo=t,t=Ue()):(Xo=t,t=r)):(Xo=t,t=r),t}function Bu(){let t;return t=n.charAt(Xo),wt.test(t)?Xo++:(t=r,0===ru&&pu(Gt)),t}function Yu(){let t;return t=n.charAt(Xo),Tt.test(t)?Xo++:(t=r,0===ru&&pu(Wt)),t}function qu(){let t,e,o,u;return t=Xo,e=Xo,64===n.charCodeAt(Xo)?(o=y,Xo++):(o=r,0===ru&&pu(Bt)),o!==r?(u=Hu(),u!==r?(o=[o,u],e=o):(Xo=e,e=r)):(Xo=e,e=r),e!==r&&(Jo=t,e=_e(e)),t=e,t}function Ku(){let t,n,e,o,u,i,c,l;return t=Xo,n=qi(),n!==r?(Sc(),e=Xo,o=Oc(),o!==r?(Sc(),u=ri(),u!==r?(Sc(),i=Wi(),i!==r?(Sc(),c=gu(),c!==r?(Sc(),l=Fc(),l!==r?(Jo=e,e=He(u,c)):(Xo=e,e=r)):(Xo=e,e=r)):(Xo=e,e=r)):(Xo=e,e=r)):(Xo=e,e=r),e===r&&(e=Xo,o=Oc(),o!==r?(Sc(),u=ri(),u!==r?(Sc(),i=Ic(),i!==r?(Sc(),c=gu(),c!==r?(Sc(),l=Fc(),l!==r?(Jo=e,e=Pe(u,c)):(Xo=e,e=r)):(Xo=e,e=r)):(Xo=e,e=r)):(Xo=e,e=r)):(Xo=e,e=r)),e!==r?(Jo=t,t=Ze(e)):(Xo=t,t=r)):(Xo=t,t=r),t}function Vu(){let t,n,e,o,u,i,c,l,s,a,f;return t=Xo,n=Yi(),n!==r?(Sc(),e=Xo,o=Oc(),o!==r?(Sc(),u=gu(),u!==r?(Sc(),i=Wi(),i!==r?(Sc(),c=gu(),c!==r?(Sc(),l=Xo,s=Bi(),s!==r?(a=Sc(),f=gu(),f!==r?(Sc(),l=f):(Xo=l,l=r)):(Xo=l,l=r),l===r&&(l=null),s=Fc(),s!==r?(Jo=e,e=je(u,c,l)):(Xo=e,e=r)):(Xo=e,e=r)):(Xo=e,e=r)):(Xo=e,e=r)):(Xo=e,e=r),e===r&&(e=Xo,o=Oc(),o!==r?(Sc(),u=gu(),u!==r?(Sc(),i=Ic(),i!==r?(Sc(),c=gu(),c!==r?(Sc(),l=Ic(),l!==r?(s=Sc(),a=gu(),a!==r?(f=Fc(),f!==r?(Jo=e,e=ke(u,c,a)):(Xo=e,e=r)):(Xo=e,e=r)):(Xo=e,e=r)):(Xo=e,e=r)):(Xo=e,e=r)):(Xo=e,e=r)):(Xo=e,e=r)),e!==r?(Jo=t,t=ze(e)):(Xo=t,t=r)):(Xo=t,t=r),t}function Xu(){let t,n,e,o,u,i,c,l;return t=Xo,n=rc(),n!==r?(Sc(),e=Xo,o=Oc(),o!==r?(Sc(),u=gu(),u!==r?(Sc(),i=oc(),i!==r?(Sc(),c=Ju(),c!==r?(Sc(),l=Fc(),l!==r?(Jo=e,e=Ge(u,c)):(Xo=e,e=r)):(Xo=e,e=r)):(Xo=e,e=r)):(Xo=e,e=r)):(Xo=e,e=r),e===r&&(e=Xo,o=Oc(),o!==r?(Sc(),u=gu(),u!==r?(Sc(),i=Ic(),i!==r?(Sc(),c=Ju(),c!==r?(Sc(),l=Fc(),l!==r?(Jo=e,e=We(u,c)):(Xo=e,e=r)):(Xo=e,e=r)):(Xo=e,e=r)):(Xo=e,e=r)):(Xo=e,e=r)),e!==r?(Jo=t,t=Be(e)):(Xo=t,t=r)):(Xo=t,t=r),t}function Ju(){let t,n,e,o,u;return t=Xo,n=uc(),n===r&&(n=ic()),n!==r&&(Jo=t,n=Ye()),t=n,t===r&&(t=Xo,n=cc(),n!==r&&(Jo=t,n=qe()),t=n,t===r&&(t=Xo,n=lc(),n!==r&&(Jo=t,n=Ke()),t=n,t===r&&(t=Xo,n=sc(),n!==r&&(Jo=t,n=Ve()),t=n,t===r&&(t=Xo,n=Ji(),n!==r&&(Jo=t,n=Xe()),t=n,t===r&&(t=Xo,n=Xi(),n!==r&&(Jo=t,n=Je()),t=n,t===r&&(t=Xo,n=Qi(),n!==r&&(Jo=t,n=Qe()),t=n,t===r&&(t=Xo,n=ac(),n!==r?(Sc(),e=Oc(),e!==r?(Sc(),o=Fi(),o!==r?(Sc(),u=Fc(),u!==r?(Jo=t,t=tr(o)):(Xo=t,t=r)):(Xo=t,t=r)):(Xo=t,t=r)):(Xo=t,t=r)))))))),t}function Qu(){let t,n,e,o,u,i,c,l,s;return t=Xo,n=Ki(),n!==r?(Sc(),e=Xo,o=Oc(),o!==r?(Sc(),u=ti(),Sc(),i=gu(),i!==r?(Sc(),c=Wi(),c!==r?(Sc(),l=gu(),l!==r?(Sc(),s=Fc(),s!==r?(Jo=e,e=nr(u,i,l)):(Xo=e,e=r)):(Xo=e,e=r)):(Xo=e,e=r)):(Xo=e,e=r)):(Xo=e,e=r),e===r&&(e=Xo,o=Oc(),o!==r?(Sc(),u=ti(),Sc(),i=gu(),i!==r?(Sc(),c=Fc(),c!==r?(Jo=e,e=er(u,i)):(Xo=e,e=r)):(Xo=e,e=r)):(Xo=e,e=r)),e!==r?(Jo=t,t=rr(e)):(Xo=t,t=r)):(Xo=t,t=r),t}function ti(){let t,n;return t=Xo,n=tc(),n===r&&(n=nc(),n===r&&(n=ec())),n===r&&(n=null),Jo=t,n=or(n),t=n,t}function ni(){let t,n,e,o,u,i,c,l;return t=Xo,n=Vi(),n!==r?(Sc(),e=Xo,o=Oc(),o!==r?(Sc(),u=gu(),u!==r?(Sc(),i=_i(),i!==r?(Sc(),c=gu(),c!==r?(Sc(),l=Fc(),l!==r?(Jo=e,e=ur(u,c)):(Xo=e,e=r)):(Xo=e,e=r)):(Xo=e,e=r)):(Xo=e,e=r)):(Xo=e,e=r),e===r&&(e=Xo,o=Oc(),o!==r?(Sc(),u=gu(),u!==r?(Sc(),i=Ic(),i!==r?(Sc(),c=gu(),c!==r?(Sc(),l=Fc(),l!==r?(Jo=e,e=ir(u,c)):(Xo=e,e=r)):(Xo=e,e=r)):(Xo=e,e=r)):(Xo=e,e=r)):(Xo=e,e=r)),e!==r?(Jo=t,t=cr(e)):(Xo=t,t=r)):(Xo=t,t=r),t}function ei(){let t,n,e,o;return t=Xo,n=Xo,ru++,e=qi(),ru--,e===r?n=void 0:(Xo=n,n=r),n!==r?(e=$c(),e!==r?(Sc(),o=hu(),o!==r?(Jo=t,t=lr(e,o)):(Xo=t,t=r)):(Xo=t,t=r)):(Xo=t,t=r),t}function ri(){let t,n;return t=Xo,n=dc(),n===r&&(n=hc(),n===r&&(n=gc(),n===r&&(n=Ec(),n===r&&(n=Cc(),n===r&&(n=mc(),n===r&&(n=vc(),n===r&&(n=yc(),n===r&&(n=Ac(),n===r&&(n=bc(),n===r&&(n=Lc())))))))))),n!==r&&(Jo=t,n=sr(n)),t=n,t}function oi(){let t;return t=Ci(),t===r&&(t=xi(),t===r&&(t=gi(),t===r&&(t=hi(),t===r&&(t=yi(),t===r&&(t=ui(),t===r&&(t=ci(),t===r&&(t=ii()))))))),t}function ui(){let t,n,e;return t=Xo,n=Xi(),n!==r?(Sc(),e=Ei(),e!==r?(Jo=t,t=ar(e)):(Xo=t,t=r)):(Xo=t,t=r),t}function ii(){let t,n,e;return t=Xo,n=Qi(),n!==r?(Sc(),e=Ei(),e!==r?(Jo=t,t=fr(e)):(Xo=t,t=r)):(Xo=t,t=r),t}function ci(){let t,e,o,u,i;return t=Xo,e=pc(),e!==r?(Sc(),o=n.charAt(Xo),mt.test(o)?Xo++:(o=r,0===ru&&pu(Pt)),o!==r?(Sc(),u=Ei(),u!==r?(Sc(),i=li(),i!==r?(Jo=t,t=pr(o,u,i)):(Xo=t,t=r)):(Xo=t,t=r)):(Xo=t,t=r)):(Xo=t,t=r),t===r&&(t=Xo,e=pc(),e!==r?(Sc(),o=Ei(),o!==r?(Sc(),u=li(),u!==r?(Jo=t,t=dr(o,u)):(Xo=t,t=r)):(Xo=t,t=r)):(Xo=t,t=r)),t}function li(){let t,n,e,o;return t=Xo,n=si(),n!==r?(Sc(),e=fc(),e!==r?(Sc(),o=ai(),o!==r?(Jo=t,t=vr(n,o)):(Xo=t,t=r)):(Xo=t,t=r)):(Xo=t,t=r),t===r&&(t=fi()),t}function si(){let t,n,e,o,u;return t=Xo,n=pi(),n!==r?(Sc(),e=Oc(),e!==r?(Sc(),o=vi(),o!==r?(Sc(),u=Fc(),u!==r?(Jo=t,t=yr(n,o)):(Xo=t,t=r)):(Xo=t,t=r)):(Xo=t,t=r)):(Xo=t,t=r),t===r&&(t=Xo,n=pi(),n!==r&&(Jo=t,n=hr(n)),t=n),t}function ai(){let t,n,e,o,u,i,c;return t=Xo,n=pi(),n!==r&&(Jo=t,n=gr(n)),t=n,t===r&&(t=Xo,n=mc(),n!==r?(Sc(),e=Oc(),e!==r?(Sc(),o=vi(),o!==r?(Sc(),u=Ic(),u!==r?(Sc(),i=di(),i!==r?(Sc(),c=Fc(),c!==r?(Jo=t,t=Er(o,i)):(Xo=t,t=r)):(Xo=t,t=r)):(Xo=t,t=r)):(Xo=t,t=r)):(Xo=t,t=r)):(Xo=t,t=r),t===r&&(t=Xo,n=mc(),n!==r?(Sc(),e=Oc(),e!==r?(Sc(),o=vi(),o!==r?(Sc(),u=Fc(),u!==r?(Jo=t,t=Cr(o)):(Xo=t,t=r)):(Xo=t,t=r)):(Xo=t,t=r)):(Xo=t,t=r),t===r&&(t=Xo,n=mc(),n!==r&&(Jo=t,n=mr()),t=n))),t}function fi(){let t,n,e,o,u,i,c;return t=Xo,n=pi(),n!==r?(Sc(),e=Oc(),e!==r?(Sc(),o=di(),o!==r?(Sc(),u=Fc(),u!==r?(Jo=t,t=Ar(n,o)):(Xo=t,t=r)):(Xo=t,t=r)):(Xo=t,t=r)):(Xo=t,t=r),t===r&&(t=Xo,n=pi(),n!==r&&(Jo=t,n=br(n)),t=n,t===r&&(t=Xo,n=mc(),n!==r?(Sc(),e=Oc(),e!==r?(Sc(),o=vi(),o!==r?(Sc(),u=Ic(),u!==r?(Sc(),i=di(),i!==r?(Sc(),c=Fc(),c!==r?(Jo=t,t=Lr(o,i)):(Xo=t,t=r)):(Xo=t,t=r)):(Xo=t,t=r)):(Xo=t,t=r)):(Xo=t,t=r)):(Xo=t,t=r),t===r&&(t=Xo,n=mc(),n!==r?(Sc(),e=Oc(),e!==r?(Sc(),o=di(),o!==r?(Sc(),u=Fc(),u!==r?(Jo=t,t=wr(o)):(Xo=t,t=r)):(Xo=t,t=r)):(Xo=t,t=r)):(Xo=t,t=r),t===r&&(t=Xo,n=mc(),n!==r&&(Jo=t,n=Tr()),t=n)))),t}function pi(){let t,n;return t=Xo,n=gc(),n!==r&&(Jo=t,n=xr()),t=n,t===r&&(t=Xo,n=Ec(),n!==r&&(Jo=t,n=Nr()),t=n,t===r&&(t=Xo,n=Cc(),n!==r&&(Jo=t,n=Rr()),t=n,t===r&&(t=Xo,n=hc(),n!==r&&(Jo=t,n=Ir()),t=n,t===r&&(t=Xo,n=dc(),n!==r&&(Jo=t,n=Or()),t=n)))),t}function di(){let t,n;return t=Xo,n=Fi(),n!==r&&(Jo=t,n=Fr(n)),t=n,t}function vi(){let t,n;return t=Xo,n=Fi(),n!==r&&(Jo=t,n=Sr(n)),t=n,t}function yi(){let t,n,e;return t=Xo,n=Ji(),n!==r?(Sc(),e=Ei(),e!==r?(Jo=t,t=Mr(e)):(Xo=t,t=r)):(Xo=t,t=r),t}function hi(){let t,n;return t=Xo,n=$i(),n!==r&&(Jo=t,n=$r()),t=n,t}function gi(){let t,n;return t=Xo,n=Di(),n!==r&&(Jo=t,n=Dr()),t=n,t===r&&(t=Xo,n=Ui(),n!==r&&(Jo=t,n=Ur()),t=n),t}function Ei(){let t;return t=Ci(),t===r&&(t=qu()),t}function Ci(){let t,e,o,u,i;if(t=Xo,39===n.charCodeAt(Xo)?(e=h,Xo++):(e=r,0===ru&&pu(Yt)),e===r&&(n.substr(Xo,2)===g?(e=g,Xo+=2):(e=r,0===ru&&pu(qt))),e!==r){for(o=[],u=Xo,n.substr(Xo,2)===E?(i=E,Xo+=2):(i=r,0===ru&&pu(Kt)),i!==r&&(Jo=u,i=_r()),u=i,u===r&&(u=n.charAt(Xo),xt.test(u)?Xo++:(u=r,0===ru&&pu(Vt)));u!==r;)o.push(u),u=Xo,n.substr(Xo,2)===E?(i=E,Xo+=2):(i=r,0===ru&&pu(Kt)),i!==r&&(Jo=u,i=_r()),u=i,u===r&&(u=n.charAt(Xo),xt.test(u)?Xo++:(u=r,0===ru&&pu(Vt)));39===n.charCodeAt(Xo)?(u=h,Xo++):(u=r,0===ru&&pu(Yt)),u!==r?(Jo=t,t=Hr(o)):(Xo=t,t=r)}else Xo=t,t=r;return t}function mi(){let t;return t=Ai(),t===r&&(t=bi()),t}function Ai(){let t,n,e,o,u,i,c;if(t=Xo,n=wc(),n!==r)if(Sc(),e=gu(),e!==r){for(Sc(),o=[],u=Xo,i=wi(),i!==r?(c=Sc(),u=i):(Xo=u,u=r);u!==r;)o.push(u),u=Xo,i=wi(),i!==r?(c=Sc(),u=i):(Xo=u,u=r);u=Tc(),u!==r?(Jo=t,t=Pr(e,o)):(Xo=t,t=r)}else Xo=t,t=r;else Xo=t,t=r;if(t===r)if(t=Xo,n=wc(),n!==r)if(Sc(),e=gu(),e!==r){for(Sc(),o=[],u=Xo,i=wi(),i!==r?(c=Sc(),u=i):(Xo=u,u=r);u!==r;)o.push(u),u=Xo,i=wi(),i!==r?(c=Sc(),u=i):(Xo=u,u=r);u=Ti(),u!==r?(i=Sc(),c=Tc(),c!==r?(Jo=t,t=Zr(e,o,u)):(Xo=t,t=r)):(Xo=t,t=r)}else Xo=t,t=r;else Xo=t,t=r;return t}function bi(){let t,n,e,o,u,i;if(t=Xo,n=wc(),n!==r){for(Sc(),e=[],o=Xo,u=Li(),u!==r?(i=Sc(),o=u):(Xo=o,o=r);o!==r;)e.push(o),o=Xo,u=Li(),u!==r?(i=Sc(),o=u):(Xo=o,o=r);o=Tc(),o!==r?(Jo=t,t=jr(e)):(Xo=t,t=r)}else Xo=t,t=r;if(t===r)if(t=Xo,n=wc(),n!==r){for(Sc(),e=[],o=Xo,u=Li(),u!==r?(i=Sc(),o=u):(Xo=o,o=r);o!==r;)e.push(o),o=Xo,u=Li(),u!==r?(i=Sc(),o=u):(Xo=o,o=r);o=Ti(),o!==r?(u=Sc(),i=Tc(),i!==r?(Jo=t,t=kr(e,o)):(Xo=t,t=r)):(Xo=t,t=r)}else Xo=t,t=r;return t}function Li(){let t,n,e,o,u;return t=Xo,n=xc(),n!==r?(Sc(),e=gu(),e!==r?(Sc(),o=Nc(),o!==r?(Sc(),u=gu(),u!==r?(Jo=t,t=zr(e,u)):(Xo=t,t=r)):(Xo=t,t=r)):(Xo=t,t=r)):(Xo=t,t=r),t}function wi(){let t,n,e,o,u;return t=Xo,n=xc(),n!==r?(Sc(),e=gu(),e!==r?(Sc(),o=Nc(),o!==r?(Sc(),u=gu(),u!==r?(Jo=t,t=Gr(e,u)):(Xo=t,t=r)):(Xo=t,t=r)):(Xo=t,t=r)):(Xo=t,t=r),t}function Ti(){let t,n,e;return t=Xo,n=Rc(),n!==r?(Sc(),e=gu(),e!==r?(Jo=t,t=Wr(e)):(Xo=t,t=r)):(Xo=t,t=r),t}function xi(){let t,n,e,o;return t=Xo,n=Ni(),n!==r?(e=Xo,ru++,o=Pu(),ru--,o===r?e=void 0:(Xo=e,e=r),e!==r?(Jo=t,t=Br(n)):(Xo=t,t=r)):(Xo=t,t=r),t}function Ni(){let t,n,e,o;return t=Xo,n=Ri(),n!==r?(e=Ii(),e!==r?(o=Oi(),o!==r?(Jo=t,t=Yr(n,e,o)):(Xo=t,t=r)):(Xo=t,t=r)):(Xo=t,t=r),t===r&&(t=Xo,n=Ri(),n!==r?(e=Ii(),e!==r?(Jo=t,t=qr(n,e)):(Xo=t,t=r)):(Xo=t,t=r),t===r&&(t=Xo,n=Ri(),n!==r?(e=Oi(),e!==r?(Jo=t,t=Kr(n,e)):(Xo=t,t=r)):(Xo=t,t=r),t===r&&(t=Xo,n=Ri(),n!==r&&(Jo=t,n=Vr(n)),t=n))),t}function Ri(){let t,e,o;return t=Fi(),t===r&&(t=Xo,e=n.charAt(Xo),mt.test(e)?Xo++:(e=r,0===ru&&pu(Pt)),e!==r?(o=Fi(),o!==r?(Jo=t,t=Xr(e,o)):(Xo=t,t=r)):(Xo=t,t=r)),t}function Ii(){let t,e,o;return t=Xo,46===n.charCodeAt(Xo)?(e=C,Xo++):(e=r,0===ru&&pu(Xt)),e!==r?(o=Fi(),o===r&&(o=null),Jo=t,t=Jr(o)):(Xo=t,t=r),t}function Oi(){let t,n,e;return t=Xo,n=Mi(),n!==r?(e=Fi(),e!==r?(Jo=t,t=Qr(n,e)):(Xo=t,t=r)):(Xo=t,t=r),t}function Fi(){let t,n,e;if(t=Xo,n=[],e=Si(),e!==r)for(;e!==r;)n.push(e),e=Si();else n=r;return n!==r&&(Jo=t,n=to(n)),t=n,t}function Si(){let t;return t=n.charAt(Xo),Nt.test(t)?Xo++:(t=r,0===ru&&pu(Jt)),t}function Mi(){let t,e,o;return t=Xo,e=n.charAt(Xo),Rt.test(e)?Xo++:(e=r,0===ru&&pu(Qt)),e!==r?(o=n.charAt(Xo),mt.test(o)?Xo++:(o=r,0===ru&&pu(Pt)),o===r&&(o=null),Jo=t,t=no(e,o)):(Xo=t,t=r),t}function $i(){let t,e,o,u;return t=Xo,e=n.substr(Xo,4),e.toLowerCase()===m?Xo+=4:(e=r,0===ru&&pu(tn)),e!==r?(o=Xo,ru++,u=Zu(),ru--,u===r?o=void 0:(Xo=o,o=r),o!==r?(e=[e,o],t=e):(Xo=t,t=r)):(Xo=t,t=r),t}function Di(){let t,e,o,u;return t=Xo,e=n.substr(Xo,4),e.toLowerCase()===A?Xo+=4:(e=r,0===ru&&pu(nn)),e!==r?(o=Xo,ru++,u=Zu(),ru--,u===r?o=void 0:(Xo=o,o=r),o!==r?(e=[e,o],t=e):(Xo=t,t=r)):(Xo=t,t=r),t}function Ui(){let t,e,o,u;return t=Xo,e=n.substr(Xo,5),e.toLowerCase()===b?Xo+=5:(e=r,0===ru&&pu(en)),e!==r?(o=Xo,ru++,u=Zu(),ru--,u===r?o=void 0:(Xo=o,o=r),o!==r?(e=[e,o],t=e):(Xo=t,t=r)):(Xo=t,t=r),t}function _i(){let t,e,o,u;return t=Xo,e=n.substr(Xo,2),e.toLowerCase()===L?Xo+=2:(e=r,0===ru&&pu(rn)),e!==r?(o=Xo,ru++,u=Zu(),ru--,u===r?o=void 0:(Xo=o,o=r),o!==r?(Jo=t,t=eo()):(Xo=t,t=r)):(Xo=t,t=r),t}function Hi(){let t,e,o,u;return t=Xo,e=n.substr(Xo,2),e.toLowerCase()===w?Xo+=2:(e=r,0===ru&&pu(on)),e!==r?(o=Xo,ru++,u=Zu(),ru--,u===r?o=void 0:(Xo=o,o=r),o!==r?(Jo=t,t=ro()):(Xo=t,t=r)):(Xo=t,t=r),t}function Pi(){let t,e,o,u;return t=Xo,e=n.substr(Xo,4),e.toLowerCase()===T?Xo+=4:(e=r,0===ru&&pu(un)),e!==r?(o=Xo,ru++,u=Zu(),ru--,u===r?o=void 0:(Xo=o,o=r),o!==r?(Jo=t,t=oo()):(Xo=t,t=r)):(Xo=t,t=r),t}function Zi(){let t,e,o,u;return t=Xo,e=n.substr(Xo,6),e.toLowerCase()===x?Xo+=6:(e=r,0===ru&&pu(cn)),e!==r?(o=Xo,ru++,u=Zu(),ru--,u===r?o=void 0:(Xo=o,o=r),o!==r?(Jo=t,t=uo()):(Xo=t,t=r)):(Xo=t,t=r),t}function ji(){let t,e,o,u;return t=Xo,e=n.substr(Xo,3),e.toLowerCase()===N?Xo+=3:(e=r,0===ru&&pu(ln)),e!==r?(o=Xo,ru++,u=Zu(),ru--,u===r?o=void 0:(Xo=o,o=r),o!==r?(Jo=t,t=io()):(Xo=t,t=r)):(Xo=t,t=r),t}function ki(){let t,e,o,u;return t=Xo,e=n.substr(Xo,3),e.toLowerCase()===R?Xo+=3:(e=r,0===ru&&pu(sn)),e!==r?(o=Xo,ru++,u=Zu(),ru--,u===r?o=void 0:(Xo=o,o=r),o!==r?(Jo=t,t=co()):(Xo=t,t=r)):(Xo=t,t=r),t}function zi(){let t,e,o,u;return t=Xo,e=n.substr(Xo,2),e.toLowerCase()===I?Xo+=2:(e=r,0===ru&&pu(an)),e!==r?(o=Xo,ru++,u=Zu(),ru--,u===r?o=void 0:(Xo=o,o=r),o!==r?(Jo=t,t=lo()):(Xo=t,t=r)):(Xo=t,t=r),t}function Gi(){let t,e,o,u;return t=Xo,e=n.substr(Xo,7),e.toLowerCase()===O?Xo+=7:(e=r,0===ru&&pu(fn)),e!==r?(o=Xo,ru++,u=Zu(),ru--,u===r?o=void 0:(Xo=o,o=r),o!==r?(Jo=t,t=so()):(Xo=t,t=r)):(Xo=t,t=r),t}function Wi(){let t,e,o,u;return t=Xo,e=n.substr(Xo,4),e.toLowerCase()===F?Xo+=4:(e=r,0===ru&&pu(pn)),e!==r?(o=Xo,ru++,u=Zu(),ru--,u===r?o=void 0:(Xo=o,o=r),o!==r?(Jo=t,t=ao()):(Xo=t,t=r)):(Xo=t,t=r),t}function Bi(){let t,e,o,u;return t=Xo,e=n.substr(Xo,3),e.toLowerCase()===S?Xo+=3:(e=r,0===ru&&pu(dn)),e!==r?(o=Xo,ru++,u=Zu(),ru--,u===r?o=void 0:(Xo=o,o=r),o!==r?(Jo=t,t=fo()):(Xo=t,t=r)):(Xo=t,t=r),t}function Yi(){let t,e,o,u;return t=Xo,e=n.substr(Xo,9),e.toLowerCase()===M?Xo+=9:(e=r,0===ru&&pu(vn)),e!==r?(o=Xo,ru++,u=Zu(),ru--,u===r?o=void 0:(Xo=o,o=r),o!==r?(Jo=t,t=po()):(Xo=t,t=r)):(Xo=t,t=r),t}function qi(){let t,e,o,u;return t=Xo,e=n.substr(Xo,7),e.toLowerCase()===$?Xo+=7:(e=r,0===ru&&pu(yn)),e!==r?(o=Xo,ru++,u=Zu(),ru--,u===r?o=void 0:(Xo=o,o=r),o!==r?(Jo=t,t=vo()):(Xo=t,t=r)):(Xo=t,t=r),t}function Ki(){let t,e,o,u;return t=Xo,e=n.substr(Xo,4),e.toLowerCase()===D?Xo+=4:(e=r,0===ru&&pu(hn)),e!==r?(o=Xo,ru++,u=Zu(),ru--,u===r?o=void 0:(Xo=o,o=r),o!==r?(Jo=t,t=yo()):(Xo=t,t=r)):(Xo=t,t=r),t}function Vi(){let t,e,o,u;return t=Xo,e=n.substr(Xo,8),e.toLowerCase()===U?Xo+=8:(e=r,0===ru&&pu(gn)),e!==r?(o=Xo,ru++,u=Zu(),ru--,u===r?o=void 0:(Xo=o,o=r),o!==r?(Jo=t,t=ho()):(Xo=t,t=r)):(Xo=t,t=r),t}function Xi(){let t,e,o,u;return t=Xo,e=n.substr(Xo,9),e.toLowerCase()===_?Xo+=9:(e=r,0===ru&&pu(En)),e!==r?(o=Xo,ru++,u=Zu(),ru--,u===r?o=void 0:(Xo=o,o=r),o!==r?(Jo=t,t=go()):(Xo=t,t=r)):(Xo=t,t=r),t}function Ji(){let t,e,o,u;return t=Xo,e=n.substr(Xo,4),e.toLowerCase()===H?Xo+=4:(e=r,0===ru&&pu(Cn)),e!==r?(o=Xo,ru++,u=Zu(),ru--,u===r?o=void 0:(Xo=o,o=r),o!==r?(Jo=t,t=Eo()):(Xo=t,t=r)):(Xo=t,t=r),t}function Qi(){let t,e,o,u;return t=Xo,e=n.substr(Xo,4),e.toLowerCase()===P?Xo+=4:(e=r,0===ru&&pu(mn)),e!==r?(o=Xo,ru++,u=Zu(),ru--,u===r?o=void 0:(Xo=o,o=r),o!==r?(Jo=t,t=Co()):(Xo=t,t=r)):(Xo=t,t=r),t}function tc(){let t,e,o,u;return t=Xo,e=n.substr(Xo,7),e.toLowerCase()===Z?Xo+=7:(e=r,0===ru&&pu(An)),e!==r?(o=Xo,ru++,u=Zu(),ru--,u===r?o=void 0:(Xo=o,o=r),o!==r?(Jo=t,t=mo()):(Xo=t,t=r)):(Xo=t,t=r),t}function nc(){let t,e,o,u;return t=Xo,e=n.substr(Xo,8),e.toLowerCase()===j?Xo+=8:(e=r,0===ru&&pu(bn)),e!==r?(o=Xo,ru++,u=Zu(),ru--,u===r?o=void 0:(Xo=o,o=r),o!==r?(Jo=t,t=Ao()):(Xo=t,t=r)):(Xo=t,t=r),t}function ec(){let t,e,o,u;return t=Xo,e=n.substr(Xo,4),e.toLowerCase()===k?Xo+=4:(e=r,0===ru&&pu(Ln)),e!==r?(o=Xo,ru++,u=Zu(),ru--,u===r?o=void 0:(Xo=o,o=r),o!==r?(Jo=t,t=bo()):(Xo=t,t=r)):(Xo=t,t=r),t}function rc(){let t,e,o,u;return t=Xo,e=n.substr(Xo,4),e.toLowerCase()===z?Xo+=4:(e=r,0===ru&&pu(wn)),e!==r?(o=Xo,ru++,u=Zu(),ru--,u===r?o=void 0:(Xo=o,o=r),o!==r?(Jo=t,t=Lo()):(Xo=t,t=r)):(Xo=t,t=r),t}function oc(){let t,e,o,u;return t=Xo,e=n.substr(Xo,2),e.toLowerCase()===G?Xo+=2:(e=r,0===ru&&pu(Tn)),e!==r?(o=Xo,ru++,u=Zu(),ru--,u===r?o=void 0:(Xo=o,o=r),o!==r?(Jo=t,t=wo()):(Xo=t,t=r)):(Xo=t,t=r),t}function uc(){let t,e,o,u;return t=Xo,e=n.substr(Xo,7),e.toLowerCase()===W?Xo+=7:(e=r,0===ru&&pu(xn)),e!==r?(o=Xo,ru++,u=Zu(),ru--,u===r?o=void 0:(Xo=o,o=r),o!==r?(Jo=t,t=To()):(Xo=t,t=r)):(Xo=t,t=r),t}function ic(){let t,e,o,u;return t=Xo,e=n.substr(Xo,3),e.toLowerCase()===B?Xo+=3:(e=r,0===ru&&pu(Nn)),e!==r?(o=Xo,ru++,u=Zu(),ru--,u===r?o=void 0:(Xo=o,o=r),o!==r?(Jo=t,t=xo()):(Xo=t,t=r)):(Xo=t,t=r),t}function cc(){let t,e,o,u;return t=Xo,e=n.substr(Xo,8),e.toLowerCase()===Y?Xo+=8:(e=r,0===ru&&pu(Rn)),e!==r?(o=Xo,ru++,u=Zu(),ru--,u===r?o=void 0:(Xo=o,o=r),o!==r?(Jo=t,t=No()):(Xo=t,t=r)):(Xo=t,t=r),t}function lc(){let t,e,o,u;return t=Xo,e=n.substr(Xo,5),e.toLowerCase()===q?Xo+=5:(e=r,0===ru&&pu(In)),e!==r?(o=Xo,ru++,u=Zu(),ru--,u===r?o=void 0:(Xo=o,o=r),o!==r?(Jo=t,t=Ro()):(Xo=t,t=r)):(Xo=t,t=r),t}function sc(){let t,e,o,u;return t=Xo,e=n.substr(Xo,4),e.toLowerCase()===K?Xo+=4:(e=r,0===ru&&pu(On)),e!==r?(o=Xo,ru++,u=Zu(),ru--,u===r?o=void 0:(Xo=o,o=r),o!==r?(Jo=t,t=Io()):(Xo=t,t=r)):(Xo=t,t=r),t}function ac(){let t,e,o,u;return t=Xo,e=n.substr(Xo,7),e.toLowerCase()===V?Xo+=7:(e=r,0===ru&&pu(Fn)),e!==r?(o=Xo,ru++,u=Zu(),ru--,u===r?o=void 0:(Xo=o,o=r),o!==r?(Jo=t,t=Oo()):(Xo=t,t=r)):(Xo=t,t=r),t}function fc(){let t,e,o,u;return t=Xo,e=n.substr(Xo,2),e.toLowerCase()===X?Xo+=2:(e=r,0===ru&&pu(Sn)),e!==r?(o=Xo,ru++,u=Zu(),ru--,u===r?o=void 0:(Xo=o,o=r),o!==r?(Jo=t,t=Fo()):(Xo=t,t=r)):(Xo=t,t=r),t}function pc(){let t,e,o,u;return t=Xo,e=n.substr(Xo,8),e.toLowerCase()===J?Xo+=8:(e=r,0===ru&&pu(Mn)),e!==r?(o=Xo,ru++,u=Zu(),ru--,u===r?o=void 0:(Xo=o,o=r),o!==r?(Jo=t,t=So()):(Xo=t,t=r)):(Xo=t,t=r),t}function dc(){let t,e,o,u;return t=Xo,e=n.substr(Xo,4),e.toLowerCase()===Q?Xo+=4:(e=r,0===ru&&pu($n)),e!==r?(o=Xo,ru++,u=Zu(),ru--,u===r?o=void 0:(Xo=o,o=r),o!==r?(Jo=t,t=Mo()):(Xo=t,t=r)):(Xo=t,t=r),t}function vc(){let t,e,o,u;return t=Xo,e=n.substr(Xo,13),e.toLowerCase()===tt?Xo+=13:(e=r,0===ru&&pu(Dn)),e!==r?(o=Xo,ru++,u=Zu(),ru--,u===r?o=void 0:(Xo=o,o=r),o!==r?(Jo=t,t=$o()):(Xo=t,t=r)):(Xo=t,t=r),t}function yc(){let t,e,o,u;return t=Xo,e=n.substr(Xo,15),e.toLowerCase()===nt?Xo+=15:(e=r,0===ru&&pu(Un)),e!==r?(o=Xo,ru++,u=Zu(),ru--,u===r?o=void 0:(Xo=o,o=r),o!==r?(Jo=t,t=Do()):(Xo=t,t=r)):(Xo=t,t=r),t}function hc(){let t,e,o,u;return t=Xo,e=n.substr(Xo,5),e.toLowerCase()===et?Xo+=5:(e=r,0===ru&&pu(_n)),e!==r?(o=Xo,ru++,u=Zu(),ru--,u===r?o=void 0:(Xo=o,o=r),o!==r?(Jo=t,t=Uo()):(Xo=t,t=r)):(Xo=t,t=r),t}function gc(){let t,e,o,u;return t=Xo,e=n.substr(Xo,3),e.toLowerCase()===rt?Xo+=3:(e=r,0===ru&&pu(Hn)),e!==r?(o=Xo,ru++,u=Zu(),ru--,u===r?o=void 0:(Xo=o,o=r),o!==r?(Jo=t,t=_o()):(Xo=t,t=r)):(Xo=t,t=r),t}function Ec(){let t,e,o,u;return t=Xo,e=n.substr(Xo,4),e.toLowerCase()===ot?Xo+=4:(e=r,0===ru&&pu(Pn)),e!==r?(o=Xo,ru++,u=Zu(),ru--,u===r?o=void 0:(Xo=o,o=r),o!==r?(Jo=t,t=Ho()):(Xo=t,t=r)):(Xo=t,t=r),t}function Cc(){let t,e,o,u;return t=Xo,e=n.substr(Xo,6),e.toLowerCase()===ut?Xo+=6:(e=r,0===ru&&pu(Zn)),e!==r?(o=Xo,ru++,u=Zu(),ru--,u===r?o=void 0:(Xo=o,o=r),o!==r?(Jo=t,t=Po()):(Xo=t,t=r)):(Xo=t,t=r),t}function mc(){let t,e,o,u;return t=Xo,e=n.substr(Xo,6),e.toLowerCase()===it?Xo+=6:(e=r,0===ru&&pu(jn)),e!==r?(o=Xo,ru++,u=Zu(),ru--,u===r?o=void 0:(Xo=o,o=r),o!==r?(Jo=t,t=Zo()):(Xo=t,t=r)):(Xo=t,t=r),t}function Ac(){let t,e,o,u;return t=Xo,e=n.substr(Xo,3),e.toLowerCase()===ct?Xo+=3:(e=r,0===ru&&pu(kn)),e!==r?(o=Xo,ru++,u=Zu(),ru--,u===r?o=void 0:(Xo=o,o=r),o!==r?(Jo=t,t=jo()):(Xo=t,t=r)):(Xo=t,t=r),t}function bc(){let t,e,o,u;return t=Xo,e=n.substr(Xo,3),e.toLowerCase()===lt?Xo+=3:(e=r,0===ru&&pu(zn)),e!==r?(o=Xo,ru++,u=Zu(),ru--,u===r?o=void 0:(Xo=o,o=r),o!==r?(Jo=t,t=ko()):(Xo=t,t=r)):(Xo=t,t=r),t}function Lc(){let t,e,o,u;return t=Xo,e=n.substr(Xo,4),e.toLowerCase()===st?Xo+=4:(e=r,0===ru&&pu(Gn)),e!==r?(o=Xo,ru++,u=Zu(),ru--,u===r?o=void 0:(Xo=o,o=r),o!==r?(Jo=t,t=zo()):(Xo=t,t=r)):(Xo=t,t=r),t}function wc(){let t,e,o,u;return t=Xo,e=n.substr(Xo,4),e.toLowerCase()===at?Xo+=4:(e=r,0===ru&&pu(Wn)),e!==r?(o=Xo,ru++,u=Zu(),ru--,u===r?o=void 0:(Xo=o,o=r),o!==r?(Jo=t,t=Go()):(Xo=t,t=r)):(Xo=t,t=r),t}function Tc(){let t,e,o,u;return t=Xo,e=n.substr(Xo,3),e.toLowerCase()===ft?Xo+=3:(e=r,0===ru&&pu(Bn)),e!==r?(o=Xo,ru++,u=Zu(),ru--,u===r?o=void 0:(Xo=o,o=r),o!==r?(Jo=t,t=Wo()):(Xo=t,t=r)):(Xo=t,t=r),t}function xc(){let t,e,o,u;return t=Xo,e=n.substr(Xo,4),e.toLowerCase()===pt?Xo+=4:(e=r,0===ru&&pu(Yn)),e!==r?(o=Xo,ru++,u=Zu(),ru--,u===r?o=void 0:(Xo=o,o=r),o!==r?(Jo=t,t=Bo()):(Xo=t,t=r)):(Xo=t,t=r),t}function Nc(){let t,e,o,u;return t=Xo,e=n.substr(Xo,4),e.toLowerCase()===dt?Xo+=4:(e=r,0===ru&&pu(qn)),e!==r?(o=Xo,ru++,u=Zu(),ru--,u===r?o=void 0:(Xo=o,o=r),o!==r?(Jo=t,t=Yo()):(Xo=t,t=r)):(Xo=t,t=r),t}function Rc(){let t,e,o,u;return t=Xo,e=n.substr(Xo,4),e.toLowerCase()===vt?Xo+=4:(e=r,0===ru&&pu(Kn)),e!==r?(o=Xo,ru++,u=Zu(),ru--,u===r?o=void 0:(Xo=o,o=r),o!==r?(Jo=t,t=qo()):(Xo=t,t=r)):(Xo=t,t=r),t}function Ic(){let t;return 44===n.charCodeAt(Xo)?(t=yt,Xo++):(t=r,0===ru&&pu(Vn)),t}function Oc(){let t;return 40===n.charCodeAt(Xo)?(t=ht,Xo++):(t=r,0===ru&&pu(Xn)),t}function Fc(){let t;return 41===n.charCodeAt(Xo)?(t=gt,Xo++):(t=r,0===ru&&pu(Jn)),t}function Sc(){let t,n;for(t=[],n=Mc();n!==r;)t.push(n),n=Mc();return t}function Mc(){let t;return t=n.charAt(Xo),It.test(t)?Xo++:(t=r,0===ru&&pu(Qn)),t}function $c(){let t,e,o,u;if(t=Xo,e=Hu(),e!==r&&(Jo=t,e=Ko(e)),t=e,t===r)if(t=Xo,96===n.charCodeAt(Xo)?(e=Et,Xo++):(e=r,0===ru&&pu(te)),e!==r){if(o=[],u=n.charAt(Xo),Ot.test(u)?Xo++:(u=r,0===ru&&pu(ne)),u!==r)for(;u!==r;)o.push(u),u=n.charAt(Xo),Ot.test(u)?Xo++:(u=r,0===ru&&pu(ne));else o=r;o!==r?(96===n.charCodeAt(Xo)?(u=Et,Xo++):(u=r,0===ru&&pu(te)),u!==r?(Jo=t,t=Vo(o)):(Xo=t,t=r)):(Xo=t,t=r)}else Xo=t,t=r;return t}function Dc(t,n,e){return{type:"unary-expression",location:e,operator:t,expr:n}}function Uc(t,n,e,r,o){const u={type:"binary-expression",location:o,operator:t,left:n,right:e};return void 0!==r&&(u.escape=r),u}function _c(t,...n){return{type:"expression-list",location:t,value:n}}function Hc(t,n){let e=t;for(const{op:r,expr:o,location:{end:u}}of n)e=Uc(r,e,o,void 0,{...e.location,end:u});return e}function Pc(t){!0!==/^(\d{4})-(\d{1,2})-(\d{1,2})$|^(\d{4})-(\d{1,2})-(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})(\.[0-9]+)?$|^(\d{4})-(\d{1,2})-(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})(\.[0-9]+)?[ ]{0,1}(\+|\-)(\d{1,2}):(\d{1,2})$|^(\d{4})-(\d{1,2})-(\d{1,2}) (\d{1,2}):(\d{1,2})?[ ]{0,1}(\+|\-)(\d{1,2}):(\d{1,2})$|^(\d{4})-(\d{1,2})-(\d{1,2}) (\d{1,2}):(\d{1,2})$/.test(t)&&uu("Timestamp literal is invalid")}function Zc(t){!0!==/^(\d{1,2}):(\d{1,2}):(\d{1,2})$|^(\d{1,2}):(\d{1,2})$|^(\d{1,2}):(\d{1,2}):(\d{1,2}).([0-9]+)$/.test(t)&&uu("Time literal is invalid")}function jc(t){!0!==/^(\d{4})-(\d{1,2})-(\d{1,2})$|^(\d{4})-(\d{1,2})-(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})(\.[0-9]+)?$|^(\d{4})-(\d{1,2})-(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})(\.[0-9]+)?[ ]{0,1}(\+|\-)(\d{1,2}):(\d{1,2})$|^(\d{4})-(\d{1,2})-(\d{1,2}) (\d{1,2}):(\d{1,2})?[ ]{0,1}(\+|\-)(\d{1,2}):(\d{1,2})$|^(\d{4})-(\d{1,2})-(\d{1,2}) (\d{1,2}):(\d{1,2})$/.test(t)&&uu("Date literal is invalid")}tu=i();const kc=tu!==r&&Xo===n.length;function zc(){throw tu!==r&&Xo<n.length&&pu(su()),vu(eu,nu<n.length?iu(nu):null,nu<n.length?fu(nu,nu+1):fu(nu,nu))}return e.peg$library?{peg$result:tu,peg$currPos:Xo,peg$FAILED:r,peg$maxFailExpected:eu,peg$maxFailPos:nu,peg$success:kc,peg$throw:kc?void 0:zc}:kc?tu:void zc()}class e{static parse(t){return n(t)}}function r(t,n){if(null!=t)switch(n(t),t.type){case"when-clause":r(t.operand,n),r(t.value,n);break;case"case-expression":for(const e of t.clauses)r(e,n);"simple"===t.format&&r(t.operand,n),null!==t.else&&r(t.else,n);break;case"expression-list":for(const e of t.value)r(e,n);break;case"unary-expression":r(t.expr,n);break;case"binary-expression":r(t.left,n),r(t.right,n);break;case"function":r(t.args,n);break;case"interval":r(t.value,n),r(t.qualifier,n);break;case"interval-qualifier":r(t.start,n),r(t.end,n)}}export{e as WhereGrammar,r as visitAll};
2
+ class t extends SyntaxError{constructor(t,n,e,r){super(t),this.expected=n,this.found=e,this.location=r,this.name="SyntaxError"}format(t){let n="Error: "+this.message;if(this.location){let e=null;const r=t.find(t=>t.source===this.location.source);r&&(e=r.text.split(/\r\n|\n|\r/g));const o=this.location.start,u=this.location.source&&"function"==typeof this.location.source.offset?this.location.source.offset(o):o,i=this.location.source+":"+u.line+":"+u.column;if(e){const t=this.location.end,r="".padEnd(u.line.toString().length," "),c=e[o.line-1],l=(o.line===t.line?t.column:c.length+1)-o.column||1;n+="\n --\x3e "+i+"\n"+r+" |\n"+u.line+" | "+c+"\n"+r+" | "+"".padEnd(o.column-1," ")+"".padEnd(l,"^")}else n+="\n at "+i}return n}static buildMessage(t,n){function e(t){return t.codePointAt(0).toString(16).toUpperCase()}const r=Object.prototype.hasOwnProperty.call(RegExp.prototype,"unicode")?new RegExp("[\\p{C}\\p{Mn}\\p{Mc}]","gu"):null;function o(t){return r?t.replace(r,t=>"\\u{"+e(t)+"}"):t}function u(t){return o(t.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,t=>"\\x0"+e(t)).replace(/[\x10-\x1F\x7F-\x9F]/g,t=>"\\x"+e(t)))}function i(t){return o(t.replace(/\\/g,"\\\\").replace(/\]/g,"\\]").replace(/\^/g,"\\^").replace(/-/g,"\\-").replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,t=>"\\x0"+e(t)).replace(/[\x10-\x1F\x7F-\x9F]/g,t=>"\\x"+e(t)))}const c={literal:t=>'"'+u(t.text)+'"',class(t){const n=t.parts.map(t=>Array.isArray(t)?i(t[0])+"-"+i(t[1]):i(t));return"["+(t.inverted?"^":"")+n.join("")+"]"+(t.unicode?"u":"")},any:()=>"any character",end:()=>"end of input",other:t=>t.description};function l(t){return c[t.type](t)}function s(t){const n=t.map(l);if(n.sort(),n.length>0){let t=1;for(let e=1;e<n.length;e++)n[e-1]!==n[e]&&(n[t]=n[e],t++);n.length=t}switch(n.length){case 1:return n[0];case 2:return n[0]+" or "+n[1];default:return n.slice(0,-1).join(", ")+", or "+n[n.length-1]}}function a(t){return t?'"'+u(t)+'"':"end of input"}return"Expected "+s(t)+" but "+a(n)+" found."}}function n(n,e){const r={},o=(e=void 0!==e?e:{}).grammarSource,u={start:yu};let i=yu;const c="!",l="=",s=">=",a=">",f="<=",p="<>",d="!=",v="||",y="@",h="'",g="N'",E="''",C=".",A="null",m="true",L="false",b="in",T="is",w="like",x="escape",N="not",R="and",I="or",O="between",F="from",S="for",M="substring",$="extract",D="trim",U="position",_="timestamp",H="date",P="time",Z="leading",j="trailing",z="both",G="cast",W="as",B="integer",Y="int",K="smallint",V="float",q="real",k="varchar",X="to",J="interval",Q="year",tt="timezone_hour",nt="timezone_minute",et="month",rt="day",ot="hour",ut="minute",it="second",ct="dow",lt="doy",st="week",at="case",ft="end",pt="when",dt="then",vt="else",yt=",",ht="(",gt=")",Et="`",Ct=/^[<-=]/,At=/^[+\-]/,mt=/^[*\/]/,Lt=/^[A-Za-z_\x80-\uFFFF]/,bt=/^[A-Za-z0-9_]/,Tt=/^[A-Za-z0-9_.\x80-\uFFFF]/,wt=/^["]/,xt=/^[^']/,Nt=/^[0-9]/,Rt=/^[eE]/,It=/^[ \t\n\r]/,Ot=/^[^`]/,Ft=cu("!",!1),St=cu("=",!1),Mt=cu(">=",!1),$t=cu(">",!1),Dt=cu("<=",!1),Ut=cu("<>",!1),_t=lu([["<","="]],!1,!1,!1),Ht=cu("!=",!1),Pt=lu(["+","-"],!1,!1,!1),Zt=cu("||",!1),jt=lu(["*","/"],!1,!1,!1),zt=lu([["A","Z"],["a","z"],"_",["€","￿"]],!1,!1,!1),Gt=lu([["A","Z"],["a","z"],["0","9"],"_"],!1,!1,!1),Wt=lu([["A","Z"],["a","z"],["0","9"],"_",".",["€","￿"]],!1,!1,!1),Bt=lu(['"'],!1,!1,!1),Yt=cu("@",!1),Kt=cu("'",!1),Vt=cu("N'",!1),qt=cu("''",!1),kt=lu(["'"],!0,!1,!1),Xt=cu(".",!1),Jt=lu([["0","9"]],!1,!1,!1),Qt=lu(["e","E"],!1,!1,!1),tn=cu("NULL",!0),nn=cu("TRUE",!0),en=cu("FALSE",!0),rn=cu("IN",!0),on=cu("IS",!0),un=cu("LIKE",!0),cn=cu("ESCAPE",!0),ln=cu("NOT",!0),sn=cu("AND",!0),an=cu("OR",!0),fn=cu("BETWEEN",!0),pn=cu("FROM",!0),dn=cu("FOR",!0),vn=cu("SUBSTRING",!0),yn=cu("EXTRACT",!0),hn=cu("TRIM",!0),gn=cu("POSITION",!0),En=cu("TIMESTAMP",!0),Cn=cu("DATE",!0),An=cu("TIME",!0),mn=cu("LEADING",!0),Ln=cu("TRAILING",!0),bn=cu("BOTH",!0),Tn=cu("CAST",!0),wn=cu("AS",!0),xn=cu("INTEGER",!0),Nn=cu("INT",!0),Rn=cu("SMALLINT",!0),In=cu("FLOAT",!0),On=cu("REAL",!0),Fn=cu("VARCHAR",!0),Sn=cu("TO",!0),Mn=cu("INTERVAL",!0),$n=cu("YEAR",!0),Dn=cu("TIMEZONE_HOUR",!0),Un=cu("TIMEZONE_MINUTE",!0),_n=cu("MONTH",!0),Hn=cu("DAY",!0),Pn=cu("HOUR",!0),Zn=cu("MINUTE",!0),jn=cu("SECOND",!0),zn=cu("DOW",!0),Gn=cu("DOY",!0),Wn=cu("WEEK",!0),Bn=cu("CASE",!0),Yn=cu("END",!0),Kn=cu("WHEN",!0),Vn=cu("THEN",!0),qn=cu("ELSE",!0),kn=cu(",",!1),Xn=cu("(",!1),Jn=cu(")",!1),Qn=lu([" ","\t","\n","\r"],!1,!1,!1),te=cu("`",!1),ne=lu(["`"],!0,!1,!1);function ee(t){return t}function re(t){return{type:"expression-list",location:ou(),value:t}}function oe(t,n,e){return{op:n,expr:e,location:ou()}}function ue(t,n){return Hc(t,n)}function ie(t,n,e){return{op:n,expr:e,location:ou()}}function ce(t,n){return Hc(t,n)}function le(t){return Dc("NOT",t,ou())}function se(t,n){if(""==n||null==n||null==n)return t;return"arithmetic"==n.type?Hc(t,n.tail):Uc(n.op,t,n.right,n.escape,ou())}function ae(t,n){return{op:t,expr:n,location:ou()}}function fe(t){return{type:"arithmetic",tail:t}}function pe(t,n){return{op:t+"NOT",right:n}}function de(t,n){return{op:t,right:n}}function ve(t,n,e){return _c(ou(),n,e)}function ye(t,n){return{op:"NOT"+t,right:n}}function he(t,n,e){return _c(ou(),n,e)}function ge(t,n){return{op:t,right:n}}function Ee(t){return t[0]+" "+t[2]}function Ce(t){return t[0]+" "+t[2]}function Ae(t,n,e){return{op:t,right:n,escape:e.value}}function me(t,n){return{op:t,right:n,escape:""}}function Le(t,n){return{op:t,right:n}}function be(t,n){return{op:t,right:n}}function Te(t,n,e){return{op:n,expr:e,location:ou()}}function we(t,n){return Hc(t,n)}function xe(t,n,e){return{op:n,expr:e,location:ou()}}function Ne(t,n){return Hc(t,n)}function Re(t){return t.paren=!0,t}function Ie(t){return/^CURRENT_DATE$/i.test(t)?{type:"current-time",location:ou(),mode:"date"}:/^CURRENT_TIMESTAMP$/i.test(t)?{type:"current-time",location:ou(),mode:"timestamp"}:/^CURRENT_TIME$/i.test(t)?{type:"current-time",location:ou(),mode:"time"}:/^CURRENT_USER$/i.test(t)?{type:"current-user",location:ou()}:{type:"column-reference",location:ou(),table:"",column:t}}function Oe(t){return{type:"column-reference",location:ou(),table:"",column:t,delimited:!0}}function Fe(t){return t}function Se(t,n){return t+n.join("")}function Me(t,n){return t+n.join("")}function $e(t){return t}function De(t){return t.join("")}function Ue(){return'"'}function _e(t){return{type:"parameter",location:ou(),value:t[1]}}function He(t,n){return _c(ou(),t,n)}function Pe(t,n){return _c(ou(),t,n)}function Ze(t){return{type:"function",location:ou(),name:"extract",args:t}}function je(t,n,e){return _c(ou(),t,n,...e?[e]:[])}function ze(t,n,e){return _c(ou(),t,n,e)}function Ge(t){return{type:"function",location:ou(),name:"substring",args:t}}function We(t,n){return _c(ou(),t,n)}function Be(t,n){return _c(ou(),t,n)}function Ye(t){return{type:"function",location:ou(),name:"cast",args:t}}function Ke(){return{type:"data-type",location:ou(),value:{type:"integer"}}}function Ve(){return{type:"data-type",location:ou(),value:{type:"smallint"}}}function qe(){return{type:"data-type",location:ou(),value:{type:"float"}}}function ke(){return{type:"data-type",location:ou(),value:{type:"real"}}}function Xe(){return{type:"data-type",location:ou(),value:{type:"date"}}}function Je(){return{type:"data-type",location:ou(),value:{type:"timestamp"}}}function Qe(){return{type:"data-type",location:ou(),value:{type:"time"}}}function tr(t){return{type:"data-type",location:ou(),value:{type:"varchar",size:parseInt(t)}}}function nr(t,n,e){return _c(ou(),t,n,e)}function er(t,n){return _c(ou(),t,n)}function rr(t){return{type:"function",location:ou(),name:"trim",args:t}}function or(t){return{type:"string",location:ou(),value:t??"BOTH"}}function ur(t,n){return _c(ou(),t,n)}function ir(t,n){return _c(ou(),t,n)}function cr(t){return{type:"function",location:ou(),name:"position",args:t}}function lr(t,n){return{type:"function",location:ou(),name:t,args:n}}function sr(t){return{type:"string",location:ou(),value:t}}function ar(t){return"string"===t.type&&Pc(t.value),{type:"timestamp",location:ou(),value:t.value}}function fr(t){return"string"===t.type&&Zc(t.value),{type:"time",location:ou(),value:t.value}}function pr(t,n,e){return{type:"interval",location:ou(),value:n,qualifier:e,op:t}}function dr(t,n){return{type:"interval",location:ou(),value:t,qualifier:n,op:""}}function vr(t,n){return{type:"interval-qualifier",location:ou(),start:t,end:n}}function yr(t,n){return{type:"interval-period",location:ou(),period:t.value,precision:n,secondary:null}}function hr(t){return{type:"interval-period",location:ou(),period:t.value,precision:null,secondary:null}}function gr(t){return{type:"interval-period",location:ou(),period:t.value,precision:null,secondary:null}}function Er(t,n){return{type:"interval-period",location:ou(),period:"second",precision:t,secondary:n}}function Cr(t){return{type:"interval-period",location:ou(),period:"second",precision:t,secondary:null}}function Ar(){return{type:"interval-period",location:ou(),period:"second",precision:null,secondary:null}}function mr(t,n){return{type:"interval-period",location:ou(),period:t.value,precision:n,secondary:null}}function Lr(t){return{type:"interval-period",location:ou(),period:t.value,precision:null,secondary:null}}function br(t,n){return{type:"interval-period",location:ou(),period:"second",precision:t,secondary:n}}function Tr(t){return{type:"interval-period",location:ou(),period:"second",precision:t,secondary:null}}function wr(){return{type:"interval-period",location:ou(),period:"second",precision:null,secondary:null}}function xr(){return{type:"string",location:ou(),value:"day"}}function Nr(){return{type:"string",location:ou(),value:"hour"}}function Rr(){return{type:"string",location:ou(),value:"minute"}}function Ir(){return{type:"string",location:ou(),value:"month"}}function Or(){return{type:"string",location:ou(),value:"year"}}function Fr(t){return parseFloat(t)}function Sr(t){return parseFloat(t)}function Mr(t){return"string"===t.type&&jc(t.value),{type:"date",location:ou(),value:t.value}}function $r(){return{type:"null",location:ou(),value:null}}function Dr(){return{type:"boolean",location:ou(),value:!0}}function Ur(){return{type:"boolean",location:ou(),value:!1}}function _r(){return"'"}function Hr(t){return{type:"string",location:ou(),value:t.join("")}}function Pr(t,n){return{type:"case-expression",location:ou(),format:"simple",operand:t,clauses:n,else:null,elseLocation:null}}function Zr(t,n,e){return{type:"case-expression",location:ou(),format:"simple",operand:t,clauses:n,else:e.value,elseLocation:e.location}}function jr(t){return{type:"case-expression",location:ou(),format:"searched",clauses:t,else:null,elseLocation:null}}function zr(t,n){return{type:"case-expression",location:ou(),format:"searched",clauses:t,else:n.value,elseLocation:n.location}}function Gr(t,n){return{type:"when-clause",location:ou(),operand:t,value:n}}function Wr(t,n){return{type:"when-clause",location:ou(),operand:t,value:n}}function Br(t){return{type:"else-clause",location:ou(),value:t}}function Yr(t){return{type:"number",location:ou(),value:t}}function Kr(t,n,e){return parseFloat(t+n+e)}function Vr(t,n){return parseFloat(t+n)}function qr(t,n){return parseFloat(t+n)}function kr(t){return parseFloat(t)}function Xr(t,n){return t[0]+n}function Jr(t){return"."+(null!=t?t:"")}function Qr(t,n){return t+n}function to(t){return t.join("")}function no(t,n){return"e"+(null===n?"":n)}function eo(){return"IN"}function ro(){return"IS"}function oo(){return"LIKE"}function uo(){return"ESCAPE"}function io(){return"NOT"}function co(){return"AND"}function lo(){return"OR"}function so(){return"BETWEEN"}function ao(){return"FROM"}function fo(){return"FOR"}function po(){return"SUBSTRING"}function vo(){return"EXTRACT"}function yo(){return"TRIM"}function ho(){return"POSITION"}function go(){return"TIMESTAMP"}function Eo(){return"DATE"}function Co(){return"TIME"}function Ao(){return"LEADING"}function mo(){return"TRAILING"}function Lo(){return"BOTH"}function bo(){return"CAST"}function To(){return"AS"}function wo(){return"INTEGER"}function xo(){return"INT"}function No(){return"SMALLINT"}function Ro(){return"FLOAT"}function Io(){return"REAL"}function Oo(){return"VARCHAR"}function Fo(){return"TO"}function So(){return"INTERVAL"}function Mo(){return"YEAR"}function $o(){return"TIMEZONE_HOUR"}function Do(){return"TIMEZONE_MINUTE"}function Uo(){return"MONTH"}function _o(){return"DAY"}function Ho(){return"HOUR"}function Po(){return"MINUTE"}function Zo(){return"SECOND"}function jo(){return"DOW"}function zo(){return"DOY"}function Go(){return"WEEK"}function Wo(){return"CASE"}function Bo(){return"END"}function Yo(){return"WHEN"}function Ko(){return"THEN"}function Vo(){return"ELSE"}function qo(t){return t}function ko(t){return t.join("")}let Xo=0|e.peg$currPos,Jo=Xo;const Qo=[{line:1,column:1}];let tu,nu=Xo,eu=e.peg$maxFailExpected||[],ru=0|e.peg$silentFails;if(e.startRule){if(!(e.startRule in u))throw new Error("Can't start parsing from rule \""+e.startRule+'".');i=u[e.startRule]}function ou(){return fu(Jo,Xo)}function uu(t,n){throw du(t,n=void 0!==n?n:fu(Jo,Xo))}function iu(t=Xo){const e=n.codePointAt(t);return void 0===e?"":String.fromCodePoint(e)}function cu(t,n){return{type:"literal",text:t,ignoreCase:n}}function lu(t,n,e,r){return{type:"class",parts:t,inverted:n,ignoreCase:e,unicode:r}}function su(){return{type:"end"}}function au(t){let e,r=Qo[t];if(r)return r;if(t>=Qo.length)e=Qo.length-1;else for(e=t;!Qo[--e];);for(r=Qo[e],r={line:r.line,column:r.column};e<t;)10===n.charCodeAt(e)?(r.line++,r.column=1):r.column++,e++;return Qo[t]=r,r}function fu(t,n,e){const r=au(t),u=au(n);return{source:o,start:{offset:t,line:r.line,column:r.column},end:{offset:n,line:u.line,column:u.column}}}function pu(t){Xo<nu||(Xo>nu&&(nu=Xo,eu=[]),eu.push(t))}function du(n,e){return new t(n,null,null,e)}function vu(n,e,r){return new t(t.buildMessage(n,e),n,e,r)}function yu(){let t,n;return t=Xo,Sc(),n=gu(),n!==r?(Sc(),Jo=t,t=ee(n)):(Xo=t,t=r),t}function hu(){let t,n,e,o,u,i,c,l;if(t=Xo,n=Oc(),n!==r){for(Sc(),e=[],o=gu();o!==r;)e.push(o),o=Xo,u=Xo,i=Sc(),c=Ic(),c!==r?(l=Sc(),i=[i,c,l],u=i):(Xo=u,u=r),u!==r?(u=gu(),u===r?(Xo=o,o=r):o=u):o=u;o=Sc(),u=Fc(),u!==r?(Jo=t,t=re(e)):(Xo=t,t=r)}else Xo=t,t=r;return t}function gu(){let t,n,e,o,u,i;if(t=Xo,n=Eu(),n!==r){for(e=[],o=Xo,Sc(),u=Gi(),u!==r?(Sc(),i=Eu(),i!==r?(Jo=o,o=oe(n,u,i)):(Xo=o,o=r)):(Xo=o,o=r);o!==r;)e.push(o),o=Xo,Sc(),u=Gi(),u!==r?(Sc(),i=Eu(),i!==r?(Jo=o,o=oe(n,u,i)):(Xo=o,o=r)):(Xo=o,o=r);Jo=t,t=ue(n,e)}else Xo=t,t=r;return t}function Eu(){let t,n,e,o,u,i;if(t=Xo,n=Cu(),n!==r){for(e=[],o=Xo,Sc(),u=zi(),u!==r?(Sc(),i=Cu(),i!==r?(Jo=o,o=ie(n,u,i)):(Xo=o,o=r)):(Xo=o,o=r);o!==r;)e.push(o),o=Xo,Sc(),u=zi(),u!==r?(Sc(),i=Cu(),i!==r?(Jo=o,o=ie(n,u,i)):(Xo=o,o=r)):(Xo=o,o=r);Jo=t,t=ce(n,e)}else Xo=t,t=r;return t}function Cu(){let t,e,o,u,i;return t=Xo,e=ji(),e===r&&(e=Xo,33===n.charCodeAt(Xo)?(o=c,Xo++):(o=r,0===ru&&pu(Ft)),o!==r?(u=Xo,ru++,61===n.charCodeAt(Xo)?(i=l,Xo++):(i=r,0===ru&&pu(St)),ru--,i===r?u=void 0:(Xo=u,u=r),u!==r?(o=[o,u],e=o):(Xo=e,e=r)):(Xo=e,e=r)),e!==r?(o=Sc(),u=Cu(),u!==r?(Jo=t,t=le(u)):(Xo=t,t=r)):(Xo=t,t=r),t===r&&(t=Au()),t}function Au(){let t,n,e,o;return t=Xo,n=Ou(),n!==r?(e=Xo,Sc(),o=mu(),o!==r?e=o:(Xo=e,e=r),e===r&&(e=null),Jo=t,t=se(n,e)):(Xo=t,t=r),t}function mu(){let t;return t=Lu(),t===r&&(t=Iu(),t===r&&(t=wu(),t===r&&(t=Tu(),t===r&&(t=Ru())))),t}function Lu(){let t,n,e,o,u;if(t=Xo,n=[],e=Xo,Sc(),o=bu(),o!==r?(Sc(),u=Ou(),u!==r?(Jo=e,e=ae(o,u)):(Xo=e,e=r)):(Xo=e,e=r),e!==r)for(;e!==r;)n.push(e),e=Xo,Sc(),o=bu(),o!==r?(Sc(),u=Ou(),u!==r?(Jo=e,e=ae(o,u)):(Xo=e,e=r)):(Xo=e,e=r);else n=r;return n!==r&&(Jo=t,n=fe(n)),t=n,t}function bu(){let t;return n.substr(Xo,2)===s?(t=s,Xo+=2):(t=r,0===ru&&pu(Mt)),t===r&&(62===n.charCodeAt(Xo)?(t=a,Xo++):(t=r,0===ru&&pu($t)),t===r&&(n.substr(Xo,2)===f?(t=f,Xo+=2):(t=r,0===ru&&pu(Dt)),t===r&&(n.substr(Xo,2)===p?(t=p,Xo+=2):(t=r,0===ru&&pu(Ut)),t===r&&(t=n.charAt(Xo),Ct.test(t)?Xo++:(t=r,0===ru&&pu(_t)),t===r&&(n.substr(Xo,2)===d?(t=d,Xo+=2):(t=r,0===ru&&pu(Ht))))))),t}function Tu(){let t,n,e,o;return t=Xo,n=Hi(),n!==r?(Sc(),e=ji(),e!==r?(Sc(),o=Ou(),o!==r?(Jo=t,t=pe(n,o)):(Xo=t,t=r)):(Xo=t,t=r)):(Xo=t,t=r),t===r&&(t=Xo,n=Hi(),n!==r?(Sc(),e=Ou(),e!==r?(Jo=t,t=de(n,e)):(Xo=t,t=r)):(Xo=t,t=r)),t}function wu(){let t,n,e,o,u,i,c,l;return t=Xo,n=ji(),n!==r?(Sc(),e=Wi(),e!==r?(o=Sc(),u=Xo,i=Ou(),i!==r?(Sc(),c=zi(),c!==r?(Sc(),l=Ou(),l!==r?(Jo=u,u=ve(e,i,l)):(Xo=u,u=r)):(Xo=u,u=r)):(Xo=u,u=r),u!==r?(Jo=t,t=ye(e,u)):(Xo=t,t=r)):(Xo=t,t=r)):(Xo=t,t=r),t===r&&(t=Xo,n=Wi(),n!==r?(Sc(),e=Xo,o=Ou(),o!==r?(u=Sc(),i=zi(),i!==r?(Sc(),c=Ou(),c!==r?(Jo=e,e=he(n,o,c)):(Xo=e,e=r)):(Xo=e,e=r)):(Xo=e,e=r),e!==r?(Jo=t,t=ge(n,e)):(Xo=t,t=r)):(Xo=t,t=r)),t}function xu(){let t,n,e,o,u;return t=Xo,n=Xo,e=ji(),e!==r?(o=Sc(),u=Pi(),u!==r?(e=[e,o,u],n=e):(Xo=n,n=r)):(Xo=n,n=r),n!==r&&(Jo=t,n=Ee(n)),t=n,t===r&&(t=Pi()),t}function Nu(){let t,n,e,o,u;return t=Xo,n=Xo,e=ji(),e!==r?(o=Sc(),u=_i(),u!==r?(e=[e,o,u],n=e):(Xo=n,n=r)):(Xo=n,n=r),n!==r&&(Jo=t,n=Ce(n)),t=n,t===r&&(t=_i()),t}function Ru(){let t,n,e,o,u;return t=Xo,n=xu(),n!==r?(Sc(),e=Ou(),e!==r?(Sc(),o=Zi(),o!==r?(Sc(),u=Ci(),u!==r?(Jo=t,t=Ae(n,e,u)):(Xo=t,t=r)):(Xo=t,t=r)):(Xo=t,t=r)):(Xo=t,t=r),t===r&&(t=Xo,n=xu(),n!==r?(Sc(),e=Ou(),e!==r?(Jo=t,t=me(n,e)):(Xo=t,t=r)):(Xo=t,t=r)),t}function Iu(){let t,n,e;return t=Xo,n=Nu(),n!==r?(Sc(),e=hu(),e!==r?(Jo=t,t=Le(n,e)):(Xo=t,t=r)):(Xo=t,t=r),t===r&&(t=Xo,n=Nu(),n!==r?(Sc(),e=Vu(),e!==r?(Jo=t,t=be(n,e)):(Xo=t,t=r)):(Xo=t,t=r)),t}function Ou(){let t,n,e,o,u,i;if(t=Xo,n=Su(),n!==r){for(e=[],o=Xo,Sc(),u=Fu(),u!==r?(Sc(),i=Su(),i!==r?(Jo=o,o=Te(n,u,i)):(Xo=o,o=r)):(Xo=o,o=r);o!==r;)e.push(o),o=Xo,Sc(),u=Fu(),u!==r?(Sc(),i=Su(),i!==r?(Jo=o,o=Te(n,u,i)):(Xo=o,o=r)):(Xo=o,o=r);Jo=t,t=we(n,e)}else Xo=t,t=r;return t}function Fu(){let t;return t=n.charAt(Xo),At.test(t)?Xo++:(t=r,0===ru&&pu(Pt)),t===r&&(n.substr(Xo,2)===v?(t=v,Xo+=2):(t=r,0===ru&&pu(Zt))),t}function Su(){let t,n,e,o,u,i;if(t=Xo,n=$u(),n!==r){for(e=[],o=Xo,Sc(),u=Mu(),u!==r?(Sc(),i=$u(),i!==r?(Jo=o,o=xe(n,u,i)):(Xo=o,o=r)):(Xo=o,o=r);o!==r;)e.push(o),o=Xo,Sc(),u=Mu(),u!==r?(Sc(),i=$u(),i!==r?(Jo=o,o=xe(n,u,i)):(Xo=o,o=r)):(Xo=o,o=r);Jo=t,t=Ne(n,e)}else Xo=t,t=r;return t}function Mu(){let t;return t=n.charAt(Xo),mt.test(t)?Xo++:(t=r,0===ru&&pu(jt)),t}function $u(){let t,n,e,o;return t=oi(),t===r&&(t=qu(),t===r&&(t=ku(),t===r&&(t=Qu(),t===r&&(t=ni(),t===r&&(t=Xu(),t===r&&(t=ei(),t===r&&(t=Ai(),t===r&&(t=Du(),t===r&&(t=Vu(),t===r&&(t=Xo,n=Oc(),n!==r?(Sc(),e=gu(),e!==r?(Sc(),o=Fc(),o!==r?(Jo=t,t=Re(e)):(Xo=t,t=r)):(Xo=t,t=r)):(Xo=t,t=r))))))))))),t}function Du(){let t,n;return t=Xo,n=Uu(),n!==r&&(Jo=t,n=Ie(n)),t=n,t===r&&(t=Xo,n=zu(),n!==r&&(Jo=t,n=Oe(n)),t=n),t}function Uu(){let t,n;return t=Xo,n=_u(),n!==r&&(Jo=t,n=Fe(n)),t=n,t}function _u(){let t,n,e,o;if(t=Xo,n=Pu(),n!==r){for(e=[],o=ju();o!==r;)e.push(o),o=ju();Jo=t,t=Se(n,e)}else Xo=t,t=r;return t}function Hu(){let t,n,e,o;if(t=Xo,n=Pu(),n!==r){for(e=[],o=Zu();o!==r;)e.push(o),o=Zu();Jo=t,t=Me(n,e)}else Xo=t,t=r;return t}function Pu(){let t;return t=n.charAt(Xo),Lt.test(t)?Xo++:(t=r,0===ru&&pu(zt)),t}function Zu(){let t;return t=n.charAt(Xo),bt.test(t)?Xo++:(t=r,0===ru&&pu(Gt)),t}function ju(){let t;return t=n.charAt(Xo),Tt.test(t)?Xo++:(t=r,0===ru&&pu(Wt)),t}function zu(){let t,n,e,o;return t=Xo,n=Ku(),n!==r?(e=Gu(),o=Ku(),o!==r?(Jo=t,t=$e(e)):(Xo=t,t=r)):(Xo=t,t=r),t}function Gu(){let t,n,e;for(t=Xo,n=[],e=Wu();e!==r;)n.push(e),e=Wu();return Jo=t,n=De(n),t=n,t}function Wu(){let t;return t=Yu(),t===r&&(t=Bu()),t}function Bu(){let t,n,e;return t=Xo,n=Ku(),n!==r?(e=Ku(),e!==r?(Jo=t,t=Ue()):(Xo=t,t=r)):(Xo=t,t=r),t}function Yu(){let t;return t=n.charAt(Xo),Tt.test(t)?Xo++:(t=r,0===ru&&pu(Wt)),t}function Ku(){let t;return t=n.charAt(Xo),wt.test(t)?Xo++:(t=r,0===ru&&pu(Bt)),t}function Vu(){let t,e,o,u;return t=Xo,e=Xo,64===n.charCodeAt(Xo)?(o=y,Xo++):(o=r,0===ru&&pu(Yt)),o!==r?(u=Hu(),u!==r?(o=[o,u],e=o):(Xo=e,e=r)):(Xo=e,e=r),e!==r&&(Jo=t,e=_e(e)),t=e,t}function qu(){let t,n,e,o,u,i,c,l;return t=Xo,n=Vi(),n!==r?(Sc(),e=Xo,o=Oc(),o!==r?(Sc(),u=ri(),u!==r?(Sc(),i=Bi(),i!==r?(Sc(),c=gu(),c!==r?(Sc(),l=Fc(),l!==r?(Jo=e,e=He(u,c)):(Xo=e,e=r)):(Xo=e,e=r)):(Xo=e,e=r)):(Xo=e,e=r)):(Xo=e,e=r),e===r&&(e=Xo,o=Oc(),o!==r?(Sc(),u=ri(),u!==r?(Sc(),i=Ic(),i!==r?(Sc(),c=gu(),c!==r?(Sc(),l=Fc(),l!==r?(Jo=e,e=Pe(u,c)):(Xo=e,e=r)):(Xo=e,e=r)):(Xo=e,e=r)):(Xo=e,e=r)):(Xo=e,e=r)),e!==r?(Jo=t,t=Ze(e)):(Xo=t,t=r)):(Xo=t,t=r),t}function ku(){let t,n,e,o,u,i,c,l,s,a,f;return t=Xo,n=Ki(),n!==r?(Sc(),e=Xo,o=Oc(),o!==r?(Sc(),u=gu(),u!==r?(Sc(),i=Bi(),i!==r?(Sc(),c=gu(),c!==r?(Sc(),l=Xo,s=Yi(),s!==r?(a=Sc(),f=gu(),f!==r?(Sc(),l=f):(Xo=l,l=r)):(Xo=l,l=r),l===r&&(l=null),s=Fc(),s!==r?(Jo=e,e=je(u,c,l)):(Xo=e,e=r)):(Xo=e,e=r)):(Xo=e,e=r)):(Xo=e,e=r)):(Xo=e,e=r),e===r&&(e=Xo,o=Oc(),o!==r?(Sc(),u=gu(),u!==r?(Sc(),i=Ic(),i!==r?(Sc(),c=gu(),c!==r?(Sc(),l=Ic(),l!==r?(s=Sc(),a=gu(),a!==r?(f=Fc(),f!==r?(Jo=e,e=ze(u,c,a)):(Xo=e,e=r)):(Xo=e,e=r)):(Xo=e,e=r)):(Xo=e,e=r)):(Xo=e,e=r)):(Xo=e,e=r)):(Xo=e,e=r)),e!==r?(Jo=t,t=Ge(e)):(Xo=t,t=r)):(Xo=t,t=r),t}function Xu(){let t,n,e,o,u,i,c,l;return t=Xo,n=rc(),n!==r?(Sc(),e=Xo,o=Oc(),o!==r?(Sc(),u=gu(),u!==r?(Sc(),i=oc(),i!==r?(Sc(),c=Ju(),c!==r?(Sc(),l=Fc(),l!==r?(Jo=e,e=We(u,c)):(Xo=e,e=r)):(Xo=e,e=r)):(Xo=e,e=r)):(Xo=e,e=r)):(Xo=e,e=r),e===r&&(e=Xo,o=Oc(),o!==r?(Sc(),u=gu(),u!==r?(Sc(),i=Ic(),i!==r?(Sc(),c=Ju(),c!==r?(Sc(),l=Fc(),l!==r?(Jo=e,e=Be(u,c)):(Xo=e,e=r)):(Xo=e,e=r)):(Xo=e,e=r)):(Xo=e,e=r)):(Xo=e,e=r)),e!==r?(Jo=t,t=Ye(e)):(Xo=t,t=r)):(Xo=t,t=r),t}function Ju(){let t,n,e,o,u;return t=Xo,n=uc(),n===r&&(n=ic()),n!==r&&(Jo=t,n=Ke()),t=n,t===r&&(t=Xo,n=cc(),n!==r&&(Jo=t,n=Ve()),t=n,t===r&&(t=Xo,n=lc(),n!==r&&(Jo=t,n=qe()),t=n,t===r&&(t=Xo,n=sc(),n!==r&&(Jo=t,n=ke()),t=n,t===r&&(t=Xo,n=Ji(),n!==r&&(Jo=t,n=Xe()),t=n,t===r&&(t=Xo,n=Xi(),n!==r&&(Jo=t,n=Je()),t=n,t===r&&(t=Xo,n=Qi(),n!==r&&(Jo=t,n=Qe()),t=n,t===r&&(t=Xo,n=ac(),n!==r?(Sc(),e=Oc(),e!==r?(Sc(),o=Fi(),o!==r?(Sc(),u=Fc(),u!==r?(Jo=t,t=tr(o)):(Xo=t,t=r)):(Xo=t,t=r)):(Xo=t,t=r)):(Xo=t,t=r)))))))),t}function Qu(){let t,n,e,o,u,i,c,l,s;return t=Xo,n=qi(),n!==r?(Sc(),e=Xo,o=Oc(),o!==r?(Sc(),u=ti(),Sc(),i=gu(),i!==r?(Sc(),c=Bi(),c!==r?(Sc(),l=gu(),l!==r?(Sc(),s=Fc(),s!==r?(Jo=e,e=nr(u,i,l)):(Xo=e,e=r)):(Xo=e,e=r)):(Xo=e,e=r)):(Xo=e,e=r)):(Xo=e,e=r),e===r&&(e=Xo,o=Oc(),o!==r?(Sc(),u=ti(),Sc(),i=gu(),i!==r?(Sc(),c=Fc(),c!==r?(Jo=e,e=er(u,i)):(Xo=e,e=r)):(Xo=e,e=r)):(Xo=e,e=r)),e!==r?(Jo=t,t=rr(e)):(Xo=t,t=r)):(Xo=t,t=r),t}function ti(){let t,n;return t=Xo,n=tc(),n===r&&(n=nc(),n===r&&(n=ec())),n===r&&(n=null),Jo=t,n=or(n),t=n,t}function ni(){let t,n,e,o,u,i,c,l;return t=Xo,n=ki(),n!==r?(Sc(),e=Xo,o=Oc(),o!==r?(Sc(),u=gu(),u!==r?(Sc(),i=_i(),i!==r?(Sc(),c=gu(),c!==r?(Sc(),l=Fc(),l!==r?(Jo=e,e=ur(u,c)):(Xo=e,e=r)):(Xo=e,e=r)):(Xo=e,e=r)):(Xo=e,e=r)):(Xo=e,e=r),e===r&&(e=Xo,o=Oc(),o!==r?(Sc(),u=gu(),u!==r?(Sc(),i=Ic(),i!==r?(Sc(),c=gu(),c!==r?(Sc(),l=Fc(),l!==r?(Jo=e,e=ir(u,c)):(Xo=e,e=r)):(Xo=e,e=r)):(Xo=e,e=r)):(Xo=e,e=r)):(Xo=e,e=r)),e!==r?(Jo=t,t=cr(e)):(Xo=t,t=r)):(Xo=t,t=r),t}function ei(){let t,n,e,o;return t=Xo,n=Xo,ru++,e=Vi(),ru--,e===r?n=void 0:(Xo=n,n=r),n!==r?(e=$c(),e!==r?(Sc(),o=hu(),o!==r?(Jo=t,t=lr(e,o)):(Xo=t,t=r)):(Xo=t,t=r)):(Xo=t,t=r),t}function ri(){let t,n;return t=Xo,n=dc(),n===r&&(n=hc(),n===r&&(n=gc(),n===r&&(n=Ec(),n===r&&(n=Cc(),n===r&&(n=Ac(),n===r&&(n=vc(),n===r&&(n=yc(),n===r&&(n=mc(),n===r&&(n=Lc(),n===r&&(n=bc())))))))))),n!==r&&(Jo=t,n=sr(n)),t=n,t}function oi(){let t;return t=Ci(),t===r&&(t=xi(),t===r&&(t=gi(),t===r&&(t=hi(),t===r&&(t=yi(),t===r&&(t=ui(),t===r&&(t=ci(),t===r&&(t=ii()))))))),t}function ui(){let t,n,e;return t=Xo,n=Xi(),n!==r?(Sc(),e=Ei(),e!==r?(Jo=t,t=ar(e)):(Xo=t,t=r)):(Xo=t,t=r),t}function ii(){let t,n,e;return t=Xo,n=Qi(),n!==r?(Sc(),e=Ei(),e!==r?(Jo=t,t=fr(e)):(Xo=t,t=r)):(Xo=t,t=r),t}function ci(){let t,e,o,u,i;return t=Xo,e=pc(),e!==r?(Sc(),o=n.charAt(Xo),At.test(o)?Xo++:(o=r,0===ru&&pu(Pt)),o!==r?(Sc(),u=Ei(),u!==r?(Sc(),i=li(),i!==r?(Jo=t,t=pr(o,u,i)):(Xo=t,t=r)):(Xo=t,t=r)):(Xo=t,t=r)):(Xo=t,t=r),t===r&&(t=Xo,e=pc(),e!==r?(Sc(),o=Ei(),o!==r?(Sc(),u=li(),u!==r?(Jo=t,t=dr(o,u)):(Xo=t,t=r)):(Xo=t,t=r)):(Xo=t,t=r)),t}function li(){let t,n,e,o;return t=Xo,n=si(),n!==r?(Sc(),e=fc(),e!==r?(Sc(),o=ai(),o!==r?(Jo=t,t=vr(n,o)):(Xo=t,t=r)):(Xo=t,t=r)):(Xo=t,t=r),t===r&&(t=fi()),t}function si(){let t,n,e,o,u;return t=Xo,n=pi(),n!==r?(Sc(),e=Oc(),e!==r?(Sc(),o=vi(),o!==r?(Sc(),u=Fc(),u!==r?(Jo=t,t=yr(n,o)):(Xo=t,t=r)):(Xo=t,t=r)):(Xo=t,t=r)):(Xo=t,t=r),t===r&&(t=Xo,n=pi(),n!==r&&(Jo=t,n=hr(n)),t=n),t}function ai(){let t,n,e,o,u,i,c;return t=Xo,n=pi(),n!==r&&(Jo=t,n=gr(n)),t=n,t===r&&(t=Xo,n=Ac(),n!==r?(Sc(),e=Oc(),e!==r?(Sc(),o=vi(),o!==r?(Sc(),u=Ic(),u!==r?(Sc(),i=di(),i!==r?(Sc(),c=Fc(),c!==r?(Jo=t,t=Er(o,i)):(Xo=t,t=r)):(Xo=t,t=r)):(Xo=t,t=r)):(Xo=t,t=r)):(Xo=t,t=r)):(Xo=t,t=r),t===r&&(t=Xo,n=Ac(),n!==r?(Sc(),e=Oc(),e!==r?(Sc(),o=vi(),o!==r?(Sc(),u=Fc(),u!==r?(Jo=t,t=Cr(o)):(Xo=t,t=r)):(Xo=t,t=r)):(Xo=t,t=r)):(Xo=t,t=r),t===r&&(t=Xo,n=Ac(),n!==r&&(Jo=t,n=Ar()),t=n))),t}function fi(){let t,n,e,o,u,i,c;return t=Xo,n=pi(),n!==r?(Sc(),e=Oc(),e!==r?(Sc(),o=di(),o!==r?(Sc(),u=Fc(),u!==r?(Jo=t,t=mr(n,o)):(Xo=t,t=r)):(Xo=t,t=r)):(Xo=t,t=r)):(Xo=t,t=r),t===r&&(t=Xo,n=pi(),n!==r&&(Jo=t,n=Lr(n)),t=n,t===r&&(t=Xo,n=Ac(),n!==r?(Sc(),e=Oc(),e!==r?(Sc(),o=vi(),o!==r?(Sc(),u=Ic(),u!==r?(Sc(),i=di(),i!==r?(Sc(),c=Fc(),c!==r?(Jo=t,t=br(o,i)):(Xo=t,t=r)):(Xo=t,t=r)):(Xo=t,t=r)):(Xo=t,t=r)):(Xo=t,t=r)):(Xo=t,t=r),t===r&&(t=Xo,n=Ac(),n!==r?(Sc(),e=Oc(),e!==r?(Sc(),o=di(),o!==r?(Sc(),u=Fc(),u!==r?(Jo=t,t=Tr(o)):(Xo=t,t=r)):(Xo=t,t=r)):(Xo=t,t=r)):(Xo=t,t=r),t===r&&(t=Xo,n=Ac(),n!==r&&(Jo=t,n=wr()),t=n)))),t}function pi(){let t,n;return t=Xo,n=gc(),n!==r&&(Jo=t,n=xr()),t=n,t===r&&(t=Xo,n=Ec(),n!==r&&(Jo=t,n=Nr()),t=n,t===r&&(t=Xo,n=Cc(),n!==r&&(Jo=t,n=Rr()),t=n,t===r&&(t=Xo,n=hc(),n!==r&&(Jo=t,n=Ir()),t=n,t===r&&(t=Xo,n=dc(),n!==r&&(Jo=t,n=Or()),t=n)))),t}function di(){let t,n;return t=Xo,n=Fi(),n!==r&&(Jo=t,n=Fr(n)),t=n,t}function vi(){let t,n;return t=Xo,n=Fi(),n!==r&&(Jo=t,n=Sr(n)),t=n,t}function yi(){let t,n,e;return t=Xo,n=Ji(),n!==r?(Sc(),e=Ei(),e!==r?(Jo=t,t=Mr(e)):(Xo=t,t=r)):(Xo=t,t=r),t}function hi(){let t,n;return t=Xo,n=$i(),n!==r&&(Jo=t,n=$r()),t=n,t}function gi(){let t,n;return t=Xo,n=Di(),n!==r&&(Jo=t,n=Dr()),t=n,t===r&&(t=Xo,n=Ui(),n!==r&&(Jo=t,n=Ur()),t=n),t}function Ei(){let t;return t=Ci(),t===r&&(t=Vu()),t}function Ci(){let t,e,o,u,i;if(t=Xo,39===n.charCodeAt(Xo)?(e=h,Xo++):(e=r,0===ru&&pu(Kt)),e===r&&(n.substr(Xo,2)===g?(e=g,Xo+=2):(e=r,0===ru&&pu(Vt))),e!==r){for(o=[],u=Xo,n.substr(Xo,2)===E?(i=E,Xo+=2):(i=r,0===ru&&pu(qt)),i!==r&&(Jo=u,i=_r()),u=i,u===r&&(u=n.charAt(Xo),xt.test(u)?Xo++:(u=r,0===ru&&pu(kt)));u!==r;)o.push(u),u=Xo,n.substr(Xo,2)===E?(i=E,Xo+=2):(i=r,0===ru&&pu(qt)),i!==r&&(Jo=u,i=_r()),u=i,u===r&&(u=n.charAt(Xo),xt.test(u)?Xo++:(u=r,0===ru&&pu(kt)));39===n.charCodeAt(Xo)?(u=h,Xo++):(u=r,0===ru&&pu(Kt)),u!==r?(Jo=t,t=Hr(o)):(Xo=t,t=r)}else Xo=t,t=r;return t}function Ai(){let t;return t=mi(),t===r&&(t=Li()),t}function mi(){let t,n,e,o,u,i,c;if(t=Xo,n=Tc(),n!==r)if(Sc(),e=gu(),e!==r){for(Sc(),o=[],u=Xo,i=Ti(),i!==r?(c=Sc(),u=i):(Xo=u,u=r);u!==r;)o.push(u),u=Xo,i=Ti(),i!==r?(c=Sc(),u=i):(Xo=u,u=r);u=wc(),u!==r?(Jo=t,t=Pr(e,o)):(Xo=t,t=r)}else Xo=t,t=r;else Xo=t,t=r;if(t===r)if(t=Xo,n=Tc(),n!==r)if(Sc(),e=gu(),e!==r){for(Sc(),o=[],u=Xo,i=Ti(),i!==r?(c=Sc(),u=i):(Xo=u,u=r);u!==r;)o.push(u),u=Xo,i=Ti(),i!==r?(c=Sc(),u=i):(Xo=u,u=r);u=wi(),u!==r?(i=Sc(),c=wc(),c!==r?(Jo=t,t=Zr(e,o,u)):(Xo=t,t=r)):(Xo=t,t=r)}else Xo=t,t=r;else Xo=t,t=r;return t}function Li(){let t,n,e,o,u,i;if(t=Xo,n=Tc(),n!==r){for(Sc(),e=[],o=Xo,u=bi(),u!==r?(i=Sc(),o=u):(Xo=o,o=r);o!==r;)e.push(o),o=Xo,u=bi(),u!==r?(i=Sc(),o=u):(Xo=o,o=r);o=wc(),o!==r?(Jo=t,t=jr(e)):(Xo=t,t=r)}else Xo=t,t=r;if(t===r)if(t=Xo,n=Tc(),n!==r){for(Sc(),e=[],o=Xo,u=bi(),u!==r?(i=Sc(),o=u):(Xo=o,o=r);o!==r;)e.push(o),o=Xo,u=bi(),u!==r?(i=Sc(),o=u):(Xo=o,o=r);o=wi(),o!==r?(u=Sc(),i=wc(),i!==r?(Jo=t,t=zr(e,o)):(Xo=t,t=r)):(Xo=t,t=r)}else Xo=t,t=r;return t}function bi(){let t,n,e,o,u;return t=Xo,n=xc(),n!==r?(Sc(),e=gu(),e!==r?(Sc(),o=Nc(),o!==r?(Sc(),u=gu(),u!==r?(Jo=t,t=Gr(e,u)):(Xo=t,t=r)):(Xo=t,t=r)):(Xo=t,t=r)):(Xo=t,t=r),t}function Ti(){let t,n,e,o,u;return t=Xo,n=xc(),n!==r?(Sc(),e=gu(),e!==r?(Sc(),o=Nc(),o!==r?(Sc(),u=gu(),u!==r?(Jo=t,t=Wr(e,u)):(Xo=t,t=r)):(Xo=t,t=r)):(Xo=t,t=r)):(Xo=t,t=r),t}function wi(){let t,n,e;return t=Xo,n=Rc(),n!==r?(Sc(),e=gu(),e!==r?(Jo=t,t=Br(e)):(Xo=t,t=r)):(Xo=t,t=r),t}function xi(){let t,n,e,o;return t=Xo,n=Ni(),n!==r?(e=Xo,ru++,o=Pu(),ru--,o===r?e=void 0:(Xo=e,e=r),e!==r?(Jo=t,t=Yr(n)):(Xo=t,t=r)):(Xo=t,t=r),t}function Ni(){let t,n,e,o;return t=Xo,n=Ri(),n!==r?(e=Ii(),e!==r?(o=Oi(),o!==r?(Jo=t,t=Kr(n,e,o)):(Xo=t,t=r)):(Xo=t,t=r)):(Xo=t,t=r),t===r&&(t=Xo,n=Ri(),n!==r?(e=Ii(),e!==r?(Jo=t,t=Vr(n,e)):(Xo=t,t=r)):(Xo=t,t=r),t===r&&(t=Xo,n=Ri(),n!==r?(e=Oi(),e!==r?(Jo=t,t=qr(n,e)):(Xo=t,t=r)):(Xo=t,t=r),t===r&&(t=Xo,n=Ri(),n!==r&&(Jo=t,n=kr(n)),t=n))),t}function Ri(){let t,e,o;return t=Fi(),t===r&&(t=Xo,e=n.charAt(Xo),At.test(e)?Xo++:(e=r,0===ru&&pu(Pt)),e!==r?(o=Fi(),o!==r?(Jo=t,t=Xr(e,o)):(Xo=t,t=r)):(Xo=t,t=r)),t}function Ii(){let t,e,o;return t=Xo,46===n.charCodeAt(Xo)?(e=C,Xo++):(e=r,0===ru&&pu(Xt)),e!==r?(o=Fi(),o===r&&(o=null),Jo=t,t=Jr(o)):(Xo=t,t=r),t}function Oi(){let t,n,e;return t=Xo,n=Mi(),n!==r?(e=Fi(),e!==r?(Jo=t,t=Qr(n,e)):(Xo=t,t=r)):(Xo=t,t=r),t}function Fi(){let t,n,e;if(t=Xo,n=[],e=Si(),e!==r)for(;e!==r;)n.push(e),e=Si();else n=r;return n!==r&&(Jo=t,n=to(n)),t=n,t}function Si(){let t;return t=n.charAt(Xo),Nt.test(t)?Xo++:(t=r,0===ru&&pu(Jt)),t}function Mi(){let t,e,o;return t=Xo,e=n.charAt(Xo),Rt.test(e)?Xo++:(e=r,0===ru&&pu(Qt)),e!==r?(o=n.charAt(Xo),At.test(o)?Xo++:(o=r,0===ru&&pu(Pt)),o===r&&(o=null),Jo=t,t=no(e,o)):(Xo=t,t=r),t}function $i(){let t,e,o,u;return t=Xo,e=n.substr(Xo,4),e.toLowerCase()===A?Xo+=4:(e=r,0===ru&&pu(tn)),e!==r?(o=Xo,ru++,u=Zu(),ru--,u===r?o=void 0:(Xo=o,o=r),o!==r?(e=[e,o],t=e):(Xo=t,t=r)):(Xo=t,t=r),t}function Di(){let t,e,o,u;return t=Xo,e=n.substr(Xo,4),e.toLowerCase()===m?Xo+=4:(e=r,0===ru&&pu(nn)),e!==r?(o=Xo,ru++,u=Zu(),ru--,u===r?o=void 0:(Xo=o,o=r),o!==r?(e=[e,o],t=e):(Xo=t,t=r)):(Xo=t,t=r),t}function Ui(){let t,e,o,u;return t=Xo,e=n.substr(Xo,5),e.toLowerCase()===L?Xo+=5:(e=r,0===ru&&pu(en)),e!==r?(o=Xo,ru++,u=Zu(),ru--,u===r?o=void 0:(Xo=o,o=r),o!==r?(e=[e,o],t=e):(Xo=t,t=r)):(Xo=t,t=r),t}function _i(){let t,e,o,u;return t=Xo,e=n.substr(Xo,2),e.toLowerCase()===b?Xo+=2:(e=r,0===ru&&pu(rn)),e!==r?(o=Xo,ru++,u=Zu(),ru--,u===r?o=void 0:(Xo=o,o=r),o!==r?(Jo=t,t=eo()):(Xo=t,t=r)):(Xo=t,t=r),t}function Hi(){let t,e,o,u;return t=Xo,e=n.substr(Xo,2),e.toLowerCase()===T?Xo+=2:(e=r,0===ru&&pu(on)),e!==r?(o=Xo,ru++,u=Zu(),ru--,u===r?o=void 0:(Xo=o,o=r),o!==r?(Jo=t,t=ro()):(Xo=t,t=r)):(Xo=t,t=r),t}function Pi(){let t,e,o,u;return t=Xo,e=n.substr(Xo,4),e.toLowerCase()===w?Xo+=4:(e=r,0===ru&&pu(un)),e!==r?(o=Xo,ru++,u=Zu(),ru--,u===r?o=void 0:(Xo=o,o=r),o!==r?(Jo=t,t=oo()):(Xo=t,t=r)):(Xo=t,t=r),t}function Zi(){let t,e,o,u;return t=Xo,e=n.substr(Xo,6),e.toLowerCase()===x?Xo+=6:(e=r,0===ru&&pu(cn)),e!==r?(o=Xo,ru++,u=Zu(),ru--,u===r?o=void 0:(Xo=o,o=r),o!==r?(Jo=t,t=uo()):(Xo=t,t=r)):(Xo=t,t=r),t}function ji(){let t,e,o,u;return t=Xo,e=n.substr(Xo,3),e.toLowerCase()===N?Xo+=3:(e=r,0===ru&&pu(ln)),e!==r?(o=Xo,ru++,u=Zu(),ru--,u===r?o=void 0:(Xo=o,o=r),o!==r?(Jo=t,t=io()):(Xo=t,t=r)):(Xo=t,t=r),t}function zi(){let t,e,o,u;return t=Xo,e=n.substr(Xo,3),e.toLowerCase()===R?Xo+=3:(e=r,0===ru&&pu(sn)),e!==r?(o=Xo,ru++,u=Zu(),ru--,u===r?o=void 0:(Xo=o,o=r),o!==r?(Jo=t,t=co()):(Xo=t,t=r)):(Xo=t,t=r),t}function Gi(){let t,e,o,u;return t=Xo,e=n.substr(Xo,2),e.toLowerCase()===I?Xo+=2:(e=r,0===ru&&pu(an)),e!==r?(o=Xo,ru++,u=Zu(),ru--,u===r?o=void 0:(Xo=o,o=r),o!==r?(Jo=t,t=lo()):(Xo=t,t=r)):(Xo=t,t=r),t}function Wi(){let t,e,o,u;return t=Xo,e=n.substr(Xo,7),e.toLowerCase()===O?Xo+=7:(e=r,0===ru&&pu(fn)),e!==r?(o=Xo,ru++,u=Zu(),ru--,u===r?o=void 0:(Xo=o,o=r),o!==r?(Jo=t,t=so()):(Xo=t,t=r)):(Xo=t,t=r),t}function Bi(){let t,e,o,u;return t=Xo,e=n.substr(Xo,4),e.toLowerCase()===F?Xo+=4:(e=r,0===ru&&pu(pn)),e!==r?(o=Xo,ru++,u=Zu(),ru--,u===r?o=void 0:(Xo=o,o=r),o!==r?(Jo=t,t=ao()):(Xo=t,t=r)):(Xo=t,t=r),t}function Yi(){let t,e,o,u;return t=Xo,e=n.substr(Xo,3),e.toLowerCase()===S?Xo+=3:(e=r,0===ru&&pu(dn)),e!==r?(o=Xo,ru++,u=Zu(),ru--,u===r?o=void 0:(Xo=o,o=r),o!==r?(Jo=t,t=fo()):(Xo=t,t=r)):(Xo=t,t=r),t}function Ki(){let t,e,o,u;return t=Xo,e=n.substr(Xo,9),e.toLowerCase()===M?Xo+=9:(e=r,0===ru&&pu(vn)),e!==r?(o=Xo,ru++,u=Zu(),ru--,u===r?o=void 0:(Xo=o,o=r),o!==r?(Jo=t,t=po()):(Xo=t,t=r)):(Xo=t,t=r),t}function Vi(){let t,e,o,u;return t=Xo,e=n.substr(Xo,7),e.toLowerCase()===$?Xo+=7:(e=r,0===ru&&pu(yn)),e!==r?(o=Xo,ru++,u=Zu(),ru--,u===r?o=void 0:(Xo=o,o=r),o!==r?(Jo=t,t=vo()):(Xo=t,t=r)):(Xo=t,t=r),t}function qi(){let t,e,o,u;return t=Xo,e=n.substr(Xo,4),e.toLowerCase()===D?Xo+=4:(e=r,0===ru&&pu(hn)),e!==r?(o=Xo,ru++,u=Zu(),ru--,u===r?o=void 0:(Xo=o,o=r),o!==r?(Jo=t,t=yo()):(Xo=t,t=r)):(Xo=t,t=r),t}function ki(){let t,e,o,u;return t=Xo,e=n.substr(Xo,8),e.toLowerCase()===U?Xo+=8:(e=r,0===ru&&pu(gn)),e!==r?(o=Xo,ru++,u=Zu(),ru--,u===r?o=void 0:(Xo=o,o=r),o!==r?(Jo=t,t=ho()):(Xo=t,t=r)):(Xo=t,t=r),t}function Xi(){let t,e,o,u;return t=Xo,e=n.substr(Xo,9),e.toLowerCase()===_?Xo+=9:(e=r,0===ru&&pu(En)),e!==r?(o=Xo,ru++,u=Zu(),ru--,u===r?o=void 0:(Xo=o,o=r),o!==r?(Jo=t,t=go()):(Xo=t,t=r)):(Xo=t,t=r),t}function Ji(){let t,e,o,u;return t=Xo,e=n.substr(Xo,4),e.toLowerCase()===H?Xo+=4:(e=r,0===ru&&pu(Cn)),e!==r?(o=Xo,ru++,u=Zu(),ru--,u===r?o=void 0:(Xo=o,o=r),o!==r?(Jo=t,t=Eo()):(Xo=t,t=r)):(Xo=t,t=r),t}function Qi(){let t,e,o,u;return t=Xo,e=n.substr(Xo,4),e.toLowerCase()===P?Xo+=4:(e=r,0===ru&&pu(An)),e!==r?(o=Xo,ru++,u=Zu(),ru--,u===r?o=void 0:(Xo=o,o=r),o!==r?(Jo=t,t=Co()):(Xo=t,t=r)):(Xo=t,t=r),t}function tc(){let t,e,o,u;return t=Xo,e=n.substr(Xo,7),e.toLowerCase()===Z?Xo+=7:(e=r,0===ru&&pu(mn)),e!==r?(o=Xo,ru++,u=Zu(),ru--,u===r?o=void 0:(Xo=o,o=r),o!==r?(Jo=t,t=Ao()):(Xo=t,t=r)):(Xo=t,t=r),t}function nc(){let t,e,o,u;return t=Xo,e=n.substr(Xo,8),e.toLowerCase()===j?Xo+=8:(e=r,0===ru&&pu(Ln)),e!==r?(o=Xo,ru++,u=Zu(),ru--,u===r?o=void 0:(Xo=o,o=r),o!==r?(Jo=t,t=mo()):(Xo=t,t=r)):(Xo=t,t=r),t}function ec(){let t,e,o,u;return t=Xo,e=n.substr(Xo,4),e.toLowerCase()===z?Xo+=4:(e=r,0===ru&&pu(bn)),e!==r?(o=Xo,ru++,u=Zu(),ru--,u===r?o=void 0:(Xo=o,o=r),o!==r?(Jo=t,t=Lo()):(Xo=t,t=r)):(Xo=t,t=r),t}function rc(){let t,e,o,u;return t=Xo,e=n.substr(Xo,4),e.toLowerCase()===G?Xo+=4:(e=r,0===ru&&pu(Tn)),e!==r?(o=Xo,ru++,u=Zu(),ru--,u===r?o=void 0:(Xo=o,o=r),o!==r?(Jo=t,t=bo()):(Xo=t,t=r)):(Xo=t,t=r),t}function oc(){let t,e,o,u;return t=Xo,e=n.substr(Xo,2),e.toLowerCase()===W?Xo+=2:(e=r,0===ru&&pu(wn)),e!==r?(o=Xo,ru++,u=Zu(),ru--,u===r?o=void 0:(Xo=o,o=r),o!==r?(Jo=t,t=To()):(Xo=t,t=r)):(Xo=t,t=r),t}function uc(){let t,e,o,u;return t=Xo,e=n.substr(Xo,7),e.toLowerCase()===B?Xo+=7:(e=r,0===ru&&pu(xn)),e!==r?(o=Xo,ru++,u=Zu(),ru--,u===r?o=void 0:(Xo=o,o=r),o!==r?(Jo=t,t=wo()):(Xo=t,t=r)):(Xo=t,t=r),t}function ic(){let t,e,o,u;return t=Xo,e=n.substr(Xo,3),e.toLowerCase()===Y?Xo+=3:(e=r,0===ru&&pu(Nn)),e!==r?(o=Xo,ru++,u=Zu(),ru--,u===r?o=void 0:(Xo=o,o=r),o!==r?(Jo=t,t=xo()):(Xo=t,t=r)):(Xo=t,t=r),t}function cc(){let t,e,o,u;return t=Xo,e=n.substr(Xo,8),e.toLowerCase()===K?Xo+=8:(e=r,0===ru&&pu(Rn)),e!==r?(o=Xo,ru++,u=Zu(),ru--,u===r?o=void 0:(Xo=o,o=r),o!==r?(Jo=t,t=No()):(Xo=t,t=r)):(Xo=t,t=r),t}function lc(){let t,e,o,u;return t=Xo,e=n.substr(Xo,5),e.toLowerCase()===V?Xo+=5:(e=r,0===ru&&pu(In)),e!==r?(o=Xo,ru++,u=Zu(),ru--,u===r?o=void 0:(Xo=o,o=r),o!==r?(Jo=t,t=Ro()):(Xo=t,t=r)):(Xo=t,t=r),t}function sc(){let t,e,o,u;return t=Xo,e=n.substr(Xo,4),e.toLowerCase()===q?Xo+=4:(e=r,0===ru&&pu(On)),e!==r?(o=Xo,ru++,u=Zu(),ru--,u===r?o=void 0:(Xo=o,o=r),o!==r?(Jo=t,t=Io()):(Xo=t,t=r)):(Xo=t,t=r),t}function ac(){let t,e,o,u;return t=Xo,e=n.substr(Xo,7),e.toLowerCase()===k?Xo+=7:(e=r,0===ru&&pu(Fn)),e!==r?(o=Xo,ru++,u=Zu(),ru--,u===r?o=void 0:(Xo=o,o=r),o!==r?(Jo=t,t=Oo()):(Xo=t,t=r)):(Xo=t,t=r),t}function fc(){let t,e,o,u;return t=Xo,e=n.substr(Xo,2),e.toLowerCase()===X?Xo+=2:(e=r,0===ru&&pu(Sn)),e!==r?(o=Xo,ru++,u=Zu(),ru--,u===r?o=void 0:(Xo=o,o=r),o!==r?(Jo=t,t=Fo()):(Xo=t,t=r)):(Xo=t,t=r),t}function pc(){let t,e,o,u;return t=Xo,e=n.substr(Xo,8),e.toLowerCase()===J?Xo+=8:(e=r,0===ru&&pu(Mn)),e!==r?(o=Xo,ru++,u=Zu(),ru--,u===r?o=void 0:(Xo=o,o=r),o!==r?(Jo=t,t=So()):(Xo=t,t=r)):(Xo=t,t=r),t}function dc(){let t,e,o,u;return t=Xo,e=n.substr(Xo,4),e.toLowerCase()===Q?Xo+=4:(e=r,0===ru&&pu($n)),e!==r?(o=Xo,ru++,u=Zu(),ru--,u===r?o=void 0:(Xo=o,o=r),o!==r?(Jo=t,t=Mo()):(Xo=t,t=r)):(Xo=t,t=r),t}function vc(){let t,e,o,u;return t=Xo,e=n.substr(Xo,13),e.toLowerCase()===tt?Xo+=13:(e=r,0===ru&&pu(Dn)),e!==r?(o=Xo,ru++,u=Zu(),ru--,u===r?o=void 0:(Xo=o,o=r),o!==r?(Jo=t,t=$o()):(Xo=t,t=r)):(Xo=t,t=r),t}function yc(){let t,e,o,u;return t=Xo,e=n.substr(Xo,15),e.toLowerCase()===nt?Xo+=15:(e=r,0===ru&&pu(Un)),e!==r?(o=Xo,ru++,u=Zu(),ru--,u===r?o=void 0:(Xo=o,o=r),o!==r?(Jo=t,t=Do()):(Xo=t,t=r)):(Xo=t,t=r),t}function hc(){let t,e,o,u;return t=Xo,e=n.substr(Xo,5),e.toLowerCase()===et?Xo+=5:(e=r,0===ru&&pu(_n)),e!==r?(o=Xo,ru++,u=Zu(),ru--,u===r?o=void 0:(Xo=o,o=r),o!==r?(Jo=t,t=Uo()):(Xo=t,t=r)):(Xo=t,t=r),t}function gc(){let t,e,o,u;return t=Xo,e=n.substr(Xo,3),e.toLowerCase()===rt?Xo+=3:(e=r,0===ru&&pu(Hn)),e!==r?(o=Xo,ru++,u=Zu(),ru--,u===r?o=void 0:(Xo=o,o=r),o!==r?(Jo=t,t=_o()):(Xo=t,t=r)):(Xo=t,t=r),t}function Ec(){let t,e,o,u;return t=Xo,e=n.substr(Xo,4),e.toLowerCase()===ot?Xo+=4:(e=r,0===ru&&pu(Pn)),e!==r?(o=Xo,ru++,u=Zu(),ru--,u===r?o=void 0:(Xo=o,o=r),o!==r?(Jo=t,t=Ho()):(Xo=t,t=r)):(Xo=t,t=r),t}function Cc(){let t,e,o,u;return t=Xo,e=n.substr(Xo,6),e.toLowerCase()===ut?Xo+=6:(e=r,0===ru&&pu(Zn)),e!==r?(o=Xo,ru++,u=Zu(),ru--,u===r?o=void 0:(Xo=o,o=r),o!==r?(Jo=t,t=Po()):(Xo=t,t=r)):(Xo=t,t=r),t}function Ac(){let t,e,o,u;return t=Xo,e=n.substr(Xo,6),e.toLowerCase()===it?Xo+=6:(e=r,0===ru&&pu(jn)),e!==r?(o=Xo,ru++,u=Zu(),ru--,u===r?o=void 0:(Xo=o,o=r),o!==r?(Jo=t,t=Zo()):(Xo=t,t=r)):(Xo=t,t=r),t}function mc(){let t,e,o,u;return t=Xo,e=n.substr(Xo,3),e.toLowerCase()===ct?Xo+=3:(e=r,0===ru&&pu(zn)),e!==r?(o=Xo,ru++,u=Zu(),ru--,u===r?o=void 0:(Xo=o,o=r),o!==r?(Jo=t,t=jo()):(Xo=t,t=r)):(Xo=t,t=r),t}function Lc(){let t,e,o,u;return t=Xo,e=n.substr(Xo,3),e.toLowerCase()===lt?Xo+=3:(e=r,0===ru&&pu(Gn)),e!==r?(o=Xo,ru++,u=Zu(),ru--,u===r?o=void 0:(Xo=o,o=r),o!==r?(Jo=t,t=zo()):(Xo=t,t=r)):(Xo=t,t=r),t}function bc(){let t,e,o,u;return t=Xo,e=n.substr(Xo,4),e.toLowerCase()===st?Xo+=4:(e=r,0===ru&&pu(Wn)),e!==r?(o=Xo,ru++,u=Zu(),ru--,u===r?o=void 0:(Xo=o,o=r),o!==r?(Jo=t,t=Go()):(Xo=t,t=r)):(Xo=t,t=r),t}function Tc(){let t,e,o,u;return t=Xo,e=n.substr(Xo,4),e.toLowerCase()===at?Xo+=4:(e=r,0===ru&&pu(Bn)),e!==r?(o=Xo,ru++,u=Zu(),ru--,u===r?o=void 0:(Xo=o,o=r),o!==r?(Jo=t,t=Wo()):(Xo=t,t=r)):(Xo=t,t=r),t}function wc(){let t,e,o,u;return t=Xo,e=n.substr(Xo,3),e.toLowerCase()===ft?Xo+=3:(e=r,0===ru&&pu(Yn)),e!==r?(o=Xo,ru++,u=Zu(),ru--,u===r?o=void 0:(Xo=o,o=r),o!==r?(Jo=t,t=Bo()):(Xo=t,t=r)):(Xo=t,t=r),t}function xc(){let t,e,o,u;return t=Xo,e=n.substr(Xo,4),e.toLowerCase()===pt?Xo+=4:(e=r,0===ru&&pu(Kn)),e!==r?(o=Xo,ru++,u=Zu(),ru--,u===r?o=void 0:(Xo=o,o=r),o!==r?(Jo=t,t=Yo()):(Xo=t,t=r)):(Xo=t,t=r),t}function Nc(){let t,e,o,u;return t=Xo,e=n.substr(Xo,4),e.toLowerCase()===dt?Xo+=4:(e=r,0===ru&&pu(Vn)),e!==r?(o=Xo,ru++,u=Zu(),ru--,u===r?o=void 0:(Xo=o,o=r),o!==r?(Jo=t,t=Ko()):(Xo=t,t=r)):(Xo=t,t=r),t}function Rc(){let t,e,o,u;return t=Xo,e=n.substr(Xo,4),e.toLowerCase()===vt?Xo+=4:(e=r,0===ru&&pu(qn)),e!==r?(o=Xo,ru++,u=Zu(),ru--,u===r?o=void 0:(Xo=o,o=r),o!==r?(Jo=t,t=Vo()):(Xo=t,t=r)):(Xo=t,t=r),t}function Ic(){let t;return 44===n.charCodeAt(Xo)?(t=yt,Xo++):(t=r,0===ru&&pu(kn)),t}function Oc(){let t;return 40===n.charCodeAt(Xo)?(t=ht,Xo++):(t=r,0===ru&&pu(Xn)),t}function Fc(){let t;return 41===n.charCodeAt(Xo)?(t=gt,Xo++):(t=r,0===ru&&pu(Jn)),t}function Sc(){let t,n;for(t=[],n=Mc();n!==r;)t.push(n),n=Mc();return t}function Mc(){let t;return t=n.charAt(Xo),It.test(t)?Xo++:(t=r,0===ru&&pu(Qn)),t}function $c(){let t,e,o,u;if(t=Xo,e=Hu(),e!==r&&(Jo=t,e=qo(e)),t=e,t===r)if(t=Xo,96===n.charCodeAt(Xo)?(e=Et,Xo++):(e=r,0===ru&&pu(te)),e!==r){if(o=[],u=n.charAt(Xo),Ot.test(u)?Xo++:(u=r,0===ru&&pu(ne)),u!==r)for(;u!==r;)o.push(u),u=n.charAt(Xo),Ot.test(u)?Xo++:(u=r,0===ru&&pu(ne));else o=r;o!==r?(96===n.charCodeAt(Xo)?(u=Et,Xo++):(u=r,0===ru&&pu(te)),u!==r?(Jo=t,t=ko(o)):(Xo=t,t=r)):(Xo=t,t=r)}else Xo=t,t=r;return t}function Dc(t,n,e){return{type:"unary-expression",location:e,operator:t,expr:n}}function Uc(t,n,e,r,o){const u={type:"binary-expression",location:o,operator:t,left:n,right:e};return void 0!==r&&(u.escape=r),u}function _c(t,...n){return{type:"expression-list",location:t,value:n}}function Hc(t,n){let e=t;for(const{op:r,expr:o,location:{end:u}}of n)e=Uc(r,e,o,void 0,{...e.location,end:u});return e}function Pc(t){!0!==/^(\d{4})-(\d{1,2})-(\d{1,2})$|^(\d{4})-(\d{1,2})-(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})(\.[0-9]+)?$|^(\d{4})-(\d{1,2})-(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})(\.[0-9]+)?[ ]{0,1}(\+|\-)(\d{1,2}):(\d{1,2})$|^(\d{4})-(\d{1,2})-(\d{1,2}) (\d{1,2}):(\d{1,2})?[ ]{0,1}(\+|\-)(\d{1,2}):(\d{1,2})$|^(\d{4})-(\d{1,2})-(\d{1,2}) (\d{1,2}):(\d{1,2})$/.test(t)&&uu("Timestamp literal is invalid")}function Zc(t){!0!==/^(\d{1,2}):(\d{1,2}):(\d{1,2})$|^(\d{1,2}):(\d{1,2})$|^(\d{1,2}):(\d{1,2}):(\d{1,2}).([0-9]+)$/.test(t)&&uu("Time literal is invalid")}function jc(t){!0!==/^(\d{4})-(\d{1,2})-(\d{1,2})$|^(\d{4})-(\d{1,2})-(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})(\.[0-9]+)?$|^(\d{4})-(\d{1,2})-(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})(\.[0-9]+)?[ ]{0,1}(\+|\-)(\d{1,2}):(\d{1,2})$|^(\d{4})-(\d{1,2})-(\d{1,2}) (\d{1,2}):(\d{1,2})?[ ]{0,1}(\+|\-)(\d{1,2}):(\d{1,2})$|^(\d{4})-(\d{1,2})-(\d{1,2}) (\d{1,2}):(\d{1,2})$/.test(t)&&uu("Date literal is invalid")}tu=i();const zc=tu!==r&&Xo===n.length;function Gc(){throw tu!==r&&Xo<n.length&&pu(su()),vu(eu,nu<n.length?iu(nu):null,nu<n.length?fu(nu,nu+1):fu(nu,nu))}return e.peg$library?{peg$result:tu,peg$currPos:Xo,peg$FAILED:r,peg$maxFailExpected:eu,peg$maxFailPos:nu,peg$success:zc,peg$throw:zc?void 0:Gc}:zc?tu:void Gc()}class e{static parse(t){return n(t)}}export{e as WhereGrammar};
@@ -0,0 +1,2 @@
1
+ /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
+ function e(e,s){e.type in s&&s[e.type]?.(e)}function*s(e){if(null==e)return;const s=[e];for(;s.length;){const e=s.pop();switch(yield e,e.type){case"when-clause":s.push(e.value),s.push(e.operand);break;case"case-expression":{const a=[];for(const s of e.clauses)a.push(s);"simple"===e.format&&a.push(e.operand),null!=e.else&&a.push(e.else);for(let e=a.length-1;e>=0;e--)s.push(a[e]);break}case"expression-list":for(let a=e.value.length-1;a>=0;a--)s.push(e.value[a]);break;case"unary-expression":s.push(e.expr);break;case"binary-expression":s.push(e.right),s.push(e.left);break;case"function":s.push(e.args);break;case"interval":s.push(e.qualifier),s.push(e.value);break;case"interval-qualifier":s.push(e.end),s.push(e.start)}}}export{s as iterateSqlNodes,e as visitSqlNode};
@@ -0,0 +1,2 @@
1
+ /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
+ import{SqlError as e}from"./errorSupport.js";function t(e){return r(e).trim()}function r(t){let s,o,u,l;switch(t.type){case"interval":return a(r(t.value),t.qualifier,t.op);case"case-expression":{let e="CASE ";"simple"===t.format&&(e+=r(t.operand));for(let n=0;n<t.clauses.length;n++)e+=` WHEN ${r(t.clauses[n].operand)} THEN ${r(t.clauses[n].value)}`;return null!==t.else&&(e+=` ELSE ${r(t.else)}`),e+=" END",e}case"expression-list":o=[];for(const e of t.value)o.push(r(e));return o;case"unary-expression":return`(NOT ${r(t.expr)})`;case"binary-expression":switch(t.operator){case"AND":return`(${r(t.left)} AND ${r(t.right)})`;case"OR":return`(${r(t.left)} OR ${r(t.right)})`;case"IS":if("null"!==t.right.type)throw new e("UnsupportedIsRhs");return`(${r(t.left)} IS NULL)`;case"ISNOT":if("null"!==t.right.type)throw new e("UnsupportedIsRhs");return`(${r(t.left)} IS NOT NULL)`;case"IN":return s=[],"expression-list"===t.right.type?(s=r(t.right),`(${r(t.left)} IN (${s.join(",")}))`):(l=r(t.right),Array.isArray(l)?`(${r(t.left)} IN (${l.join(",")}))`:`(${r(t.left)} IN (${l}))`);case"NOT IN":return s=[],"expression-list"===t.right.type?(s=r(t.right),`(${r(t.left)} NOT IN (${s.join(",")}))`):(l=r(t.right),Array.isArray(l)?`(${r(t.left)} NOT IN (${l.join(",")}))`:`(${r(t.left)} NOT IN (${l}))`);case"BETWEEN":case"NOTBETWEEN":return u=r(t.right),`(${r(t.left)} ${t.operator} ${u[0]} AND ${u[1]})`;case"LIKE":return""!==t.escape?`(${r(t.left)} LIKE ${r(t.right)} ESCAPE '${t.escape}')`:`(${r(t.left)} LIKE ${r(t.right)})`;case"NOT LIKE":return""!==t.escape?`(${r(t.left)} NOT LIKE ${r(t.right)} ESCAPE '${t.escape}')`:`(${r(t.left)} NOT LIKE ${r(t.right)})`;case"<>":case"<":case">":case">=":case"<=":case"=":case"*":case"-":case"+":case"/":case"||":return`(${r(t.left)} ${t.operator} ${r(t.right)})`;default:throw new e("UnsupportedOperator",{operator:t.operator})}case"null":return"null";case"boolean":return!0===t.value?"1":"0";case"string":return`'${t.value.toString().replaceAll("'","''")}'`;case"timestamp":return`timestamp '${t.value}'`;case"date":return`date '${t.value}'`;case"time":return`time '${t.value}'`;case"number":return t.value.toString();case"current-time":return n(t.mode);case"current-user":return"CURRENT_USER";case"column-reference":return c(t);case"data-type":return t.value;case"function":{const e=r(t.args);return i(t.name,e)}}throw new e("UnsupportedSyntax",{node:t.type})}function n(e){return"date"===e?"CURRENT_DATE":"time"===e?"CURRENT_TIME":"CURRENT_TIMESTAMP"}function a(e,t,r){let n="";return n="interval-period"===t.type?s(t):s(t.start)+" TO "+s(t.end),`INTERVAL${""!==r?r+" ":""} ${e} ${n}`}function s(e){return e.period.toUpperCase()}function c(e){return!0===e.delimited?`"${e.column.split('"').join('""')}"`:e.column}function i(t,r){switch(t.toLowerCase().trim()){case"cos":case"sin":case"tan":case"cosh":case"tanh":case"sinh":case"acos":case"asin":case"atan":case"floor":case"log10":case"log":case"abs":if(1!==r.length)throw new e("InvalidFunctionParameters",{function:t.toLowerCase().trim()});return`${t.toUpperCase().trim()}(${r[0]})`;case"ceiling":case"ceil":if(1!==r.length)throw new e("InvalidFunctionParameters",{function:"ceiling"});return"CEILING("+r[0]+")";case"mod":case"power":case"nullif":if(2!==r.length)throw new e("InvalidFunctionParameters",{function:t.toLowerCase().trim()});return`${t.toUpperCase().trim()}(${r[0]},${r[1]})`;case"round":if(2===r.length)return"ROUND("+r[0]+","+r[1]+")";if(1===r.length)return"ROUND("+r[0]+")";throw new e("InvalidFunctionParameters",{function:"round"});case"truncate":if(r.length<1||r.length>2)throw new e("InvalidFunctionParameters",{function:"truncate"});return"TRUNCATE("+r[0]+(1===r.length?")":","+r[1]+")");case"char_length":case"len":if(1!==r.length)throw new e("InvalidFunctionParameters",{function:"char_length"});return"CHAR_LENGTH("+r[0]+")";case"coalesce":case"concat":{if(r.length<1)throw new e("InvalidFunctionParameters",{function:t.toLowerCase()});let n=t.toUpperCase().trim()+"(";for(let e=0;e<r.length;e++)0!==e&&(n+=","),n+=r[e];return n+=")",n}case"lower":case"lcase":if(1!==r.length)throw new e("InvalidFunctionParameters",{function:"lower"});return"LOWER("+r[0]+")";case"upper":case"ucase":if(1!==r.length)throw new e("InvalidFunctionParameters",{function:"upper"});return"UPPER("+r[0]+")";case"substring":{let e="SUBSTRING("+r[0]+" FROM "+r[1];return 3===r.length&&(e+=" FOR "+r[2]),e+=")",e}case"extract":return"EXTRACT("+r[0].replaceAll("'","")+" FROM "+r[1]+")";case"cast":{let e="";switch(r[1].type){case"date":e="DATE";break;case"float":e="FLOAT";break;case"integer":e="INTEGER";break;case"real":e="REAL";break;case"smallint":e="SMALLINT";break;case"timestamp":e="TIMESTAMP";break;case"varchar":e="VARCHAR("+r[1].size.toString()+")"}return`CAST(${r[0]} AS ${e})`}}throw new e("InvalidFunctionParameters",{function:t})}export{t as sqlNodeToString,i as translateFunctionToDatabaseSpecific};
package/core/sql.d.ts CHANGED
@@ -19,8 +19,7 @@ import type { TimeZone } from "../time/types.js";
19
19
  * `where` token.
20
20
  *
21
21
  * @param clause - The SQL where clause expression.
22
- * @param fieldsIndex - The [fields index](https://developers.arcgis.com/javascript/latest/references/core/layers/FeatureLayer/#fieldsIndex)
23
- * of the layer. The fields index is used to match the fields found in the where clause against the service, to fix casing for example.
22
+ * @param fieldsIndex - The [fields index](https://developers.arcgis.com/javascript/latest/references/core/layers/FeatureLayer/#fieldsIndex) of the layer. The fields index is used to match the fields found in the where clause against the service, to fix casing for example.
24
23
  * @returns Parses a string where clause and returns a promise that resolves to
25
24
  * an object with the [WhereClause](https://developers.arcgis.com/javascript/latest/references/core/core/sql/WhereClause/) specification.
26
25
  * @example
@@ -52,7 +51,7 @@ import type { TimeZone } from "../time/types.js";
52
51
  * console.log(testResult); // true
53
52
  * });
54
53
  */
55
- export function parseWhereClause(clause: string, fieldsIndex: FieldsIndex | null | undefined): Promise<WhereClause>;
54
+ export function parseWhereClause(clause: string, fieldsIndex?: FieldsIndex | null | undefined): Promise<WhereClause>;
56
55
 
57
56
  /**
58
57
  * Builds an SQL IN clause for the given field and list of values. Returns null if no values are provided.
package/core/sql.js CHANGED
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{isUnknownTimeZone as e}from"./sql/UnknownTimeZone.js";import{isDate as t}from"../support/guards.js";import{getLuxonTimeZone as r}from"../time/timeZoneUtils.js";import{FixedOffsetZone as n,DateTime as s}from"luxon";let i;async function a(){return null==i&&(i=import("./sql/WhereClauseCache.js").then(e=>new e.WhereClauseCache(500,500))),i}function l(){i=null}async function c(e,t){const r=await a(),n=r.get(e,t);if(null==n)throw r.getError(e,t);return n}function o(e,t){return e||=null,t||=null,"1=1"===e?t??e:"1=1"===t?e??t:e&&t?`(${e}) AND (${t})`:e??t}function u(e,t){return e||=null,t||=null,"1=1"===e||"1=1"===t||e===t?"1=1"===e?e:t:e&&t?`(${e}) OR (${t})`:e??t}function f(e,t){return 0===t.length?null:`${e} IN (${p(t)})`}function d(e,t){return 0===t.length?null:`${e} NOT IN (${p(t)})`}function p(e){return e.map(e=>"string"==typeof e?T(e):e).join(",")}function T(e,t){return null==e?"NULL":`${t??""}'${e.replaceAll("'","''")}'`}function m(e){return Number.isFinite(e)?String(e):"NULL"}function y(e){const[t,r]=e.split("T");return`${t} ${r.replace("Z","+00:00").replace(/[+-]/,e=>` ${e}`)}`}function g(e){return e.split("T")[0]}function w(e){const t=e.indexOf("T")+1,r=Math.max(e.indexOf("-",t),e.indexOf("+",t),e.indexOf("Z",t));return e.slice(t,r>0?r:void 0)}function F(e,t){const i=null!=t?r(t):n.utcInstance,a=s.fromMillis(e,{zone:i});return a.isValid?a:null}function h(e,t){return F(e,t)?.toSQL({includeOffset:!1})}function v(e,t){return F(e,t)?.toSQL({includeOffset:!0})?.replace("Z","+00:00")}function E(e,t){return F(e,t)?.toSQLDate()}function b(e,t){return F(e,t)?.toSQLTime({includeOffset:!1})}function I(e){return"string"==typeof e?e:e?.type}function L(e){return null==e?"NULL":e?"TRUE":"FALSE"}function O(e,t){if(null==e)return"NULL";const r=I(t);switch(typeof e){case"string":switch(r){case"string":case"esriFieldTypeString":case void 0:return m(Number(e));default:throw new Error(`Cannot convert ${r} to sql numeric literal.`)}case"boolean":return e?"1":"0";case"number":switch(r){case"small-integer":case"esriFieldTypeSmallInteger":case"integer":case"esriFieldTypeInteger":case"single":case"esriFieldTypeSingle":case"double":case"esriFieldTypeDouble":case"big-integer":case"esriFieldTypeBigInteger":case"long":case"esriFieldTypeLong":case"oid":case"esriFieldTypeOID":case void 0:return m(e);default:throw new Error(`Cannot convert ${r} to sql numeric literal.`)}}throw new Error("Cannot convert value to sql numeric literal.")}function $(e,r,n){if(null==e)return"NULL";const s=I(r);switch(typeof e){case"string":switch(s){case"timestamp-offset":case"esriFieldTypeTimestampOffset":return T(y(e));case"date-only":case"esriFieldTypeDateOnly":case"time-only":case"esriFieldTypeTimeOnly":case"string":case"esriFieldTypeString":case"global-id":case"esriFieldTypeGlobalID":case"guid":case"esriFieldTypeGUID":case"xml":case"esriFieldTypeXML":case void 0:return T(e);default:throw new Error(`Cannot convert ${s} to sql string literal.`)}case"boolean":return e?"'true'":"'false'";case"number":switch(s){case"date":case"esriFieldTypeDate":return T(h(e,n));case"small-integer":case"esriFieldTypeSmallInteger":case"integer":case"esriFieldTypeInteger":case"single":case"esriFieldTypeSingle":case"double":case"esriFieldTypeDouble":case"big-integer":case"esriFieldTypeBigInteger":case"long":case"esriFieldTypeLong":case"oid":case"esriFieldTypeOID":case void 0:return Number.isFinite(e)?`'${e}'`:"NULL";default:throw new Error(`Cannot convert ${s} to sql string literal.`)}case"object":if(t(e))return T(h(e.valueOf(),n))}throw new Error("Cannot convert value to sql string literal.")}function S(e,r,n){if(null==e)return"NULL";const s=I(r);switch(typeof e){case"string":switch(s){case"timestamp-offset":case"esriFieldTypeTimestampOffset":return T(g(e),"DATE");case"date-only":case"esriFieldTypeDateOnly":case"string":case"esriFieldTypeString":case void 0:return T(e,"DATE");default:throw new Error(`Cannot convert ${s} to sql date literal.`)}case"number":switch(s){case"date":case"esriFieldTypeDate":case void 0:return T(E(e,n),"DATE");default:throw new Error(`Cannot convert ${s} to sql date literal.`)}case"object":if(t(e))return T(E(e.valueOf(),n),"DATE")}throw new Error("Cannot convert value to sql date literal.")}function D(e,r,n){if(null==e)return"NULL";const s=I(r);switch(typeof e){case"string":switch(s){case"timestamp-offset":case"esriFieldTypeTimestampOffset":return T(w(e),"TIME");case"time-only":case"esriFieldTypeTimeOnly":case"string":case"esriFieldTypeString":case void 0:return T(e,"TIME");default:throw new Error(`Cannot convert ${s} to sql time literal.`)}case"number":switch(s){case"date":case"esriFieldTypeDate":case void 0:return T(b(e,n),"TIME");default:throw new Error(`Cannot convert ${s} to sql time literal.`)}case"object":if(t(e))return T(b(e.valueOf(),n),"TIME")}throw new Error("Cannot convert value to sql time literal.")}function M(e,r,n){if(null==e)return"NULL";const s=I(r);switch(typeof e){case"string":switch(s){case"timestamp-offset":case"esriFieldTypeTimestampOffset":return T(y(e),"TIMESTAMP");case"date-only":case"esriFieldTypeDateOnly":return T(`${e} 00:00:00`,"TIMESTAMP");case"string":case"esriFieldTypeString":case void 0:return T(e,"TIMESTAMP");default:throw new Error(`Cannot convert ${s} to sql timestamp literal.`)}case"number":switch(s){case"date":case"esriFieldTypeDate":case void 0:return T(h(e,n),"TIMESTAMP");default:throw new Error(`Cannot convert ${s} to sql timestamp literal.`)}case"object":if(t(e))return T(h(e.valueOf(),n),"TIMESTAMP")}throw new Error("Cannot convert value to sql timestamp literal.")}function C(e,r,n){if(null==e)return"NULL";const s=I(r);switch(typeof e){case"string":switch(s){case"timestamp-offset":case"esriFieldTypeTimestampOffset":return T(y(e),"TIMESTAMP");case"string":case"esriFieldTypeString":case void 0:return T(e,"TIMESTAMP");default:throw new Error(`Cannot convert ${s} to sql timestamp offset literal.`)}case"number":switch(s){case"date":case"esriFieldTypeDate":case void 0:return T(v(e,n),"TIMESTAMP");default:throw new Error(`Cannot convert ${s} to sql timestamp offset literal.`)}case"object":if(t(e))return T(v(e.valueOf(),n),"TIMESTAMP")}throw new Error("Cannot convert value to sql timestamp offset literal.")}function q(t,r){return null==t?r:null==r||e(t)||e(r)?t:r}function A(e,r,n){if(null==e)return"NULL";if(null==r&&null==n){switch(typeof e){case"string":return $(e);case"number":return O(e);case"boolean":return L(e);case"object":if(t(e))return M(e)}throw new Error("Cannot convert value to sql literal.")}const s=q(r?.timeZone,n?.timeZone),i=I(r?.type);switch(I(n?.type)??i){case"small-integer":case"esriFieldTypeSmallInteger":case"integer":case"esriFieldTypeInteger":case"single":case"esriFieldTypeSingle":case"double":case"esriFieldTypeDouble":case"big-integer":case"esriFieldTypeBigInteger":case"long":case"esriFieldTypeLong":case"oid":case"esriFieldTypeOID":return O(e,i);case"global-id":case"esriFieldTypeGlobalID":case"guid":case"esriFieldTypeGUID":case"xml":case"esriFieldTypeXML":case"string":case"esriFieldTypeString":return $(e,i,s);case"date":case"esriFieldTypeDate":return M(e,i,s);case"timestamp-offset":case"esriFieldTypeTimestampOffset":return C(e,i,s);case"date-only":case"esriFieldTypeDateOnly":return S(e,i,s);case"time-only":case"esriFieldTypeTimeOnly":return D(e,i,s);default:throw new Error("Unsupported sql target type: "+i)}}function N(e){return/^[a-zA-Z_][a-zA-Z_0-9]*$/.test(e)?e:`"${e.replaceAll('"','""')}"`}export{l as cleanupWhereClauseCache,c as parseWhereClause,o as sqlAnd,L as sqlBooleanLiteral,S as sqlDateLiteral,f as sqlIn,A as sqlLiteral,N as sqlName,d as sqlNotIn,O as sqlNumericLiteral,u as sqlOr,$ as sqlStringLiteral,D as sqlTimeLiteral,M as sqlTimestampLiteral,C as sqlTimestampOffsetLiteral};
2
+ import{isUnknownTimeZone as e}from"./sql/UnknownTimeZone.js";import{isDate as t}from"../support/guards.js";import{getLuxonTimeZone as r}from"../time/timeZoneUtils.js";import{FixedOffsetZone as n,DateTime as s}from"luxon";let i;async function a(){return null==i&&(i=import("./sql/WhereClauseCache.js").then(e=>new e.WhereClauseCache(500,500))),i}function l(){i=null}async function c(e,t){const r=await a(),n=r.get(e,t);if(null==n)throw r.getError(e,t);return n}function o(e,t){return e||=null,t||=null,"1=1"===e?t??e:"1=1"===t?e??t:e&&t?`(${e}) AND (${t})`:e??t}function u(e,t,r){return`${e} BETWEEN ${t} AND ${r}`}function f(e,t,r){return`${e} NOT BETWEEN ${t} AND ${r}`}function d(e,t){return e||=null,t||=null,"1=1"===e||"1=1"===t||e===t?"1=1"===e?e:t:e&&t?`(${e}) OR (${t})`:e??t}function p(e,t){return 0===t.length?null:`${e} IN (${m(t)})`}function T(e,t){return 0===t.length?null:`${e} NOT IN (${m(t)})`}function m(e){return e.map(e=>"string"==typeof e?y(e):e).join(",")}function y(e,t){return null==e?"NULL":`${t??""}'${e.replaceAll("'","''")}'`}function g(e){return Number.isFinite(e)?String(e):"NULL"}function w(e){const[t,r]=e.split("T");return`${t} ${r.replace("Z","+00:00").replace(/[+-]/,e=>` ${e}`)}`}function F(e){return e.split("T")[0]}function h(e){const t=e.indexOf("T")+1,r=Math.max(e.indexOf("-",t),e.indexOf("+",t),e.indexOf("Z",t));return e.slice(t,r>0?r:void 0)}function E(e,t){const i=null!=t?r(t):n.utcInstance,a=s.fromMillis(e,{zone:i});return a.isValid?a:null}function v(e,t){return E(e,t)?.toSQL({includeOffset:!1})}function $(e,t){return E(e,t)?.toSQL({includeOffset:!0})?.replace("Z","+00:00")}function b(e,t){return E(e,t)?.toSQLDate()}function I(e,t){return E(e,t)?.toSQLTime({includeOffset:!1})}function L(e){return"string"==typeof e?e:e?.type}function O(e){return null==e?"NULL":e?"TRUE":"FALSE"}function D(e,t){if(null==e)return"NULL";const r=L(t);switch(typeof e){case"string":switch(r){case"string":case"esriFieldTypeString":case void 0:return g(Number(e));default:throw new Error(`Cannot convert ${r} to sql numeric literal.`)}case"boolean":return e?"1":"0";case"number":switch(r){case"small-integer":case"esriFieldTypeSmallInteger":case"integer":case"esriFieldTypeInteger":case"single":case"esriFieldTypeSingle":case"double":case"esriFieldTypeDouble":case"big-integer":case"esriFieldTypeBigInteger":case"long":case"esriFieldTypeLong":case"oid":case"esriFieldTypeOID":case void 0:return g(e);default:throw new Error(`Cannot convert ${r} to sql numeric literal.`)}}throw new Error("Cannot convert value to sql numeric literal.")}function S(e,r,n){if(null==e)return"NULL";const s=L(r);switch(typeof e){case"string":switch(s){case"timestamp-offset":case"esriFieldTypeTimestampOffset":return y(w(e));case"date-only":case"esriFieldTypeDateOnly":case"time-only":case"esriFieldTypeTimeOnly":case"string":case"esriFieldTypeString":case"global-id":case"esriFieldTypeGlobalID":case"guid":case"esriFieldTypeGUID":case"xml":case"esriFieldTypeXML":case void 0:return y(e);default:throw new Error(`Cannot convert ${s} to sql string literal.`)}case"boolean":return e?"'true'":"'false'";case"number":switch(s){case"date":case"esriFieldTypeDate":return y(v(e,n));case"small-integer":case"esriFieldTypeSmallInteger":case"integer":case"esriFieldTypeInteger":case"single":case"esriFieldTypeSingle":case"double":case"esriFieldTypeDouble":case"big-integer":case"esriFieldTypeBigInteger":case"long":case"esriFieldTypeLong":case"oid":case"esriFieldTypeOID":case void 0:return Number.isFinite(e)?`'${e}'`:"NULL";default:throw new Error(`Cannot convert ${s} to sql string literal.`)}case"object":if(t(e))return y(v(e.valueOf(),n))}throw new Error("Cannot convert value to sql string literal.")}function M(e,r,n){if(null==e)return"NULL";const s=L(r);switch(typeof e){case"string":switch(s){case"timestamp-offset":case"esriFieldTypeTimestampOffset":return y(F(e),"DATE");case"date-only":case"esriFieldTypeDateOnly":case"string":case"esriFieldTypeString":case void 0:return y(e,"DATE");default:throw new Error(`Cannot convert ${s} to sql date literal.`)}case"number":switch(s){case"date":case"esriFieldTypeDate":case void 0:return y(b(e,n),"DATE");default:throw new Error(`Cannot convert ${s} to sql date literal.`)}case"object":if(t(e))return y(b(e.valueOf(),n),"DATE")}throw new Error("Cannot convert value to sql date literal.")}function C(e,r,n){if(null==e)return"NULL";const s=L(r);switch(typeof e){case"string":switch(s){case"timestamp-offset":case"esriFieldTypeTimestampOffset":return y(h(e),"TIME");case"time-only":case"esriFieldTypeTimeOnly":case"string":case"esriFieldTypeString":case void 0:return y(e,"TIME");default:throw new Error(`Cannot convert ${s} to sql time literal.`)}case"number":switch(s){case"date":case"esriFieldTypeDate":case void 0:return y(I(e,n),"TIME");default:throw new Error(`Cannot convert ${s} to sql time literal.`)}case"object":if(t(e))return y(I(e.valueOf(),n),"TIME")}throw new Error("Cannot convert value to sql time literal.")}function N(e,r,n){if(null==e)return"NULL";const s=L(r);switch(typeof e){case"string":switch(s){case"timestamp-offset":case"esriFieldTypeTimestampOffset":return y(w(e),"TIMESTAMP");case"date-only":case"esriFieldTypeDateOnly":return y(`${e} 00:00:00`,"TIMESTAMP");case"string":case"esriFieldTypeString":case void 0:return y(e,"TIMESTAMP");default:throw new Error(`Cannot convert ${s} to sql timestamp literal.`)}case"number":switch(s){case"date":case"esriFieldTypeDate":case void 0:return y(v(e,n),"TIMESTAMP");default:throw new Error(`Cannot convert ${s} to sql timestamp literal.`)}case"object":if(t(e))return y(v(e.valueOf(),n),"TIMESTAMP")}throw new Error("Cannot convert value to sql timestamp literal.")}function q(e,r,n){if(null==e)return"NULL";const s=L(r);switch(typeof e){case"string":switch(s){case"timestamp-offset":case"esriFieldTypeTimestampOffset":return y(w(e),"TIMESTAMP");case"string":case"esriFieldTypeString":case void 0:return y(e,"TIMESTAMP");default:throw new Error(`Cannot convert ${s} to sql timestamp offset literal.`)}case"number":switch(s){case"date":case"esriFieldTypeDate":case void 0:return y($(e,n),"TIMESTAMP");default:throw new Error(`Cannot convert ${s} to sql timestamp offset literal.`)}case"object":if(t(e))return y($(e.valueOf(),n),"TIMESTAMP")}throw new Error("Cannot convert value to sql timestamp offset literal.")}function A(t,r){return null==t?r:null==r||e(t)||e(r)?t:r}function U(e,r,n){if(null==e)return"NULL";if(null==r&&null==n){switch(typeof e){case"string":return S(e);case"number":return D(e);case"boolean":return O(e);case"object":if(t(e))return N(e)}throw new Error("Cannot convert value to sql literal.")}const s=A(r?.timeZone,n?.timeZone),i=L(r?.type);switch(L(n?.type)??i){case"small-integer":case"esriFieldTypeSmallInteger":case"integer":case"esriFieldTypeInteger":case"single":case"esriFieldTypeSingle":case"double":case"esriFieldTypeDouble":case"big-integer":case"esriFieldTypeBigInteger":case"long":case"esriFieldTypeLong":case"oid":case"esriFieldTypeOID":return D(e,i);case"global-id":case"esriFieldTypeGlobalID":case"guid":case"esriFieldTypeGUID":case"xml":case"esriFieldTypeXML":case"string":case"esriFieldTypeString":return S(e,i,s);case"date":case"esriFieldTypeDate":return N(e,i,s);case"timestamp-offset":case"esriFieldTypeTimestampOffset":return q(e,i,s);case"date-only":case"esriFieldTypeDateOnly":return M(e,i,s);case"time-only":case"esriFieldTypeTimeOnly":return C(e,i,s);default:throw new Error("Unsupported sql target type: "+i)}}function j(e){return/^[a-zA-Z_][a-zA-Z_0-9]*$/.test(e)?e:`"${e.replaceAll('"','""')}"`}export{l as cleanupWhereClauseCache,c as parseWhereClause,o as sqlAnd,u as sqlBetween,O as sqlBooleanLiteral,M as sqlDateLiteral,p as sqlIn,U as sqlLiteral,j as sqlName,f as sqlNotBetween,T as sqlNotIn,D as sqlNumericLiteral,d as sqlOr,S as sqlStringLiteral,C as sqlTimeLiteral,N as sqlTimestampLiteral,q as sqlTimestampOffsetLiteral};
package/kernel.js CHANGED
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import has from"./core/has.js";import{addQueryParameter as o}from"./core/urlUtils.js";export{buildDate,commitHash as revision}from"./support/revision.js";Symbol.dispose??=Symbol("Symbol.dispose"),Symbol.asyncDispose??=Symbol("Symbol.asyncDispose");const e="5.1";let s,r=e;function i(o){s=o}function t(e){const r=s?.findCredential(e);return r?.token?o(e,"token",r.token):e}r="5.1.0-next.10",has("host-webworker")||globalThis.$arcgis||Object.defineProperty(globalThis,"$arcgis",{configurable:!1,enumerable:!0,writable:!1,value:{}}),has("host-webworker");export{t as addTokenParameter,r as fullVersion,s as id,i as setId,e as version};
2
+ import has from"./core/has.js";import{addQueryParameter as o}from"./core/urlUtils.js";export{buildDate,commitHash as revision}from"./support/revision.js";Symbol.dispose??=Symbol("Symbol.dispose"),Symbol.asyncDispose??=Symbol("Symbol.asyncDispose");const e="5.1";let s,r=e;function i(o){s=o}function t(e){const r=s?.findCredential(e);return r?.token?o(e,"token",r.token):e}r="5.1.0-next.12",has("host-webworker")||globalThis.$arcgis||Object.defineProperty(globalThis,"$arcgis",{configurable:!1,enumerable:!0,writable:!1,value:{}}),has("host-webworker");export{t as addTokenParameter,r as fullVersion,s as id,i as setId,e as version};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- const t={supportsStatistics:!0,supportsPercentileStatistics:!0,supportsSpatialAggregationStatistics:!1,supportedSpatialAggregationStatistics:{envelope:!1,centroid:!1,convexHull:!1},supportsCentroid:!0,supportsCentroidOnDegeneratedQuantizedGeometry:!0,supportsCacheHint:!0,supportsCurrentUser:!1,supportsDegeneratedQuantizedGeometry:!1,supportsDistance:!0,supportsDistinct:!0,supportsExtent:!0,supportsGeometryProperties:!1,supportsHavingClause:!0,supportsOrderBy:!0,supportsPagination:!0,supportsPaginationOnAggregatedQueries:!1,supportsQuantization:!0,supportsQuantizationEditMode:!1,supportsQueryGeometry:!0,supportsResultType:!0,supportsReturnMesh:!1,supportsSqlExpression:!0,supportsMaxRecordCountFactor:!1,supportsStandardizedQueriesOnly:!0,supportsTopFeaturesQuery:!1,supportsQueryByAnonymous:!0,supportsQueryByOthers:!0,supportsHistoricMoment:!1,supportsFormatPBF:!1,supportsDisjointSpatialRelationship:!0,supportsDefaultSpatialReference:!1,supportsFullTextSearch:!1,supportsCompactGeometry:!1,maxRecordCountFactor:void 0,maxRecordCount:void 0,maxUniqueIDCount:void 0,standardMaxRecordCount:void 0,tileMaxRecordCount:void 0,supportsTrueCurve:!1},s={supportsDate:!0,supportsFixedInterval:!0,supportsAutoInterval:!0,supportsFixedBoundaries:!0,supportsStackBy:!0,supportsSplitBy:!0,supportsSnapToData:!1,supportsReturnFullIntervalBin:!1,supportsFirstDayOfWeek:!1,supportsNormalization:!0,supportedStatistics:{count:!0,sum:!0,avg:!0,var:!0,stddev:!0,min:!0,max:!0,percentileContinuous:!0,percentileDiscrete:!0,envelope:!0,centroid:!0,convexHull:!0},supportedNormalizationTypes:{field:!0,log:!0,naturalLog:!0,percentOfTotal:!0,squareRoot:!0}};export{s as queryBinsCapabilities,t as queryCapabilities};
2
+ const t={supportsStatistics:!0,supportsPercentileStatistics:!0,supportsSpatialAggregationStatistics:!1,supportedSpatialAggregationStatistics:{envelope:!1,centroid:!1,convexHull:!1},supportsCentroid:!0,supportsCentroidOnDegeneratedQuantizedGeometry:!0,supportsCacheHint:!0,supportsCurrentUser:!1,supportsDegeneratedQuantizedGeometry:!1,supportsDistance:!0,supportsDistinct:!0,supportsExtent:!0,supportsGeometryProperties:!1,supportsHavingClause:!0,supportsOrderBy:!0,supportsPagination:!0,supportsPaginationOnAggregatedQueries:!1,supportsQuantization:!0,supportsQuantizationEditMode:!1,supportsQueryGeometry:!0,supportsResultType:!0,supportsReturnMesh:!1,supportsSqlExpression:!0,supportsMaxRecordCountFactor:!1,supportsStandardizedQueriesOnly:!0,supportsTopFeaturesQuery:!1,supportsQueryByAnonymous:!0,supportsQueryByOthers:!0,supportsHistoricMoment:!1,supportsFormatPBF:!1,supportsDisjointSpatialRelationship:!0,supportsDefaultSpatialReference:!1,supportsFullTextSearch:!1,supportsCompactGeometry:!1,maxRecordCountFactor:void 0,maxRecordCount:void 0,maxUniqueIDCount:void 0,relativeTimeBinWindow:0,standardMaxRecordCount:void 0,tileMaxRecordCount:void 0,supportsTrueCurve:!1},s={supportsDate:!0,supportsFixedInterval:!0,supportsAutoInterval:!0,supportsFixedBoundaries:!0,supportsStackBy:!0,supportsSplitBy:!0,supportsSnapToData:!1,supportsReturnFullIntervalBin:!1,supportsFirstDayOfWeek:!1,supportsNormalization:!0,supportedStatistics:{count:!0,sum:!0,avg:!0,var:!0,stddev:!0,min:!0,max:!0,percentileContinuous:!0,percentileDiscrete:!0,envelope:!0,centroid:!0,convexHull:!0},supportedNormalizationTypes:{field:!0,log:!0,naturalLog:!0,percentOfTotal:!0,squareRoot:!0}};export{s as queryBinsCapabilities,t as queryCapabilities};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import t from"../../../config.js";import r from"../../../request.js";import{isSome as s,remove as a}from"../../../core/arrayUtils.js";import i from"../../../core/Error.js";import has from"../../../core/has.js";import{JSONMap as n}from"../../../core/jsonMap.js";import{Loadable as o}from"../../../core/Loadable.js";import u from"../../../core/Logger.js";import{setDeepValue as l}from"../../../core/object.js";import{debounce as c,after as d,throwIfAbortError as p}from"../../../core/promiseUtils.js";import{watch as y}from"../../../core/reactiveUtils.js";import{join as h}from"../../../core/urlUtils.js";import{generateBracedUUID as m}from"../../../core/uuid.js";import{property as f,subclass as g}from"../../../core/accessorSupport/decorators.js";import q from"../../../geometry/Extent.js";import w from"../../../geometry/SpatialReference.js";import S from"../../../geometry/support/MeshGeoreferencedVertexSpace.js";import{isRelativeVertexSpace as E}from"../../../geometry/support/meshVertexSpaceUtils.js";import{isOriginalExternal as O}from"../../../geometry/support/meshUtils/External.js";import{createFeatureEditResult as _,getFeatureJSON as b,getFeatureIds as R,getAttachmentEditsJSON as A,isProtectedOrPrivateVersionError as F,unpackEditResultData as I,createEditedFeatures as x}from"../applyEditsUtils.js";import{createDrawingInfo as v}from"./support/clientSideDefaults.js";import j from"./support/QueryTask.js";import{isHostedAgolService as T}from"../../support/arcgisLayerUrl.js";import{ensureLayerCredential as M}from"../../support/featureLayerUtils.js";import{getAssetMapTable as N}from"../../support/infoFor3D.js";import{executeQueryJSON as U}from"../../../rest/query/executeQueryJSON.js";import{unapplyEditsZUnitScaling as C}from"../../../rest/query/operations/editsZScale.js";import J from"../../../rest/support/Query.js";import D from"../../../time/TimeExtent.js";import{isSafeToEditVersion as k,isVersionInEditSession as L,isHistoricVersion as Q,currentSessionId as P}from"../../../versionManagement/support/versionManagementUtils.js";const V=new n({originalAndCurrentFeatures:"original-and-current-features",none:"none"}),$=new n({Started:"published",Publishing:"publishing",Stopped:"unavailable"});let G=class extends o{constructor(e){super(e),this.type="feature-layer",this.supportedSourceTypes=new Set(["Feature Layer","Oriented Imagery Layer","Table","Catalog Layer"]),this.refresh=c(async()=>{await this.load();const e=this.sourceJSON.editingInfo?.lastEditDate;if(null==e)return{dataChanged:!0,updates:{}};try{await this._fetchService(null)}catch{return{dataChanged:!0,updates:{}}}const t=e!==this.sourceJSON.editingInfo?.lastEditDate;return{dataChanged:t,updates:t?{editingInfo:this.sourceJSON.editingInfo,extent:this.sourceJSON.extent}:null}}),this._ongoingAssetUploads=new Map}load(e){const t=this.layer.sourceJSON,r=this._fetchService(t,{...e}).then(()=>this.layer.setUserPrivileges(this.sourceJSON.serviceItemId,e)).then(()=>this._ensureLatestMetadata(e));return this.addResolvingPromise(r),Promise.resolve(this)}initialize(){this.addHandles([y(()=>{const e=this.layer;return e&&"lastEditsEventDate"in e?e.lastEditsEventDate:null},e=>this._handleLastEditsEventChange(e))])}destroy(){this._removeEditInterceptor()}get queryTask(){const{capabilities:e,parsedUrl:t,gdbVersion:r,spatialReference:s,fieldsIndex:a,uniqueIdFields:i}=this.layer,n="infoFor3D"in this.layer?this.layer.infoFor3D:null,o="dynamicDataSource"in this.layer?this.layer.dynamicDataSource:null,u=has("featurelayer-pbf")&&e?.query.supportsFormatPBF&&null==n;return new j({dynamicDataSource:o,fieldsIndex:a,gdbVersion:r,infoFor3D:n,pbfSupported:u,queryAttachmentsSupported:e?.operations?.supportsQueryAttachments??!1,sourceSpatialReference:s,uniqueIdFields:i,url:t.path})}async addAttachment(e,t){await this.load();const{layer:s}=this;await M(s,"editing");const a=e.attributes[s.objectIdField],i=s.parsedUrl.path+"/"+a+"/addAttachment",n=this._getLayerRequestOptions(),o=this._getFormDataForAttachment(t,n.query);try{const e=await r(i,{body:o});return _(e.data.addAttachmentResult)}catch(u){throw this._createAttachmentErrorResult(a,u)}}async updateAttachment(e,t,s){await this.load();const{layer:a}=this;await M(a,"editing");const i=e.attributes[a.objectIdField],n=a.parsedUrl.path+"/"+i+"/updateAttachment",o=this._getLayerRequestOptions({query:{attachmentId:t}}),u=this._getFormDataForAttachment(s,o.query);try{const e=await r(n,{body:u});return _(e.data.updateAttachmentResult)}catch(l){throw this._createAttachmentErrorResult(i,l)}}async applyEdits(e,t){await this.load();const{layer:a}=this;await M(a,"editing");const n="infoFor3D"in a?a.infoFor3D:null,o=null!=n,u=o||(t?.globalIdUsed??!1),l=o?await this._uploadMeshesAndGetAssetMapEditsJSON(e):null,c=e.addFeatures?.map(e=>b(this.layer,e,n))??[],d=(await Promise.all(c)).filter(s),p=e.updateFeatures?.map(e=>b(this.layer,e,n))??[],y=(await Promise.all(p)).filter(s),h=R(this.layer,e.deleteFeatures,u);C(d,y,a.spatialReference);const m=await A(this.layer,e),f=a.capabilities.editing.supportsAsyncApplyEdits&&o,g=t?.gdbVersion||a.gdbVersion,q={gdbVersion:g,rollbackOnFailure:t?.rollbackOnFailureEnabled,useGlobalIds:u,returnEditMoment:t?.returnEditMoment,trueCurveClient:t?.editsRespectTrueCurves,usePreviousEditMoment:t?.usePreviousEditMoment,async:f};await k(this.layer.url,g,!0);const w=L(this.layer.url,g||null);if(await Q(a.url,g,a.historicMoment))throw new i("feature-layer-source:historic-version","Editing a historic version is not allowed");t?.returnServiceEditsOption?(q.edits=JSON.stringify([{id:a.layerId,adds:d.length?d:null,updates:y.length?y:null,deletes:h.length?h:null,attachments:m,assetMaps:l}]),q.returnServiceEditsOption=V.toJSON(t?.returnServiceEditsOption),q.returnServiceEditsInSourceSR=t?.returnServiceEditsInSourceSR):(q.adds=d.length?JSON.stringify(d):null,q.updates=y.length?JSON.stringify(y):null,q.deletes=h.length?u?JSON.stringify(h):h.join(","):null,q.attachments=m&&JSON.stringify(m),q.assetMaps=null!=l?JSON.stringify(l):void 0);const S=this._getLayerRequestOptions({method:"post",query:q});w&&(S.authMode="immediate",S.query.returnEditMoment=!0,S.query.sessionId=P);const E=t?.returnServiceEditsOption?a.url:a.parsedUrl.path;let O;try{O=f?await this._asyncApplyEdits(E+"/applyEdits",S):await r(E+"/applyEdits",S)}catch(_){if(!F(_))throw _;S.authMode="immediate",O=f?await this._asyncApplyEdits(E+"/applyEdits",S):await r(E+"/applyEdits",S)}return this._createEditsResult(O)}async deleteAttachments(e,t){await this.load();const{layer:s}=this;await M(s,"editing");const a=e.attributes[s.objectIdField],i=s.parsedUrl.path+"/"+a+"/deleteAttachments";try{return(await r(i,this._getLayerRequestOptions({query:{attachmentIds:t.join(",")},method:"post"}))).data.deleteAttachmentResults.map(_)}catch(n){throw this._createAttachmentErrorResult(a,n)}}fetchRecomputedExtents(e={}){const t=e.signal;return this.load({signal:t}).then(async()=>{const t=this._getLayerRequestOptions({...e,query:{returnUpdates:!0}}),{layerId:s,url:a}=this.layer,{data:i}=await r(`${a}/${s}`,t),{id:n,extent:o,fullExtent:u,timeExtent:l}=i,c=o||u;return{id:n,fullExtent:c&&q.fromJSON(c),timeExtent:l&&D.fromJSON({start:l[0],end:l[1]})}})}async queryAttachments(e,t={}){await this.load();const r=this._getLayerRequestOptions(t);return this.queryTask.executeAttachmentQuery(e,r)}async queryFeatures(e,t){await this.load();const r=await this.queryTask.execute(e,{...t,query:this._createRequestQueryOptions(t)});if(e.outStatistics?.length&&r.features.length){const t=new Map;if(r.features.forEach(r=>{const s=r.attributes;e.outStatistics?.forEach(({outStatisticFieldName:e})=>{if(e){const r=e.toLowerCase();r&&r in s&&e!==r&&(s[e]=s[r],delete s[r],t.set(r,e))}})}),null!=r.fields)for(const e of r.fields){const r=t.get(e.name.toLowerCase());null!=r&&(e.name=r)}}return r}async queryFeaturesJSON(e,t){return await this.load(),this.queryTask.executeJSON(e,{...t,query:this._createRequestQueryOptions(t)})}async queryObjectIds(e,t){return await this.load(),this.queryTask.executeForIds(e,{...t,query:this._createRequestQueryOptions(t)})}async queryFeatureCount(e,t){return await this.load(),this.queryTask.executeForCount(e,{...t,query:this._createRequestQueryOptions(t)})}async queryExtent(e,t){return await this.load(),this.queryTask.executeForExtent(e,{...t,query:this._createRequestQueryOptions(t)})}async queryRelatedFeatures(e,t){return await this.load(),this.queryTask.executeRelationshipQuery(e,{...t,query:this._createRequestQueryOptions(t)})}async queryRelatedFeaturesCount(e,t){return await this.load(),this.queryTask.executeRelationshipQueryForCount(e,{...t,query:this._createRequestQueryOptions(t)})}async queryPivot(e,t){return await this.load(),this.queryTask.executePivotQuery(e,{...t,query:this._createRequestQueryOptions(t)})}async queryTopFeatures(e,t){return await this.load(),this.queryTask.executeTopFeaturesQuery(e,{...t,query:this._createRequestQueryOptions(t)})}async queryAttributeBins(e,t){return await this.load(),this.queryTask.executeAttributeBinsQuery(e,{...t,query:this._createRequestQueryOptions(t)})}async queryTopObjectIds(e,t){return await this.load(),this.queryTask.executeForTopIds(e,{...t,query:this._createRequestQueryOptions(t)})}async queryTopExtents(e,t){return await this.load(),this.queryTask.executeForTopExtents(e,{...t,query:this._createRequestQueryOptions(t)})}async queryTopCount(e,t){return await this.load(),this.queryTask.executeForTopCount(e,{...t,query:this._createRequestQueryOptions(t)})}async fetchPublishingStatus(){if(!T(this.layer.url))return"unavailable";const e=h(this.layer.url,"status"),t=await r(e,{query:{f:"json"}});return $.fromJSON(t.data.status)}async uploadAssets(e,t){const{uploadAssets:r}=await import("./support/uploadAssets.js");return r(e,{layer:this.layer,ongoingUploads:this._ongoingAssetUploads},t)}_handleLastEditsEventChange(e){const t=this.layer;if(null==e||!("capabilities"in t)||!("effectiveCapabilities"in t))return;if(!(!t.capabilities?.operations?.supportsEditing&&t.effectiveCapabilities?.operations?.supportsEditing))return;const r=t.url;if(null==r)return;"layerId"in t&&h(r,t.layerId.toString());this._getOrCreateEditInterceptor(r).before=t=>{const r=t.requestOptions.method??"auto";if("auto"===r||"head"===r){const r=t.requestOptions.query??{};r._ts=e.getTime(),t.requestOptions.query=r}}}_getOrCreateEditInterceptor(e){return null==this._editInterceptor&&(this._editInterceptor={urls:e},t.request.internalInterceptors.push(this._editInterceptor)),this._editInterceptor}_removeEditInterceptor(){null!=this._editInterceptor&&(a(t.request.internalInterceptors,this._editInterceptor),this._editInterceptor=null)}async _asyncApplyEdits(e,t){const s=(await r(e,t)).data.statusUrl;for(;;){const e=(await r(s,{query:{f:"json"},responseType:"json"})).data;switch(e.status){case"Completed":return r(e.resultUrl,{query:{f:"json"},responseType:"json"});case"CompletedWithErrors":throw new i("async-applyEdits-failed","asynchronous applyEdits call failed.");case"Failed ImportChanges":case"InProgress":case"Pending":case"ExportAttachments":case"ExportChanges":case"ExportingData":case"ExportingSnapshot":case"ImportAttachments":case"ProvisioningReplica":case"UnRegisteringReplica":break;default:throw new i("async-applyEdits-failed","asynchronous applyEdits call failed (undefined response status)")}await d(H)}}_createRequestQueryOptions(e){const t={...this.layer.customParameters,token:this.layer.apiKey,...e?.query};return this.layer.datesInUnknownTimezone&&(t.timeReferenceUnknownClient=!0),t}async _fetchService(e,t){if(!e){const s={};has("featurelayer-advanced-symbols")&&(s.returnAdvancedSymbols=!0),t?.cacheBust&&(s._ts=Date.now());const{data:a}=await r(this.layer.parsedUrl.path,this._getLayerRequestOptions({query:s,signal:t?.signal}));e=a}this.layer.applyPreferredHost(e),this.sourceJSON=await this._patchServiceJSON(e,t?.signal);const s=e.type;if(!this.supportedSourceTypes.has(s))throw new i("feature-layer-source:unsupported-type",`Source type "${s}" is not supported`)}async _patchServiceJSON(e,t){if("Table"!==e.type&&e.geometryType&&!e?.drawingInfo?.renderer&&!e.defaultSymbol){const t=v(e.geometryType).renderer;l("drawingInfo.renderer",t,e)}if("esriGeometryMultiPatch"===e.geometryType&&e.infoFor3D&&(e.geometryType="mesh"),null==e.extent)try{const{data:s}=await r(this.layer.url,this._getLayerRequestOptions({signal:t}));s.spatialReference&&(e.extent={xmin:0,ymin:0,xmax:0,ymax:0,spatialReference:s.spatialReference})}catch(s){p(s)}return e}async _ensureLatestMetadata(e){if(this.layer.userHasUpdateItemPrivileges&&this.sourceJSON.cacheMaxAge>0)return this._fetchService(null,{...e,cacheBust:!0})}async _uploadMeshesAndGetAssetMapEditsJSON(e){const{addAssetFeatures:t}=e;if(!t?.length)return null;if(await this._areAllAssetsAlreadyMapped(t))return null;const r=e.addFeatures.filter(e=>e.geometry);if(t.length!==r.length+e.updateFeatures.length)throw new i("feature-layer-source:unsupported-mesh-edits","Mixing attribute only edits with mesh geometry edits is not currently supported");const s=new Array,a=new Map;for(const i of t){const{geometry:e}=i,{vertexSpace:t}=e;if(E(t))s.push(e);else{const t=e.origin,{convertMeshVertexSpace:r}=await import("../../../geometry/support/meshUtils/convertMeshVertexSpace.js"),n=await r(e,new S({origin:[t.x,t.y,t.z??0]}));a.set(n,e),i.geometry=n,s.push(n)}}await this.uploadAssets(s);for(const[i,n]of a)n.addExternalSources(i.metadata.externalSources.items);return{adds:this._getAssetMapEditsJSON(t),updates:[],deletes:[]}}_getAssetMapEditsJSON(e){const t=new Array,r=this.layer.globalIdField,s=this.layer.parsedUrl;for(const a of e){const e=a.geometry,{metadata:i}=e,n=i.getExternalSourcesOnService(s),o=a.getAttribute(r);if(0===n.length){u.getLogger(this).error(`Skipping feature ${o}. The mesh it is associated with has not been uploaded to the service and cannot be mapped to it.`);continue}const{source:l}=n.find(O)??n[0];for(const r of l.assets)1===r.parts.length?t.push({globalId:m(),parentGlobalId:o,assetName:r.assetName,assetHash:r.parts[0].partHash,flags:[]}):u.getLogger(this).error(`Skipping asset ${r.assetName}. It does not have exactly one part, so we cannot map it to a feature.`)}return t}_createEditsResult(e){const t=e.data,{layerId:r}=this.layer,s=[];let a=null;if(Array.isArray(t))for(const n of t)s.push({id:n.id,editedFeatures:n.editedFeatures}),n.id===r&&(a={addResults:n.addResults??[],updateResults:n.updateResults??[],deleteResults:n.deleteResults??[],attachments:n.attachments,editMoment:n.editMoment});else a=t;const i=I(a);if(s.length>0){i.editedFeatureResults=[];for(const e of s){const{editedFeatures:t}=e,r=t?.spatialReference?new w(t.spatialReference):null;i.editedFeatureResults.push({layerId:e.id,editedFeatures:x(t,r)})}}return i}_createAttachmentErrorResult(e,t){const r=t.details.messages?.[0]||t.message,s=t.details.httpStatus||t.details.messageCode;return{objectId:e,globalId:null,error:new i("feature-layer-source:attachment-failure",r,{code:s})}}_getFormDataForAttachment(e,t){const r=e instanceof FormData?e:e&&e.elements?new FormData(e):null;if(r)for(const s in t){const e=t[s];null!=e&&(r.set?r.set(s,e):r.append(s,e))}return r}_getLayerRequestOptions(e={}){const{layer:t,layer:{parsedUrl:r,gdbVersion:s}}=this;return{...e,query:{gdbVersion:s,layer:"dynamicDataSource"in t&&t.dynamicDataSource?JSON.stringify({source:t.dynamicDataSource}):void 0,...r.query,f:"json",...this._createRequestQueryOptions(e)},responseType:"json"}}async _areAllAssetsAlreadyMapped(e){const{layer:t}=this,{globalIdField:r,parsedUrl:a}=t,i="infoFor3D"in t?t.infoFor3D:null;if(null==i||null==r)return!1;const n=N(i);if(null==n)return!1;const o=h(a.path,`../${n.id}`),u=new Array;for(const s of e){if(!(s.geometry.metadata.getExternalSourcesOnService(a).length>0))return!1;u.push(s)}const l=u.map(e=>e.getAttribute(r)).filter(s);if(0===l.length)return!1;const{assetMapFieldRoles:{parentGlobalId:c,assetHash:d}}=i,p=new J({where:`${c} IN (${l.map(e=>`'${e}'`)})`,outFields:[d,c],returnGeometry:!1}),y=await U(o,p),{features:m}=y;return 0!==m.length&&!u.some(e=>{const t=e.getAttribute(r);if(!t)return!0;const{metadata:s}=e.geometry,i=m.filter(e=>e.getAttribute(c)===t);if(0===i.length)return!0;const n=i.map(e=>e.getAttribute(d));return s.getExternalSourcesOnService(a).flatMap(({source:e})=>e.assets.flatMap(e=>e.parts.map(e=>e.partHash))).some(e=>n.every(t=>e!==t))})}};e([f()],G.prototype,"type",void 0),e([f({constructOnly:!0})],G.prototype,"layer",void 0),e([f({constructOnly:!0})],G.prototype,"supportedSourceTypes",void 0),e([f({readOnly:!0})],G.prototype,"queryTask",null),G=e([g("esri.layers.graphics.sources.FeatureLayerSource")],G);const H=1e3;export{G as default};
2
+ import{__decorate as e}from"tslib";import t from"../../../config.js";import r from"../../../request.js";import{isSome as s,remove as a}from"../../../core/arrayUtils.js";import i from"../../../core/Error.js";import has from"../../../core/has.js";import{JSONMap as n}from"../../../core/jsonMap.js";import{Loadable as o}from"../../../core/Loadable.js";import u from"../../../core/Logger.js";import{setDeepValue as l}from"../../../core/object.js";import{debounce as c,after as d,throwIfAbortError as p}from"../../../core/promiseUtils.js";import{watch as y}from"../../../core/reactiveUtils.js";import{join as h}from"../../../core/urlUtils.js";import{generateBracedUUID as m}from"../../../core/uuid.js";import{property as f,subclass as g}from"../../../core/accessorSupport/decorators.js";import q from"../../../geometry/Extent.js";import w from"../../../geometry/SpatialReference.js";import S from"../../../geometry/support/MeshGeoreferencedVertexSpace.js";import{isRelativeVertexSpace as E}from"../../../geometry/support/meshVertexSpaceUtils.js";import{isOriginalExternal as O}from"../../../geometry/support/meshUtils/External.js";import{createFeatureEditResult as _,getFeatureJSON as b,getFeatureIds as R,getAttachmentEditsJSON as A,isProtectedOrPrivateVersionError as F,unpackEditResultData as I,createEditedFeatures as x}from"../applyEditsUtils.js";import{createDrawingInfo as v}from"./support/clientSideDefaults.js";import j from"./support/QueryTask.js";import{isHostedAgolService as T}from"../../support/arcgisLayerUrl.js";import{ensureLayerCredential as M}from"../../support/featureLayerUtils.js";import{getAssetMapTable as N}from"../../support/infoFor3D.js";import{executeQueryJSON as U}from"../../../rest/query/executeQueryJSON.js";import{unapplyEditsZUnitScaling as C}from"../../../rest/query/operations/editsZScale.js";import J from"../../../rest/support/Query.js";import D from"../../../time/TimeExtent.js";import{isSafeToEditVersion as k,isVersionInEditSession as L,isHistoricVersion as Q,currentSessionId as P}from"../../../versionManagement/support/versionManagementUtils.js";const V=new n({originalAndCurrentFeatures:"original-and-current-features",none:"none"}),$=new n({Started:"published",Publishing:"publishing",Stopped:"unavailable"});let G=class extends o{constructor(e){super(e),this.type="feature-layer",this.supportedSourceTypes=new Set(["Feature Layer","Oriented Imagery Layer","Table","Catalog Layer"]),this.refresh=c(async()=>{await this.load();const e=this.sourceJSON.editingInfo?.lastEditDate;if(null==e)return{dataChanged:!0,updates:{}};try{await this._fetchService(null)}catch{return{dataChanged:!0,updates:{}}}const t=e!==this.sourceJSON.editingInfo?.lastEditDate;return{dataChanged:t,updates:t?{editingInfo:this.sourceJSON.editingInfo,extent:this.sourceJSON.extent}:null}}),this._ongoingAssetUploads=new Map}load(e){const t=this.layer.sourceJSON,r=this._fetchService(t,{...e}).then(()=>this.layer.setUserPrivileges(this.sourceJSON.serviceItemId,e)).then(()=>this._ensureLatestMetadata(e));return this.addResolvingPromise(r),Promise.resolve(this)}initialize(){this.addHandles([y(()=>{const e=this.layer;return e&&"lastEditsEventDate"in e?e.lastEditsEventDate:null},e=>this._handleLastEditsEventChange(e))])}destroy(){this._removeEditInterceptor()}get queryTask(){const{capabilities:e,parsedUrl:t,gdbVersion:r,spatialReference:s,fieldsIndex:a,uniqueIdFields:i}=this.layer,n="infoFor3D"in this.layer?this.layer.infoFor3D:null,o="dynamicDataSource"in this.layer?this.layer.dynamicDataSource:null,u=has("featurelayer-pbf")&&e?.query.supportsFormatPBF&&null==n;return new j({dynamicDataSource:o,fieldsIndex:a,gdbVersion:r,infoFor3D:n,pbfSupported:u,queryAttachmentsSupported:e?.operations?.supportsQueryAttachments??!1,relativeTimeBinWindow:e?.query?.relativeTimeBinWindow??0,sourceSpatialReference:s,uniqueIdFields:i,url:t.path})}async addAttachment(e,t){await this.load();const{layer:s}=this;await M(s,"editing");const a=e.attributes[s.objectIdField],i=s.parsedUrl.path+"/"+a+"/addAttachment",n=this._getLayerRequestOptions(),o=this._getFormDataForAttachment(t,n.query);try{const e=await r(i,{body:o});return _(e.data.addAttachmentResult)}catch(u){throw this._createAttachmentErrorResult(a,u)}}async updateAttachment(e,t,s){await this.load();const{layer:a}=this;await M(a,"editing");const i=e.attributes[a.objectIdField],n=a.parsedUrl.path+"/"+i+"/updateAttachment",o=this._getLayerRequestOptions({query:{attachmentId:t}}),u=this._getFormDataForAttachment(s,o.query);try{const e=await r(n,{body:u});return _(e.data.updateAttachmentResult)}catch(l){throw this._createAttachmentErrorResult(i,l)}}async applyEdits(e,t){await this.load();const{layer:a}=this;await M(a,"editing");const n="infoFor3D"in a?a.infoFor3D:null,o=null!=n,u=o||(t?.globalIdUsed??!1),l=o?await this._uploadMeshesAndGetAssetMapEditsJSON(e):null,c=e.addFeatures?.map(e=>b(this.layer,e,n))??[],d=(await Promise.all(c)).filter(s),p=e.updateFeatures?.map(e=>b(this.layer,e,n))??[],y=(await Promise.all(p)).filter(s),h=R(this.layer,e.deleteFeatures,u);C(d,y,a.spatialReference);const m=await A(this.layer,e),f=a.capabilities.editing.supportsAsyncApplyEdits&&o,g=t?.gdbVersion||a.gdbVersion,q={gdbVersion:g,rollbackOnFailure:t?.rollbackOnFailureEnabled,useGlobalIds:u,returnEditMoment:t?.returnEditMoment,trueCurveClient:t?.editsRespectTrueCurves,usePreviousEditMoment:t?.usePreviousEditMoment,async:f};await k(this.layer.url,g,!0);const w=L(this.layer.url,g||null);if(await Q(a.url,g,a.historicMoment))throw new i("feature-layer-source:historic-version","Editing a historic version is not allowed");t?.returnServiceEditsOption?(q.edits=JSON.stringify([{id:a.layerId,adds:d.length?d:null,updates:y.length?y:null,deletes:h.length?h:null,attachments:m,assetMaps:l}]),q.returnServiceEditsOption=V.toJSON(t?.returnServiceEditsOption),q.returnServiceEditsInSourceSR=t?.returnServiceEditsInSourceSR):(q.adds=d.length?JSON.stringify(d):null,q.updates=y.length?JSON.stringify(y):null,q.deletes=h.length?u?JSON.stringify(h):h.join(","):null,q.attachments=m&&JSON.stringify(m),q.assetMaps=null!=l?JSON.stringify(l):void 0);const S=this._getLayerRequestOptions({method:"post",query:q});w&&(S.authMode="immediate",S.query.returnEditMoment=!0,S.query.sessionId=P);const E=t?.returnServiceEditsOption?a.url:a.parsedUrl.path;let O;try{O=f?await this._asyncApplyEdits(E+"/applyEdits",S):await r(E+"/applyEdits",S)}catch(_){if(!F(_))throw _;S.authMode="immediate",O=f?await this._asyncApplyEdits(E+"/applyEdits",S):await r(E+"/applyEdits",S)}return this._createEditsResult(O)}async deleteAttachments(e,t){await this.load();const{layer:s}=this;await M(s,"editing");const a=e.attributes[s.objectIdField],i=s.parsedUrl.path+"/"+a+"/deleteAttachments";try{return(await r(i,this._getLayerRequestOptions({query:{attachmentIds:t.join(",")},method:"post"}))).data.deleteAttachmentResults.map(_)}catch(n){throw this._createAttachmentErrorResult(a,n)}}fetchRecomputedExtents(e={}){const t=e.signal;return this.load({signal:t}).then(async()=>{const t=this._getLayerRequestOptions({...e,query:{returnUpdates:!0}}),{layerId:s,url:a}=this.layer,{data:i}=await r(`${a}/${s}`,t),{id:n,extent:o,fullExtent:u,timeExtent:l}=i,c=o||u;return{id:n,fullExtent:c&&q.fromJSON(c),timeExtent:l&&D.fromJSON({start:l[0],end:l[1]})}})}async queryAttachments(e,t={}){await this.load();const r=this._getLayerRequestOptions(t);return this.queryTask.executeAttachmentQuery(e,r)}async queryFeatures(e,t){await this.load();const r=await this.queryTask.execute(e,{...t,query:this._createRequestQueryOptions(t)});if(e.outStatistics?.length&&r.features.length){const t=new Map;if(r.features.forEach(r=>{const s=r.attributes;e.outStatistics?.forEach(({outStatisticFieldName:e})=>{if(e){const r=e.toLowerCase();r&&r in s&&e!==r&&(s[e]=s[r],delete s[r],t.set(r,e))}})}),null!=r.fields)for(const e of r.fields){const r=t.get(e.name.toLowerCase());null!=r&&(e.name=r)}}return r}async queryFeaturesJSON(e,t){return await this.load(),this.queryTask.executeJSON(e,{...t,query:this._createRequestQueryOptions(t)})}async queryObjectIds(e,t){return await this.load(),this.queryTask.executeForIds(e,{...t,query:this._createRequestQueryOptions(t)})}async queryFeatureCount(e,t){return await this.load(),this.queryTask.executeForCount(e,{...t,query:this._createRequestQueryOptions(t)})}async queryExtent(e,t){return await this.load(),this.queryTask.executeForExtent(e,{...t,query:this._createRequestQueryOptions(t)})}async queryRelatedFeatures(e,t){return await this.load(),this.queryTask.executeRelationshipQuery(e,{...t,query:this._createRequestQueryOptions(t)})}async queryRelatedFeaturesCount(e,t){return await this.load(),this.queryTask.executeRelationshipQueryForCount(e,{...t,query:this._createRequestQueryOptions(t)})}async queryPivot(e,t){return await this.load(),this.queryTask.executePivotQuery(e,{...t,query:this._createRequestQueryOptions(t)})}async queryTopFeatures(e,t){return await this.load(),this.queryTask.executeTopFeaturesQuery(e,{...t,query:this._createRequestQueryOptions(t)})}async queryAttributeBins(e,t){return await this.load(),this.queryTask.executeAttributeBinsQuery(e,{...t,query:this._createRequestQueryOptions(t)})}async queryTopObjectIds(e,t){return await this.load(),this.queryTask.executeForTopIds(e,{...t,query:this._createRequestQueryOptions(t)})}async queryTopExtents(e,t){return await this.load(),this.queryTask.executeForTopExtents(e,{...t,query:this._createRequestQueryOptions(t)})}async queryTopCount(e,t){return await this.load(),this.queryTask.executeForTopCount(e,{...t,query:this._createRequestQueryOptions(t)})}async fetchPublishingStatus(){if(!T(this.layer.url))return"unavailable";const e=h(this.layer.url,"status"),t=await r(e,{query:{f:"json"}});return $.fromJSON(t.data.status)}async uploadAssets(e,t){const{uploadAssets:r}=await import("./support/uploadAssets.js");return r(e,{layer:this.layer,ongoingUploads:this._ongoingAssetUploads},t)}_handleLastEditsEventChange(e){const t=this.layer;if(null==e||!("capabilities"in t)||!("effectiveCapabilities"in t))return;if(!(!t.capabilities?.operations?.supportsEditing&&t.effectiveCapabilities?.operations?.supportsEditing))return;const r=t.url;if(null==r)return;"layerId"in t&&h(r,t.layerId.toString());this._getOrCreateEditInterceptor(r).before=t=>{const r=t.requestOptions.method??"auto";if("auto"===r||"head"===r){const r=t.requestOptions.query??{};r._ts=e.getTime(),t.requestOptions.query=r}}}_getOrCreateEditInterceptor(e){return null==this._editInterceptor&&(this._editInterceptor={urls:e},t.request.internalInterceptors.push(this._editInterceptor)),this._editInterceptor}_removeEditInterceptor(){null!=this._editInterceptor&&(a(t.request.internalInterceptors,this._editInterceptor),this._editInterceptor=null)}async _asyncApplyEdits(e,t){const s=(await r(e,t)).data.statusUrl;for(;;){const e=(await r(s,{query:{f:"json"},responseType:"json"})).data;switch(e.status){case"Completed":return r(e.resultUrl,{query:{f:"json"},responseType:"json"});case"CompletedWithErrors":throw new i("async-applyEdits-failed","asynchronous applyEdits call failed.");case"Failed ImportChanges":case"InProgress":case"Pending":case"ExportAttachments":case"ExportChanges":case"ExportingData":case"ExportingSnapshot":case"ImportAttachments":case"ProvisioningReplica":case"UnRegisteringReplica":break;default:throw new i("async-applyEdits-failed","asynchronous applyEdits call failed (undefined response status)")}await d(B)}}_createRequestQueryOptions(e){const t={...this.layer.customParameters,token:this.layer.apiKey,...e?.query};return this.layer.datesInUnknownTimezone&&(t.timeReferenceUnknownClient=!0),t}async _fetchService(e,t){if(!e){const s={};has("featurelayer-advanced-symbols")&&(s.returnAdvancedSymbols=!0),t?.cacheBust&&(s._ts=Date.now());const{data:a}=await r(this.layer.parsedUrl.path,this._getLayerRequestOptions({query:s,signal:t?.signal}));e=a}this.layer.applyPreferredHost(e),this.sourceJSON=await this._patchServiceJSON(e,t?.signal);const s=e.type;if(!this.supportedSourceTypes.has(s))throw new i("feature-layer-source:unsupported-type",`Source type "${s}" is not supported`)}async _patchServiceJSON(e,t){if("Table"!==e.type&&e.geometryType&&!e?.drawingInfo?.renderer&&!e.defaultSymbol){const t=v(e.geometryType).renderer;l("drawingInfo.renderer",t,e)}if("esriGeometryMultiPatch"===e.geometryType&&e.infoFor3D&&(e.geometryType="mesh"),null==e.extent)try{const{data:s}=await r(this.layer.url,this._getLayerRequestOptions({signal:t}));s.spatialReference&&(e.extent={xmin:0,ymin:0,xmax:0,ymax:0,spatialReference:s.spatialReference})}catch(s){p(s)}return e}async _ensureLatestMetadata(e){if(this.layer.userHasUpdateItemPrivileges&&this.sourceJSON.cacheMaxAge>0)return this._fetchService(null,{...e,cacheBust:!0})}async _uploadMeshesAndGetAssetMapEditsJSON(e){const{addAssetFeatures:t}=e;if(!t?.length)return null;if(await this._areAllAssetsAlreadyMapped(t))return null;const r=e.addFeatures.filter(e=>e.geometry);if(t.length!==r.length+e.updateFeatures.length)throw new i("feature-layer-source:unsupported-mesh-edits","Mixing attribute only edits with mesh geometry edits is not currently supported");const s=new Array,a=new Map;for(const i of t){const{geometry:e}=i,{vertexSpace:t}=e;if(E(t))s.push(e);else{const t=e.origin,{convertMeshVertexSpace:r}=await import("../../../geometry/support/meshUtils/convertMeshVertexSpace.js"),n=await r(e,new S({origin:[t.x,t.y,t.z??0]}));a.set(n,e),i.geometry=n,s.push(n)}}await this.uploadAssets(s);for(const[i,n]of a)n.addExternalSources(i.metadata.externalSources.items);return{adds:this._getAssetMapEditsJSON(t),updates:[],deletes:[]}}_getAssetMapEditsJSON(e){const t=new Array,r=this.layer.globalIdField,s=this.layer.parsedUrl;for(const a of e){const e=a.geometry,{metadata:i}=e,n=i.getExternalSourcesOnService(s),o=a.getAttribute(r);if(0===n.length){u.getLogger(this).error(`Skipping feature ${o}. The mesh it is associated with has not been uploaded to the service and cannot be mapped to it.`);continue}const{source:l}=n.find(O)??n[0];for(const r of l.assets)1===r.parts.length?t.push({globalId:m(),parentGlobalId:o,assetName:r.assetName,assetHash:r.parts[0].partHash,flags:[]}):u.getLogger(this).error(`Skipping asset ${r.assetName}. It does not have exactly one part, so we cannot map it to a feature.`)}return t}_createEditsResult(e){const t=e.data,{layerId:r}=this.layer,s=[];let a=null;if(Array.isArray(t))for(const n of t)s.push({id:n.id,editedFeatures:n.editedFeatures}),n.id===r&&(a={addResults:n.addResults??[],updateResults:n.updateResults??[],deleteResults:n.deleteResults??[],attachments:n.attachments,editMoment:n.editMoment});else a=t;const i=I(a);if(s.length>0){i.editedFeatureResults=[];for(const e of s){const{editedFeatures:t}=e,r=t?.spatialReference?new w(t.spatialReference):null;i.editedFeatureResults.push({layerId:e.id,editedFeatures:x(t,r)})}}return i}_createAttachmentErrorResult(e,t){const r=t.details.messages?.[0]||t.message,s=t.details.httpStatus||t.details.messageCode;return{objectId:e,globalId:null,error:new i("feature-layer-source:attachment-failure",r,{code:s})}}_getFormDataForAttachment(e,t){const r=e instanceof FormData?e:e&&e.elements?new FormData(e):null;if(r)for(const s in t){const e=t[s];null!=e&&(r.set?r.set(s,e):r.append(s,e))}return r}_getLayerRequestOptions(e={}){const{layer:t,layer:{parsedUrl:r,gdbVersion:s}}=this;return{...e,query:{gdbVersion:s,layer:"dynamicDataSource"in t&&t.dynamicDataSource?JSON.stringify({source:t.dynamicDataSource}):void 0,...r.query,f:"json",...this._createRequestQueryOptions(e)},responseType:"json"}}async _areAllAssetsAlreadyMapped(e){const{layer:t}=this,{globalIdField:r,parsedUrl:a}=t,i="infoFor3D"in t?t.infoFor3D:null;if(null==i||null==r)return!1;const n=N(i);if(null==n)return!1;const o=h(a.path,`../${n.id}`),u=new Array;for(const s of e){if(!(s.geometry.metadata.getExternalSourcesOnService(a).length>0))return!1;u.push(s)}const l=u.map(e=>e.getAttribute(r)).filter(s);if(0===l.length)return!1;const{assetMapFieldRoles:{parentGlobalId:c,assetHash:d}}=i,p=new J({where:`${c} IN (${l.map(e=>`'${e}'`)})`,outFields:[d,c],returnGeometry:!1}),y=await U(o,p),{features:m}=y;return 0!==m.length&&!u.some(e=>{const t=e.getAttribute(r);if(!t)return!0;const{metadata:s}=e.geometry,i=m.filter(e=>e.getAttribute(c)===t);if(0===i.length)return!0;const n=i.map(e=>e.getAttribute(d));return s.getExternalSourcesOnService(a).flatMap(({source:e})=>e.assets.flatMap(e=>e.parts.map(e=>e.partHash))).some(e=>n.every(t=>e!==t))})}};e([f()],G.prototype,"type",void 0),e([f({constructOnly:!0})],G.prototype,"layer",void 0),e([f({constructOnly:!0})],G.prototype,"supportedSourceTypes",void 0),e([f({readOnly:!0})],G.prototype,"queryTask",null),G=e([g("esri.layers.graphics.sources.FeatureLayerSource")],G);const B=1e3;export{G as default};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import t from"../../../core/Error.js";import{Loadable as s}from"../../../core/Loadable.js";import{escapeRegExpString as r}from"../../../core/string.js";import{property as o,subclass as p}from"../../../core/accessorSupport/decorators.js";import i from"../../../geometry/SpatialReference.js";import{typeKebabDictionary as u}from"../../../geometry/support/typeUtils.js";import{queryFeatureSetJSON as a,crsDefault as n,getSpatialReferenceWkid as c,getServerLandingPage as l,getServerConformance as d,getServerCollectionsPage as m,getServerOpenApi as y,getCollectionDefinition as f,crsPrefix as g}from"../../ogc/ogcFeatureUtils.js";import{zeroQueryBins as h}from"../../support/capabilities.js";import S from"../../../rest/support/FeatureSet.js";let C=class extends s{constructor(){super(...arguments),this.featureDefinition=null,this.type="ogc-feature"}load(e){return this.addResolvingPromise(this._loadOGCServices(this.layer,e)),this.when()}getSource(){const{featureDefinition:{collection:e,layerDefinition:t,spatialReference:s,supportedCrs:r},layer:{apiKey:o,customParameters:p,effectiveMaxRecordCount:i}}=this;return{type:"ogc-source",collection:e,layerDefinition:t,maxRecordCount:i,queryParameters:{apiKey:o,customParameters:p},spatialReference:s,supportedCrs:r}}queryExtent(e,t={}){return null}queryFeatureCount(e,t={}){return null}queryFeatures(e,t={}){return this.queryFeaturesJSON(e,t).then(e=>S.fromJSON(e))}queryFeaturesJSON(e,t={}){const s=this.getSource();return this.load(t).then(()=>a(s,e,t))}queryObjectIds(e,t={}){return null}serviceSupportsSpatialReference(e){const{isWebMercator:t,isWGS84:s,latestWkid:r,wkid:o}=e,{supportedCrs:p}=this.featureDefinition;return s||t||!!o&&!!p[o]||!!r&&!!p[r]}_conformsToType(e,t){const s=new RegExp(`^${r(t)}$`,"i");return e.conformsTo.some(e=>s.test(e))??!1}_getCapabilities(e,t){return{analytics:{supportsCacheHint:!1},attachment:null,data:{isVersioned:!1,isBranchVersioned:!1,supportedCurveTypes:[],supportsAttachment:!1,supportsM:!1,supportsTrueCurve:!1,supportsZ:e},metadata:{supportsAdvancedFieldProperties:!1},operations:{supportsCalculate:!1,supportsTruncate:!1,supportsValidateSql:!1,supportsAdd:!1,supportsDelete:!1,supportsEditing:!1,supportsChangeTracking:!1,supportsQuery:!1,supportsQueryBins:!1,supportsQueryPivot:!1,supportsQueryAnalytics:!1,supportsQueryAttachments:!1,supportsQueryTopFeatures:!1,supportsResizeAttachments:!1,supportsSync:!1,supportsUpdate:!1,supportsExceedsLimitStatistics:!1,supportsAsyncConvert3D:!1},query:{maxRecordCount:t,maxRecordCountFactor:void 0,maxUniqueIDCount:void 0,standardMaxRecordCount:void 0,supportsCacheHint:!1,supportsCentroid:!1,supportsCentroidOnDegeneratedQuantizedGeometry:!1,supportsCurrentUser:!1,supportsDegeneratedQuantizedGeometry:!1,supportsDisjointSpatialRelationship:!1,supportsDistance:!1,supportsDistinct:!1,supportsExtent:!1,supportsFormatPBF:!1,supportsGeometryProperties:!1,supportsHavingClause:!1,supportsHistoricMoment:!1,supportsMaxRecordCountFactor:!1,supportsOrderBy:!1,supportsPagination:!1,supportsPaginationOnAggregatedQueries:!1,supportsPercentileStatistics:!1,supportsQuantization:!1,supportsQuantizationEditMode:!1,supportsQueryByAnonymous:!1,supportsQueryByOthers:!1,supportsQueryGeometry:!1,supportsResultType:!1,supportsReturnMesh:!1,supportsStandardizedQueriesOnly:!1,supportsTopFeaturesQuery:!1,supportsStatistics:!1,supportsSpatialAggregationStatistics:!1,supportedSpatialAggregationStatistics:{envelope:!1,centroid:!1,convexHull:!1},supportsDefaultSpatialReference:!1,supportsFullTextSearch:!1,supportsCompactGeometry:!1,supportsSqlExpression:!1,supportsTrueCurve:!1,tileMaxRecordCount:void 0},queryRelated:{supportsCount:!1,supportsOrderBy:!1,supportsPagination:!1,supportsCacheHint:!1},queryTopFeatures:{supportsCacheHint:!1},queryAttributeBins:h,editing:{supportsDeleteByAnonymous:!1,supportsDeleteByOthers:!1,supportsGeometryUpdate:!1,supportsGlobalId:!1,supportsReturnServiceEditsInSourceSpatialReference:!1,supportsRollbackOnFailure:!1,supportsTrueCurveUpdate:!1,supportsTrueCurveUpdateByTrueCurveClientsOnly:!0,supportsUpdateByAnonymous:!1,supportsUpdateByOthers:!1,supportsUploadWithItemId:!1,supportsUpdateWithoutM:!1,supportsAsyncApplyEdits:!1,zDefault:void 0}}}_getMaxRecordCount(e){const t=e?.components?.parameters;return t?.limit?.schema?.maximum??t?.limitFeatures?.schema?.maximum}_getStorageSpatialReference(e){const t=e.storageCrs??n,s=c(t);return null==s?i.WGS84:new i({wkid:s})}_getSupportedSpatialReferences(e,t){const s="#/crs",r=e.crs??[n],o=r.includes(s)?r.filter(e=>e!==s).concat(t.crs??[]):r,p=/^http:\/\/www\.opengis.net\/def\/crs\/epsg\/.*\/3785$/i;return o.filter(e=>!p.test(e))}async _loadOGCServices(e,s){const o=null!=s?s.signal:null,{apiKey:p,collectionId:i,customParameters:a,fields:n,geometryType:h,hasZ:S,objectIdField:C,timeInfo:R,url:v}=e,w={fields:n?.map(e=>e.toJSON()),geometryType:u.toJSON(h),hasZ:S,objectIdField:C,timeInfo:R?.toJSON()},x={apiKey:p,customParameters:a,signal:o},O=await l(v,x),[T,D]=await Promise.all([d(O,x),m(O,x)]);if(!this._conformsToType(T,"http://www.opengis.net/spec/ogcapi-features-1/1.0/conf/geojson"))throw new t("ogc-feature-layer:no-geojson-support","Server does not support geojson");const F=D.collections.find(({id:e})=>e===i);if(!F)throw new t("ogc-feature-layer:collection-not-found","Server does not contain the named collection");const j=this._conformsToType(T,"http://www.opengis.net/spec/ogcapi-features-1/1.0/conf/oas30")?await y(O,x):null,A=await f(F,w,x),Q=this._getMaxRecordCount(j),P=this._getCapabilities(A.hasZ,Q),q=this._getStorageSpatialReference(F).toJSON(),b=this._getSupportedSpatialReferences(F,D),B=new RegExp(`^${r(g)}`,"i"),_={};for(const t of b){const e=c(t);null!=e&&(_[e]||(_[e]=t.replace(B,"")))}this.featureDefinition={capabilities:P,collection:F,layerDefinition:A,spatialReference:q,supportedCrs:_}}};e([o()],C.prototype,"featureDefinition",void 0),e([o({constructOnly:!0})],C.prototype,"layer",void 0),e([o()],C.prototype,"type",void 0),C=e([p("esri.layers.graphics.sources.OGCFeatureSource")],C);export{C as OGCFeatureSource};
2
+ import{__decorate as e}from"tslib";import t from"../../../core/Error.js";import{Loadable as s}from"../../../core/Loadable.js";import{escapeRegExpString as r}from"../../../core/string.js";import{property as o,subclass as p}from"../../../core/accessorSupport/decorators.js";import i from"../../../geometry/SpatialReference.js";import{typeKebabDictionary as u}from"../../../geometry/support/typeUtils.js";import{queryFeatureSetJSON as a,crsDefault as n,getSpatialReferenceWkid as c,getServerLandingPage as l,getServerConformance as d,getServerCollectionsPage as m,getServerOpenApi as y,getCollectionDefinition as f,crsPrefix as g}from"../../ogc/ogcFeatureUtils.js";import{zeroQueryBins as h}from"../../support/capabilities.js";import S from"../../../rest/support/FeatureSet.js";let C=class extends s{constructor(){super(...arguments),this.featureDefinition=null,this.type="ogc-feature"}load(e){return this.addResolvingPromise(this._loadOGCServices(this.layer,e)),this.when()}getSource(){const{featureDefinition:{collection:e,layerDefinition:t,spatialReference:s,supportedCrs:r},layer:{apiKey:o,customParameters:p,effectiveMaxRecordCount:i}}=this;return{type:"ogc-source",collection:e,layerDefinition:t,maxRecordCount:i,queryParameters:{apiKey:o,customParameters:p},spatialReference:s,supportedCrs:r}}queryExtent(e,t={}){return null}queryFeatureCount(e,t={}){return null}queryFeatures(e,t={}){return this.queryFeaturesJSON(e,t).then(e=>S.fromJSON(e))}queryFeaturesJSON(e,t={}){const s=this.getSource();return this.load(t).then(()=>a(s,e,t))}queryObjectIds(e,t={}){return null}serviceSupportsSpatialReference(e){const{isWebMercator:t,isWGS84:s,latestWkid:r,wkid:o}=e,{supportedCrs:p}=this.featureDefinition;return s||t||!!o&&!!p[o]||!!r&&!!p[r]}_conformsToType(e,t){const s=new RegExp(`^${r(t)}$`,"i");return e.conformsTo.some(e=>s.test(e))??!1}_getCapabilities(e,t){return{analytics:{supportsCacheHint:!1},attachment:null,data:{isVersioned:!1,isBranchVersioned:!1,supportedCurveTypes:[],supportsAttachment:!1,supportsM:!1,supportsTrueCurve:!1,supportsZ:e},metadata:{supportsAdvancedFieldProperties:!1},operations:{supportsCalculate:!1,supportsTruncate:!1,supportsValidateSql:!1,supportsAdd:!1,supportsDelete:!1,supportsEditing:!1,supportsChangeTracking:!1,supportsQuery:!1,supportsQueryBins:!1,supportsQueryPivot:!1,supportsQueryAnalytics:!1,supportsQueryAttachments:!1,supportsQueryTopFeatures:!1,supportsResizeAttachments:!1,supportsSync:!1,supportsUpdate:!1,supportsExceedsLimitStatistics:!1,supportsAsyncConvert3D:!1},query:{maxRecordCount:t,maxRecordCountFactor:void 0,maxUniqueIDCount:void 0,relativeTimeBinWindow:void 0,standardMaxRecordCount:void 0,supportsCacheHint:!1,supportsCentroid:!1,supportsCentroidOnDegeneratedQuantizedGeometry:!1,supportsCurrentUser:!1,supportsDegeneratedQuantizedGeometry:!1,supportsDisjointSpatialRelationship:!1,supportsDistance:!1,supportsDistinct:!1,supportsExtent:!1,supportsFormatPBF:!1,supportsGeometryProperties:!1,supportsHavingClause:!1,supportsHistoricMoment:!1,supportsMaxRecordCountFactor:!1,supportsOrderBy:!1,supportsPagination:!1,supportsPaginationOnAggregatedQueries:!1,supportsPercentileStatistics:!1,supportsQuantization:!1,supportsQuantizationEditMode:!1,supportsQueryByAnonymous:!1,supportsQueryByOthers:!1,supportsQueryGeometry:!1,supportsResultType:!1,supportsReturnMesh:!1,supportsStandardizedQueriesOnly:!1,supportsTopFeaturesQuery:!1,supportsStatistics:!1,supportsSpatialAggregationStatistics:!1,supportedSpatialAggregationStatistics:{envelope:!1,centroid:!1,convexHull:!1},supportsDefaultSpatialReference:!1,supportsFullTextSearch:!1,supportsCompactGeometry:!1,supportsSqlExpression:!1,supportsTrueCurve:!1,tileMaxRecordCount:void 0},queryRelated:{supportsCount:!1,supportsOrderBy:!1,supportsPagination:!1,supportsCacheHint:!1},queryTopFeatures:{supportsCacheHint:!1},queryAttributeBins:h,editing:{supportsDeleteByAnonymous:!1,supportsDeleteByOthers:!1,supportsGeometryUpdate:!1,supportsGlobalId:!1,supportsReturnServiceEditsInSourceSpatialReference:!1,supportsRollbackOnFailure:!1,supportsTrueCurveUpdate:!1,supportsTrueCurveUpdateByTrueCurveClientsOnly:!0,supportsUpdateByAnonymous:!1,supportsUpdateByOthers:!1,supportsUploadWithItemId:!1,supportsUpdateWithoutM:!1,supportsAsyncApplyEdits:!1,zDefault:void 0}}}_getMaxRecordCount(e){const t=e?.components?.parameters;return t?.limit?.schema?.maximum??t?.limitFeatures?.schema?.maximum}_getStorageSpatialReference(e){const t=e.storageCrs??n,s=c(t);return null==s?i.WGS84:new i({wkid:s})}_getSupportedSpatialReferences(e,t){const s="#/crs",r=e.crs??[n],o=r.includes(s)?r.filter(e=>e!==s).concat(t.crs??[]):r,p=/^http:\/\/www\.opengis.net\/def\/crs\/epsg\/.*\/3785$/i;return o.filter(e=>!p.test(e))}async _loadOGCServices(e,s){const o=null!=s?s.signal:null,{apiKey:p,collectionId:i,customParameters:a,fields:n,geometryType:h,hasZ:S,objectIdField:C,timeInfo:v,url:R}=e,w={fields:n?.map(e=>e.toJSON()),geometryType:u.toJSON(h),hasZ:S,objectIdField:C,timeInfo:v?.toJSON()},T={apiKey:p,customParameters:a,signal:o},x=await l(R,T),[O,D]=await Promise.all([d(x,T),m(x,T)]);if(!this._conformsToType(O,"http://www.opengis.net/spec/ogcapi-features-1/1.0/conf/geojson"))throw new t("ogc-feature-layer:no-geojson-support","Server does not support geojson");const F=D.collections.find(({id:e})=>e===i);if(!F)throw new t("ogc-feature-layer:collection-not-found","Server does not contain the named collection");const j=this._conformsToType(O,"http://www.opengis.net/spec/ogcapi-features-1/1.0/conf/oas30")?await y(x,T):null,A=await f(F,w,T),Q=this._getMaxRecordCount(j),P=this._getCapabilities(A.hasZ,Q),q=this._getStorageSpatialReference(F).toJSON(),B=this._getSupportedSpatialReferences(F,D),b=new RegExp(`^${r(g)}`,"i"),_={};for(const t of B){const e=c(t);null!=e&&(_[e]||(_[e]=t.replace(b,"")))}this.featureDefinition={capabilities:P,collection:F,layerDefinition:A,spatialReference:q,supportedCrs:_}}};e([o()],C.prototype,"featureDefinition",void 0),e([o({constructOnly:!0})],C.prototype,"layer",void 0),e([o()],C.prototype,"type",void 0),C=e([p("esri.layers.graphics.sources.OGCFeatureSource")],C);export{C as OGCFeatureSource};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{__addDisposableResource as e,__disposeResources as t}from"tslib";import r from"../../../../core/Collection.js";import{toConst as s}from"../../../../core/compilerUtils.js";import i from"../../../../core/Error.js";import has from"../../../../core/has.js";import o from"../../../../core/Logger.js";import{onAbortOrThrow as a,throwIfAborted as n}from"../../../../core/promiseUtils.js";import{QueueProcessor as u}from"../../../../core/QueueProcessor.js";import{parseWhereClause as l}from"../../../../core/sql.js";import p from"../../../../geometry/SpatialReference.js";import{set as c,create as d,expandWithRect as f,expandWithAABB as m,negativeInfinity as y,fromRect as h}from"../../../../geometry/support/aaBoundingBox.js";import{getQueryResultExtent as g,QueryEngine as w}from"../../data/QueryEngine.js";import{QueryEngineResult as _}from"../../data/QueryEngineResult.js";import{normalizeQueryLike as F}from"../../data/queryUtils.js";import{createDrawingInfo as I}from"./clientSideDefaults.js";import{getParquetFileId as x,getParquetRowId as R}from"./parquetIdUtils.js";import S from"../../../support/Field.js";import q from"../../../support/FieldsIndex.js";import{fromParquetGeometryEncodingJSON as C}from"../../../support/parquetEncodingUtils.js";import{completeParquetLayerInfo as b,fromParquetJSONGeometryType as E,toParquetJSONGeometryType as v}from"../../../support/parquetUtils.js";import{loadParquetModule as O}from"../../../../libs/parquet/loadParquetModule.js";import{createParquetFile as Q,readGeoMetadata as j}from"../../../../libs/parquet/parquet.js";import{FeatureStoreQueryAdapter as T}from"../../../../views/2d/layers/features/FeatureStoreQueryAdapter.js";import{FeatureSnapshotSourceChunk as P}from"../../../../views/2d/layers/features/sources/strategies/chunks/FeatureSnapshotSourceChunk.js";import{FeatureSourceChunkStore as A}from"../../../../views/2d/layers/features/sources/strategies/chunks/SourceChunkStore.js";import{FeatureMetadata as M}from"../../../../views/2d/layers/features/support/FeatureMetadata.js";import{FeatureSetReaderParquet as G}from"../../../../views/2d/layers/features/support/FeatureSetReaderParquet.js";const D=new T,B=4,z="__OBJECTID",W=new TextDecoder;class U{constructor(){this._fileInfos=new Map,this._queue=new u({concurrency:B,process:(e,t)=>this._executeQuery(e,t)}),this._indexMap={}}async load(s){const a=s.spatialReference?p.fromJSON(s.spatialReference):void 0;if(a&&!a.isWGS84&&!a.isWebMercator)throw new i("parquet:unsupported-projection","Only WGS84 and Web Mercator are supported");const n=await b({urls:new r(s.urls),fields:s.fields?.map(e=>S.fromJSON(e)),geometryEncoding:s.geometryEncoding?C(s.geometryEncoding):null,geometryType:s.geometryType?E(s.geometryType):null,displayOptimization:s.displayOptimization,spatialReference:a},{customParameters:s.customParameters});if(!n.fields)throw new i("parquet:unsupported","Fields must be defined");let u;if(n.spatialReference&&n.geometryType){if(!n.spatialReference)throw new i("parquet:unsupported","SpatialReference must be defined");if(!n.spatialReference.isGeographic&&!n.spatialReference.isWebMercator)throw new i("parquet:unsupported-projection","Only WGS84 and Web Mercator are supported");n.spatialReference.isGeographic&&!n.spatialReference.isWGS84&&(o.getLogger("parquet:unsupported-projection").warn("Found a geographic projection that is not WGS84. Handling as WGS84.",{spatialReference:n.spatialReference}),n.spatialReference=p.WGS84),u={geometry:n.geometryEncoding?{geometryType:v(n.geometryType),spatialReference:n.spatialReference.toJSON(),encoding:n.geometryEncoding.toJSON()}:null,displayOptimization:n.displayOptimization}}this.setCustomParameters(s.customParameters),this._geometryInfo=u;const l=s.urls;for(const e of l)this._addFile(e);this._capabilities=H(await this.getFileStatistics());const m=this._fileInfos.values().next().value;if(!m)return{layerDefinition:{},capabilities:H(null)};const h=await m,{fields:g}=n;if(null==g)throw new i("parquet-layer:missing-metadata","Unable to create parquet source: cannot infer fields",g);g.push(new S({name:z,type:"oid",alias:z}));for(const e of g){const t=h.file.columnForFieldName(e.name);null!=t&&(this._indexMap[e.name]=t)}const w=new q(g.map(e=>e.toJSON()));this._fieldsIndex=w;const _=v(n.geometryType??"point");if(this._metadata=M.createFeature({fieldsIndex:w.toJSON(),geometryType:_,featureIdInfo:{type:"object-id",fieldName:"rowId"},subtypes:null,subtypeField:null,types:null,typeIdField:null,globalIdField:null,spatialReference:n.spatialReference,outSpatialReference:null,timeInfo:null,timeReferenceUnknownClient:null,dateFieldsTimeZone:null}),this._queryEngineParams={fieldsIndex:this._metadata.fieldsIndex,geometryType:_,featureIdInfo:{type:"object-id",fieldName:"rowId"},hasM:!1,hasZ:!1,spatialReference:n.spatialReference?.toJSON()??{wkid:4326},aggregateAdapter:null,timeInfo:null,definitionExpression:null},n.spatialReference){const e=await this.getFileInfos();this._fullExtent=V(e,n.spatialReference.toJSON())}if(null==this._fullExtent&&"location"===n.geometryEncoding?.type){const{xField:r,yField:s}=n.geometryEncoding,i=c(d(),y);for(const o of await this.getFileInfos())for(const a of o.file.rowGroups()){const o={stack:[],error:void 0,hasError:!1};try{const t=e(o,a.columnDescriptorForAttribute(r),!1),n=e(o,a.columnDescriptorForAttribute(s),!1),u=[t.minValue(),n.minValue(),t.maxValue(),n.maxValue()];f(i,u),a.free()}catch(F){o.error=F,o.hasError=!0}finally{t(o)}}this._fullExtent={xmin:i[0],ymin:i[1],xmax:i[3],ymax:i[4],spatialReference:n.spatialReference?.toJSON()}}return{capabilities:this._capabilities,layerDefinition:{fields:n.fields?.map(e=>e.toJSON()),drawingInfo:I(_),extent:this._fullExtent??void 0,geometryType:_,geometryEncoding:n.geometryEncoding?.toJSON(),displayOptimization:n.displayOptimization}}}destroy(){for(const e of this._fileInfos.values())e.then(e=>e.file.free);this._fileInfos.clear(),this._queue.destroy()}setCustomParameters(e){this._customParameters=e}getIndexMap(){return this._indexMap}async getFileId(e){const t=this._fileInfos.get(e);if(!t)throw new Error(`InternalError: File ${e} does not exist`);return(await t).id}async getFileInfo(e){const t=this._fileInfos.get(e);if(!t)throw new Error(`InternalError: File ${e} does not exist`);return t}async getFileInfos(){return Promise.all(Array.from(this._fileInfos.values()))}async getFileStatistics(){if(!this._fileInfos.size)return null;const e=(await this.getFileInfos()).reduce((e,t)=>e+t.file.byteLength(),0);return{featureCount:await this._getFeatureCount(),byteLength:e}}async updateFiles(e){const t=new Set(e);for(const[r,s]of this._fileInfos.entries())t.has(r)?t.delete(r):(s.then(e=>e.file.free()),this._fileInfos.delete(r));await Promise.all(Array.from(t.values()).map(e=>this._addFile(e)))}async queryFeatures(e,t){this._validateQuery(e),Z(e)||(e.resultRecordCount=e.resultRecordCount?Math.min(e.resultRecordCount,8e3):8e3,e.resultOffset=e.resultOffset??0),(e.outStatistics||e.returnDistinctValues)&&(e.returnGeometry=void 0);return(await this._enqueueQuery(e,t)).createQueryResponse()}async queryFeatureCount(e,t){const r=await F(e,null,this._queryEngineParams.spatialReference);if(this._validateQuery(r),!N(r))return this._getFeatureCount();r.outFields=void 0,r.returnGeometry=void 0;return(await this._enqueueQuery(r,t)).createQueryResponseForCount()}async queryObjectIds(e,t){const r=await F(e,null,this._queryEngineParams.spatialReference);if(this._validateQuery(r),!N(r))return Array.from({length:await this._getFeatureCount()},(e,t)=>t);r.resultRecordCount=r.resultRecordCount?Math.min(r.resultRecordCount,8e3):8e3,r.resultOffset=r.resultOffset??0,r.returnGeometry=void 0,r.outFields=void 0;return(await this._enqueueQuery(r,t)).items.map(e=>e.getObjectId())}async queryExtent(e,t){const r=await F(e,null,this._queryEngineParams.spatialReference);if(this._validateQuery(r),this._fullExtent&&!N(r))return{count:await this._getFeatureCount(),extent:this._fullExtent};const i=s(this._metadata.spatialReference);r.returnGeometry=!0,r.outFields=void 0;const o=c(d(),y),a=d(),n=await this._enqueueQuery(r,t);let u=0;for(const s of n.items)s.getBounds(a)&&(m(o,a),u+=1);return{count:u,extent:g(o,i,r.outSR?s(r.outSR):i,i,!1)}}async queryStream(e,t,r){if(!r.signal)throw new Error("InternalError: AbortSignal must be passed");const s=await this.getFileInfo(e),i=(await O()).Query.new();"tile"===t.type&&(i.setExtent(t.extent),i.setQuantizationTransform(t.transform),i.setScale(t.scale)),i.setOutFields(t.outFields.filter(e=>null!=this._indexMap[e])),i.setOutSpatialReference(t.outSpatialReference.wkid),i.setReturnGeometry(!0),t.where&&await this._setWhereClause(i,s.file,t.where);const o=await s.file.executeQuery(i,r.signal),n=s.streamIdCounter++,u=a(r.signal,e=>{const t=s.streams.get(n);null!=t&&(t.handle.remove(),s.streams.delete(n))});return s.streams.set(n,{stream:o,handle:u}),n}async getStreamNext(e,t,r){if(!r.signal)throw new Error("InternalError: AbortSignal must be passed");const s=await this.getFileInfo(e),i=s.streams.get(t);if(!i)return null;const o=await i.stream.next(r.signal);return null==o&&(i.handle.remove(),s.streams.delete(t)),o?.serialize().buffer}async createPatch(e,t,r,s,i){if(!i.signal)throw new Error("InternalError: AbortSignal must be passed");const o=await this.getFileInfo(e);return(await o.file.createChunkPatch(t,r,s,i.signal)).serialize().buffer}async _getFile(e){for(const t of await this.getFileInfos())if(t.id===e)return t.file;throw new Error(`InternalError: File ${e} does not exist`)}_addFile(e){const t=this._fileInfos.size;this._fileInfos.set(e,this._createFileInfo(e,t))}async _createFileInfo(e,t){return{id:t,file:await Q(e,{geometryInfo:this._geometryInfo,getCustomParameters:()=>this._customParameters}),streamIdCounter:0,streams:new Map}}async _getFeatureCount(){return(await this.getFileInfos()).reduce((e,t)=>e+t.file.numRows(),0)}_validateQuery(e){if(!this._capabilities.query.supportsStatistics&&e.outStatistics)throw new i("parquet:unsupported","Statistics queries are not supported",{query:e});if(!this._capabilities.query.supportsOrderBy&&e.orderByFields?.length)throw new i("parquet:unsupported","Queries using orderBy are not supported",{query:e});if(!this._capabilities.query.supportsDistinct&&e.returnDistinctValues)throw new i("parquet:unsupported","Queries using returnDistinctValues are not supported",{query:e})}async _setWhereClause(e,t,r){const s=this._indexMap,o=this._fieldsIndex,a={getAttribute(e,r){const i=t.readAttribute(e.rowGroup,e.row,s[r]),a=o.get(r);return"esriFieldTypeString"===a.type||"esriFieldTypeDateOnly"===a.type||"esriFieldTypeTimeOnly"===a.type||"esriFieldTypeTimestampOffset"===a.type?W.decode(i):i}},n=await l(r,this._fieldsIndex);if(!n.isStandardized)throw new i("sql-parse-error","expression is not standardized");const u=(e,t)=>n.testFeatureCompiled({rowGroup:e,row:t},a,null);e.setWhere(r),e.setWhereEvaluator(u),e.setWhereFields(n.fieldNames)}async*_fetchChunks(e,t){const r=await O();for(const s of await this.getFileInfos()){const i=r.Query.new();i.setOutFields(e.fields),i.setReturnGeometry(e.returnGeometry),e.where&&await this._setWhereClause(i,s.file,e.where);const o=await s.file.executeQuery(i),a=[],u=o.next(t);for(let e=0;e<B;e++)a.push(o.next(t));let l=await u;for(;null!=l;){n(t);const e=new G(this._metadata,this._indexMap,l,s.id),r=k([new P(e,null,0,!1)],this._queryEngineParams),i=a.shift();a.push(o.next(t)),yield r,l=await i}}}_enqueueQuery(e,t){return this._queue.push(e,t)}async _executeQuery(e,t){const r=await this._getReadParams(e);if(e.where=void 0,e.objectIds?.length){const r=new Map;for(const t of e.objectIds){const e=x(t),s=R(t);let i=r.get(e);i||(i=[],r.set(e,i)),i.push(s)}const s=[];for(const[i,o]of r.entries()){const r=await this._executeFileIdQuery(e,i,o,t);for(const e of r)s.push(e)}return new _(s,e,{fieldsIndex:this._fieldsIndex,geometryType:this._metadata.geometryType,spatialReference:this._queryEngineParams.spatialReference,objectIdField:"rowId",hasM:!1,hasZ:!1,featureAdapter:D})}let s=e.resultRecordCount??await this._getFeatureCount(),i=e.resultOffset??0;e.resultRecordCount=void 0,e.resultOffset=void 0;const o=[];for await(const a of this._fetchChunks(r,t)){const r=await a.executeQueryForOpaqueFeatures(e,t);if(r.length>i){const t=r.slice(i,Math.min(i+s,r.length));for(const e of t)o.push(e);if(i=0,s-=t.length,0===s)return new _(o,e,{fieldsIndex:this._fieldsIndex,geometryType:this._metadata.geometryType,spatialReference:this._queryEngineParams.spatialReference,objectIdField:"rowId",hasM:!1,hasZ:!1,featureAdapter:D})}else i-=r.length}return new _(o,e,{fieldsIndex:this._fieldsIndex,geometryType:this._metadata.geometryType,spatialReference:this._queryEngineParams.spatialReference,objectIdField:"rowId",hasM:!1,hasZ:!1,featureAdapter:D})}async _executeFileIdQuery(e,t,r,s){const i=await this._getReadParams(e),o=(await O()).Query.new();o.setOutFields(i.fields),o.setReturnGeometry(i.returnGeometry),o.setIds(new Uint32Array(r));const a=await this._getFile(t),n=await a.executeQuery(o,s);let u=await n.next(s),l=0;const p=[];for(;null!=u;){const e=new G(this._metadata,this._indexMap,u,t),r=new P(e,null,l++,!1);p.push(r),u=await n.next(s)}return k(p,this._queryEngineParams).executeQueryForOpaqueFeatures(e,s)}async _getReadParams(e){const t=new Set;if(e.outStatistics)for(const r of e.outStatistics)null!=r.onStatisticField&&t.add(r.onStatisticField);if(e.outFields)for(const r of e.outFields)t.add(r);return{fields:(t.has("*")?this._fieldsIndex.fields.map(e=>e.name):Array.from(t)).filter(e=>null!=this._indexMap[e]),returnGeometry:!!e.returnGeometry||!!e.geometry,where:e.where}}}function N(e){for(const t in e){const r=t;switch(r){case"resultOffset":case"resultRecordCount":case"aggregateIds":case"distance":case"gdbVersion":case"geometry":case"having":case"timeExtent":case"objectIds":case"historicMoment":case"where":return null!=e[r]}}return!1}function k(e,t){const r=new A;for(const s of e)r.insert(s);return new w({...t,featureStore:r})}function J(e){switch(e.length){case 4:return h(d(),e);case 6:return e;default:throw new i("parquet:protocol-violation","Invalid Geoparquet file. BoundingBox size must be 4 or 6.",{bbox:e})}}function V(e,t){const r=c(d(),y);for(const s of e){const e=j(s.file);if(!e)return null;const t=e.columns[e.primary_column];if(!t.bbox)return null;const i=J(t.bbox);m(r,i)}return{xmin:r[0],ymin:r[1],xmax:r[3],ymax:r[4],spatialReference:t}}function H(e){const t=e?.featureCount;let r=!1;return null!=t&&t<has("parquetlayer-full-query-feature-count")&&(r=!0),{analytics:{supportsCacheHint:!1},attachment:null,data:{isVersioned:!1,isBranchVersioned:!1,supportedCurveTypes:[],supportsAttachment:!1,supportsM:!1,supportsTrueCurve:!1,supportsZ:!1},metadata:{supportsAdvancedFieldProperties:!1},operations:{supportsCalculate:!1,supportsTruncate:!1,supportsValidateSql:!1,supportsAdd:!1,supportsDelete:!1,supportsEditing:!1,supportsChangeTracking:!1,supportsQuery:!0,supportsQueryBins:!1,supportsQueryPivot:!1,supportsQueryAnalytics:!1,supportsQueryAttachments:!1,supportsQueryTopFeatures:!1,supportsResizeAttachments:!1,supportsSync:!1,supportsUpdate:!1,supportsExceedsLimitStatistics:!1,supportsAsyncConvert3D:!1},query:{maxRecordCount:8e3,maxRecordCountFactor:void 0,maxUniqueIDCount:void 0,standardMaxRecordCount:void 0,supportsCacheHint:!1,supportsCentroid:!0,supportsCentroidOnDegeneratedQuantizedGeometry:!1,supportsCurrentUser:!1,supportsDegeneratedQuantizedGeometry:!1,supportsDisjointSpatialRelationship:!1,supportsDistance:!1,supportsDistinct:r,supportsExtent:!1,supportsFormatPBF:!1,supportsGeometryProperties:!1,supportsHavingClause:!1,supportsHistoricMoment:!1,supportsMaxRecordCountFactor:!1,supportsOrderBy:r,supportsPagination:!0,supportsPaginationOnAggregatedQueries:!1,supportsPercentileStatistics:!1,supportsQuantization:!0,supportsQuantizationEditMode:!1,supportsQueryByAnonymous:!1,supportsQueryByOthers:!1,supportsQueryGeometry:!1,supportsResultType:!1,supportsReturnMesh:!1,supportsStandardizedQueriesOnly:!1,supportsTopFeaturesQuery:!1,supportsStatistics:r,supportsSpatialAggregationStatistics:!1,supportedSpatialAggregationStatistics:{envelope:!1,centroid:!1,convexHull:!1},supportsDefaultSpatialReference:!1,supportsFullTextSearch:!1,supportsCompactGeometry:!1,supportsSqlExpression:!1,supportsTrueCurve:!1,tileMaxRecordCount:void 0},queryAttributeBins:{supportsDate:!1,supportsFixedInterval:!1,supportsAutoInterval:!1,supportsFixedBoundaries:!1,supportsStackBy:!1,supportsSplitBy:!1,supportsSnapToData:!1,supportsReturnFullIntervalBin:!1,supportsFirstDayOfWeek:!1,supportsNormalization:!1},queryRelated:{supportsCount:!1,supportsOrderBy:!1,supportsPagination:!1,supportsCacheHint:!1},queryTopFeatures:{supportsCacheHint:!1},editing:{supportsDeleteByAnonymous:!1,supportsDeleteByOthers:!1,supportsGeometryUpdate:!1,supportsGlobalId:!1,supportsTrueCurveUpdate:!1,supportsTrueCurveUpdateByTrueCurveClientsOnly:!0,supportsReturnServiceEditsInSourceSpatialReference:!1,supportsRollbackOnFailure:!1,supportsUpdateByAnonymous:!1,supportsUpdateByOthers:!1,supportsUploadWithItemId:!1,supportsUpdateWithoutM:!1,supportsAsyncApplyEdits:!1,zDefault:void 0}}}function Z(e){return!!(e.objectIds?.length||e.outStatistics||e.orderByFields?.length||e.returnDistinctValues)}export{U as default};
2
+ import{__addDisposableResource as e,__disposeResources as t}from"tslib";import r from"../../../../core/Collection.js";import{toConst as s}from"../../../../core/compilerUtils.js";import i from"../../../../core/Error.js";import has from"../../../../core/has.js";import o from"../../../../core/Logger.js";import{onAbortOrThrow as a,throwIfAborted as n}from"../../../../core/promiseUtils.js";import{QueueProcessor as u}from"../../../../core/QueueProcessor.js";import{parseWhereClause as l}from"../../../../core/sql.js";import p from"../../../../geometry/SpatialReference.js";import{set as c,create as d,expandWithRect as f,expandWithAABB as m,negativeInfinity as y,fromRect as h}from"../../../../geometry/support/aaBoundingBox.js";import{getQueryResultExtent as g,QueryEngine as w}from"../../data/QueryEngine.js";import{QueryEngineResult as _}from"../../data/QueryEngineResult.js";import{normalizeQueryLike as F}from"../../data/queryUtils.js";import{createDrawingInfo as I}from"./clientSideDefaults.js";import{getParquetFileId as x,getParquetRowId as R}from"./parquetIdUtils.js";import S from"../../../support/Field.js";import q from"../../../support/FieldsIndex.js";import{fromParquetGeometryEncodingJSON as C}from"../../../support/parquetEncodingUtils.js";import{completeParquetLayerInfo as b,fromParquetJSONGeometryType as v,toParquetJSONGeometryType as E}from"../../../support/parquetUtils.js";import{loadParquetModule as O}from"../../../../libs/parquet/loadParquetModule.js";import{createParquetFile as Q,readGeoMetadata as j}from"../../../../libs/parquet/parquet.js";import{FeatureStoreQueryAdapter as T}from"../../../../views/2d/layers/features/FeatureStoreQueryAdapter.js";import{FeatureSnapshotSourceChunk as P}from"../../../../views/2d/layers/features/sources/strategies/chunks/FeatureSnapshotSourceChunk.js";import{FeatureSourceChunkStore as A}from"../../../../views/2d/layers/features/sources/strategies/chunks/SourceChunkStore.js";import{FeatureMetadata as M}from"../../../../views/2d/layers/features/support/FeatureMetadata.js";import{FeatureSetReaderParquet as G}from"../../../../views/2d/layers/features/support/FeatureSetReaderParquet.js";const B=new T,D=4,z="__OBJECTID",W=new TextDecoder;class U{constructor(){this._fileInfos=new Map,this._queue=new u({concurrency:D,process:(e,t)=>this._executeQuery(e,t)}),this._indexMap={}}async load(s){const a=s.spatialReference?p.fromJSON(s.spatialReference):void 0;if(a&&!a.isWGS84&&!a.isWebMercator)throw new i("parquet:unsupported-projection","Only WGS84 and Web Mercator are supported");const n=await b({urls:new r(s.urls),fields:s.fields?.map(e=>S.fromJSON(e)),geometryEncoding:s.geometryEncoding?C(s.geometryEncoding):null,geometryType:s.geometryType?v(s.geometryType):null,displayOptimization:s.displayOptimization,spatialReference:a},{customParameters:s.customParameters});if(!n.fields)throw new i("parquet:unsupported","Fields must be defined");let u;if(n.spatialReference&&n.geometryType){if(!n.spatialReference)throw new i("parquet:unsupported","SpatialReference must be defined");if(!n.spatialReference.isGeographic&&!n.spatialReference.isWebMercator)throw new i("parquet:unsupported-projection","Only WGS84 and Web Mercator are supported");n.spatialReference.isGeographic&&!n.spatialReference.isWGS84&&(o.getLogger("parquet:unsupported-projection").warn("Found a geographic projection that is not WGS84. Handling as WGS84.",{spatialReference:n.spatialReference}),n.spatialReference=p.WGS84),u={geometry:n.geometryEncoding?{geometryType:E(n.geometryType),spatialReference:n.spatialReference.toJSON(),encoding:n.geometryEncoding.toJSON()}:null,displayOptimization:n.displayOptimization}}this.setCustomParameters(s.customParameters),this._geometryInfo=u;const l=s.urls;for(const e of l)this._addFile(e);this._capabilities=H(await this.getFileStatistics());const m=this._fileInfos.values().next().value;if(!m)return{layerDefinition:{},capabilities:H(null)};const h=await m,{fields:g}=n;if(null==g)throw new i("parquet-layer:missing-metadata","Unable to create parquet source: cannot infer fields",g);g.push(new S({name:z,type:"oid",alias:z}));for(const e of g){const t=h.file.columnForFieldName(e.name);null!=t&&(this._indexMap[e.name]=t)}const w=new q(g.map(e=>e.toJSON()));this._fieldsIndex=w;const _=E(n.geometryType??"point");if(this._metadata=M.createFeature({fieldsIndex:w.toJSON(),geometryType:_,featureIdInfo:{type:"object-id",fieldName:"rowId"},subtypes:null,subtypeField:null,types:null,typeIdField:null,globalIdField:null,spatialReference:n.spatialReference,outSpatialReference:null,timeInfo:null,timeReferenceUnknownClient:null,dateFieldsTimeZone:null}),this._queryEngineParams={fieldsIndex:this._metadata.fieldsIndex,geometryType:_,featureIdInfo:{type:"object-id",fieldName:"rowId"},hasM:!1,hasZ:!1,spatialReference:n.spatialReference?.toJSON()??{wkid:4326},aggregateAdapter:null,timeInfo:null,definitionExpression:null},n.spatialReference){const e=await this.getFileInfos();this._fullExtent=V(e,n.spatialReference.toJSON())}if(null==this._fullExtent&&"location"===n.geometryEncoding?.type){const{xField:r,yField:s}=n.geometryEncoding,i=c(d(),y);for(const o of await this.getFileInfos())for(const a of o.file.rowGroups()){const o={stack:[],error:void 0,hasError:!1};try{const t=e(o,a.columnDescriptorForAttribute(r),!1),n=e(o,a.columnDescriptorForAttribute(s),!1),u=[t.minValue(),n.minValue(),t.maxValue(),n.maxValue()];f(i,u),a.free()}catch(F){o.error=F,o.hasError=!0}finally{t(o)}}this._fullExtent={xmin:i[0],ymin:i[1],xmax:i[3],ymax:i[4],spatialReference:n.spatialReference?.toJSON()}}return{capabilities:this._capabilities,layerDefinition:{fields:n.fields?.map(e=>e.toJSON()),drawingInfo:I(_),extent:this._fullExtent??void 0,geometryType:_,geometryEncoding:n.geometryEncoding?.toJSON(),displayOptimization:n.displayOptimization}}}destroy(){for(const e of this._fileInfos.values())e.then(e=>e.file.free);this._fileInfos.clear(),this._queue.destroy()}setCustomParameters(e){this._customParameters=e}getIndexMap(){return this._indexMap}async getFileId(e){const t=this._fileInfos.get(e);if(!t)throw new Error(`InternalError: File ${e} does not exist`);return(await t).id}async getFileInfo(e){const t=this._fileInfos.get(e);if(!t)throw new Error(`InternalError: File ${e} does not exist`);return t}async getFileInfos(){return Promise.all(Array.from(this._fileInfos.values()))}async getFileStatistics(){if(!this._fileInfos.size)return null;const e=(await this.getFileInfos()).reduce((e,t)=>e+t.file.byteLength(),0);return{featureCount:await this._getFeatureCount(),byteLength:e}}async updateFiles(e){const t=new Set(e);for(const[r,s]of this._fileInfos.entries())t.has(r)?t.delete(r):(s.then(e=>e.file.free()),this._fileInfos.delete(r));await Promise.all(Array.from(t.values()).map(e=>this._addFile(e)))}async queryFeatures(e,t){this._validateQuery(e),Z(e)||(e.resultRecordCount=e.resultRecordCount?Math.min(e.resultRecordCount,8e3):8e3,e.resultOffset=e.resultOffset??0),(e.outStatistics||e.returnDistinctValues)&&(e.returnGeometry=void 0);return(await this._enqueueQuery(e,t)).createQueryResponse()}async queryFeatureCount(e,t){const r=await F(e,null,this._queryEngineParams.spatialReference);if(this._validateQuery(r),!N(r))return this._getFeatureCount();r.outFields=void 0,r.returnGeometry=void 0;return(await this._enqueueQuery(r,t)).createQueryResponseForCount()}async queryObjectIds(e,t){const r=await F(e,null,this._queryEngineParams.spatialReference);if(this._validateQuery(r),!N(r))return Array.from({length:await this._getFeatureCount()},(e,t)=>t);r.resultRecordCount=r.resultRecordCount?Math.min(r.resultRecordCount,8e3):8e3,r.resultOffset=r.resultOffset??0,r.returnGeometry=void 0,r.outFields=void 0;return(await this._enqueueQuery(r,t)).items.map(e=>e.getObjectId())}async queryExtent(e,t){const r=await F(e,null,this._queryEngineParams.spatialReference);if(this._validateQuery(r),this._fullExtent&&!N(r))return{count:await this._getFeatureCount(),extent:this._fullExtent};const i=s(this._metadata.spatialReference);r.returnGeometry=!0,r.outFields=void 0;const o=c(d(),y),a=d(),n=await this._enqueueQuery(r,t);let u=0;for(const s of n.items)s.getBounds(a)&&(m(o,a),u+=1);return{count:u,extent:g(o,i,r.outSR?s(r.outSR):i,i,!1)}}async queryStream(e,t,r){if(!r.signal)throw new Error("InternalError: AbortSignal must be passed");const s=await this.getFileInfo(e),i=(await O()).Query.new();"tile"===t.type&&(i.setExtent(t.extent),i.setQuantizationTransform(t.transform),i.setScale(t.scale)),i.setOutFields(t.outFields.filter(e=>null!=this._indexMap[e])),i.setOutSpatialReference(t.outSpatialReference.wkid),i.setReturnGeometry(!0),t.where&&await this._setWhereClause(i,s.file,t.where);const o=await s.file.executeQuery(i,r.signal),n=s.streamIdCounter++,u=a(r.signal,e=>{const t=s.streams.get(n);null!=t&&(t.handle.remove(),s.streams.delete(n))});return s.streams.set(n,{stream:o,handle:u}),n}async getStreamNext(e,t,r){if(!r.signal)throw new Error("InternalError: AbortSignal must be passed");const s=await this.getFileInfo(e),i=s.streams.get(t);if(!i)return null;const o=await i.stream.next(r.signal);return null==o&&(i.handle.remove(),s.streams.delete(t)),o?.serialize().buffer}async createPatch(e,t,r,s,i){if(!i.signal)throw new Error("InternalError: AbortSignal must be passed");const o=await this.getFileInfo(e);return(await o.file.createChunkPatch(t,r,s,i.signal)).serialize().buffer}async _getFile(e){for(const t of await this.getFileInfos())if(t.id===e)return t.file;throw new Error(`InternalError: File ${e} does not exist`)}_addFile(e){const t=this._fileInfos.size;this._fileInfos.set(e,this._createFileInfo(e,t))}async _createFileInfo(e,t){return{id:t,file:await Q(e,{geometryInfo:this._geometryInfo,getCustomParameters:()=>this._customParameters}),streamIdCounter:0,streams:new Map}}async _getFeatureCount(){return(await this.getFileInfos()).reduce((e,t)=>e+t.file.numRows(),0)}_validateQuery(e){if(!this._capabilities.query.supportsStatistics&&e.outStatistics)throw new i("parquet:unsupported","Statistics queries are not supported",{query:e});if(!this._capabilities.query.supportsOrderBy&&e.orderByFields?.length)throw new i("parquet:unsupported","Queries using orderBy are not supported",{query:e});if(!this._capabilities.query.supportsDistinct&&e.returnDistinctValues)throw new i("parquet:unsupported","Queries using returnDistinctValues are not supported",{query:e})}async _setWhereClause(e,t,r){const s=this._indexMap,o=this._fieldsIndex,a={getAttribute(e,r){const i=t.readAttribute(e.rowGroup,e.row,s[r]),a=o.get(r);return"esriFieldTypeString"===a.type||"esriFieldTypeDateOnly"===a.type||"esriFieldTypeTimeOnly"===a.type||"esriFieldTypeTimestampOffset"===a.type?W.decode(i):i}},n=await l(r,this._fieldsIndex);if(!n.isStandardized)throw new i("sql-parse-error","expression is not standardized");const u=(e,t)=>n.testFeatureCompiled({rowGroup:e,row:t},a,null);e.setWhere(r),e.setWhereEvaluator(u),e.setWhereFields(n.fieldNames)}async*_fetchChunks(e,t){const r=await O();for(const s of await this.getFileInfos()){const i=r.Query.new();i.setOutFields(e.fields),i.setReturnGeometry(e.returnGeometry),e.where&&await this._setWhereClause(i,s.file,e.where);const o=await s.file.executeQuery(i),a=[],u=o.next(t);for(let e=0;e<D;e++)a.push(o.next(t));let l=await u;for(;null!=l;){n(t);const e=new G(this._metadata,this._indexMap,l,s.id),r=k([new P(e,null,0,!1)],this._queryEngineParams),i=a.shift();a.push(o.next(t)),yield r,l=await i}}}_enqueueQuery(e,t){return this._queue.push(e,t)}async _executeQuery(e,t){const r=await this._getReadParams(e);if(e.where=void 0,e.objectIds?.length){const r=new Map;for(const t of e.objectIds){const e=x(t),s=R(t);let i=r.get(e);i||(i=[],r.set(e,i)),i.push(s)}const s=[];for(const[i,o]of r.entries()){const r=await this._executeFileIdQuery(e,i,o,t);for(const e of r)s.push(e)}return new _(s,e,{fieldsIndex:this._fieldsIndex,geometryType:this._metadata.geometryType,spatialReference:this._queryEngineParams.spatialReference,objectIdField:"rowId",hasM:!1,hasZ:!1,featureAdapter:B})}let s=e.resultRecordCount??await this._getFeatureCount(),i=e.resultOffset??0;e.resultRecordCount=void 0,e.resultOffset=void 0;const o=[];for await(const a of this._fetchChunks(r,t)){const r=await a.executeQueryForOpaqueFeatures(e,t);if(r.length>i){const t=r.slice(i,Math.min(i+s,r.length));for(const e of t)o.push(e);if(i=0,s-=t.length,0===s)return new _(o,e,{fieldsIndex:this._fieldsIndex,geometryType:this._metadata.geometryType,spatialReference:this._queryEngineParams.spatialReference,objectIdField:"rowId",hasM:!1,hasZ:!1,featureAdapter:B})}else i-=r.length}return new _(o,e,{fieldsIndex:this._fieldsIndex,geometryType:this._metadata.geometryType,spatialReference:this._queryEngineParams.spatialReference,objectIdField:"rowId",hasM:!1,hasZ:!1,featureAdapter:B})}async _executeFileIdQuery(e,t,r,s){const i=await this._getReadParams(e),o=(await O()).Query.new();o.setOutFields(i.fields),o.setReturnGeometry(i.returnGeometry),o.setIds(new Uint32Array(r));const a=await this._getFile(t),n=await a.executeQuery(o,s);let u=await n.next(s),l=0;const p=[];for(;null!=u;){const e=new G(this._metadata,this._indexMap,u,t),r=new P(e,null,l++,!1);p.push(r),u=await n.next(s)}return k(p,this._queryEngineParams).executeQueryForOpaqueFeatures(e,s)}async _getReadParams(e){const t=new Set;if(e.outStatistics)for(const r of e.outStatistics)null!=r.onStatisticField&&t.add(r.onStatisticField);if(e.outFields)for(const r of e.outFields)t.add(r);return{fields:(t.has("*")?this._fieldsIndex.fields.map(e=>e.name):Array.from(t)).filter(e=>null!=this._indexMap[e]),returnGeometry:!!e.returnGeometry||!!e.geometry,where:e.where}}}function N(e){for(const t in e){const r=t;switch(r){case"resultOffset":case"resultRecordCount":case"aggregateIds":case"distance":case"gdbVersion":case"geometry":case"having":case"timeExtent":case"objectIds":case"historicMoment":case"where":return null!=e[r]}}return!1}function k(e,t){const r=new A;for(const s of e)r.insert(s);return new w({...t,featureStore:r})}function J(e){switch(e.length){case 4:return h(d(),e);case 6:return e;default:throw new i("parquet:protocol-violation","Invalid Geoparquet file. BoundingBox size must be 4 or 6.",{bbox:e})}}function V(e,t){const r=c(d(),y);for(const s of e){const e=j(s.file);if(!e)return null;const t=e.columns[e.primary_column];if(!t.bbox)return null;const i=J(t.bbox);m(r,i)}return{xmin:r[0],ymin:r[1],xmax:r[3],ymax:r[4],spatialReference:t}}function H(e){const t=e?.featureCount;let r=!1;return null!=t&&t<has("parquetlayer-full-query-feature-count")&&(r=!0),{analytics:{supportsCacheHint:!1},attachment:null,data:{isVersioned:!1,isBranchVersioned:!1,supportedCurveTypes:[],supportsAttachment:!1,supportsM:!1,supportsTrueCurve:!1,supportsZ:!1},metadata:{supportsAdvancedFieldProperties:!1},operations:{supportsCalculate:!1,supportsTruncate:!1,supportsValidateSql:!1,supportsAdd:!1,supportsDelete:!1,supportsEditing:!1,supportsChangeTracking:!1,supportsQuery:!0,supportsQueryBins:!1,supportsQueryPivot:!1,supportsQueryAnalytics:!1,supportsQueryAttachments:!1,supportsQueryTopFeatures:!1,supportsResizeAttachments:!1,supportsSync:!1,supportsUpdate:!1,supportsExceedsLimitStatistics:!1,supportsAsyncConvert3D:!1},query:{maxRecordCount:8e3,maxRecordCountFactor:void 0,maxUniqueIDCount:void 0,relativeTimeBinWindow:void 0,standardMaxRecordCount:void 0,supportsCacheHint:!1,supportsCentroid:!0,supportsCentroidOnDegeneratedQuantizedGeometry:!1,supportsCurrentUser:!1,supportsDegeneratedQuantizedGeometry:!1,supportsDisjointSpatialRelationship:!1,supportsDistance:!1,supportsDistinct:r,supportsExtent:!1,supportsFormatPBF:!1,supportsGeometryProperties:!1,supportsHavingClause:!1,supportsHistoricMoment:!1,supportsMaxRecordCountFactor:!1,supportsOrderBy:r,supportsPagination:!0,supportsPaginationOnAggregatedQueries:!1,supportsPercentileStatistics:!1,supportsQuantization:!0,supportsQuantizationEditMode:!1,supportsQueryByAnonymous:!1,supportsQueryByOthers:!1,supportsQueryGeometry:!1,supportsResultType:!1,supportsReturnMesh:!1,supportsStandardizedQueriesOnly:!1,supportsTopFeaturesQuery:!1,supportsStatistics:r,supportsSpatialAggregationStatistics:!1,supportedSpatialAggregationStatistics:{envelope:!1,centroid:!1,convexHull:!1},supportsDefaultSpatialReference:!1,supportsFullTextSearch:!1,supportsCompactGeometry:!1,supportsSqlExpression:!1,supportsTrueCurve:!1,tileMaxRecordCount:void 0},queryAttributeBins:{supportsDate:!1,supportsFixedInterval:!1,supportsAutoInterval:!1,supportsFixedBoundaries:!1,supportsStackBy:!1,supportsSplitBy:!1,supportsSnapToData:!1,supportsReturnFullIntervalBin:!1,supportsFirstDayOfWeek:!1,supportsNormalization:!1},queryRelated:{supportsCount:!1,supportsOrderBy:!1,supportsPagination:!1,supportsCacheHint:!1},queryTopFeatures:{supportsCacheHint:!1},editing:{supportsDeleteByAnonymous:!1,supportsDeleteByOthers:!1,supportsGeometryUpdate:!1,supportsGlobalId:!1,supportsTrueCurveUpdate:!1,supportsTrueCurveUpdateByTrueCurveClientsOnly:!0,supportsReturnServiceEditsInSourceSpatialReference:!1,supportsRollbackOnFailure:!1,supportsUpdateByAnonymous:!1,supportsUpdateByOthers:!1,supportsUploadWithItemId:!1,supportsUpdateWithoutM:!1,supportsAsyncApplyEdits:!1,zDefault:void 0}}}function Z(e){return!!(e.objectIds?.length||e.outStatistics||e.orderByFields?.length||e.returnDistinctValues)}export{U as default};