@cognite/reveal 3.1.0 → 3.2.0

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 (327) hide show
  1. package/README.md +10 -0
  2. package/eptBinaryDecoder.worker.map +1 -1
  3. package/extensions/datasource.d.ts +9 -9
  4. package/extensions/datasource.js +2 -26
  5. package/{core/src/public/migration/RenderController.d.ts → extensions/datasource.js.LICENSE.txt} +3 -4
  6. package/extensions/datasource.map +1 -1
  7. package/index.d.ts +13 -13
  8. package/index.js +2 -576
  9. package/index.js.LICENSE.txt +11 -0
  10. package/index.map +1 -1
  11. package/package.json +9 -6
  12. package/packages/api/index.d.ts +11 -0
  13. package/{core → packages/api}/src/public/RevealManager.d.ts +52 -52
  14. package/{core → packages/api}/src/public/createRevealManager.d.ts +24 -24
  15. package/{core → packages/api}/src/public/migration/Cognite3DViewer.d.ts +509 -498
  16. package/{core → packages/api}/src/public/migration/renderOptionsHelpers.d.ts +36 -29
  17. package/{core → packages/api}/src/public/migration/types.d.ts +180 -171
  18. package/{core → packages/api}/src/public/types.d.ts +31 -30
  19. package/{core → packages/api}/src/storage/RevealManagerHelper.d.ts +61 -60
  20. package/{core → packages/api}/src/utilities/Spinner.d.ts +27 -27
  21. package/{core → packages/api}/src/utilities/ViewStateHelper.d.ts +49 -49
  22. package/{core → packages/api}/src/utilities/reflection.d.ts +7 -7
  23. package/packages/cad-geometry-loaders/index.d.ts +10 -10
  24. package/packages/cad-geometry-loaders/src/CadLoadingHints.d.ts +11 -11
  25. package/packages/cad-geometry-loaders/src/CadManager.d.ts +46 -46
  26. package/packages/cad-geometry-loaders/src/CadModelBudget.d.ts +21 -21
  27. package/packages/cad-geometry-loaders/src/CadModelUpdateHandler.d.ts +44 -44
  28. package/packages/cad-geometry-loaders/src/InternalRevealCadOptions.d.ts +13 -13
  29. package/packages/cad-geometry-loaders/src/createCadManager.d.ts +10 -10
  30. package/packages/cad-geometry-loaders/src/sector/ModelStateHandler.d.ts +12 -12
  31. package/packages/cad-geometry-loaders/src/sector/SectorDownloadScheduler.d.ts +22 -22
  32. package/packages/cad-geometry-loaders/src/sector/SectorLoader.d.ts +32 -32
  33. package/packages/cad-geometry-loaders/src/sector/culling/ByScreenSizeSectorCuller.d.ts +23 -23
  34. package/packages/cad-geometry-loaders/src/sector/culling/ByVisibilityGpuSectorCuller.d.ts +51 -51
  35. package/packages/cad-geometry-loaders/src/sector/culling/OrderSectorsByVisibilityCoverage.d.ts +106 -106
  36. package/packages/cad-geometry-loaders/src/sector/culling/RenderAlreadyLoadedGeometryProvider.d.ts +11 -11
  37. package/packages/cad-geometry-loaders/src/sector/culling/SectorCuller.d.ts +33 -33
  38. package/packages/cad-geometry-loaders/src/sector/culling/WeightFunctionsHelper.d.ts +51 -50
  39. package/packages/cad-geometry-loaders/src/sector/culling/computeNdcAreaOfBox.d.ts +12 -12
  40. package/packages/cad-geometry-loaders/src/sector/culling/computeSectorCost.d.ts +7 -7
  41. package/packages/cad-geometry-loaders/src/sector/culling/createV8SectorCuller.d.ts +7 -7
  42. package/packages/cad-geometry-loaders/src/sector/culling/takensectors/TakenSectorMapBase.d.ts +11 -11
  43. package/packages/cad-geometry-loaders/src/sector/culling/takensectors/TakenV8SectorMap.d.ts +17 -17
  44. package/packages/cad-geometry-loaders/src/sector/culling/takensectors/TakenV8SectorTree.d.ts +24 -24
  45. package/packages/cad-geometry-loaders/src/sector/culling/takensectors/TakenV9SectorMap.d.ts +20 -20
  46. package/packages/cad-geometry-loaders/src/sector/culling/takensectors/index.d.ts +5 -5
  47. package/packages/cad-geometry-loaders/src/sector/culling/transformBoxToNDC.d.ts +5 -5
  48. package/packages/cad-geometry-loaders/src/sector/culling/types.d.ts +83 -83
  49. package/packages/cad-geometry-loaders/src/sector/rxSectorUtilities.d.ts +12 -12
  50. package/packages/cad-geometry-loaders/src/utilities/PromiseUtils.d.ts +28 -28
  51. package/packages/cad-geometry-loaders/src/utilities/rxOperations.d.ts +6 -6
  52. package/packages/cad-model/index.d.ts +9 -9
  53. package/packages/cad-model/src/CadModelFactory.d.ts +17 -17
  54. package/packages/cad-model/src/batching/GeometryBatchingManager.d.ts +31 -31
  55. package/packages/cad-model/src/batching/InstancedMeshManager.d.ts +20 -20
  56. package/packages/cad-model/src/picking/PickingHandler.d.ts +36 -35
  57. package/packages/cad-model/src/picking/readPixelsFromTargetAsync.d.ts +17 -0
  58. package/packages/cad-model/src/types.d.ts +59 -59
  59. package/packages/cad-model/src/utilities/BoundingBoxClipper.d.ts +23 -23
  60. package/packages/cad-model/src/utilities/NodeIdAndTreeIndexMaps.d.ts +4 -4
  61. package/packages/cad-model/src/utilities/callActionWithIndicesAsync.d.ts +4 -4
  62. package/packages/cad-model/src/wrappers/CadNode.d.ts +54 -54
  63. package/packages/cad-model/src/wrappers/Cognite3DModel.d.ts +337 -337
  64. package/packages/cad-parsers/index.d.ts +20 -20
  65. package/packages/cad-parsers/src/cad/CadSectorParser.d.ts +15 -15
  66. package/packages/cad-parsers/src/cad/LevelOfDetail.d.ts +8 -8
  67. package/packages/cad-parsers/src/cad/filterInstanceMesh.d.ts +6 -6
  68. package/packages/cad-parsers/src/cad/filterPrimitivesCommon.d.ts +5 -5
  69. package/packages/cad-parsers/src/cad/filterPrimitivesV8.d.ts +9 -9
  70. package/packages/cad-parsers/src/cad/filterPrimitivesV9.d.ts +6 -6
  71. package/packages/cad-parsers/src/cad/primitiveGeometries.d.ts +30 -30
  72. package/packages/cad-parsers/src/cad/triangleMeshes.d.ts +6 -6
  73. package/packages/cad-parsers/src/cad/types.d.ts +56 -56
  74. package/packages/cad-parsers/src/metadata/CadMetadataParser.d.ts +7 -7
  75. package/packages/cad-parsers/src/metadata/CadModelClipper.d.ts +10 -10
  76. package/packages/cad-parsers/src/metadata/CadModelMetadata.d.ts +54 -54
  77. package/packages/cad-parsers/src/metadata/CadModelMetadataRepository.d.ts +16 -16
  78. package/packages/cad-parsers/src/metadata/parsers/CadMetadataParserGltf.d.ts +8 -8
  79. package/packages/cad-parsers/src/metadata/parsers/CadMetadataParserV8.d.ts +6 -6
  80. package/packages/cad-parsers/src/metadata/parsers/types.d.ts +62 -62
  81. package/packages/cad-parsers/src/metadata/types.d.ts +53 -53
  82. package/packages/cad-parsers/src/sector/RootSectorNode.d.ts +13 -13
  83. package/packages/cad-parsers/src/sector/SectorNode.d.ts +22 -22
  84. package/packages/cad-parsers/src/utilities/SectorScene.d.ts +23 -23
  85. package/packages/cad-parsers/src/utilities/SectorSceneFactory.d.ts +9 -9
  86. package/packages/cad-parsers/src/utilities/computeBoundingBoxFromAttributes.d.ts +10 -10
  87. package/packages/cad-parsers/src/utilities/float32BufferToMatrix.d.ts +12 -12
  88. package/packages/cad-parsers/src/utilities/types.d.ts +71 -71
  89. package/packages/cad-styling/index.d.ts +20 -20
  90. package/packages/cad-styling/src/AssetNodeCollection.d.ts +47 -47
  91. package/packages/cad-styling/src/CdfModelNodeCollectionDataProvider.d.ts +26 -26
  92. package/packages/cad-styling/src/CombineNodeCollectionBase.d.ts +34 -34
  93. package/packages/cad-styling/src/IntersectionNodeCollection.d.ts +20 -20
  94. package/packages/cad-styling/src/InvertedNodeCollection.d.ts +27 -27
  95. package/packages/cad-styling/src/NodeAppearance.d.ts +85 -85
  96. package/packages/cad-styling/src/NodeAppearanceProvider.d.ts +38 -38
  97. package/packages/cad-styling/src/NodeCollection.d.ts +31 -26
  98. package/packages/cad-styling/src/NodeCollectionDeserializer.d.ts +26 -26
  99. package/packages/cad-styling/src/PopulateIndexSetFromPagedResponseHelper.d.ts +30 -30
  100. package/packages/cad-styling/src/PropertyFilterNodeCollection.d.ts +57 -57
  101. package/packages/cad-styling/src/SerializedNodeCollection.d.ts +8 -8
  102. package/packages/cad-styling/src/SinglePropertyFilterNodeCollection.d.ts +53 -53
  103. package/packages/cad-styling/src/TreeIndexNodeCollection.d.ts +40 -40
  104. package/packages/cad-styling/src/UnionNodeCollection.d.ts +19 -19
  105. package/packages/cad-styling/src/prioritized/AreaCollection.d.ts +39 -39
  106. package/packages/cad-styling/src/prioritized/BoxClusterer.d.ts +29 -29
  107. package/packages/cad-styling/src/prioritized/ClusteredAreaCollection.d.ts +17 -17
  108. package/packages/cad-styling/src/prioritized/EmptyAreaCollection.d.ts +18 -18
  109. package/packages/cad-styling/src/prioritized/types.d.ts +7 -7
  110. package/packages/camera-manager/index.d.ts +8 -8
  111. package/packages/camera-manager/src/CameraManager.d.ts +78 -74
  112. package/packages/camera-manager/src/CameraManagerHelper.d.ts +42 -42
  113. package/packages/camera-manager/src/ComboControls.d.ts +112 -112
  114. package/packages/camera-manager/src/DefaultCameraManager.d.ts +150 -136
  115. package/packages/camera-manager/src/Keyboard.d.ts +18 -17
  116. package/packages/camera-manager/src/types.d.ts +66 -66
  117. package/packages/data-source/index.d.ts +6 -6
  118. package/packages/data-source/src/CdfDataSource.d.ts +19 -19
  119. package/packages/data-source/src/DataSource.d.ts +25 -25
  120. package/packages/data-source/src/LocalDataSource.d.ts +15 -15
  121. package/packages/logger/index.d.ts +5 -5
  122. package/packages/logger/src/Log.d.ts +5 -5
  123. package/packages/metrics/index.d.ts +4 -4
  124. package/packages/metrics/src/MetricsLogger.d.ts +34 -21
  125. package/packages/metrics/src/types.d.ts +7 -7
  126. package/packages/model-base/index.d.ts +7 -7
  127. package/packages/model-base/src/CogniteModelBase.d.ts +17 -17
  128. package/packages/model-base/src/MetadataRepository.d.ts +7 -7
  129. package/packages/model-base/src/SupportedModelTypes.d.ts +4 -4
  130. package/packages/model-base/src/types.d.ts +36 -36
  131. package/packages/modeldata-api/index.d.ts +12 -12
  132. package/packages/modeldata-api/src/CdfModelDataProvider.d.ts +16 -16
  133. package/packages/modeldata-api/src/CdfModelIdentifier.d.ts +15 -15
  134. package/packages/modeldata-api/src/CdfModelMetadataProvider.d.ts +20 -20
  135. package/packages/modeldata-api/src/LocalModelDataProvider.d.ts +8 -8
  136. package/packages/modeldata-api/src/LocalModelIdentifier.d.ts +14 -14
  137. package/packages/modeldata-api/src/LocalModelMetadataProvider.d.ts +16 -16
  138. package/packages/modeldata-api/src/ModelIdentifier.d.ts +12 -12
  139. package/packages/modeldata-api/src/ModelMetadataProvider.d.ts +18 -18
  140. package/packages/modeldata-api/src/applyDefaultModelTransformation.d.ts +6 -6
  141. package/packages/modeldata-api/src/types.d.ts +43 -43
  142. package/packages/modeldata-api/src/utilities.d.ts +7 -7
  143. package/packages/nodes-api/index.d.ts +6 -6
  144. package/packages/nodes-api/src/NodesApiClient.d.ts +50 -50
  145. package/packages/nodes-api/src/NodesCdfClient.d.ts +24 -24
  146. package/packages/nodes-api/src/NodesLocalClient.d.ts +30 -30
  147. package/packages/nodes-api/src/types.d.ts +10 -10
  148. package/packages/pointclouds/index.d.ts +15 -15
  149. package/packages/pointclouds/src/CognitePointCloudModel.d.ts +131 -131
  150. package/packages/pointclouds/src/PointCloudBudget.d.ts +14 -14
  151. package/packages/pointclouds/src/PointCloudFactory.d.ts +13 -13
  152. package/packages/pointclouds/src/PointCloudIntersection.d.ts +26 -26
  153. package/packages/pointclouds/src/PointCloudManager.d.ts +37 -37
  154. package/packages/pointclouds/src/PointCloudMetadata.d.ts +15 -14
  155. package/packages/pointclouds/src/PointCloudMetadataRepository.d.ts +14 -14
  156. package/packages/pointclouds/src/PointCloudNode.d.ts +69 -69
  157. package/packages/pointclouds/src/{picking.d.ts → PointCloudPickingHandler.d.ts} +36 -29
  158. package/packages/pointclouds/src/PotreeGroupWrapper.d.ts +46 -46
  159. package/packages/pointclouds/src/PotreeNodeWrapper.d.ts +39 -36
  160. package/packages/pointclouds/src/PotreePnextLoader.d.ts +4 -4
  161. package/packages/pointclouds/src/createPointClassKey.d.ts +5 -5
  162. package/packages/pointclouds/src/createPointCloudManager.d.ts +7 -7
  163. package/packages/pointclouds/src/potree-three-loader/Potree.d.ts +43 -46
  164. package/packages/pointclouds/src/potree-three-loader/geometry/IPointCloudTreeGeometry.d.ts +10 -10
  165. package/packages/pointclouds/src/potree-three-loader/geometry/IPointCloudTreeGeometryNode.d.ts +11 -11
  166. package/packages/pointclouds/src/potree-three-loader/geometry/PointCloudEptGeometry.d.ts +50 -50
  167. package/packages/pointclouds/src/potree-three-loader/geometry/PointCloudEptGeometryNode.d.ts +63 -63
  168. package/packages/pointclouds/src/potree-three-loader/geometry/translationUtils.d.ts +7 -7
  169. package/packages/pointclouds/src/potree-three-loader/index.d.ts +10 -10
  170. package/packages/pointclouds/src/potree-three-loader/loading/EptBinaryLoader.d.ts +12 -12
  171. package/packages/pointclouds/src/potree-three-loader/loading/EptLoader.d.ts +5 -5
  172. package/packages/pointclouds/src/potree-three-loader/loading/ILoader.d.ts +4 -4
  173. package/packages/pointclouds/src/potree-three-loader/loading/globalLoadingCounter.d.ts +5 -5
  174. package/packages/pointclouds/src/potree-three-loader/rendering/PointCloudMaterial.d.ts +204 -203
  175. package/packages/pointclouds/src/potree-three-loader/rendering/classification.d.ts +2 -2
  176. package/packages/pointclouds/src/potree-three-loader/rendering/clipping.d.ts +12 -12
  177. package/packages/pointclouds/src/potree-three-loader/rendering/constants.d.ts +15 -14
  178. package/packages/pointclouds/src/potree-three-loader/rendering/enums.d.ts +46 -46
  179. package/packages/pointclouds/src/potree-three-loader/rendering/features.d.ts +6 -6
  180. package/packages/pointclouds/src/potree-three-loader/rendering/gradients/SpectralGradient.d.ts +2 -2
  181. package/packages/pointclouds/src/potree-three-loader/rendering/index.d.ts +5 -5
  182. package/packages/pointclouds/src/potree-three-loader/rendering/texture-generation.d.ts +5 -5
  183. package/packages/pointclouds/src/potree-three-loader/rendering/types.d.ts +10 -10
  184. package/packages/pointclouds/src/potree-three-loader/tree/IPointCloudTreeNode.d.ts +7 -7
  185. package/packages/pointclouds/src/potree-three-loader/tree/IPointCloudTreeNodeBase.d.ts +18 -18
  186. package/packages/pointclouds/src/potree-three-loader/tree/PointAttributes.d.ts +52 -52
  187. package/packages/pointclouds/src/potree-three-loader/tree/PointCloudOctree.d.ts +48 -48
  188. package/packages/pointclouds/src/potree-three-loader/tree/PointCloudOctreeNode.d.ts +27 -27
  189. package/packages/pointclouds/src/potree-three-loader/tree/PointCloudOctreePicker.d.ts +14 -11
  190. package/packages/pointclouds/src/potree-three-loader/tree/PointCloudOctreePickerHelper.d.ts +57 -57
  191. package/packages/pointclouds/src/potree-three-loader/tree/PointCloudTree.d.ts +6 -6
  192. package/packages/pointclouds/src/potree-three-loader/types/IPotree.d.ts +10 -11
  193. package/packages/pointclouds/src/potree-three-loader/types/IVisibilityUpdateResult.d.ts +18 -18
  194. package/packages/pointclouds/src/potree-three-loader/types/type-predicates.d.ts +6 -6
  195. package/packages/pointclouds/src/potree-three-loader/types/types.d.ts +14 -14
  196. package/packages/pointclouds/src/potree-three-loader/utils/BinaryHeap.d.ts +11 -11
  197. package/packages/pointclouds/src/potree-three-loader/utils/WorkerPool.d.ts +31 -31
  198. package/packages/pointclouds/src/potree-three-loader/utils/async-blocking-queue.d.ts +8 -8
  199. package/packages/pointclouds/src/potree-three-loader/utils/bounds.d.ts +6 -6
  200. package/packages/pointclouds/src/potree-three-loader/utils/box3-helper.d.ts +13 -13
  201. package/packages/pointclouds/src/potree-three-loader/utils/lru.d.ts +32 -32
  202. package/packages/pointclouds/src/potree-three-loader/utils/math.d.ts +1 -1
  203. package/packages/pointclouds/src/potree-three-loader/utils/utils.d.ts +8 -8
  204. package/packages/pointclouds/src/potree-three-loader/version.d.ts +9 -9
  205. package/packages/pointclouds/src/potree-three-loader/workers/eptBinaryDecoder.worker.d.ts +18 -18
  206. package/packages/pointclouds/src/types.d.ts +84 -84
  207. package/packages/rendering/index.d.ts +18 -17
  208. package/packages/rendering/src/CadMaterialManager.d.ts +39 -39
  209. package/packages/rendering/src/RenderPass.d.ts +15 -15
  210. package/packages/rendering/src/RenderPipelineExecutor.d.ts +13 -12
  211. package/packages/rendering/src/RenderPipelineProvider.d.ts +15 -15
  212. package/packages/rendering/src/pipeline-executors/BasicPipelineExecutor.d.ts +22 -11
  213. package/packages/rendering/src/render-passes/GeometryPass.d.ts +16 -16
  214. package/packages/rendering/src/render-passes/PointCloudEffectsPass.d.ts +16 -0
  215. package/packages/rendering/src/render-passes/PostProcessingPass.d.ts +21 -24
  216. package/packages/rendering/src/render-passes/SSAOPass.d.ts +14 -14
  217. package/packages/rendering/src/render-passes/types.d.ts +67 -31
  218. package/packages/rendering/src/render-pipeline-providers/CadGeometryRenderModePipelineProvider.d.ts +23 -23
  219. package/packages/rendering/src/render-pipeline-providers/CadGeometryRenderPipelineProvider.d.ts +25 -25
  220. package/packages/rendering/src/render-pipeline-providers/DefaultRenderPipelineProvider.d.ts +37 -34
  221. package/packages/rendering/src/render-pipeline-providers/PointCloudRenderPipelineProvider.d.ts +24 -0
  222. package/packages/rendering/src/render-pipeline-providers/types.d.ts +23 -19
  223. package/packages/rendering/src/rendering/NodeAppearanceTextureBuilder.d.ts +51 -51
  224. package/packages/rendering/src/rendering/RenderMode.d.ts +15 -15
  225. package/packages/rendering/src/rendering/createSimpleGeometryMesh.d.ts +6 -6
  226. package/packages/rendering/src/rendering/matCapTextureData.d.ts +5 -5
  227. package/packages/rendering/src/rendering/materials.d.ts +23 -23
  228. package/packages/rendering/src/rendering/primitives.d.ts +12 -12
  229. package/packages/rendering/src/rendering/shaders.d.ts +100 -87
  230. package/packages/rendering/src/rendering/types.d.ts +89 -76
  231. package/packages/rendering/src/transform/NodeTransformProvider.d.ts +13 -13
  232. package/packages/rendering/src/transform/NodeTransformTextureBuilder.d.ts +24 -23
  233. package/packages/rendering/src/transform/TransformOverrideBuffer.d.ts +21 -21
  234. package/packages/rendering/src/utilities/renderUtilities.d.ts +29 -26
  235. package/packages/rendering/src/utilities/types.d.ts +26 -26
  236. package/packages/sector-loader/index.d.ts +6 -6
  237. package/packages/sector-loader/src/GltfSectorLoader.d.ts +12 -12
  238. package/packages/sector-loader/src/GltfSectorRepository.d.ts +19 -19
  239. package/packages/sector-loader/src/SectorRepository.d.ts +10 -10
  240. package/packages/sector-loader/src/V8SectorRepository.d.ts +26 -26
  241. package/packages/sector-loader/src/v8/SimpleAndDetailedToSector3D.d.ts +20 -20
  242. package/packages/sector-loader/src/v8/arrays.d.ts +5 -5
  243. package/packages/sector-loader/src/v8/groupMeshesByNumber.d.ts +8 -8
  244. package/packages/sector-loader/src/v8/sectorUtilities.d.ts +16 -16
  245. package/packages/sector-parser/index.d.ts +5 -5
  246. package/packages/sector-parser/src/DracoDecoderHelper.d.ts +32 -32
  247. package/packages/sector-parser/src/GltfSectorParser.d.ts +19 -19
  248. package/packages/sector-parser/src/constants.d.ts +6 -6
  249. package/packages/sector-parser/src/lib/draco_decoder_gltf.d.ts +5 -0
  250. package/packages/sector-parser/src/reveal-glb-parser/GlbMetadataParser.d.ts +14 -14
  251. package/packages/sector-parser/src/reveal-glb-parser/primitiveGeometries.d.ts +12 -12
  252. package/packages/sector-parser/src/types.d.ts +106 -106
  253. package/packages/tools/index.d.ts +18 -15
  254. package/packages/tools/src/AxisView/AxisViewTool.d.ts +31 -31
  255. package/packages/tools/src/AxisView/types.d.ts +98 -98
  256. package/packages/tools/src/Cognite3DViewerToolBase.d.ts +25 -25
  257. package/packages/tools/src/DebugCameraTool.d.ts +20 -20
  258. package/packages/tools/src/DebugLoadedSectorsTool.d.ts +23 -23
  259. package/packages/tools/src/ExplodedViewTool.d.ts +12 -12
  260. package/packages/tools/src/Geomap/Geomap.d.ts +17 -17
  261. package/packages/tools/src/Geomap/GeomapTool.d.ts +23 -23
  262. package/packages/tools/src/Geomap/MapConfig.d.ts +195 -195
  263. package/packages/tools/src/HtmlOverlay/BucketGrid2D.d.ts +28 -28
  264. package/packages/tools/src/HtmlOverlay/HtmlOverlayTool.d.ts +166 -160
  265. package/packages/tools/src/Measurement/MeasurementLabels.d.ts +18 -0
  266. package/packages/tools/src/Measurement/MeasurementLine.d.ts +44 -0
  267. package/packages/tools/src/Measurement/MeasurementManager.d.ts +66 -0
  268. package/packages/tools/src/Measurement/MeasurementTool.d.ts +183 -0
  269. package/packages/tools/src/Measurement/types.d.ts +38 -0
  270. package/packages/tools/src/Timeline/Keyframe.d.ts +39 -39
  271. package/packages/tools/src/Timeline/TimelineTool.d.ts +79 -79
  272. package/packages/tools/src/Timeline/types.d.ts +13 -13
  273. package/packages/tools/src/types.d.ts +4 -4
  274. package/packages/utilities/index.d.ts +36 -36
  275. package/packages/utilities/src/CameraConfiguration.d.ts +10 -10
  276. package/packages/utilities/src/DeferredPromise.d.ts +17 -17
  277. package/packages/utilities/src/IndexSet.d.ts +1 -1
  278. package/packages/utilities/src/NumericRange.d.ts +22 -22
  279. package/packages/utilities/src/RandomColors.d.ts +34 -34
  280. package/packages/utilities/src/SceneHandler.d.ts +28 -21
  281. package/packages/utilities/src/WebGLRendererStateHelper.d.ts +29 -27
  282. package/packages/utilities/src/assertNever.d.ts +7 -7
  283. package/packages/utilities/src/cache/MemoryRequestCache.d.ts +24 -24
  284. package/packages/utilities/src/cache/MostFrequentlyUsedCache.d.ts +19 -19
  285. package/packages/utilities/src/cache/RequestCache.d.ts +13 -13
  286. package/packages/utilities/src/calculateVolumeOfMesh.d.ts +4 -4
  287. package/packages/utilities/src/counterMap.d.ts +5 -5
  288. package/packages/utilities/src/datastructures/DynamicDefragmentedBuffer.d.ts +33 -33
  289. package/packages/utilities/src/determinePowerOfTwoDimensions.d.ts +11 -11
  290. package/packages/utilities/src/device.d.ts +10 -10
  291. package/packages/utilities/src/disposeAttributeArrayOnUpload.d.ts +17 -17
  292. package/packages/utilities/src/events/EventTrigger.d.ts +13 -13
  293. package/packages/utilities/src/events/InputHandler.d.ts +30 -30
  294. package/packages/utilities/src/events/clickOrTouchEventOffset.d.ts +13 -13
  295. package/packages/utilities/src/events/index.d.ts +7 -7
  296. package/packages/utilities/src/events/types.d.ts +32 -27
  297. package/packages/utilities/src/indexset/IndexSet.d.ts +26 -26
  298. package/packages/utilities/src/indexset/IntermediateIndexNode.d.ts +26 -26
  299. package/packages/utilities/src/indexset/LeafIndexNode.d.ts +16 -16
  300. package/packages/utilities/src/isMobileOrTablet.d.ts +5 -5
  301. package/packages/utilities/src/networking/isTheSameDomain.d.ts +11 -11
  302. package/packages/utilities/src/objectTraversal.d.ts +8 -8
  303. package/packages/utilities/src/revealEnv.d.ts +10 -10
  304. package/packages/utilities/src/three/AutoDisposeGroup.d.ts +17 -17
  305. package/packages/utilities/src/three/BoundingBoxLOD.d.ts +27 -27
  306. package/packages/utilities/src/three/createFullScreenTriangleGeometry.d.ts +5 -5
  307. package/packages/utilities/src/three/fitCameraToBoundingBox.d.ts +15 -0
  308. package/packages/utilities/src/three/isBox3OnPositiveSideOfPlane.d.ts +10 -10
  309. package/packages/utilities/src/three/toThreeBox3.d.ts +6 -6
  310. package/packages/utilities/src/three/unionBoxes.d.ts +5 -5
  311. package/packages/utilities/src/three/visitBox3CornerPoints.d.ts +12 -12
  312. package/packages/utilities/src/transformCameraConfiguration.d.ts +6 -6
  313. package/packages/utilities/src/types.d.ts +11 -11
  314. package/packages/utilities/src/workers/WorkerPool.d.ts +14 -14
  315. package/packages/utilities/src/worldToViewport.d.ts +30 -30
  316. package/tools.d.ts +7 -7
  317. package/tools.js +2 -280
  318. package/tools.js.LICENSE.txt +7 -0
  319. package/tools.map +1 -1
  320. package/core/cad.d.ts +0 -4
  321. package/core/index.d.ts +0 -6
  322. package/core/src/index.d.ts +0 -13
  323. package/core/src/internals.d.ts +0 -10
  324. package/core/src/public/migration/NotSupportedInMigrationWrapperError.d.ts +0 -11
  325. package/core/src/utilities/index.d.ts +0 -6
  326. package/core/utilities.d.ts +0 -4
  327. package/packages/utilities/src/packFloat.d.ts +0 -6
package/tools.js CHANGED
@@ -1,281 +1,3 @@
1
- !function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var r=t();for(var i in r)("object"==typeof exports?exports:e)[i]=r[i]}}("undefined"!=typeof self?self:this,(function(){return function(e){var t={};function r(i){if(t[i])return t[i].exports;var n=t[i]={i:i,l:!1,exports:{}};return e[i].call(n.exports,n,n.exports,r),n.l=!0,n.exports}return r.m=e,r.c=t,r.d=function(e,t,i){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:i})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var i=Object.create(null);if(r.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)r.d(i,n,function(t){return e[t]}.bind(null,n));return i},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="https://apps-cdn.cogniteapp.com/@cognite/reveal-parser-worker/1.3.0/",r(r.s=75)}([function(e,t){e.exports=require("three")},function(e,t,r){"use strict";
2
- /*!
3
- * Copyright 2021 Cognite AS
4
- */
5
- function i(e,t){if(t(e))for(let r=0;r<e.children.length;r++)i(e.children[r],t)}function n(e,t){if(void 0===e)return;const{position:r,target:i}=e;return r.applyMatrix4(t),i.applyMatrix4(t),{position:r,target:i}}r.d(t,"B",(function(){return i})),r.d(t,"A",(function(){return n})),r.d(t,"e",(function(){return s})),r.d(t,"g",(function(){return b})),r.d(t,"t",(function(){return A})),r.d(t,"n",(function(){return l})),r.d(t,"j",(function(){return p})),r.d(t,"r",(function(){return d})),r.d(t,"f",(function(){return g})),r.d(t,"x",(function(){return w})),r.d(t,"d",(function(){return I})),r.d(t,"a",(function(){return D})),r.d(t,"b",(function(){return G})),r.d(t,"z",(function(){return U})),r.d(t,"q",(function(){return S})),r.d(t,"o",(function(){return F})),r.d(t,"v",(function(){return O})),r.d(t,"C",(function(){return j})),r.d(t,"w",(function(){return V})),r.d(t,"l",(function(){return Z})),r.d(t,"m",(function(){return J})),r.d(t,"h",(function(){return L})),r.d(t,"i",(function(){return X})),r.d(t,"s",(function(){return H})),r.d(t,"y",(function(){return Y})),r.d(t,"u",(function(){return q})),r.d(t,"p",(function(){return $})),r.d(t,"D",(function(){return ee})),r.d(t,"E",(function(){return te})),r.d(t,"c",(function(){return ie})),r.d(t,"k",(function(){return ae}));var o=r(0);
6
- /*!
7
- * Copyright 2021 Cognite AS
8
- */class a{static color(e){const t=a._colors.get(e);if(void 0!==t)return t;const r=a.generateRandomColor();return a._colors.set(e,r),r}static colorRGB(e){const t=a.color(e);return[Math.floor(255*t.r),Math.floor(255*t.g),Math.floor(255*t.b)]}static colorCSS(e){const[t,r,i]=a.colorRGB(e);return`rgb(${t}, ${r}, ${i})`}static generateRandomColor(){const e=Math.random(),t=.4+.6*Math.random(),r=.3+.4*Math.random();return(new o.Color).setHSL(e,t,r)}}
9
- /*!
10
- * Copyright 2021 Cognite AS
11
- */
12
- function f(e,t){const r=t.getBoundingClientRect();if(e instanceof MouseEvent)return{offsetX:e.clientX-r.left,offsetY:e.clientY-r.top};if(e.changedTouches.length>0){const t=e.changedTouches[0];return{offsetX:t.clientX-r.left,offsetY:t.clientY-r.top}}return{offsetX:-1,offsetY:-1}}
13
- /*!
14
- * Copyright 2021 Cognite AS
15
- */a._colors=new Map;class s{constructor(){this._listeners=[]}subscribe(e){this._listeners.push(e)}unsubscribe(e){const t=this._listeners.indexOf(e);-1!==t&&this._listeners.splice(t,1)}unsubscribeAll(){this._listeners.splice(0)}fire(...e){this._listeners.forEach(t=>t(...e))}}var c=r(14),u=r.n(c);
16
- /*!
17
- * Copyright 2021 Cognite AS
18
- */
19
- function l(e,t){throw new Error(t||"Unexpected object: "+e)}
20
- /*!
21
- * Copyright 2021 Cognite AS
22
- */class b{constructor(e){this._events={click:new s,hover:new s},this.onHoverCallback=u()(e=>{this._events.hover.fire(f(e,this.domElement))},100),this.domElement=e,this.setupEventListeners()}on(e,t){switch(e){case"click":this._events.click.subscribe(t);break;case"hover":this._events.hover.subscribe(t);break;default:l(e)}}off(e,t){switch(e){case"click":this._events.click.unsubscribe(t);break;case"hover":this._events.hover.unsubscribe(t);break;default:l(e)}}dispose(){A(this._events)}setupEventListeners(){const{domElement:e}=this;let t=!1,r=0,i=!1;const n=new o.Vector2,a=o=>{this.handleClickEvent(o,n,t,i,r),t=!1,i=!1,e.removeEventListener("mouseup",a),e.removeEventListener("touchend",a),e.addEventListener("mousemove",this.onHoverCallback)},s=o=>{t=!0,i=!0,r=o.timeStamp;const{offsetX:s,offsetY:c}=f(o,e);n.set(s,c),e.addEventListener("mouseup",a),e.addEventListener("touchend",a),e.removeEventListener("mousemove",this.onHoverCallback)};e.addEventListener("mousedown",s),e.addEventListener("touchstart",s),e.addEventListener("mousemove",this.onHoverCallback)}isProperClick(e,t,r,i,n){const{offsetX:o,offsetY:a}=f(e,this.domElement),s=e.timeStamp-n,c=Math.abs(o-t.x)+Math.abs(a-t.y)>b.maxMoveDistance;return r&&i&&s<b.maxClickDuration&&!c}handleClickEvent(e,t,r,i,n){if(this.isProperClick(e,t,r,i,n)){const t={...f(e,this.domElement),button:e instanceof MouseEvent?e.button:void 0};this._events.click.fire(t)}}}function A(e){for(const t of Object.keys(e))e[t].unsubscribeAll()}
23
- /*!
24
- * Copyright 2022 Cognite AS
25
- */
26
- /*!
27
- * Copyright 2021 Cognite AS
28
- */
29
- /*!
30
- * Copyright 2021 Cognite AS
31
- */b.maxMoveDistance=8,b.maxClickDuration=250;class p{constructor(e,t){if(t<0)throw new Error("Range cannot have negative number of elements");this.from=e,this.count=t,this.toInclusive=e+t-1}static createFromInterval(e,t){return new p(e,t-e+1)}*values(){for(let e=this.from;e<=this.toInclusive;++e)yield e}toArray(){return Array.from(this.values())}equal(e){return this.from===e.from&&this.count===e.count}contains(e){return e>=this.from&&e<=this.toInclusive}intersects(e){return this.from<=e.toInclusive&&this.toInclusive>=e.from}intersectsOrCoinciding(e){return this.from<=e.toInclusive+1&&this.toInclusive+1>=e.from}intersectionWith(e){return this.intersects(e)?p.createFromInterval(Math.max(this.from,e.from),Math.min(this.toInclusive,e.toInclusive)):void 0}isInside(e){return this.from>=e.from&&this.toInclusive<=e.toInclusive}union(e){return p.createFromInterval(Math.min(this.from,e.from),Math.max(this.toInclusive,e.toInclusive))}forEach(e){for(let t=this.from;t<=this.toInclusive;++t)e(t)}toString(){return"("+this.from+", "+this.toInclusive+")"}static isNumericRange(e){if(!e)return!1;const t=e;return void 0!==t.from&&void 0!==t.count&&void 0!==t.toInclusive}}
32
- /*!
33
- * Copyright 2021 Cognite AS
34
- */function d(e){const t=Math.max(1,h(Math.sqrt(e)));return{width:t,height:Math.max(1,h(e/t))}}const _=Math.log(2);function h(e){return Math.pow(2,Math.ceil(Math.log(e)/_))}var k=r(2),m=r.n(k);class y{constructor(e,t){this.left=e,this.right=t,this.maxSubtreeDepth=Math.max(this.left.maxSubtreeDepth,this.right.maxSubtreeDepth)+1,this.range=p.createFromInterval(this.left.range.from,this.right.range.toInclusive),this.count=this.left.count+this.right.count}static fromIndexNodesAndBalance(e,t){return e.range.from>t.range.toInclusive+1?new y(t,e).balance():e.range.toInclusive+1<t.range.from?new y(e,t).balance():void m()(!1,"Internal error in IndexSet: Overlapping nodes")}traverse(e){this.left.traverse(e),this.right.traverse(e)}contains(e){return!!this.range.contains(e)&&(this.left.contains(e)||this.right.contains(e))}addRange(e){if(!e.intersectsOrCoinciding(this.range)){if(e.from<this.range.from){const t=this.left.addRange(e);return y.fromIndexNodesAndBalance(t,this.right)}{const t=this.right.addRange(e);return y.fromIndexNodesAndBalance(this.left,t)}}const t=e.intersectsOrCoinciding(this.left.range),r=e.intersectsOrCoinciding(this.right.range);if(t&&r){const[t,r]=this.left.soak(e),[i,n]=this.right.soak(e),o=r.union(n);if(void 0===t&&void 0===i)return new v(o);if(void 0===t&&void 0!==i)return i.addRange(o);if(void 0===i&&void 0!==t)return t.addRange(o);return y.fromIndexNodesAndBalance(t,i).addRange(o)}return t?y.fromIndexNodesAndBalance(this.left.addRange(e),this.right):r?y.fromIndexNodesAndBalance(this.left,this.right.addRange(e)):this.left.maxSubtreeDepth<this.right.maxSubtreeDepth?y.fromIndexNodesAndBalance(this.left.addRange(e),this.right):y.fromIndexNodesAndBalance(this.left,this.right.addRange(e))}removeRange(e){if(!e.intersects(this.range))return this;const[t,r]=this.soak(e);let i=void 0,n=void 0;if(r.from<e.from&&(i=p.createFromInterval(r.from,e.from-1)),r.toInclusive>e.toInclusive&&(n=p.createFromInterval(e.toInclusive+1,r.toInclusive)),void 0===t)return void 0!==i&&void 0!==n?y.fromIndexNodesAndBalance(new v(i),new v(n)):null!=i?new v(i):null!=n?new v(n):void 0;{let e=t;return void 0!==i&&(e=e.addRange(i)),void 0!==n&&(e=e.addRange(n)),e}}balance(){const e=this.left.maxSubtreeDepth,t=this.right.maxSubtreeDepth;if(t+2<=e){const e=this.left.rotateSmallerRight();return new y(e,this.right).rotateRight().balance()}if(e+2<=t){const e=this.right.rotateSmallerLeft();return new y(this.left,e).rotateLeft().balance()}return this}clone(){return y.fromIndexNodesAndBalance(this.left.clone(),this.right.clone())}hasIntersectionWith(e){return!!e.range.intersects(this.range)&&(this.range.isInside(e.range)?e.hasIntersectionWith(this):!(!this.left.range.intersects(e.range)||!this.left.hasIntersectionWith(e))||!(!this.right.range.intersects(e.range)||!this.right.hasIntersectionWith(e)))}soak(e){let[t,r]=[this.left,e],[i,n]=[this.right,e];if(this.right.range.isInside(e)&&this.left.range.isInside(e))return[void 0,e];this.left.range.intersectsOrCoinciding(e)&&([t,r]=this.left.soak(e)),this.right.range.intersectsOrCoinciding(e)&&([i,n]=this.right.soak(e));const o=r.union(n);if(null==i)return[t,o];if(null==t)return[i,o];return[y.fromIndexNodesAndBalance(t,i),o]}rotateRight(){return"right"in this.left?new y(this.left.left,new y(this.left.right,this.right)):this}rotateLeft(){return"left"in this.right?new y(new y(this.left,this.right.left),this.right.right):this}rotateSmallerLeft(){if(this.left.maxSubtreeDepth>this.right.maxSubtreeDepth){let e=this.rotateRight();return e=e.rotateSmallerLeft(),e}return this}rotateSmallerRight(){if(this.right.maxSubtreeDepth>this.left.maxSubtreeDepth){let e=this.rotateLeft();return e=e.rotateSmallerRight(),e}return this}}
35
- /*!
36
- * Copyright 2021 Cognite AS../NumericRange
37
- */class v{constructor(e){this.range=e,this.maxSubtreeDepth=0,this.count=e.count}static fromInterval(e,t){return new v(p.createFromInterval(e,t))}traverse(e){e(this.range)}contains(e){return this.range.contains(e)}addRange(e){return this.range.intersectsOrCoinciding(e)?new v(this.range.union(e)):y.fromIndexNodesAndBalance(this,new v(e))}removeRange(e){if(!e.intersects(this.range))return this;if(this.range.isInside(e))return;let t=void 0,r=void 0;return this.range.from<e.from&&(t=p.createFromInterval(this.range.from,e.from-1)),this.range.toInclusive>e.toInclusive&&(r=p.createFromInterval(e.toInclusive+1,this.range.toInclusive)),null!=t&&null!=r?y.fromIndexNodesAndBalance(new v(t),new v(r)):null!=t?new v(t):null!=r?new v(r):void 0}hasIntersectionWith(e){return e.range.intersects(this.range)}soak(e){return this.range.intersectsOrCoinciding(e)?[void 0,this.range.union(e)]:[this,e]}clone(){return new v(this.range)}}class g{constructor(e){if(null==e)this.rootNode=void 0;else if(p.isNumericRange(e))this.addRange(e);else for(const t of e)this.add(t)}forEachRange(e){this.rootNode&&this.rootNode.traverse(e)}add(e){const t=new p(e,1);this.addRange(t)}addRange(e){this.rootNode?this.rootNode=this.rootNode.addRange(e):this.rootNode=new v(e)}remove(e){const t=new p(e,1);this.removeRange(t)}removeRange(e){this.rootNode&&(this.rootNode=this.rootNode.removeRange(e))}contains(e){return!!this.rootNode&&this.rootNode.contains(e)}get count(){return this.rootNode?this.rootNode.count:0}toRangeArray(){const e=[];return this.forEachRange(t=>{e.push(t)}),e}toIndexArray(){const e=[];return this.rootNode&&this.forEachRange(t=>{t.forEach(t=>{e.push(t)})}),e}toPlainSet(){const e=this.toIndexArray();return new Set(e)}invertedRanges(){const e=this.toRangeArray(),t=[];for(let r=0;r<e.length-1;r++)e[r].toInclusive+1>=e[r+1].from||t.push(p.createFromInterval(e[r].toInclusive+1,e[r+1].from-1));return t}unionWith(e){return this.rootNode?e.forEachRange(e=>{this.rootNode=this.rootNode.addRange(e)}):this.rootNode=e.rootNode,this}differenceWith(e){return this.rootNode&&e.forEachRange(e=>{var t;this.rootNode=null===(t=this.rootNode)||void 0===t?void 0:t.removeRange(e)}),this}hasIntersectionWith(e){if(e instanceof g)return void 0!==this.rootNode&&void 0!==e.rootNode&&this.rootNode.hasIntersectionWith(e.rootNode);if(e instanceof Map){for(const t of e.keys())if(this.contains(t))return!0;return!1}for(const t of e)if(this.contains(t))return!0;return!1}intersectWith(e){if(this.rootNode&&e.rootNode){if(this.rootNode.range.from<e.rootNode.range.from){const t=p.createFromInterval(this.rootNode.range.from,e.rootNode.range.from-1);if(this.rootNode=this.rootNode.removeRange(t),!this.rootNode)return this}if(this.rootNode.range.toInclusive>e.rootNode.range.toInclusive){const t=p.createFromInterval(e.rootNode.range.toInclusive+1,this.rootNode.range.toInclusive);this.rootNode=this.rootNode.removeRange(t)}e.invertedRanges().forEach(e=>{this.rootNode&&(this.rootNode=this.rootNode.removeRange(e))})}else this.rootNode&&(this.rootNode=void 0);return this}clear(){this.rootNode=void 0}clone(){const e=new g;return this.rootNode&&(e.rootNode=this.rootNode.clone()),e}}
38
- /*!
39
- * Copyright 2021 Cognite AS
40
- */function w(e,t,r){const i=N(e);if(0==i)return;const n=E(0,-e);let o=x(R(i));const a=i/T(o);a<1&&(o-=1),o+=127,t[r]=128*n+x(o*T(-1)),t[r+1]=128*B(o,2)+B(x(128*a),128),t[r+2]=x(B(x(a*T(15)),T(8))),t[r+3]=x(T(23)*B(a,T(-15)))}function E(e,t){return t<e?0:1}function T(e){return Math.pow(2,e)}function B(e,t){return e-t*x(e/t)}function x(e){return Math.floor(e)}function R(e){return Math.log(e)/Math.log(2)}function N(e){return Math.abs(e)}
41
- /*!
42
- * Copyright 2021 Cognite AS
43
- */class I{constructor(e,t){this._numFilled=0,this._batchIdCounter=0,this._batchMap=new Map,this._type=t;const r=Math.pow(2,Math.ceil(Math.log2(e)));this._bufferView=new t(r)}get length(){return this._numFilled}get bufferView(){return this._bufferView}add(e){let t=!1;if(this._numFilled+e.length>this._bufferView.length){const r=Math.pow(2,Math.ceil(Math.log2(this._numFilled+e.length)));this.allocateNewBuffer(r),t=!0}this._bufferView.set(e,this._numFilled);const r=this.createBatch(e),i=this._numFilled;this._numFilled+=e.length;return{batchId:r,bufferIsReallocated:t,updateRange:{byteOffset:i,byteCount:e.length}}}remove(e){const t=this._batchMap.get(e);if(!t)throw new Error("batch does not exist in buffer");this._bufferView.copyWithin(t.from,t.from+t.count,this._numFilled),this._numFilled-=t.count;const r=t.from,i=this._numFilled-t.from;this._currentTail===t&&(this._currentTail=t.prev);const n=t.prev,o=t.next;n&&(n.next=o),o&&(o.prev=n);let a=o;for(;a;)a.from-=t.count,a=a.next;return this._batchMap.delete(e),{byteOffset:r,byteCount:i}}getRangeForBatchId(e){const t=this._batchMap.get(e);if(!t)throw new Error("batch does not exist in buffer");return{byteOffset:t.from,byteCount:t.count}}createBatch(e){const t={from:this._numFilled,count:e.length,prev:this._currentTail,next:void 0};this._currentTail&&(this._currentTail.next=t),this._currentTail=t;const r=this._batchIdCounter;return this._batchIdCounter++,this._batchMap.set(r,t),r}allocateNewBuffer(e){const t=new this._type(e);t.set(this._bufferView),this._bufferView=t}}
44
- /*!
45
- * Copyright 2021 Cognite AS
46
- */const C=new o.BufferGeometry;class D extends o.Group{constructor(){super(...arguments),this._isDisposed=!1,this._referenceCount=0}reference(){this.ensureNotDisposed(),this._referenceCount++}dereference(){if(this.ensureNotDisposed(),0===this._referenceCount)throw new Error("No references");0==--this._referenceCount&&this.dispose()}dispose(){this.ensureNotDisposed(),this._isDisposed=!0;for(const e of this.children)e instanceof o.Mesh&&void 0!==e.geometry&&(e.geometry.dispose(),e.geometry=C),e instanceof o.BufferGeometry&&e.dispose();this.clear()}ensureNotDisposed(){if(this._isDisposed)throw new Error("Already disposed/dereferenced")}}
47
- /*!
48
- * Copyright 2021 Cognite AS
49
- */const M={camPos:new o.Vector3,bounds:new o.Box3};class G extends o.Object3D{constructor(e){super(),this._activeLevel=0,this._levels=[],this.isLOD=!0,this.autoUpdate=!0,this._boundingBox=e.clone(),this.type="BoundingBoxLOD"}setBoundingBox(e){this._boundingBox.copy(e)}addLevel(e,t=0){this._levels.push({object:e,distance:Math.abs(t)}),this._levels.sort((e,t)=>t.distance-e.distance),e.visible=!1,this.add(e)}getCurrentLevel(){return this._levels.length>0?this._levels.length-this._activeLevel-1:0}update(e){this.updateCurrentLevel(e)}updateCurrentLevel(e){const t=this._levels,{camPos:r,bounds:i}=M;i.copy(this._boundingBox).applyMatrix4(this.matrixWorld);const n=e instanceof o.PerspectiveCamera?e.zoom:1;if(t.length>0){r.setFromMatrixPosition(e.matrixWorld);const o=i.distanceToPoint(r)/n;t[this._activeLevel].object.visible=!1,this._activeLevel=t.findIndex(e=>o>=e.distance),this._activeLevel=this._activeLevel>=0?this._activeLevel:t.length-1,t[this._activeLevel].object.visible=!0}}}
50
- /*!
51
- * Copyright 2021 Cognite AS
52
- */function U(e,t){return(t=null!=t?t:new o.Box3).min.set(e.min[0],e.min[1],e.min[2]),t.max.set(e.max[0],e.max[1],e.max[2]),t}
53
- /*!
54
- * Copyright 2022 Cognite AS
55
- */function V(){let e=!1;var t;return t=navigator.userAgent||navigator.vendor||window.opera,(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i.test(t)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(t.substr(0,4)))&&(e=!0),e}
56
- /*!
57
- * Copyright 2022 Cognite AS
58
- */function S(){
59
- /*!
60
- * Copyright 2021 Cognite AS
61
- */
62
- return function(){let e=!1;var t;return t=navigator.userAgent||navigator.vendor||window.opera,(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(t)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(t.substr(0,4)))&&(e=!0),e}()?{deviceType:"mobile"}:V()?{deviceType:"tablet"}:{deviceType:"desktop"}}
63
- /*!
64
- * Copyright 2022 Cognite AS
65
- */function F(){const e=new o.BufferGeometry,t=new Float32Array([-1,-1,0,3,-1,0,-1,3,0]),r=new Float32Array([0,0,2,0,0,2]);return e.setAttribute("position",new o.BufferAttribute(t,3)),e.setAttribute("uv",new o.BufferAttribute(r,2)),e}
66
- /*!
67
- * Copyright 2021 Cognite AS
68
- */const W={tmpVector:new o.Vector3};function j(e,t){const{tmpVector:r}=W;r.set(e.min.x,e.min.y,e.min.z),t(r),r.set(e.min.x,e.min.y,e.max.z),t(r),r.set(e.min.x,e.max.y,e.min.z),t(r),r.set(e.min.x,e.max.y,e.max.z),t(r),r.set(e.max.x,e.min.y,e.min.z),t(r),r.set(e.max.x,e.min.y,e.max.z),t(r),r.set(e.max.x,e.max.y,e.min.z),t(r),r.set(e.max.x,e.max.y,e.max.z),t(r)}function O(e,t){let r=!1;return j(e,e=>{r=r||t.distanceToPoint(e)>=0}),r}
69
- /*!
70
- * Copyright 2021 Cognite AS
71
- */class Z{constructor(e){this._originalState={},this._renderer=e,this._originalState={}}setScissor(e,t,r,i){const n=this._renderer.getScissor(new o.Vector4);this._originalState={scissorData:n||void 0,...this._originalState},this._renderer.setScissor(e,t,r,i)}setScissorTest(e){this._originalState={scissorTest:this._renderer.getScissorTest(),...this._originalState},this._renderer.setScissorTest(e)}setClearColor(e,t){this._originalState={clearColor:this._renderer.getClearColor(new o.Color),clearAlpha:this._renderer.getClearAlpha(),...this._originalState},this._renderer.setClearColor(e,t)}setWebGLState(e){var t,r,i;const n=this._renderer.getContext();if(this._originalState={webGLState:{buffers:(null==e?void 0:e.buffers)?{}:void 0},...this._originalState},null===(t=null==e?void 0:e.buffers)||void 0===t?void 0:t.depth){const t=null===(r=e.buffers.depth)||void 0===r?void 0:r.test,o=null===(i=e.buffers.depth)||void 0===i?void 0:i.mask;this._originalState.webGLState.buffers.depth={test:t?n.getParameter(n.DEPTH_TEST):void 0,mask:o?n.getParameter(n.DEPTH_WRITEMASK):void 0},o&&this._renderer.state.buffers.depth.setMask(o),t&&this._renderer.state.buffers.depth.setTest(t)}}setSize(e,t){this._originalState={size:this._renderer.getSize(new o.Vector2),...this._originalState},this._renderer.setSize(e,t)}set localClippingEnabled(e){this._originalState={localClippingEnabled:this._renderer.localClippingEnabled,...this._originalState},this._renderer.localClippingEnabled=e}set autoClear(e){this._originalState={autoClear:this._renderer.autoClear,...this._originalState},this._renderer.autoClear=e}setRenderTarget(e){this._originalState={renderTarget:this._renderer.getRenderTarget(),...this._originalState},this._renderer.setRenderTarget(e)}resetState(){var e,t,r,i;if(void 0!==this._originalState.autoClear&&(this._renderer.autoClear=this._originalState.autoClear),void 0!==this._originalState.clearColor&&this._renderer.setClearColor(this._originalState.clearColor,this._originalState.clearAlpha),void 0!==this._originalState.localClippingEnabled&&(this._renderer.localClippingEnabled=this._originalState.localClippingEnabled),void 0!==this._originalState.size&&this._renderer.setSize(this._originalState.size.width,this._originalState.size.height),void 0!==this._originalState.renderTarget&&this._renderer.setRenderTarget(this._originalState.renderTarget),void 0!==this._originalState.scissorData&&this._renderer.setScissor(this._originalState.scissorData),void 0!==this._originalState.scissorTest&&this._renderer.setScissorTest(this._originalState.scissorTest),void 0!==this._originalState.webGLState&&(null===(t=null===(e=this._originalState.webGLState)||void 0===e?void 0:e.buffers)||void 0===t?void 0:t.depth)){const e=null===(r=this._originalState.webGLState.buffers.depth)||void 0===r?void 0:r.test,t=null===(i=this._originalState.webGLState.buffers.depth)||void 0===i?void 0:i.mask;t&&this._renderer.state.buffers.depth.setMask(t),e&&this._renderer.state.buffers.depth.setTest(e)}this._originalState={}}}var P=r(25);
72
- /*!
73
- * Copyright 2021 Cognite AS
74
- */const Y={publicPath:""};
75
- /*!
76
- * Copyright 2021 Cognite AS
77
- */var z=r(10);
78
- /*!
79
- * Copyright 2021 Cognite AS
80
- */class J{constructor(){this.workerList=[];const e=this.determineNumberOfWorkers();for(let t=0;t<e;t++){const e={worker:Object(P.wrap)(this.createWorker()),activeJobCount:0,messageIdCounter:0};this.workerList.push(e)}(async function(e){let t;try{t=await e.getVersion()}catch(e){t="1.1.0"}const r="1.3.0",[i,n,o]=r.split(".").map(e=>parseInt(e,10)),[a,f,s]=t.split(".").map(e=>parseInt(e,10)),c=`Update your local copy of @cognite/reveal-parser-worker. Required version is ${r}. Received ${t}.`;if(i!==a)throw new Error(c);if(f<n)throw new Error(c);if(f===n&&s<o)throw new Error(c)}
81
- /*!
82
- * Copyright 2021 Cognite AS
83
- */)(this.workerList[0].worker).catch(e=>z.a.error(e)),this.workerObjUrl&&URL.revokeObjectURL(this.workerObjUrl)}static get defaultPool(){return J._defaultPool=J._defaultPool||new J,J._defaultPool}createWorker(){const e=(Y.publicPath||r.p)+"reveal.parser.worker.js",t={name:"reveal.parser #"+this.workerList.length};if(function(e,t=location.origin){const r=e=>!e.match(/^.*\/\//);if(r(t))throw new Error("isTheSameDomain: the second argument must be an absolute url or omitted. Received "+t);if(r(e))return!0;try{const r=[e,t].map(e=>e.startsWith("//")?"https:"+e:e).map(e=>new URL(e));return r[0].host===r[1].host}catch(r){return console.error(`can not create URLs for ${e} and ${t}`,r),!1}}(e))return new Worker(e,t);if(!this.workerObjUrl){const t=new Blob([`importScripts(${JSON.stringify(e)});`],{type:"text/javascript"});this.workerObjUrl=URL.createObjectURL(t)}return new Worker(this.workerObjUrl,t)}async postWorkToAvailable(e){const t=this.workerList.reduce((e,t)=>e.activeJobCount>t.activeJobCount?t:e,this.workerList[0]);t.activeJobCount+=1;return await(async()=>{try{return await e(t.worker)}finally{t.activeJobCount-=1}})()}determineNumberOfWorkers(){return Math.max(2,Math.min(4,window.navigator.hardwareConcurrency||2))}}class Q{constructor(e){this._value=e,this._lastAccessTime=Date.now()}get value(){return this.touch(),this._value}get lastAccessTime(){return this._lastAccessTime}touch(){this._lastAccessTime=Date.now()}}class L{constructor(e=50,t,r=10){this._data=new Map,this._maxElementsInCache=e,this._defaultCleanupCount=Math.max(r,1),this._removeCallback=t}has(e){return this._data.has(e)}forceInsert(e,t){this.isFull()&&this.cleanCache(this._defaultCleanupCount),this.insert(e,t)}insert(e,t){if(this._data.size<this._maxElementsInCache)this._data.set(e,new Q(t));else if(this._maxElementsInCache>0)throw new Error("Cache full, please clean Cache and retry adding data")}remove(e){if(void 0!==this._removeCallback){const t=this._data.get(e);void 0!==t&&this._removeCallback(t.value)}this._data.delete(e)}get(e){const t=this._data.get(e);if(void 0!==t)return t.value;throw new Error(`Cache element ${e} does not exist`)}isFull(){return this._data.size>=this._maxElementsInCache}cleanCache(e){const t=Array.from(this._data.entries());t.sort((e,t)=>t[1].lastAccessTime-e[1].lastAccessTime);for(let r=0;r<e;r++){const e=t.pop();if(void 0===e)return;this.remove(e[0])}}resize(e){this._maxElementsInCache=e,this._defaultCleanupCount=Math.max(e*L.CLEANUP_COUNT_TO_CAPACITY_RATIO,1),this.isFull()&&this.cleanCache(this._data.size-this._maxElementsInCache)}clear(){if(void 0!==this._removeCallback)for(const e of this._data.values())this._removeCallback(e.value);this._data.clear()}}L.CLEANUP_COUNT_TO_CAPACITY_RATIO=.2;
84
- /*!
85
- * Copyright 2021 Cognite AS
86
- */
87
- class X{constructor(e,t){this._cache=new Map,this._retrieves=new Map,this._capacity=e,this._disposeCallback=t}get(e){const t=this._retrieves.get(e)||0;return this._retrieves.set(e,t+1),this._cache.get(e)}set(e,t){return this._cache.has(e)||this._capacity<this._cache.size?(this._cache.set(e,t),!0):(this._cache.set(e,t),this.ensureWithinCapacity(),this._cache.has(e))}remove(e){this._retrieves.delete(e);const t=this._cache.get(e);return void 0!==t&&(void 0!==this._disposeCallback&&this._disposeCallback(t),this._cache.delete(e),!0)}clear(){if(void 0!==this._disposeCallback)for(const e of this._cache.values())this._disposeCallback(e);this._retrieves.clear(),this._cache.clear()}ensureWithinCapacity(){if(this._capacity>=this._cache.size)return;const e=Array.from(this._cache.keys()).map(e=>({key:e,retrivalCount:this._retrieves.get(e)||0})).sort((e,t)=>e.retrivalCount-t.retrivalCount).slice(0,this._cache.size-this._capacity).map(e=>e.key);for(const t of e)this.remove(t)}}
88
- /*!
89
- * Copyright 2021 Cognite AS
90
- */function H(){this.array=null}function q(e,t){const r=e.get(t);void 0===r?e.set(t,1):e.set(t,r+1)}function $(e,t){const r=e.get(t);void 0!==r&&(r<=1?e.delete(t):e.set(t,r-1))}r(16),r(27);
91
- /*!
92
- * Copyright 2021 Cognite AS
93
- */
94
- const K={renderSize:new o.Vector2,position:new o.Vector3};function ee(e,t,r=new o.Vector3){const{position:i}=K;i.copy(t),i.project(e);const n=(i.x+1)/2,a=(1-i.y)/2;return r.set(n,a,i.z)}function te(e,t,r,i=new o.Vector3){ee(t,r,i);const{renderSize:n}=K;e.getSize(n);const a=e.domElement,{width:f,height:s}=a.getBoundingClientRect();return i.x=Math.round(i.x*f),i.y=Math.round(i.y*s),i}
95
- /*!
96
- * Copyright 2022 Cognite AS
97
- */var re;class ie{constructor(){this[re]="Promise",this._state="pending",this._promise=new Promise((e,t)=>{this._resolve=e,this._reject=t})}get state(){return this._state}finally(e){return this._promise.finally(e)}then(e,t){return this._promise.then(e,t)}catch(e){return this._promise.catch(e)}resolve(e){this._resolve(e),this._state="fulfilled"}reject(e){this._reject(e),this._state="rejected"}}re=Symbol.toStringTag;var ne=r(20),oe=r.n(ne);
98
- /*!
99
- * Copyright 2022 Cognite AS
100
- */
101
- class ae{constructor(){this._cadModels=[],this._customObjects=[],this._scene=new o.Scene,this._scene.autoUpdate=!1}get scene(){return this._scene}get cadModels(){return this._cadModels}get customObjects(){return this._customObjects}addCadModel(e,t){this._cadModels.push({object:e,modelIdentifier:t}),this._scene.add(e)}removeCadModel(e){this.scene.remove(e),oe()(this._cadModels,{object:e})}addCustomObject(e){this._customObjects.push(e),this._scene.add(e)}removeCustomObject(e){this.scene.remove(e),oe()(this._customObjects,e)}dispose(){this._cadModels.splice(0),this._customObjects.splice(0),this.scene.traverse(e=>{var t,r;(e instanceof o.Mesh||e instanceof o.Points||e instanceof o.Line)&&(null===(t=e.geometry)||void 0===t||t.dispose(),Array.isArray(e.material)?e.material.forEach(e=>e.dispose()):null===(r=e.material)||void 0===r||r.dispose())}),this.scene.clear()}}
102
- /*!
103
- * Copyright 2021 Cognite AS
104
- */},function(e,t){e.exports=require("assert")},function(e,t,r){"use strict";r.d(t,"b",(function(){return _})),r.d(t,"a",(function(){return y})),r.d(t,"f",(function(){return E})),r.d(t,"e",(function(){return T})),r.d(t,"c",(function(){return B})),r.d(t,"d",(function(){return w})),r.d(t,"m",(function(){return S})),r.d(t,"n",(function(){return F})),r.d(t,"o",(function(){return j})),r.d(t,"p",(function(){return W})),r.d(t,"l",(function(){return Z})),r.d(t,"g",(function(){return P})),r.d(t,"t",(function(){return z})),r.d(t,"i",(function(){return X})),r.d(t,"w",(function(){return Q})),r.d(t,"r",(function(){return $})),r.d(t,"v",(function(){return q})),r.d(t,"h",(function(){return Y})),r.d(t,"u",(function(){return J})),r.d(t,"s",(function(){return K})),r.d(t,"k",(function(){return te})),r.d(t,"q",(function(){return p})),r.d(t,"j",(function(){return le}));var i=r(0),n=r(1),o=r(28),a=r.n(o);
105
- /*!
106
- * Copyright 2021 Cognite AS
107
- */
108
- class f{constructor(e,t,r,i,n){this.version=e,this.maxTreeIndex=t,this.root=i,this.sectors=n,this.unit=r}get sectorCount(){return this.sectors.size}getSectorById(e){return this.sectors.get(e)}getAllSectors(){return[...this.sectors.values()]}getSectorsContainingPoint(e){const t=[];return Object(n.B)(this.root,r=>!!r.subtreeBoundingBox.containsPoint(e)&&(t.push(r),!0)),t}getSectorsIntersectingBox(e){const t=[];return Object(n.B)(this.root,r=>!!r.subtreeBoundingBox.intersectsBox(e)&&(t.push(r),!0)),t}getBoundsOfMostGeometry(){var e;return this._cachedBoundsOfMostGeometry=null!==(e=this._cachedBoundsOfMostGeometry)&&void 0!==e?e:this.computeBoundsOfMostGeometry(),this._cachedBoundsOfMostGeometry}getSectorsIntersectingFrustum(e,t){const r=(new i.Matrix4).multiplyMatrices(e,t),o=(new i.Frustum).setFromProjectionMatrix(r),a=[];return Object(n.B)(this.root,e=>!!o.intersectsBox(e.subtreeBoundingBox)&&(a.push(e),!0)),a}computeBoundsOfMostGeometry(){if(0===this.root.children.length)return this.root.subtreeBoundingBox;const e=[],t=[];Object(n.B)(this.root,r=>(0===r.children.length&&(t.push(r.subtreeBoundingBox.min.toArray(),r.subtreeBoundingBox.max.toArray()),e.push(r.subtreeBoundingBox,r.subtreeBoundingBox)),!0));const r=Math.min(t.length,4),o=a()(t,r,"kmpp",10),f=new Array(o.idxs.length).fill(0),s=f.map(e=>new i.Box3);o.idxs.map(e=>f[e]++);const c=f.reduce((e,t,r)=>(t>e.count&&(e.count=t,e.idx=r),e),{count:0,idx:-1}).idx;o.idxs.forEach((t,r)=>{f[t]++,s[t].expandByPoint(e[r].min),s[t].expandByPoint(e[r].max)});const u=s.filter((e,t)=>!(t===c||!e.intersectsBox(s[c])));if(u.length>0){const e=s[c].clone();return u.forEach(t=>{e.expandByPoint(t.min),e.expandByPoint(t.max)}),e}return s[c]}}
109
- /*!
110
- * Copyright 2021 Cognite AS
111
- */function s(e){const t=new Map,r=[];e.sectors.forEach(e=>{var n;const o=function(e){const t=function(e){if(!e.facesFile)return{quadSize:-1,coverageFactors:{xy:-1,yz:-1,xz:-1},recursiveCoverageFactors:{xy:-1,yz:-1,xz:-1},fileName:null,downloadSize:e.indexFile.downloadSize};return{...e.facesFile,recursiveCoverageFactors:e.facesFile.recursiveCoverageFactors||e.facesFile.coverageFactors}}(e),r=e.boundingBox,n=r.min.x,o=r.min.y,a=r.min.z,f=r.max.x,s=r.max.y,c=r.max.z;return{id:e.id,path:e.path,depth:e.depth,subtreeBoundingBox:new i.Box3(new i.Vector3(n,o,a),new i.Vector3(f,s,c)),estimatedDrawCallCount:e.estimatedDrawCallCount||0,estimatedRenderCost:e.estimatedTriangleCount||0,indexFile:{...e.indexFile},facesFile:t,children:[]}}(e);t.set(e.id,o),r[e.id]=null!==(n=e.parentId)&&void 0!==n?n:-1});for(const e of t.values()){const i=r[e.id];if(-1===i)continue;t.get(i).children.push(e)}const n=t.get(0);if(!n)throw new Error("Root sector not found, must have ID 0");!function e(t,r){!function(e){return-1===e.facesFile.coverageFactors.xy}(t)?t.children.forEach(r=>e(r,t.facesFile)):(t.facesFile.coverageFactors.xy=r.recursiveCoverageFactors.xy,t.facesFile.coverageFactors.yz=r.recursiveCoverageFactors.yz,t.facesFile.coverageFactors.xz=r.recursiveCoverageFactors.xz,t.facesFile.recursiveCoverageFactors.xy=r.recursiveCoverageFactors.xy,t.facesFile.recursiveCoverageFactors.yz=r.recursiveCoverageFactors.yz,t.facesFile.recursiveCoverageFactors.xz=r.recursiveCoverageFactors.xz,t.children.forEach(t=>e(t,r)))}
112
- /*!
113
- * Copyright 2021 Cognite AS
114
- */(n,n.facesFile);const o=null!==e.unit?e.unit:"Meters";return new f(e.version,e.maxTreeIndex,o,n,t)}function c(e){if(!e.sectors||0===e.sectors.length)throw new Error("No sectors found in scene JSON file");const t=new Map,r=[];e.sectors.forEach(e=>{var n;const o=function(e){const t=u(e.boundingBox);let r,n;e.geometryBoundingBox?(r=u(e.geometryBoundingBox),n=t):(r=t,n=new i.Box3);return{id:e.id,path:e.path,depth:e.depth,subtreeBoundingBox:n,geometryBoundingBox:r,estimatedDrawCallCount:e.estimatedDrawCallCount,estimatedRenderCost:e.estimatedTriangleCount||0,downloadSize:e.downloadSize||0,maxDiagonalLength:e.maxDiagonalLength||0,minDiagonalLength:e.minDiagonalLength||0,sectorFileName:e.sectorFileName,children:[]}}(e);t.set(e.id,o),r[e.id]=null!==(n=e.parentId)&&void 0!==n?n:-1});for(const e of t.values()){const i=r[e.id];if(-1===i)continue;t.get(i).children.push(e)}const n=t.get(0);if(!n)throw new Error("Root sector not found, must have ID 0");if(n.subtreeBoundingBox.isEmpty())for(const e of t.values())l(e);const o=null!==e.unit?e.unit:"Meters";return new f(e.version,e.maxTreeIndex,o,n,t)}function u(e){return new i.Box3(new i.Vector3(e.min.x,e.min.y,e.min.z),new i.Vector3(e.max.x,e.max.y,e.max.z))}function l(e){if(e.subtreeBoundingBox.isEmpty())if(0!==e.children.length)for(const t of e.children)l(t),e.subtreeBoundingBox.union(t.subtreeBoundingBox);else e.subtreeBoundingBox.copy(e.geometryBoundingBox)}
115
- /*!
116
- * Copyright 2021 Cognite AS
117
- */class b{parse(e){const t=e.version;switch(t){case 8:return s(e);case 9:return c(e);case void 0:throw new Error('Metadata must contain a "version"-field');default:throw new Error(`Version ${t} is not supported`)}}}
118
- /*!
119
- * Copyright 2021 Cognite AS
120
- */const A=new Map([["meters",1],["meter",1],["m",1],["centimeters",.01],["centimeter",.01],["cm",.01],["millimeters",.001],["millimeter",.001],["mm",.001],["micrometers",1e-6],["micrometer",1e-6],["kilometers",1e3],["kilometer",1e3],["km",1e3],["feet",.3048],["ft",.3048],["inches",.0254],["inch",.0254],["yards",.9144],["yard",.9144],["miles",1609.34],["miles",1609.34],["mile",1609.34],["mils",254e-7],["mil",254e-7],["microinches",2.54e-8],["microinch",2.54e-8]]);function p(e){return e=null!=e?e:"meters",A.get(e.toLowerCase())}var d=r(6);
121
- /*!
122
- * Copyright 2021 Cognite AS
123
- */class _{constructor(e,t,r="scene.json"){this._currentModelIdentifier=0,this._cadSceneParser=new b,this._modelMetadataProvider=e,this._modelDataProvider=t,this._blobFileName=r}async loadData(e){const t=await this.getSupportedOutput(e),r=this._modelMetadataProvider.getModelUri(e,t),o=this._modelMetadataProvider.getModelMatrix(e,t.format),a=this._modelMetadataProvider.getModelCamera(e),f=await r,s=await this._modelDataProvider.getJsonFile(f,this._blobFileName),c=this._cadSceneParser.parse(s),u=function(e,t){var r;const n=null!==(r=p(e))&&void 0!==r?r:1;if(void 0===n)throw new Error(`Unknown model unit '${e}'`);return(new i.Matrix4).makeScale(n,n,n).multiply(t)}(c.unit,await o),l=(new i.Matrix4).copy(u).invert(),b=await a;return{modelIdentifier:""+this._currentModelIdentifier++,modelBaseUrl:f,geometryClipBox:null,format:t.format,formatVersion:t.version,modelMatrix:u,inverseModelMatrix:l,cameraConfiguration:Object(n.A)(b,u),scene:c}}async getSupportedOutput(e){const t=await this._modelMetadataProvider.getModelOutputs(e),r=[{format:d.d.GltfCadModel,version:9},{format:d.d.RevealCadModel,version:8}],i=r.map(e=>t.find(t=>t.format===e.format&&t.version===e.version)).filter(e=>void 0!==e);if(0===i.length){const e=t.map(e=>`${e.format} v${e.version}`).join(", "),i=r.map(e=>`${e.format} v${e.version}`).join(", ");throw new Error(`Model does not contain any supported CAD model outputs, got [${e}], but only supports [${i}]`)}return i[0]}}var h=r(2),k=r.n(h);
124
- /*!
125
- * Copyright 2021 Cognite AS
126
- */
127
- class m{createSectorScene(e,t,r,i){k()(8===e||9===e,"Only version 8 and 9 is currently supported");const o=new Map;return Object(n.B)(i,e=>(o.set(e.id,e),!0)),new f(e,t,r,i,o)}}
128
- /*!
129
- * Copyright 2021 Cognite AS
130
- */class y{constructor(e){this._geometryClipBox=e}createClippedModel(e){const t=function e(t,r){const i=t.subtreeBoundingBox,n=t.subtreeBoundingBox.clone();if(n.intersect(r),n.isEmpty())return;{const o=[];for(let i=0;i<t.children.length;i++){const n=e(t.children[i],r);void 0!==n&&o.push(n)}const a=g(n)/g(i),f=Math.min(1,1-1/(1+10*a));return{...t,children:o,estimatedDrawCallCount:Math.ceil(f*t.estimatedDrawCallCount),estimatedRenderCost:Math.ceil(f*t.estimatedRenderCost),subtreeBoundingBox:n}}}(e.scene.root,this._geometryClipBox);if(void 0===t)throw new Error("No sectors inside provided geometry clip box");const r=new Map;Object(n.B)(t,e=>(r.set(e.id,e),!0));const i=(new m).createSectorScene(e.scene.version,e.scene.maxTreeIndex,e.scene.unit,t);return{...e,scene:i,geometryClipBox:this._geometryClipBox.clone()}}}const v={size:new i.Vector3};function g(e){const{size:t}=v;return e.getSize(t),t.x*t.y*t.z}
131
- /*!
132
- * Copyright 2021 Cognite AS
133
- */var w;!function(e){e[e.Discarded=0]="Discarded",e[e.Simple=1]="Simple",e[e.Detailed=2]="Detailed"}(w||(w={}));
134
- /*!
135
- * Copyright 2021 Cognite AS
136
- */
137
- class E extends i.Group{constructor(e,t,r){super(),this._lod=w.Discarded,this._updatedTimestamp=Date.now(),this.name=`Sector ${t} [id=${e}]`,this.sectorId=e,this.sectorPath=t,this.bounds=r,this.depth=function(e){let t=0;for(let r=0;r<e.length;++r)t+="/"===e[r]?1:0;return t-1}
138
- /*!
139
- * Copyright 2021 Cognite AS
140
- */(t)}get levelOfDetail(){return this._lod}get group(){return this._group}get updatedTimestamp(){return this._updatedTimestamp}updateGeometry(e,t){this.resetGeometry(),this._group=e,void 0!==this._group&&this._group.reference(),this._lod=t,this._updatedTimestamp=Date.now(),this.visible=this._lod!==w.Discarded,this.updateMatrixWorld(!0)}dereference(){void 0!==this._group&&this._group.dereference()}resetGeometry(){void 0!==this._group&&(this._group.dereference(),this.remove(this._group)),this._group=void 0,this._lod=w.Discarded,this._updatedTimestamp=Date.now()}}class T extends E{constructor(e){const t=e.scene.root.subtreeBoundingBox.clone();t.applyMatrix4(e.modelMatrix),super(0,"/",t);const{scene:r,modelMatrix:i}=e;this.sectorNodeMap=new Map,function e(t,r,i,n){const o=t.subtreeBoundingBox.clone();o.applyMatrix4(n);const a=new E(t.id,t.path,o);a.name="Sector "+t.id,r.add(a),a.matrixAutoUpdate=!1,a.updateMatrixWorld(!0),i.set(t.id,a);for(const r of t.children)e(r,a,i,n)}
141
- /*!
142
- * Copyright 2021 Cognite AS
143
- */(r.root,this,this.sectorNodeMap,i),this.matrixAutoUpdate=!1,this.setModelTransformation(i)}dereferenceAllNodes(){for(const[e,t]of this.sectorNodeMap)t.dereference()}setModelTransformation(e){this.matrix.copy(e),this.updateMatrixWorld(!0)}getModelTransformation(e=new i.Matrix4){return e.copy(this.matrix)}}class B{constructor(e=n.m.defaultPool){this.workerPool=e}parseI3D(e){return this.parseDetailed(e)}parseF3D(e){return this.parseSimple(e)}parseCTM(e){return this.parseCtm(e)}async parseSimple(e){return this.workerPool.postWorkToAvailable(async t=>t.parseQuads(e))}async parseDetailed(e){return this.workerPool.postWorkToAvailable(async t=>t.parseSector(e))}async parseCtm(e){return this.workerPool.postWorkToAvailable(async t=>t.parseCtm(e))}}
144
- /*!
145
- * Copyright 2021 Cognite AS
146
- */const x={centerA:new i.Vector3,centerB:new i.Vector3,sphere:new i.Sphere,box:new i.Box3};function R(e,t,r,i,n,o,a,f){const{centerA:s,centerB:c,sphere:u,box:l}=x;function b(t,r=0){const i=(a*o+t)/e.BYTES_PER_ELEMENT;return e[i+r]}s.set(b(t,0),b(t,1),b(t,2)),c.set(b(r,0),b(r,1),b(r,2));const A=b(i),p=b(n);return u.set(s,A),u.getBoundingBox(f),u.set(c,p),u.getBoundingBox(l),f.expandByPoint(l.min),f.expandByPoint(l.max),f}const N={vertex1:new i.Vector3,vertex2:new i.Vector3,vertex3:new i.Vector3,vertex4:new i.Vector3};function I(e,t,r,i,n,o,a,f){const{vertex1:s,vertex2:c,vertex3:u,vertex4:l}=N;function b(e,t=0){const r=(a*o+e)/n.BYTES_PER_ELEMENT;return n[r+t]}return s.set(b(e,0),b(e,1),b(e,2)),c.set(b(t,0),b(t,1),b(t,2)),u.set(b(r,0),b(r,1),b(r,2)),l.set(b(i,0),b(i,1),b(i,2)),f.setFromPoints([s,c,u,l]),f}const C={instanceMatrix:new i.Matrix4};function D(e,t,r,i,n,o){const{instanceMatrix:a}=C,f=(i*r+t)/e.BYTES_PER_ELEMENT;return a.set(e[f+0],e[f+4],e[f+8],e[f+12],e[f+1],e[f+5],e[f+9],e[f+13],e[f+2],e[f+6],e[f+10],e[f+14],e[f+3],e[f+7],e[f+11],e[f+15]),o.copy(n).applyMatrix4(a),o}const M={center:new i.Vector3,size:new i.Vector3};function G(e,t,r,i,n){const{size:o}=M,a=2*Math.max(e,t,r);return o.set(a,a,a),n.setFromCenterAndSize(i,o),n}
147
- /*!
148
- * Copyright 2021 Cognite AS
149
- */
150
- function U(e,t,r,n){const o=e.length/t,a=new Float32Array(e.buffer,e.byteOffset,e.byteLength/Float32Array.BYTES_PER_ELEMENT),f=new i.Box3,s=new Uint8Array(e.length);let c=0;for(let i=0;i<o;++i)if(n(i,t,a,f),r.intersectsBox(f)){const r=e.subarray(i*t,(i+1)*t);s.set(r,c*t),c++}return s.slice(0,c*t)}
151
- /*!
152
- * Copyright 2021 Cognite AS
153
- */function V(e){return Array.from(e.values()).reduce((e,t)=>Math.max(e,t.offset+t.size),0)}function S(e,t,r,i){if(null===i)return e;const n=t.get("instanceMatrix");k()(void 0!==n);const o=V(t),a=n.offset;return U(e,o,i,(e,t,i,n)=>{D(i,a,t,e,r,n)})}function F(e,t,r,i="radiusA",n="radiusB"){if(null===r)return e;const o=t.get("centerA"),a=t.get("centerB"),f=t.get(i),s=t.get(n);k()(void 0!==o&&void 0!==a&&void 0!==f&&void 0!==s);return U(e,V(t),r,(e,t,r,i)=>{R(r,o.offset,a.offset,f.offset,s.offset,t,e,i)})}function W(e,t,r){if(null===r)return e;const i=t.get("vertex1"),n=t.get("vertex2"),o=t.get("vertex3"),a=t.get("vertex4");k()(void 0!==i&&void 0!==n&&void 0!==o&&void 0!==a);return U(e,V(t),r,(e,t,r,f)=>{I(i.offset,n.offset,o.offset,a.offset,r,t,e,f)})}function j(e,t,r,i="horizontalRadius",n="verticalRadius"){if(null===r)return e;const o=t.get("center"),a=t.get(i),f=t.get(n),s=t.get("height");k()(void 0!==o&&void 0!==a&&void 0!==f&&void 0!==s);return U(e,V(t),r,(e,t,r,i)=>{!function(e,t,r,i,n,o,a,f){const{center:s}=M;function c(e,t=0){const r=(a*o+e.offset)/n.BYTES_PER_ELEMENT;return n[r+t]}const u=c(t),l=c(r),b=c(i);s.set(c(e,0),c(e,1),c(e,2)),G(u,l,b,s,f)}(o,a,f,s,r,t,e,i)})}
154
- /*!
155
- * Copyright 2021 Cognite AS
156
- */
157
- const O={p:new i.Vector3,instanceMatrix:new i.Matrix4,baseBounds:new i.Box3,instanceBounds:new i.Box3};function Z(e,t,r,i){if(null===i)return r;const{p:n,instanceMatrix:o,baseBounds:a,instanceBounds:f}=O;a.makeEmpty();for(let i=r.triangleOffset;i<r.triangleOffset+r.triangleCount;++i){const r=t[3*i+0],o=t[3*i+1],f=t[3*i+2];n.set(e[r+0],e[r+1],e[r+2]),a.expandByPoint(n),n.set(e[o+0],e[o+1],e[o+2]),a.expandByPoint(n),n.set(e[f+0],e[f+1],e[f+2]),a.expandByPoint(n)}let s=0;const c=r.treeIndices.length,u=new Float32Array(r.instanceMatrices.length),l=new Float32Array(c),b=new Uint8Array(4*c);for(let e=0;e<c;++e)if(A=r.instanceMatrices,p=e,o.set(A[p+0],A[p+4],A[p+8],A[p+12],A[p+1],A[p+5],A[p+9],A[p+13],A[p+2],A[p+6],A[p+10],A[p+14],A[p+3],A[p+7],A[p+11],A[p+15]),f.copy(a).applyMatrix4(o),i.intersectsBox(f)){const t=r.instanceMatrices.subarray(16*e,16*(e+1)),i=r.colors.subarray(4*e,4*(e+1)),n=r.treeIndices[e];u.set(t,16*s),b.set(i,4*s),l[s]=n,s++}var A,p;if(c===s)return r;return{triangleCount:r.triangleCount,triangleOffset:r.triangleOffset,instanceMatrices:u.slice(0,16*s),colors:b.slice(0,4*s),treeIndices:l.slice(0,s)}}
158
- /*!
159
- * Copyright 2021 Cognite AS
160
- */const{boxGeometry:P,boxGeometryBoundingBox:Y}=(()=>{const e=function(){const e=[-.5,-.5,-.5,-.5,-.5,.5,-.5,.5,-.5,-.5,.5,.5,.5,-.5,-.5,.5,-.5,.5,.5,.5,-.5,.5,.5,.5],t=function(){const e=[1,3,2,6,4,5],t=[];for(let r=0;r<e.length;r++){const i=(r+1)%e.length;t.push(0),t.push(e[r]),t.push(e[i]),t.push(7),t.push(e[i]),t.push(e[r])}return t}(),r=new Float32Array(e),n=new i.BufferAttribute(r,3,!1),o=new i.BufferGeometry;return o.setIndex(t),o.setAttribute("position",n),o}();try{const t={index:e.getIndex(),position:e.getAttribute("position")};return e.computeBoundingBox(),{boxGeometry:t,boxGeometryBoundingBox:e.boundingBox}}finally{e.dispose()}})(),{quadGeometry:z,quadGeometryBoundingBox:J}=(()=>{const e=new i.PlaneBufferGeometry(1,1,1,1);try{const t={index:e.getIndex(),position:e.getAttribute("position"),normal:e.getAttribute("normal")};return e.computeBoundingBox(),{quadGeometry:t,quadGeometryBoundingBox:e.boundingBox}}finally{e.dispose()}})(),{trapeziumGeometry:Q,trapeziumGeometryBoundingBox:L}=(()=>{const e=[0,0,0,1,1,1,2,2,2,3,3,3];return{trapeziumGeometry:{index:new i.BufferAttribute(new Uint16Array([0,1,3,0,3,2]),1),position:new i.BufferAttribute(new Float32Array(e),3)},trapeziumGeometryBoundingBox:(new i.Box3).setFromArray(e)}})(),{coneGeometry:X,coneGeometryBoundingBox:H}=(()=>{const e=[];e.push(-1,1,-1),e.push(-1,-1,-1),e.push(1,1,-1),e.push(1,-1,-1),e.push(1,1,1),e.push(1,-1,1);const t=new Uint16Array([1,2,0,1,3,2,3,4,2,3,5,4]);return{coneGeometry:{index:new i.BufferAttribute(t,1),position:new i.BufferAttribute(new Float32Array(e),3)},coneGeometryBoundingBox:(new i.Box3).setFromArray(e)}})(),{torusLodGeometries:q}=(()=>{const e=(e,t)=>[e,2*t*Math.PI];return{torusLodGeometries:[{tubularSegments:9,radialSegments:18},{tubularSegments:5,radialSegments:12},{tubularSegments:4,radialSegments:5}].map(({tubularSegments:t,radialSegments:r})=>function(e,t,r=((e,t)=>[e,t,0])){const n=[],o=[],a=1/e,f=1/t;for(let i=0;i<=t;i++)for(let t=0;t<=e;t++){const[e,o,s]=r(t*a,i*f);n.push(e||0,o||0,s||0)}for(let r=1;r<=t;r++)for(let t=1;t<=e;t++){const i=(e+1)*r+t-1,n=(e+1)*(r-1)+t-1,a=(e+1)*(r-1)+t,f=(e+1)*r+t;o.push(i,n,f),o.push(n,a,f)}return{index:new i.Uint16BufferAttribute(o,1),position:new i.Float32BufferAttribute(n,3)}}(r,t,e))}})(),{nutGeometry:$,nutGeometryBoundingBox:K}=(()=>{const e=new i.CylinderBufferGeometry(.5,.5,1,6);try{e.applyMatrix4((new i.Matrix4).makeRotationX(-Math.PI/2));const t={index:e.getIndex(),position:e.getAttribute("position"),normal:e.getAttribute("normal")};return{nutGeometry:t,nutGeometryBoundingBox:(new i.Box3).setFromArray(t.position.array)}}finally{e.dispose()}})();var ee=r(5);
161
- /*!
162
- * Copyright 2021 Cognite AS
163
- */function te(e,t,r){if(!r)return e;if(t===ee.b.InstanceMesh||t===ee.b.TriangleMesh){const t=e.boundingBox;return!t||t.intersectsBox(r)?e:void 0}const o=oe(e,i.InterleavedBufferAttribute);let a;switch(t){case ee.b.BoxCollection:a=function(e,t){return fe(e,ne,t)}(o,r);break;case ee.b.CircleCollection:a=function(e,t){return fe(e,ie,t)}(o,r);break;case ee.b.ConeCollection:case ee.b.EccentricConeCollection:a=function(e,t){return se(e,t,"a_radiusA","a_radiusB")}(o,r);break;case ee.b.EllipsoidSegmentCollection:a=function(e,t){return function(e,t){const{center:r}=ue;return ae(e,(t,i,n,o)=>{const a=e.get("a_horizontalRadius").getX(t),f=e.get("a_verticalRadius").getX(t),s=e.get("a_height").getX(t),c=e.get("a_center");return r.set(c.getX(t),c.getY(t),c.getZ(t)),G(a,f,s,r,o)},t)}(e,t)}(o,r);break;case ee.b.GeneralCylinderCollection:a=function(e,t){return se(e,t,"a_radius","a_radius")}(o,r);break;case ee.b.GeneralRingCollection:case ee.b.QuadCollection:a=function(e,t){return fe(e,ie,t)}(o,r);break;case ee.b.TorusSegmentCollection:a=function(e,t){return function(e,t){const{boundingBox:r}=ce;return ae(e,(t,i,n,o)=>{const a=e.get("a_radius").getX(t),f=e.get("a_tubeRadius").getX(t);r.min.set(-a-f,-a-f,-f),r.max.set(a+f,a+f,f);const s=e.get("a_instanceMatrix");return D(n,s.offset*s.array.BYTES_PER_ELEMENT,i,t,r,o)},t)}(e,t)}(o,r);break;case ee.b.TrapeziumCollection:a=function(e,t){return function(e,t){return ae(e,(t,r,i,n)=>{const o=e.get("a_vertex1"),a=e.get("a_vertex2"),f=e.get("a_vertex3"),s=e.get("a_vertex4"),c=o.array.BYTES_PER_ELEMENT;return I(o.offset*c,a.offset*c,f.offset*c,s.offset*c,i,r,t,n)},t)}(e,t)}(o,r);break;case ee.b.NutCollection:a=function(e,t){return fe(e,ne,t)}
164
- /*!
165
- * Copyright 2021 Cognite AS
166
- */(o,r);break;default:Object(n.n)(t)}return 0!==a.length?function(e,t,r){const n=new i.BufferGeometry;return oe(t,i["BufferAttribute"]).forEach((e,t)=>{n.setAttribute(t,e)}),n.setIndex(t.getIndex()),r.forEach((t,r)=>{const o=t.data.stride,a=t.array.BYTES_PER_ELEMENT,f=re.get(a),s=new i.InstancedInterleavedBuffer(new f(e.buffer),o);n.setAttribute(r,new i.InterleavedBufferAttribute(s,t.itemSize,t.offset,t.normalized))}),n}(a,e,o):void 0}const re=new Map([[1,Uint8Array],[4,Float32Array]]),ie=new i.Box3(new i.Vector3(-.5,-.5,-1e-4),new i.Vector3(.5,.5,1e-4)),ne=new i.Box3(new i.Vector3(-.5,-.5,-.5),new i.Vector3(.5,.5,.5));function oe(e,t){return new Map(Object.entries(e.attributes).filter(e=>e[1]instanceof t).map(e=>[e[0],e[1]]))}function ae(e,t,r){const i=e.values().next().value,n=i.array;return U(new Uint8Array(n.buffer,n.byteOffset,n.byteLength),i.data.stride*n.BYTES_PER_ELEMENT,r,t)}function fe(e,t,r){return ae(e,(r,i,n,o)=>{const a=e.get("a_instanceMatrix");return D(n,a.offset*a.array.BYTES_PER_ELEMENT,i,r,t,o)},r)}function se(e,t,r,i){return ae(e,(t,n,o,a)=>{const f=e.get("a_centerA"),s=e.get("a_centerB"),c=e.get(r),u=e.get(i),l=f.array.BYTES_PER_ELEMENT;return R(o,f.offset*l,s.offset*l,c.offset*l,u.offset*l,n,t,a)},t)}const ce={boundingBox:new i.Box3};const ue={center:new i.Vector3};function le(e,t,r,o){const a=[],f=e.filter(e=>null===o||function(e,t){const{p:r,box:i}=be;i.makeEmpty();for(let t=0;t<e.vertices.length;t+=3)r.set(e.vertices[t+0],e.vertices[t+1],e.vertices[t+2]),i.expandByPoint(r);return t.intersectsBox(i)}
167
- /*!
168
- * Copyright 2021 Cognite AS
169
- */(e,o));for(const e of f){const o=new i.BufferGeometry,f=new i.Uint32BufferAttribute(e.indices.buffer,1).onUpload(n.s),s=new i.Float32BufferAttribute(e.vertices.buffer,3).onUpload(n.s),c=new i.Uint8BufferAttribute(e.colors.buffer,3).onUpload(n.s),u=new i.Float32BufferAttribute(e.treeIndices.buffer,1).onUpload(n.s);o.setIndex(f),o.setAttribute("color",c),o.setAttribute("position",s),o.setAttribute("treeIndex",u),o.boundingBox=t.clone(),o.boundingSphere=new i.Sphere,t.getBoundingSphere(o.boundingSphere);const l=new i.Mesh(o,r);l.name="Triangle mesh "+e.fileId,l.userData.treeIndices=new Map;for(const t of e.treeIndices)Object(n.u)(l.userData.treeIndices,t);a.push(l)}return a}const be={p:new i.Vector3,box:new i.Box3}},,function(e,t,r){"use strict";r.d(t,"a",(function(){return k})),r.d(t,"b",(function(){return i}));var i,n=r(0),o=r(2),a=r.n(o),f=r(1);function s(e,t=!0){const r=new n.PlaneBufferGeometry(1,1,1,1);return e.setIndex(r.getIndex()),e.setAttribute("position",r.getAttribute("position")),t&&e.setAttribute("normal",r.getAttribute("normal")),e.computeBoundingBox(),e.boundingBox}function c(e){const t=[];t.push(-1,1,-1),t.push(-1,-1,-1),t.push(1,1,-1),t.push(1,-1,-1),t.push(1,1,1),t.push(1,-1,1);const r=new Uint16Array([1,2,0,1,3,2,3,4,2,3,5,4]);return e.setIndex(new n.BufferAttribute(r,1)),e.setAttribute("position",new n.BufferAttribute(new Float32Array(t),3)),(new n.Box3).setFromArray(t)}function u(e){const t=[{tubularSegments:9,radialSegments:18},{tubularSegments:5,radialSegments:12},{tubularSegments:4,radialSegments:5}],r=
170
- /*!
171
- * Copyright 2021 Cognite AS
172
- */
173
- function(e,t,r=((e,t)=>[e,t,0])){const i=[],o=[],a=1/e,f=1/t;for(let n=0;n<=t;n++)for(let t=0;t<=e;t++){const[e,o,s]=r(t*a,n*f);i.push(e||0,o||0,s||0)}for(let r=1;r<=t;r++)for(let t=1;t<=e;t++){const i=(e+1)*r+t-1,n=(e+1)*(r-1)+t-1,a=(e+1)*(r-1)+t,f=(e+1)*r+t;o.push(i,n,f),o.push(n,a,f)}return{index:new n.Uint16BufferAttribute(o,1),position:new n.Float32BufferAttribute(i,3)}}(t[0].radialSegments,t[0].tubularSegments,(e,t)=>[e,2*t*Math.PI]);return e.setIndex(r.index),e.setAttribute("position",r.position),(new n.Box3).setFromArray(r.position.array)}function l(e,t){switch(e){case i.BoxCollection:!function(e){const t=new n.BoxBufferGeometry(1,1,1,1,1,1);e.setIndex(t.getIndex()),e.setAttribute("position",t.getAttribute("position")),e.setAttribute("normal",t.getAttribute("normal")),e.computeBoundingBox(),e.boundingBox}(t);break;case i.CircleCollection:s(t);break;case i.ConeCollection:case i.EccentricConeCollection:case i.EllipsoidSegmentCollection:case i.GeneralCylinderCollection:c(t);break;case i.GeneralRingCollection:s(t,!1);break;case i.NutCollection:!function(e){const t=new n.CylinderBufferGeometry(.5,.5,1,6);t.applyMatrix4((new n.Matrix4).makeRotationX(-Math.PI/2)),e.setIndex(t.getIndex()),e.setAttribute("position",t.getAttribute("position")),e.setAttribute("normal",t.getAttribute("normal")),(new n.Box3).setFromArray(t.getAttribute("position").array)}(t);break;case i.QuadCollection:s(t);break;case i.TrapeziumCollection:!function(e){const t=[0,0,0,1,1,1,2,2,2,3,3,3];e.setIndex(new n.BufferAttribute(new Uint16Array([0,1,3,0,3,2]),1)),e.setAttribute("position",new n.BufferAttribute(new Float32Array(t),3)),(new n.Box3).setFromArray(t)}(t);break;case i.TorusSegmentCollection:u(t);break;case i.InstanceMesh:case i.TriangleMesh:break;default:Object(f.n)(e)}}
174
- /*!
175
- * Copyright 2021 Cognite AS
176
- */!function(e){e[e.BoxCollection=0]="BoxCollection",e[e.CircleCollection=1]="CircleCollection",e[e.ConeCollection=2]="ConeCollection",e[e.EccentricConeCollection=3]="EccentricConeCollection",e[e.EllipsoidSegmentCollection=4]="EllipsoidSegmentCollection",e[e.GeneralCylinderCollection=5]="GeneralCylinderCollection",e[e.GeneralRingCollection=6]="GeneralRingCollection",e[e.QuadCollection=7]="QuadCollection",e[e.TorusSegmentCollection=8]="TorusSegmentCollection",e[e.TrapeziumCollection=9]="TrapeziumCollection",e[e.NutCollection=10]="NutCollection",e[e.TriangleMesh=11]="TriangleMesh",e[e.InstanceMesh=12]="InstanceMesh"}(i||(i={}));class b{constructor(){this._textDecoder=new TextDecoder}parseGlbMetadata(e){this.verifyGlbHeaders(e);const{length:t,json:r}=this.parseJson(e),{length:i,byteOffsetToBinContent:n}=this.parseBinHeaders(e,b.CHUNK_HEADER_BYTE_SIZE+t);return{json:r,byteOffsetToBinContent:n,binContentLength:i}}verifyGlbHeaders(e){const t=new DataView(e,0,b.GLB_HEADER_BYTE_SIZE),r=this._textDecoder.decode(new Uint8Array(e,0,4)),i=t.getUint32(4,!0);a()("glTF"===r,"Unknown file format"),a()(2===i,`Unsupported glTF version{${i}}`)}parseJson(e){const t=new DataView(e,b.GLB_HEADER_BYTE_SIZE,b.CHUNK_HEADER_BYTE_SIZE).getUint32(0,!0),r=this._textDecoder.decode(new Uint8Array(e,b.GLB_HEADER_BYTE_SIZE+4,4));a()("JSON"===r);const i=new Uint8Array(e,b.GLB_HEADER_BYTE_SIZE+b.CHUNK_HEADER_BYTE_SIZE,t),n=JSON.parse(this._textDecoder.decode(i));return a()(void 0!==n,"Failed to assign types to gltf json"),{type:r,length:t,json:n}}parseBinHeaders(e,t){const r=new DataView(e,b.GLB_HEADER_BYTE_SIZE+t,b.CHUNK_HEADER_BYTE_SIZE).getUint32(0,!0),i=this._textDecoder.decode(new Uint8Array(e,b.GLB_HEADER_BYTE_SIZE+t+4,4));return a()(i.includes("BIN")),{type:i,byteOffsetToBinContent:b.GLB_HEADER_BYTE_SIZE+t+b.CHUNK_HEADER_BYTE_SIZE,length:r}}}b.GLB_HEADER_BYTE_SIZE=12,b.CHUNK_HEADER_BYTE_SIZE=8;const A=new Map([["SCALAR",1],["VEC2",2],["VEC3",3],["VEC4",4],["MAT2",4],["MAT3",9],["MAT4",16]]),p=new Map([[5120,Int8Array],[5121,Uint8Array],[5122,Int16Array],[5123,Uint16Array],[5125,Uint32Array],[5126,Float32Array]]);var d=r(29),_=r.n(d);
177
- /*!
178
- * Copyright 2022 Cognite AS
179
- */
180
- class h{constructor(){this._dracoDecoderModule=_()().then(e=>({module:e,decoder:new e.Decoder})),this._dracoDataTypes=this._dracoDecoderModule.then(e=>{const{module:t}=e;return new Map([[5120,t.DT_INT8],[5121,t.DT_UINT8],[5122,t.DT_INT16],[5123,t.DT_UINT16],[5125,t.DT_UINT32],[5126,t.DT_FLOAT32]])})}async decodeDracoBufferToDracoMesh(e){const{module:t,decoder:r}=await this._dracoDecoderModule,i=new t.DecoderBuffer;i.Init(e,e.length);const n=r.GetEncodedGeometryType(i);a()(n===t.TRIANGULAR_MESH);const o=new t.Mesh,f=r.DecodeBufferToMesh(i,o);if(!f.ok()||0===o.ptr)throw new Error("Failed to decode draco mesh. Error: "+f.error_msg());return o}async decodeDracoMeshToGeometryBuffers(e,t,r,i){const{module:n,decoder:o}=await this._dracoDecoderModule,a=this.decodeIndex(o,t,n),f=this.getAttributeDescriptors(e,o,i,r,t),{decodedVertexBufferView:s,vertexBufferDescriptor:c}=await this.decodeVertexBuffer(n,o,t,f);return{vertexBufferDescriptor:c,vertexBufferView:s,indexBufferView:a}}async decodeVertexBuffer(e,t,r,i){const n=i.map(e=>e.componentSize*e.numberOfComponents).reduce((e,t)=>e+t)*r.num_points(),o=e._malloc(n),a=await this._dracoDataTypes,f=r.num_points(),s=this.computeVertexBufferDescriptor(i,a,f,t,r,o),c=new Uint8Array(e.HEAP8.buffer,o,n),u=new Uint8Array(new ArrayBuffer(n));return this.copyLinearToInterleaved({buffer:c,attributeByteLengths:Object.values(s).map(e=>e.byteStride),numPoints:r.num_points()},u),e._free(o),{decodedVertexBufferView:u,vertexBufferDescriptor:s}}computeVertexBufferDescriptor(e,t,r,i,n,o){let a=0,f=0;return e.reduce((e,s)=>{const{componentSize:c,numberOfComponents:u,dracoAttribute:l,gltfAccessor:b}=s,A=t.get(b.componentType),p=c*u*r;i.GetAttributeDataArrayForAllPoints(n,l,A,p,o+a),b.byteOffset=f;const d=c*u;return a+=p,e[s.attributeName]={byteStride:d,byteOffset:f},f+=c*u,e},{})}getAttributeDescriptors(e,t,r,i,n){return Object.keys(r).map(o=>{const a=e.accessors[r[o]];return{attributeName:o,numberOfComponents:A.get(a.type),componentSize:p.get(a.componentType).BYTES_PER_ELEMENT,gltfAccessor:a,dracoAttribute:t.GetAttributeByUniqueId(n,i[o])}})}decodeIndex(e,t,r){const i=3*t.num_faces();let n,o;if(t.num_points()<=65536){const a=i*Uint16Array.BYTES_PER_ELEMENT;n=r._malloc(a),e.GetTrianglesUInt16Array(t,a,n),o=new Uint16Array(r.HEAPU16.buffer,n,i).slice()}else{const a=i*Uint32Array.BYTES_PER_ELEMENT;n=r._malloc(a),e.GetTrianglesUInt32Array(t,a,n),o=new Uint32Array(r.HEAPU32.buffer,n,i).slice()}return r._free(n),o}copyLinearToInterleaved(e,t){a()(e.buffer.byteLength<=t.byteLength);const r=e.attributeByteLengths.reduce((e,t)=>e+t,0);let i=0;e.attributeByteLengths.forEach(n=>{for(let o=0;o<e.numPoints;o++){const a=i*e.numPoints+o*n,f=o*r+i;t.set(e.buffer.subarray(a,a+n),f)}i+=n})}}
181
- /*!
182
- * Copyright 2021 Cognite AS
183
- */class k{constructor(){this._glbMetadataParser=new b,this._dracoDecoderHelper=new h}async parseSector(e){const t=this._glbMetadataParser.parseGlbMetadata(e),r=t.json;return this.traverseDefaultSceneNodes(r,t,e)}async traverseDefaultSceneNodes(e,t,r){const i=[],n=e.scenes[e.scene].nodes;return await Promise.all(n.map(t=>e.nodes[t]).map(async e=>{const n=await this.processNode(e,t,r);void 0!==n&&i.push(n)})),i}async processNode(e,t,r){var o;const f=null===(o=e.extensions)||void 0===o?void 0:o.EXT_mesh_gpu_instancing,s=e.mesh;if(void 0===f&&void 0===s)return;const c=f?new n.InstancedBufferGeometry:new n.BufferGeometry,u=i[e.name],l={bufferGeometry:c,geometryType:u,glbHeaderData:t,instancingExtension:f,meshId:s,data:r};switch(u){case i.InstanceMesh:return a()(void 0!==l.instancingExtension),this.processInstancedTriangleMesh(l);case i.TriangleMesh:a()(void 0===l.instancingExtension),await this.processTriangleMesh(l);break;default:a()(void 0!==l.instancingExtension),this.processPrimitiveCollection(l)}return{type:u,geometryBuffer:c}}async processInstancedTriangleMesh(e){var t,r;const{bufferGeometry:o,glbHeaderData:f,meshId:s,data:c}=e,u=f.json;a()(void 0!==s);const l=u.meshes[s];a()(1===l.primitives.length),a()(void 0!==(null===(t=l.extras)||void 0===t?void 0:t.InstanceId));const b=l.primitives[0],{vertexBuffer:A,byteOffset:p,byteLength:d}=await this.getVertexBuffer(u,f,c,b,o);this.setPositionBuffer(A,p,d,o);const _=this.getSharedBufferView(e.glbHeaderData.json,e.instancingExtension.attributes),h=e.glbHeaderData.byteOffsetToBinContent+(null!==(r=_.byteOffset)&&void 0!==r?r:0),{byteLength:k,byteStride:m}=_;return this.setInterleavedBufferAttributes(e.glbHeaderData.json,e.instancingExtension.attributes,e.data,h,k,m,e=>"a"+e,e.bufferGeometry,n.InstancedInterleavedBuffer),{type:i.InstanceMesh,geometryBuffer:e.bufferGeometry,instanceId:l.extras.InstanceId.toString()}}processPrimitiveCollection(e){var t;a()(null!==e.instancingExtension,"Primitive does not contain the instanced gltf extension"),l(e.geometryType,e.bufferGeometry);const r=this.getSharedBufferView(e.glbHeaderData.json,e.instancingExtension.attributes),i=e.glbHeaderData.byteOffsetToBinContent+(null!==(t=r.byteOffset)&&void 0!==t?t:0),{byteLength:o,byteStride:f}=r;this.setInterleavedBufferAttributes(e.glbHeaderData.json,e.instancingExtension.attributes,e.data,i,o,f,e=>"a"+e,e.bufferGeometry,n.InstancedInterleavedBuffer)}async processTriangleMesh(e){const{bufferGeometry:t,glbHeaderData:r,meshId:i,data:o}=e,f=r.json;a()(void 0!==i);const s=f.meshes[i];a()(1===s.primitives.length);const c=s.primitives[0],{vertexBuffer:u,byteOffset:l,byteLength:b,byteStride:A}=await this.getVertexBuffer(f,r,o,c,t);this.setInterleavedBufferAttributes(f,c.attributes,u,l,b,A,(function(e){switch(e){case"COLOR_0":return"color";case"POSITION":return"position";case"_treeIndex":return"treeIndex";default:throw new Error}}),t,n.InterleavedBuffer)}async getVertexBuffer(e,t,r,i,o){var a,f,s;let c,u,l,b;const A=t.byteOffsetToBinContent,p=null===(a=i.extensions)||void 0===a?void 0:a.KHR_draco_mesh_compression;if(void 0!==p){const t=e.bufferViews[p.bufferView],a=A+(null!==(f=t.byteOffset)&&void 0!==f?f:0),s=t.byteLength,d=new Int8Array(r,a,s),_=await this._dracoDecoderHelper.decodeDracoBufferToDracoMesh(d),{indexBufferView:h,vertexBufferView:k,vertexBufferDescriptor:m}=await this._dracoDecoderHelper.decodeDracoMeshToGeometryBuffers(e,_,p.attributes,i.attributes);o.setIndex(new n.BufferAttribute(h,1)),c=k.buffer,u=k.byteOffset,l=k.byteLength,b=Object.values(m).reduce((e,t)=>e+t.byteStride,0)}else{this.setIndexBuffer(t,i,r,o);const n=this.getSharedBufferView(e,i.attributes);c=r,u=A+(null!==(s=n.byteOffset)&&void 0!==s?s:0),l=n.byteLength,b=n.byteStride}return{vertexBuffer:c,byteOffset:u,byteLength:l,byteStride:b}}setIndexBuffer(e,t,r,i){var o;const a=e.json,f=e.byteOffsetToBinContent,s=a.accessors[t.indices],c=a.bufferViews[s.bufferView];c.byteOffset=null!==(o=c.byteOffset)&&void 0!==o?o:0;const u=p.get(s.componentType),l=new u(r,f+c.byteOffset,c.byteLength/u.BYTES_PER_ELEMENT),b=A.get(s.type);i.setIndex(new n.BufferAttribute(l,b))}setPositionBuffer(e,t,r,i){const o=Float32Array.BYTES_PER_ELEMENT,a=new Float32Array(e,t,r/o);i.setAttribute("position",new n.BufferAttribute(a,3))}getSharedBufferView(e,t){const r=Object.values(t).map(t=>e.accessors[t].bufferView);a()(r.length>0);const i=r[0];for(let e=1;e<r.length;e++)a()(r[e]===i,"Unexpected number of unique buffer views");return e.bufferViews[i]}setInterleavedBufferAttributes(e,t,r,i,n,o,a,f,s){const c=Object.values(t).map(t=>e.accessors[t].componentType),u=this.getUniqueComponentViews(c,r,i,n,o,s);this.setAttributes(t,e,u,a,f)}setAttributes(e,t,r,i,o){Object.keys(e).forEach(f=>{var s;const c=t.accessors[e[f]],u=null!==(s=c.byteOffset)&&void 0!==s?s:0,l=r[c.componentType],b=A.get(c.type);a()(void 0!==b);const d=p.get(c.componentType);a()(void 0!==d);const _=d.BYTES_PER_ELEMENT;a()(void 0!==_);const h=new n.InterleavedBufferAttribute(l,b,u/_),k=i(f);o.setAttribute(k,h)})}getUniqueComponentViews(e,t,r,i,n,o){const a=[...new Set(e)].map(e=>{const a=p.get(e),f=new a(t,r,i/a.BYTES_PER_ELEMENT);return{componentType:e,interleavedBuffer:new o(f,n/a.BYTES_PER_ELEMENT)}});return Object.assign({},...a.map(e=>({[e.componentType]:e.interleavedBuffer})))}}
184
- /*!
185
- * Copyright 2021 Cognite AS
186
- */},function(e,t,r){"use strict";r.d(t,"a",(function(){return i})),r.d(t,"b",(function(){return n})),r.d(t,"c",(function(){return c})),r.d(t,"e",(function(){return b})),r.d(t,"f",(function(){return A})),r.d(t,"g",(function(){return p})),r.d(t,"d",(function(){return o}));class i{constructor(e){this.client=e,this.authenticationPromise=e.authenticate()}async getBinaryFile(e,t){const r=`${e}/${t}`,i={...this.client.getDefaultRequestHeaders(),Accept:"*/*"};return(await this.fetchWithRetry(r,{headers:i,method:"GET"}).catch(e=>{throw Error("Could not download binary file")})).arrayBuffer()}async getJsonFile(e,t){return(await this.client.get(`${e}/${t}`).catch(e=>{throw Error("Could not download Json file")})).data}async fetchWithRetry(e,t,r=3){let i;for(let n=0;n<r;n++)try{await this.authenticationPromise;const r=await fetch(e,t);if(401===r.status){this.authenticationPromise=this.client.authenticate();continue}return r}catch(e){void 0!==i&&(i=e)}throw i}}class n{constructor(e,t){this.revealInternalId=Symbol(`${e}/${t}`),this.modelId=e,this.revisionId=t}toString(){return`${n.name} (${String(this.revealInternalId)})`}}var o,a=r(0);
187
- /*!
188
- * Copyright 2021 Cognite AS
189
- */!function(e){e.EptPointCloud="ept-pointcloud",e.RevealCadModel="reveal-directory",e.GltfCadModel="gltf-directory",e.AnyFormat="all-outputs"}(o||(o={}));
190
- /*!
191
- * Copyright 2021 Cognite AS
192
- */
193
- const f=(new a.Matrix4).set(1,0,0,0,0,0,1,0,0,-1,0,0,0,0,0,1);function s(e,t){switch(t){case o.RevealCadModel:case o.GltfCadModel:case o.EptPointCloud:e.premultiply(f);break;default:throw new Error("Unknown model format '"+t)}}
194
- /*!
195
- * Copyright 2021 Cognite AS
196
- */class c{constructor(e){this._client=e}async getModelMatrix(e,t){if(!(e instanceof n))throw new Error(`Model must be a ${n.name}, but got ${e.toString()}`);const{modelId:r,revisionId:i}=e,o=await this._client.revisions3D.retrieve(r,i),f=new a.Matrix4;return o.rotation&&f.makeRotationFromEuler(new a.Euler(...o.rotation)),s(f,t),f}async getModelCamera(e){if(!(e instanceof n))throw new Error(`Model must be a ${n.name}, but got ${e.toString()}`);const{modelId:t,revisionId:r}=e,i=await this._client.revisions3D.retrieve(t,r);if(i.camera&&i.camera.position&&i.camera.target){const{position:e,target:t}=i.camera;return{position:new a.Vector3(e[0],e[1],e[2]),target:new a.Vector3(t[0],t[1],t[2])}}}async getModelUri(e,t){if(!(e instanceof n))throw new Error(`Model must be a ${n.name}, but got ${e.toString()}`);return`${this._client.getBaseUrl()}${this.getRequestPath(t.blobId)}`}async getModelOutputs(e){if(!(e instanceof n))throw new Error(`Model must be a ${n.name}, but got ${e.toString()}`);const{modelId:t,revisionId:r}=e,i=`/api/v1/projects/${this._client.project}/3d/models/${t}/revisions/${r}/outputs`,a=await this._client.get(i,{params:{format:o.AnyFormat}});if(200===a.status)return a.data.items.filter(e=>Object.values(o).includes(e.format));throw new Error(`Unexpected response ${a.status} (payload: '${a.data})`)}getRequestPath(e){return`/api/v1/projects/${this._client.project}/3d/files/${e}`}}var u=r(18);
197
- /*!
198
- * Copyright 2021 Cognite AS
199
- */async function l(e){const t=await fetch(e);if(!t.ok){const e={};throw t.headers.forEach((t,r)=>{e[t]=r}),new u.HttpError(t.status,t.body,e)}return t}
200
- /*!
201
- * Copyright 2021 Cognite AS
202
- */class b{async getBinaryFile(e,t){return(await l(`${e}/${t}`)).arrayBuffer()}async getJsonFile(e,t){return(await l(`${e}/${t}`)).json()}}
203
- /*!
204
- * Copyright 2021 Cognite AS
205
- */class A{constructor(e){this.revealInternalId=Symbol(e),this.localPath=e}toString(){return`${A.name} (${this.localPath})`}}
206
- /*!
207
- * Copyright 2021 Cognite AS
208
- */class p{getModelUri(e){if(!(e instanceof A))throw new Error(`Model must be a ${A.name}, but got ${e.toString()}`);return e.localPath.startsWith("http")?Promise.resolve(e.localPath):Promise.resolve(`${location.origin}/${e.localPath}`)}async getModelMatrix(e,t){if(!(e instanceof A))throw new Error(`Model must be a ${A.name}, but got ${e.toString()}`);const r=new a.Matrix4;return s(r,t),r}getModelCamera(e){if(!(e instanceof A))throw new Error(`Model must be a ${A.name}, but got ${e.toString()}`);return Promise.resolve(void 0)}async getModelOutputs(e){var t;const r=await this.getModelUri(e),i=null!==(t=await async function(e){let t;try{t=(await(await l(e+"/scene.json")).json()).version}catch(e){return}switch(t){case 8:return Promise.resolve({blobId:-1,format:o.RevealCadModel,version:8});case 9:return Promise.resolve({blobId:-1,format:o.GltfCadModel,version:9});default:return}}(r))&&void 0!==t?t:await async function(e){let t;try{t=await(await l(e+"/ept.json")).json()}catch(e){return}return t?Promise.resolve({blobId:-1,format:o.EptPointCloud,version:-1}):void 0}(r);if(i)return[i];throw new Error("Only point cloud or CAD models (version 8 and 9) are supported)")}}
209
- /*!
210
- * Copyright 2021 Cognite AS
211
- */},,function(e,t){e.exports=require("glslify")},function(e,t,r){"use strict";r.d(t,"a",(function(){return s}));var i=r(13),n=r.n(i),o=r(10);const{VERSION:a,MIXPANEL_TOKEN:f}={VERSION:"3.1.0",WORKER_VERSION:"1.3.0",MIXPANEL_TOKEN:"8c900bdfe458e32b768450c20750853d",IS_DEVELOPMENT_MODE:!1};class s{constructor(e,t,r){n.a.init(f,{disable_cookie:!0,disable_persistence:!0,ip:!1,property_blacklist:["$city","$region","mp_country_code","$geo_source","$timezone","mp_lib","$lib_version","$device_id","$user_id","$current_url","$screen_width","$screen_height","$referrer","$referring_domain","$initial_referrer","$initial_referring_domain"]}),n.a.reset(),n.a.identify("reveal-single-user"),this._sessionProps={VERSION:a,project:"unknown",application:"unknown",sessionId:"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(function(e){const t=16*Math.random()|0;return("x"==e?t:3&t|8).toString(16)}))},e&&(this._sessionProps.project=e),t&&(this._sessionProps.application=t),this.innerTrackEvent("init",r)}static init(e,t,r,i){if(void 0===globalThis.revealMetricsLogger&&e){const e=new s(t,r,i);globalThis.revealMetricsLogger={metricsLogger:e}}}innerTrackEvent(e,t){const r={...this._sessionProps,...t};n.a.track(e,r)}static trackEvent(e,t){globalThis.revealMetricsLogger&&globalThis.revealMetricsLogger.metricsLogger.innerTrackEvent(e,t)}static trackCreateTool(e){s.trackEvent("toolCreated",{toolName:e})}static trackLoadModel(e,t,r){s.trackEvent("loadModel",{...e,modelIdentifier:t,modelVersion:r})}static trackCadModelStyled(e,t){s.trackEvent("cadModelStyleAssigned",{nodeCollectionClassToken:e,style:t})}static trackError(e,t){o.a.error(e),void 0!==e?this.trackEvent("error",{message:e.message||e,name:e.name,stack:e.stack,...t}):this.trackEvent("error",{name:"unknown",...t})}static trackCameraNavigation(e){s.trackEvent("cameraNavigated",e)}}
212
- /*!
213
- * Copyright 2021 Cognite AS
214
- */},function(e,t,r){"use strict";var i=r(26);
215
- /*!
216
- * Copyright 2021 Cognite AS
217
- */t.a=i},function(e,t){e.exports=require("@tweenjs/tween.js")},function(e,t){e.exports=require("lodash/cloneDeep")},function(e,t){e.exports=require("mixpanel-browser")},function(e,t){e.exports=require("lodash/debounce")},function(e,t){e.exports=require("lodash/range")},function(e,t){e.exports=require("lodash/chunk")},function(e,t){e.exports=require("geo-three")},function(e,t){e.exports=require("@cognite/sdk-core")},function(e,t,r){(function(e){function r(e,t){for(var r=0,i=e.length-1;i>=0;i--){var n=e[i];"."===n?e.splice(i,1):".."===n?(e.splice(i,1),r++):r&&(e.splice(i,1),r--)}if(t)for(;r--;r)e.unshift("..");return e}function i(e,t){if(e.filter)return e.filter(t);for(var r=[],i=0;i<e.length;i++)t(e[i],i,e)&&r.push(e[i]);return r}t.resolve=function(){for(var t="",n=!1,o=arguments.length-1;o>=-1&&!n;o--){var a=o>=0?arguments[o]:e.cwd();if("string"!=typeof a)throw new TypeError("Arguments to path.resolve must be strings");a&&(t=a+"/"+t,n="/"===a.charAt(0))}return(n?"/":"")+(t=r(i(t.split("/"),(function(e){return!!e})),!n).join("/"))||"."},t.normalize=function(e){var o=t.isAbsolute(e),a="/"===n(e,-1);return(e=r(i(e.split("/"),(function(e){return!!e})),!o).join("/"))||o||(e="."),e&&a&&(e+="/"),(o?"/":"")+e},t.isAbsolute=function(e){return"/"===e.charAt(0)},t.join=function(){var e=Array.prototype.slice.call(arguments,0);return t.normalize(i(e,(function(e,t){if("string"!=typeof e)throw new TypeError("Arguments to path.join must be strings");return e})).join("/"))},t.relative=function(e,r){function i(e){for(var t=0;t<e.length&&""===e[t];t++);for(var r=e.length-1;r>=0&&""===e[r];r--);return t>r?[]:e.slice(t,r-t+1)}e=t.resolve(e).substr(1),r=t.resolve(r).substr(1);for(var n=i(e.split("/")),o=i(r.split("/")),a=Math.min(n.length,o.length),f=a,s=0;s<a;s++)if(n[s]!==o[s]){f=s;break}var c=[];for(s=f;s<n.length;s++)c.push("..");return(c=c.concat(o.slice(f))).join("/")},t.sep="/",t.delimiter=":",t.dirname=function(e){if("string"!=typeof e&&(e+=""),0===e.length)return".";for(var t=e.charCodeAt(0),r=47===t,i=-1,n=!0,o=e.length-1;o>=1;--o)if(47===(t=e.charCodeAt(o))){if(!n){i=o;break}}else n=!1;return-1===i?r?"/":".":r&&1===i?"/":e.slice(0,i)},t.basename=function(e,t){var r=function(e){"string"!=typeof e&&(e+="");var t,r=0,i=-1,n=!0;for(t=e.length-1;t>=0;--t)if(47===e.charCodeAt(t)){if(!n){r=t+1;break}}else-1===i&&(n=!1,i=t+1);return-1===i?"":e.slice(r,i)}(e);return t&&r.substr(-1*t.length)===t&&(r=r.substr(0,r.length-t.length)),r},t.extname=function(e){"string"!=typeof e&&(e+="");for(var t=-1,r=0,i=-1,n=!0,o=0,a=e.length-1;a>=0;--a){var f=e.charCodeAt(a);if(47!==f)-1===i&&(n=!1,i=a+1),46===f?-1===t?t=a:1!==o&&(o=1):-1!==t&&(o=-1);else if(!n){r=a+1;break}}return-1===t||-1===i||0===o||1===o&&t===i-1&&t===r+1?"":e.slice(t,i)};var n="b"==="ab".substr(-1)?function(e,t,r){return e.substr(t,r)}:function(e,t,r){return t<0&&(t=e.length+t),e.substr(t,r)}}).call(this,r(22))},function(e,t){e.exports=require("lodash/remove")},,function(e,t){var r,i,n=e.exports={};function o(){throw new Error("setTimeout has not been defined")}function a(){throw new Error("clearTimeout has not been defined")}function f(e){if(r===setTimeout)return setTimeout(e,0);if((r===o||!r)&&setTimeout)return r=setTimeout,setTimeout(e,0);try{return r(e,0)}catch(t){try{return r.call(null,e,0)}catch(t){return r.call(this,e,0)}}}!function(){try{r="function"==typeof setTimeout?setTimeout:o}catch(e){r=o}try{i="function"==typeof clearTimeout?clearTimeout:a}catch(e){i=a}}();var s,c=[],u=!1,l=-1;function b(){u&&s&&(u=!1,s.length?c=s.concat(c):l=-1,c.length&&A())}function A(){if(!u){var e=f(b);u=!0;for(var t=c.length;t;){for(s=c,c=[];++l<t;)s&&s[l].run();l=-1,t=c.length}s=null,u=!1,function(e){if(i===clearTimeout)return clearTimeout(e);if((i===a||!i)&&clearTimeout)return i=clearTimeout,clearTimeout(e);try{i(e)}catch(t){try{return i.call(null,e)}catch(t){return i.call(this,e)}}}(e)}}function p(e,t){this.fun=e,this.array=t}function d(){}n.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)t[r-1]=arguments[r];c.push(new p(e,t)),1!==c.length||u||f(A)},p.prototype.run=function(){this.fun.apply(null,this.array)},n.title="browser",n.browser=!0,n.env={},n.argv=[],n.version="",n.versions={},n.on=d,n.addListener=d,n.once=d,n.off=d,n.removeListener=d,n.removeAllListeners=d,n.emit=d,n.prependListener=d,n.prependOnceListener=d,n.listeners=function(e){return[]},n.binding=function(e){throw new Error("process.binding is not supported")},n.cwd=function(){return"/"},n.chdir=function(e){throw new Error("process.chdir is not supported")},n.umask=function(){return 0}},function(e,t){},function(e,t,r){"use strict";var i=r(1);r.d(t,"b",(function(){return i.n})),r.d(t,"a",(function(){return i.e})),r.d(t,"c",(function(){return i.E}));r(6);
218
- /*!
219
- * Copyright 2021 Cognite AS
220
- */},function(e,t){e.exports=require("comlink")},function(e,t){e.exports=require("loglevel")},function(e,t){e.exports=require("lodash/map")},function(e,t){e.exports=require("skmeans")},function(e,t,r){(function(t,i,n,o){var a,f=(a=(a="undefined"!=typeof document&&document.currentScript?document.currentScript.src:void 0)||t,function(e){var t,f,s=void 0!==(e=e||{})?e:{};s.ready=new Promise((function(e,r){t=e,f=r}));var c=!1,u=!1;s.onRuntimeInitialized=function(){c=!0,u&&"function"==typeof s.onModuleLoaded&&s.onModuleLoaded(s)},s.onModuleParsed=function(){u=!0,c&&"function"==typeof s.onModuleLoaded&&s.onModuleLoaded(s)},s.isVersionSupported=function(e){if("string"!=typeof e)return!1;const t=e.split(".");return!(t.length<2||t.length>3)&&(1==t[0]&&t[1]>=0&&t[1]<=5||!(0!=t[0]||t[1]>10))};var l,b={};for(l in s)s.hasOwnProperty(l)&&(b[l]=s[l]);var A,p,d,_,h,k=[],m="object"==typeof window,y="function"==typeof importScripts,v="object"==typeof i&&"object"==typeof i.versions&&"string"==typeof i.versions.node,g="";v?(g=y?r(19).dirname(g)+"/":n+"/",A=function(e,t){var i=ne(e);return i?t?i:i.toString():(_||(_=r(23)),h||(h=r(19)),e=h.normalize(e),_.readFileSync(e,t?null:"utf8"))},d=function(e){var t=A(e,!0);return t.buffer||(t=new Uint8Array(t)),R(t.buffer),t},p=function(e,t,i){var n=ne(e);n&&t(n),_||(_=r(23)),h||(h=r(19)),e=h.normalize(e),_.readFile(e,(function(e,r){e?i(e):t(r.buffer)}))},i.argv.length>1&&i.argv[1].replace(/\\/g,"/"),k=i.argv.slice(2),s.inspect=function(){return"[Emscripten Module object]"}):(m||y)&&(y?g=self.location.href:"undefined"!=typeof document&&document.currentScript&&(g=document.currentScript.src),a&&(g=a),g=0!==g.indexOf("blob:")?g.substr(0,g.replace(/[?#].*/,"").lastIndexOf("/")+1):"",A=function(e){try{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.send(null),t.responseText}catch(t){var r=ne(e);if(r)return function(e){for(var t=[],r=0;r<e.length;r++){var i=e[r];i>255&&(i&=255),t.push(String.fromCharCode(i))}return t.join("")}(r);throw t}},y&&(d=function(e){try{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.responseType="arraybuffer",t.send(null),new Uint8Array(t.response)}catch(t){var r=ne(e);if(r)return r;throw t}}),p=function(e,t,r){var i=new XMLHttpRequest;i.open("GET",e,!0),i.responseType="arraybuffer",i.onload=function(){if(200==i.status||0==i.status&&i.response)t(i.response);else{var n=ne(e);n?t(n.buffer):r()}},i.onerror=r,i.send(null)}),s.print||console.log.bind(console);var w,E=s.printErr||console.warn.bind(console);for(l in b)b.hasOwnProperty(l)&&(s[l]=b[l]);b=null,s.arguments&&(k=s.arguments),s.thisProgram&&s.thisProgram,s.quit&&s.quit,s.wasmBinary&&(w=s.wasmBinary);s.noExitRuntime;var T,B={Memory:function(e){this.buffer=new ArrayBuffer(65536*e.initial)},Module:function(e){},Instance:function(e,t){this.exports=function(e){for(var t,r=new Uint8Array(123),i=25;i>=0;--i)r[48+i]=52+i,r[65+i]=i,r[97+i]=26+i;function n(e,t,i){for(var n,o,a=0,f=t,s=i.length,c=t+(3*s>>2)-("="==i[s-2])-("="==i[s-1]);a<s;a+=4)n=r[i.charCodeAt(a+1)],o=r[i.charCodeAt(a+2)],e[f++]=r[i.charCodeAt(a)]<<2|n>>4,f<c&&(e[f++]=n<<4|o>>2),f<c&&(e[f++]=o<<6|r[i.charCodeAt(a+3)])}r[43]=62,r[47]=63;var o=new ArrayBuffer(16),a=new Int32Array(o),f=new Float32Array(o);function s(e){f[2]=e}function c(e){return a[e]}return new Float64Array(o),function(e){var r=e.a,i=r.buffer;r.grow=function(e){e|=0;var n=0|hi(),s=n+e|0;if(n<s&&s<65536){var c=new ArrayBuffer(d(s,65536));new Int8Array(c).set(o),o=new Int8Array(c),a=new Int16Array(c),f=new Int32Array(c),u=new Uint8Array(c),l=new Uint16Array(c),b=new Uint32Array(c),A=new Float32Array(c),p=new Float64Array(c),i=c,r.buffer=i,t=u}return n};var o=new Int8Array(i),a=new Int16Array(i),f=new Int32Array(i),u=new Uint8Array(i),l=new Uint16Array(i),b=new Uint32Array(i),A=new Float32Array(i),p=new Float64Array(i),d=Math.imul,_=Math.fround,h=Math.abs,k=Math.clz32,m=Math.min,y=Math.max,v=Math.floor,g=Math.ceil,w=(Math.trunc,Math.sqrt),E=e.abort,T=e.b,B=e.c,x=e.d,R=e.e,N=e.f,I=5254912,C=0;function D(e,t,r,i){var n=0,a=0,s=0,c=0,A=0,p=0,_=0,h=0,k=0,m=0,y=0,v=0,g=0,w=0,E=0,T=0,B=0,x=0,R=0,N=0;if(!e)return 1;e:if(!((0|(s=f[r+20>>2]))>=(0|(h=f[r+12>>2]))&(n=f[r+16>>2])>>>0>=b[r+8>>2]|(0|s)>(0|h))){h=u[n+f[r>>2]|0],s=(n=n+1|0)?s:s+1|0,f[r+16>>2]=n,f[r+20>>2]=s;t:switch(0|h){case 0:p=e,s=t,m=i,e=0,i=0,I=h=I+-64|0,f[h+56>>2]=0,f[h+48>>2]=0,f[h+52>>2]=0,f[h+40>>2]=0,f[h+44>>2]=0,f[h+32>>2]=0,f[h+36>>2]=0,f[h+24>>2]=0,f[h+28>>2]=0,f[h+16>>2]=0,f[h+20>>2]=0,f[h+8>>2]=0,f[h+12>>2]=0;r:if(se(h+8|0,r)&&!(!Se(h+8|0,r)|(f[h+20>>2]?0:p))){if(Kt(r,0,0),p)for(w=s<<2,E=f[h+36>>2],B=f[h+48>>2],x=f[h+24>>2];;){i:if(!((A=f[h+56>>2])>>>0>16383))for(e=f[h+52>>2];;){if((0|e)<=0)break i;if(e=e-1|0,f[h+52>>2]=e,A=u[e+B|0]|A<<8,f[h+56>>2]=A,!(A>>>0<16384))break}if(t=E+((_=f[x+((e=4095&A)<<2)>>2])<<3)|0,f[h+56>>2]=(d(f[t>>2],A>>>12|0)+e|0)-f[t+4>>2],!((0|s)<=0)){if(e=0,!u[r+36|0]|_>>>0>32)break r;if(_){for(R=-2&_,N=1&_,n=i+s|0,t=f[r+32>>2];;){if(k=f[r+28>>2],g=f[r+24>>2],A=0,e=t,a=0,v=0,1!=(0|_))for(;(c=(e>>>3|0)+g|0)>>>0>=k>>>0?c=0:(c=u[0|c],t=e+1|0,f[r+32>>2]=t,c=c>>>(7&e)&1,e=t),c=c<<A|a,a=0,(T=(e>>>3|0)+g|0)>>>0<k>>>0&&(a=u[0|T],t=e+1|0,f[r+32>>2]=t,a=a>>>(7&e)&1,e=t),T=1|A,A=A+2|0,a=c|a<<T,(0|R)!=(0|(v=v+2|0)););if(c=m+(i<<2)|0,N&&((v=k)>>>0>(k=(e>>>3|0)+g|0)>>>0?(k=u[0|k],t=e+1|0,f[r+32>>2]=t,e=k>>>(7&e)&1):e=0,a|=e<<A),f[c>>2]=a,(0|n)==(0|(i=i+1|0)))break}i=n}else Ye(m+(i<<2)|0,0,w),i=i+s|0}if(!(p>>>0>(y=s+y|0)>>>0))break}o[r+36|0]=0,i=f[r+20>>2],e=0,t=(s=(e=(t=f[r+32>>2]+7|0)>>>0<7?1:e)<<29|t>>>3)+f[r+16>>2]|0,e=(e>>>3|0)+i|0,f[r+16>>2]=t,f[r+20>>2]=t>>>0<s>>>0?e+1|0:e,e=1}return(t=f[h+36>>2])&&(f[h+40>>2]=t,ee(t)),(t=f[h+24>>2])&&(f[h+28>>2]=t,ee(t)),(t=f[h+8>>2])&&(f[h+12>>2]=t,ee(t)),I=h- -64|0,e;case 1:break t;default:break e}t=0;t:if(!((0|(s=f[r+20>>2]))>=(0|(n=f[r+12>>2]))&(a=f[r+16>>2])>>>0>=b[r+8>>2]|(0|n)<(0|s))){n=u[a+f[r>>2]|0],s=(a=a+1|0)?s:s+1|0,f[r+16>>2]=a,f[r+20>>2]=s;r:switch(n-1|0){case 4:if(I=a=I+-64|0,f[a+56>>2]=0,f[a+48>>2]=0,f[a+52>>2]=0,f[a+40>>2]=0,f[a+44>>2]=0,f[a+32>>2]=0,f[a+36>>2]=0,f[a+24>>2]=0,f[a+28>>2]=0,f[a+16>>2]=0,f[a+20>>2]=0,f[a+8>>2]=0,f[a+12>>2]=0,!(!se(a+8|0,r)|(f[a+20>>2]?0:e))&&Se(a+8|0,r))if(e)for(r=f[a+36>>2],s=f[a+48>>2],p=f[a+24>>2],c=f[a+56>>2];;){i:if(!(c>>>0>16383))for(t=f[a+52>>2];;){if((0|t)<=0)break i;if(t=t-1|0,f[a+52>>2]=t,c=u[t+s|0]|c<<8,f[a+56>>2]=c,!(c>>>0<16384))break}if(m=f[p+((t=4095&c)<<2)>>2],c=(d(f[(n=r+(m<<3)|0)>>2],c>>>12|0)+t|0)-f[n+4>>2]|0,f[a+56>>2]=c,f[(y<<2)+i>>2]=m,t=1,(0|(y=y+1|0))==(0|e))break}else t=1;(e=f[a+36>>2])&&(f[a+40>>2]=e,ee(e)),(e=f[a+24>>2])&&(f[a+28>>2]=e,ee(e)),(e=f[a+8>>2])&&(f[a+12>>2]=e,ee(e)),I=a- -64|0;break t;case 8:h=e,I=n=I+-64|0,f[n+48>>2]=0,f[n+40>>2]=0,f[n+44>>2]=0,f[n+32>>2]=0,f[n+36>>2]=0,f[n+24>>2]=0,f[n+28>>2]=0,f[n+16>>2]=0,f[n+20>>2]=0,f[n+8>>2]=0,f[n+12>>2]=0,f[n>>2]=0,f[n+4>>2]=0;i:{n:if(l[r+38>>1]&&Et(1,n+12|0,r)){if(A=f[n+12>>2],t=f[n>>2],A>>>0>(e=f[n+4>>2]-t>>2)>>>0?(st(n,A-e|0),A=f[n+12>>2]):e>>>0<=A>>>0||(f[n+4>>2]=t+(A<<2)),e=1,!A)break i;for(g=f[r+8>>2],y=f[r+12>>2],v=f[n>>2],a=0;;){if(e=0,(0|y)<=(0|(s=f[r+20>>2]))&g>>>0<=(t=f[r+16>>2])>>>0|(0|s)>(0|y))break i;w=f[r>>2],k=u[w+t|0],s=(e=t+1|0)?s:s+1|0,_=e,f[r+16>>2]=e,e=s,f[r+20>>2]=e,t=k>>>2|0,c=0;o:{a:{f:{s:switch(0|(s=3&k)){case 0:break a;case 3:break s;default:break f}if(e=0,(t=t+a|0)>>>0>=A>>>0)break i;Ye(v+(a<<2)|0,0,4+(252&k)|0),a=t;break o}for(;;){if((0|e)>=(0|y)&_>>>0>=g>>>0|(0|e)>(0|y))break n;if(A=u[_+w|0],e=(_=_+1|0)?e:e+1|0,f[r+16>>2]=_,f[r+20>>2]=e,t|=A<<(c<<3|6),(0|s)==(0|(c=c+1|0)))break}}f[v+(a<<2)>>2]=t}if(!((a=a+1|0)>>>0<(A=f[n+12>>2])>>>0))break}if(y=n+16|0,g=f[n>>2],e=f[n+16>>2],(a=(t=f[n+20>>2]-e|0)>>2)>>>0<=8191?st(y,8192-a|0):32768!=(0|t)&&(f[n+20>>2]=e+32768),a=f[(e=n+28|0)>>2],(t=f[n+32>>2]-a>>3)>>>0<A>>>0)ct(e,A-t|0),a=f[e>>2];else if(t>>>0>A>>>0&&(f[n+32>>2]=(A<<3)+a),!A)break n;for(c=0,e=0;;){if(_=f[(s=g+(c<<2)|0)>>2],t=e,f[4+(k=(c<<3)+a|0)>>2]=e,f[k>>2]=_,(e=(s=f[s>>2])+e|0)>>>0>8192)break n;if(!(e>>>0<=t>>>0)){if(k=f[y>>2],_=0,v=7&s)for(;f[k+(t<<2)>>2]=c,t=t+1|0,(0|v)!=(0|(_=_+1|0)););if(!(s-1>>>0<=6))for(;f[(s=k+(t<<2)|0)>>2]=c,f[s+28>>2]=c,f[s+24>>2]=c,f[s+20>>2]=c,f[s+16>>2]=c,f[s+12>>2]=c,f[s+8>>2]=c,f[s+4>>2]=c,(0|(t=t+8|0))!=(0|e););}if((0|A)==(0|(c=c+1|0)))break}m=8192==(0|e)}e=m}i:if(!(!e|(f[n+12>>2]?0:h))&&dt(1,n+56|0,r)&&(a=(e=f[r+8>>2])-(t=f[r+16>>2])|0,s=f[n+60>>2],m=f[r+20>>2],!((0|s)==(0|(c=f[r+12>>2]-(m+(e>>>0<t>>>0)|0)|0))&a>>>0<(e=f[n+56>>2])>>>0|s>>>0>c>>>0||(s=s+m|0,s=(a=e+t|0)>>>0<e>>>0?s+1|0:s,f[r+16>>2]=a,f[r+20>>2]=s,(0|e)<=0)))){r=t+f[r>>2]|0,f[n+40>>2]=r;n:if((s=u[0|(a=r+(t=e-1|0)|0)])>>>0<=63)f[n+44>>2]=t,e=63&u[0|a];else{o:switch((s>>>6|0)-1|0){case 0:if(e>>>0<2)break i;t=e-2|0,f[n+44>>2]=t,e=u[1+(e=(e+r|0)-2|0)|0]<<8&16128|u[0|e];break n;case 1:if(e>>>0<3)break i;t=e-3|0,f[n+44>>2]=t,e=u[2+(e=(e+r|0)-3|0)|0]<<16&4128768|u[e+1|0]<<8|u[0|e];break n}t=e-4|0,f[n+44>>2]=t,e=u[2+(e=(e+r|0)-4|0)|0]<<16|u[e+3|0]<<24&1056964608|u[e+1|0]<<8|u[0|e]}if(a=e+32768|0,f[n+48>>2]=a,!(a>>>0>8388607))if(h)for(s=f[n+28>>2],e=0,m=f[n+16>>2];;){n:if(!(a>>>0>32767))for(;;){if((0|t)<=0)break n;if(t=t-1|0,f[n+44>>2]=t,a=u[t+r|0]|a<<8,f[n+48>>2]=a,!(a>>>0<32768))break}if(c=f[m+((p=8191&a)<<2)>>2],a=(d(f[(A=s+(c<<3)|0)>>2],a>>>13|0)+p|0)-f[A+4>>2]|0,f[n+48>>2]=a,f[(e<<2)+i>>2]=c,p=1,(0|h)==(0|(e=e+1|0)))break}else p=1}(e=f[n+28>>2])&&(f[n+32>>2]=e,ee(e)),(e=f[n+16>>2])&&(f[n+20>>2]=e,ee(e)),(e=f[n>>2])&&(f[n+4>>2]=e,ee(e)),I=n- -64|0,t=p;break t;case 9:h=e,I=n=I+-64|0,f[n+48>>2]=0,f[n+40>>2]=0,f[n+44>>2]=0,f[n+32>>2]=0,f[n+36>>2]=0,f[n+24>>2]=0,f[n+28>>2]=0,f[n+16>>2]=0,f[n+20>>2]=0,f[n+8>>2]=0,f[n+12>>2]=0,f[n>>2]=0,f[n+4>>2]=0;i:{n:if(l[r+38>>1]&&Et(1,n+12|0,r)){if(A=f[n+12>>2],t=f[n>>2],A>>>0>(e=f[n+4>>2]-t>>2)>>>0?(st(n,A-e|0),A=f[n+12>>2]):e>>>0<=A>>>0||(f[n+4>>2]=t+(A<<2)),e=1,!A)break i;for(k=f[r+8>>2],y=f[r+12>>2],g=f[n>>2],a=0;;){if(e=0,(0|y)<=(0|(t=f[r+20>>2]))&k>>>0<=(c=f[r+16>>2])>>>0|(0|t)>(0|y))break i;v=f[r>>2],s=u[v+c|0],e=t,e=(t=c+1|0)?e:e+1|0,_=t,f[r+16>>2]=t,f[r+20>>2]=e,t=s>>>2|0,c=0;o:{a:{f:{s:switch(0|(w=3&s)){case 0:break a;case 3:break s;default:break f}if(e=0,(t=t+a|0)>>>0>=A>>>0)break i;Ye(g+(a<<2)|0,0,4+(252&s)|0),a=t;break o}for(;;){if((0|e)>=(0|y)&_>>>0>=k>>>0|(0|e)>(0|y))break n;if(A=u[_+v|0],s=e,s=(e=_+1|0)?s:s+1|0,_=e,f[r+16>>2]=e,e=s,f[r+20>>2]=e,t|=A<<(c<<3|6),(0|w)==(0|(c=c+1|0)))break}}f[g+(a<<2)>>2]=t}if(!((a=a+1|0)>>>0<(A=f[n+12>>2])>>>0))break}if(y=n+16|0,g=f[n>>2],e=f[n+16>>2],(a=(t=f[n+20>>2]-e|0)>>2)>>>0<=32767?st(y,32768-a|0):131072!=(0|t)&&(f[n+20>>2]=e+131072),a=f[(e=n+28|0)>>2],(t=f[n+32>>2]-a>>3)>>>0<A>>>0)ct(e,A-t|0),a=f[e>>2];else if(t>>>0>A>>>0&&(f[n+32>>2]=(A<<3)+a),!A)break n;for(c=0,e=0;;){if(_=f[(s=g+(c<<2)|0)>>2],t=e,f[4+(k=(c<<3)+a|0)>>2]=e,f[k>>2]=_,(e=(s=f[s>>2])+e|0)>>>0>32768)break n;if(!(e>>>0<=t>>>0)){if(k=f[y>>2],_=0,v=7&s)for(;f[k+(t<<2)>>2]=c,t=t+1|0,(0|v)!=(0|(_=_+1|0)););if(!(s-1>>>0<=6))for(;f[(s=k+(t<<2)|0)>>2]=c,f[s+28>>2]=c,f[s+24>>2]=c,f[s+20>>2]=c,f[s+16>>2]=c,f[s+12>>2]=c,f[s+8>>2]=c,f[s+4>>2]=c,(0|(t=t+8|0))!=(0|e););}if((0|A)==(0|(c=c+1|0)))break}m=32768==(0|e)}e=m}i:if(!(!e|(f[n+12>>2]?0:h))&&dt(1,n+56|0,r)&&(s=(e=f[r+8>>2])-(t=a=f[r+16>>2])|0,m=f[n+60>>2],c=f[r+20>>2],!((0|m)==(0|(e=f[r+12>>2]-(c+(e>>>0<t>>>0)|0)|0))&s>>>0<(t=f[n+56>>2])>>>0|e>>>0<m>>>0||(e=c+m|0,e=(s=t+a|0)>>>0<t>>>0?e+1|0:e,f[r+16>>2]=s,f[r+20>>2]=e,(0|(e=t))<=0)))){r=a+f[r>>2]|0,f[n+40>>2]=r;n:if((s=u[0|(a=r+(t=e-1|0)|0)])>>>0<=63)f[n+44>>2]=t,e=63&u[0|a];else{o:switch((s>>>6|0)-1|0){case 0:if(e>>>0<2)break i;t=e-2|0,f[n+44>>2]=t,e=u[1+(e=(e+r|0)-2|0)|0]<<8&16128|u[0|e];break n;case 1:if(e>>>0<3)break i;t=e-3|0,f[n+44>>2]=t,e=u[2+(e=(e+r|0)-3|0)|0]<<16&4128768|u[e+1|0]<<8|u[0|e];break n}t=e-4|0,f[n+44>>2]=t,e=u[2+(e=(e+r|0)-4|0)|0]<<16|u[e+3|0]<<24&1056964608|u[e+1|0]<<8|u[0|e]}if(a=e+131072|0,f[n+48>>2]=a,!(a>>>0>33554431))if(h)for(s=f[n+28>>2],e=0,m=f[n+16>>2];;){n:if(!(a>>>0>131071))for(;;){if((0|t)<=0)break n;if(t=t-1|0,f[n+44>>2]=t,a=u[t+r|0]|a<<8,f[n+48>>2]=a,!(a>>>0<131072))break}if(c=f[m+((p=32767&a)<<2)>>2],a=(d(f[(A=s+(c<<3)|0)>>2],a>>>15|0)+p|0)-f[A+4>>2]|0,f[n+48>>2]=a,f[(e<<2)+i>>2]=c,p=1,(0|h)==(0|(e=e+1|0)))break}else p=1}(e=f[n+28>>2])&&(f[n+32>>2]=e,ee(e)),(e=f[n+16>>2])&&(f[n+20>>2]=e,ee(e)),(e=f[n>>2])&&(f[n+4>>2]=e,ee(e)),I=n- -64|0,t=p;break t;case 10:h=e,I=n=I+-64|0,f[n+48>>2]=0,f[n+40>>2]=0,f[n+44>>2]=0,f[n+32>>2]=0,f[n+36>>2]=0,f[n+24>>2]=0,f[n+28>>2]=0,f[n+16>>2]=0,f[n+20>>2]=0,f[n+8>>2]=0,f[n+12>>2]=0,f[n>>2]=0,f[n+4>>2]=0;i:{n:if(l[r+38>>1]&&Et(1,n+12|0,r)){if(A=f[n+12>>2],t=f[n>>2],A>>>0>(e=f[n+4>>2]-t>>2)>>>0?(st(n,A-e|0),A=f[n+12>>2]):e>>>0<=A>>>0||(f[n+4>>2]=t+(A<<2)),e=1,!A)break i;for(g=f[r+8>>2],y=f[r+12>>2],v=f[n>>2],a=0;;){if(e=0,(0|y)<=(0|(s=f[r+20>>2]))&g>>>0<=(t=f[r+16>>2])>>>0|(0|s)>(0|y))break i;w=f[r>>2],k=u[w+t|0],s=(e=t+1|0)?s:s+1|0,_=e,f[r+16>>2]=e,e=s,f[r+20>>2]=e,t=k>>>2|0,c=0;o:{a:{f:{s:switch(0|(E=3&k)){case 0:break a;case 3:break s;default:break f}if(e=0,(t=t+a|0)>>>0>=A>>>0)break i;Ye(v+(a<<2)|0,0,4+(252&k)|0),a=t;break o}for(;;){if((0|e)>=(0|y)&_>>>0>=g>>>0|(0|e)>(0|y))break n;if(A=u[_+w|0],s=e,s=(e=_+1|0)?s:s+1|0,_=e,f[r+16>>2]=e,e=s,f[r+20>>2]=e,t|=A<<(c<<3|6),(0|E)==(0|(c=c+1|0)))break}}f[v+(a<<2)>>2]=t}if(!((a=a+1|0)>>>0<(A=f[n+12>>2])>>>0))break}if(y=n+16|0,g=f[n>>2],e=f[n+16>>2],(a=(t=f[n+20>>2]-e|0)>>2)>>>0<=65535?st(y,65536-a|0):262144!=(0|t)&&(f[n+20>>2]=e+262144),a=f[(e=n+28|0)>>2],(t=f[n+32>>2]-a>>3)>>>0<A>>>0)ct(e,A-t|0),a=f[e>>2];else if(t>>>0>A>>>0&&(f[n+32>>2]=(A<<3)+a),!A)break n;for(c=0,e=0;;){if(_=f[(s=g+(c<<2)|0)>>2],t=e,f[4+(k=(c<<3)+a|0)>>2]=e,f[k>>2]=_,(e=(s=f[s>>2])+e|0)>>>0>65536)break n;if(!(e>>>0<=t>>>0)){if(k=f[y>>2],_=0,v=7&s)for(;f[k+(t<<2)>>2]=c,t=t+1|0,(0|v)!=(0|(_=_+1|0)););if(!(s-1>>>0<=6))for(;f[(s=k+(t<<2)|0)>>2]=c,f[s+28>>2]=c,f[s+24>>2]=c,f[s+20>>2]=c,f[s+16>>2]=c,f[s+12>>2]=c,f[s+8>>2]=c,f[s+4>>2]=c,(0|(t=t+8|0))!=(0|e););}if((0|A)==(0|(c=c+1|0)))break}m=65536==(0|e)}e=m}i:if(!(!e|(f[n+12>>2]?0:h))&&dt(1,n+56|0,r)&&(a=(e=f[r+8>>2])-(t=f[r+16>>2])|0,s=f[n+60>>2],m=f[r+20>>2],!((0|s)==(0|(c=f[r+12>>2]-(m+(e>>>0<t>>>0)|0)|0))&a>>>0<(e=f[n+56>>2])>>>0|s>>>0>c>>>0||(s=s+m|0,s=(a=e+t|0)>>>0<e>>>0?s+1|0:s,f[r+16>>2]=a,f[r+20>>2]=s,(0|e)<=0)))){r=t+f[r>>2]|0,f[n+40>>2]=r;n:if((s=u[0|(a=r+(t=e-1|0)|0)])>>>0<=63)f[n+44>>2]=t,e=63&u[0|a];else{o:switch((s>>>6|0)-1|0){case 0:if(e>>>0<2)break i;t=e-2|0,f[n+44>>2]=t,e=u[1+(e=(e+r|0)-2|0)|0]<<8&16128|u[0|e];break n;case 1:if(e>>>0<3)break i;t=e-3|0,f[n+44>>2]=t,e=u[2+(e=(e+r|0)-3|0)|0]<<16&4128768|u[e+1|0]<<8|u[0|e];break n}t=e-4|0,f[n+44>>2]=t,e=u[2+(e=(e+r|0)-4|0)|0]<<16|u[e+3|0]<<24&1056964608|u[e+1|0]<<8|u[0|e]}if(a=e+262144|0,f[n+48>>2]=a,!(a>>>0>67108863))if(h)for(s=f[n+28>>2],e=0,m=f[n+16>>2];;){n:if(!(a>>>0>262143))for(;;){if((0|t)<=0)break n;if(t=t-1|0,f[n+44>>2]=t,a=u[t+r|0]|a<<8,f[n+48>>2]=a,!(a>>>0<262144))break}if(c=f[m+((p=65535&a)<<2)>>2],a=(d(f[(A=s+(c<<3)|0)>>2],a>>>16|0)+p|0)-f[A+4>>2]|0,f[n+48>>2]=a,f[(e<<2)+i>>2]=c,p=1,(0|h)==(0|(e=e+1|0)))break}else p=1}(e=f[n+28>>2])&&(f[n+32>>2]=e,ee(e)),(e=f[n+16>>2])&&(f[n+20>>2]=e,ee(e)),(e=f[n>>2])&&(f[n+4>>2]=e,ee(e)),I=n- -64|0,t=p;break t;case 11:h=e,I=n=I+-64|0,f[n+48>>2]=0,f[n+40>>2]=0,f[n+44>>2]=0,f[n+32>>2]=0,f[n+36>>2]=0,f[n+24>>2]=0,f[n+28>>2]=0,f[n+16>>2]=0,f[n+20>>2]=0,f[n+8>>2]=0,f[n+12>>2]=0,f[n>>2]=0,f[n+4>>2]=0;i:{n:if(l[r+38>>1]&&Et(1,n+12|0,r)){if(A=f[n+12>>2],t=f[n>>2],A>>>0>(e=f[n+4>>2]-t>>2)>>>0?(st(n,A-e|0),A=f[n+12>>2]):e>>>0<=A>>>0||(f[n+4>>2]=t+(A<<2)),e=1,!A)break i;for(g=f[r+8>>2],y=f[r+12>>2],v=f[n>>2],a=0;;){if(e=0,(0|y)<=(0|(s=f[r+20>>2]))&g>>>0<=(t=f[r+16>>2])>>>0|(0|s)>(0|y))break i;w=f[r>>2],k=u[w+t|0],s=(e=t+1|0)?s:s+1|0,_=e,f[r+16>>2]=e,e=s,f[r+20>>2]=e,t=k>>>2|0,c=0;o:{a:{f:{s:switch(0|(s=3&k)){case 0:break a;case 3:break s;default:break f}if(e=0,(t=t+a|0)>>>0>=A>>>0)break i;Ye(v+(a<<2)|0,0,4+(252&k)|0),a=t;break o}for(;;){if((0|e)>=(0|y)&_>>>0>=g>>>0|(0|e)>(0|y))break n;if(A=u[_+w|0],e=(_=_+1|0)?e:e+1|0,f[r+16>>2]=_,f[r+20>>2]=e,t|=A<<(c<<3|6),(0|s)==(0|(c=c+1|0)))break}}f[v+(a<<2)>>2]=t}if(!((a=a+1|0)>>>0<(A=f[n+12>>2])>>>0))break}if(y=n+16|0,g=f[n>>2],e=f[n+16>>2],(a=(t=f[n+20>>2]-e|0)>>2)>>>0<=262143?st(y,262144-a|0):1048576!=(0|t)&&(f[n+20>>2]=e- -1048576),a=f[(e=n+28|0)>>2],(t=f[n+32>>2]-a>>3)>>>0<A>>>0)ct(e,A-t|0),a=f[e>>2];else if(t>>>0>A>>>0&&(f[n+32>>2]=(A<<3)+a),!A)break n;for(c=0,e=0;;){if(_=f[(s=g+(c<<2)|0)>>2],t=e,f[4+(k=(c<<3)+a|0)>>2]=e,f[k>>2]=_,(e=(s=f[s>>2])+e|0)>>>0>262144)break n;if(!(e>>>0<=t>>>0)){if(k=f[y>>2],_=0,v=7&s)for(;f[k+(t<<2)>>2]=c,t=t+1|0,(0|v)!=(0|(_=_+1|0)););if(!(s-1>>>0<=6))for(;f[(s=k+(t<<2)|0)>>2]=c,f[s+28>>2]=c,f[s+24>>2]=c,f[s+20>>2]=c,f[s+16>>2]=c,f[s+12>>2]=c,f[s+8>>2]=c,f[s+4>>2]=c,(0|(t=t+8|0))!=(0|e););}if((0|A)==(0|(c=c+1|0)))break}m=262144==(0|e)}e=m}i:if(!(!e|(f[n+12>>2]?0:h))&&dt(1,n+56|0,r)&&(a=(e=f[r+8>>2])-(t=f[r+16>>2])|0,s=f[n+60>>2],m=f[r+20>>2],!((0|s)==(0|(c=f[r+12>>2]-(m+(e>>>0<t>>>0)|0)|0))&a>>>0<(e=f[n+56>>2])>>>0|s>>>0>c>>>0||(s=s+m|0,s=(a=e+t|0)>>>0<e>>>0?s+1|0:s,f[r+16>>2]=a,f[r+20>>2]=s,(0|e)<=0)))){r=t+f[r>>2]|0,f[n+40>>2]=r;n:if((s=u[0|(a=r+(t=e-1|0)|0)])>>>0<=63)f[n+44>>2]=t,e=63&u[0|a];else{o:switch((s>>>6|0)-1|0){case 0:if(e>>>0<2)break i;t=e-2|0,f[n+44>>2]=t,e=u[1+(e=(e+r|0)-2|0)|0]<<8&16128|u[0|e];break n;case 1:if(e>>>0<3)break i;t=e-3|0,f[n+44>>2]=t,e=u[2+(e=(e+r|0)-3|0)|0]<<16&4128768|u[e+1|0]<<8|u[0|e];break n}t=e-4|0,f[n+44>>2]=t,e=u[2+(e=(e+r|0)-4|0)|0]<<16|u[e+3|0]<<24&1056964608|u[e+1|0]<<8|u[0|e]}if(a=e- -1048576|0,f[n+48>>2]=a,!(a>>>0>268435455))if(h)for(s=f[n+28>>2],e=0,m=f[n+16>>2];;){n:if(!(a>>>0>1048575))for(;;){if((0|t)<=0)break n;if(t=t-1|0,f[n+44>>2]=t,a=u[t+r|0]|a<<8,f[n+48>>2]=a,!(a>>>0<1048576))break}if(c=f[m+((p=262143&a)<<2)>>2],a=(d(f[(A=s+(c<<3)|0)>>2],a>>>18|0)+p|0)-f[A+4>>2]|0,f[n+48>>2]=a,f[(e<<2)+i>>2]=c,p=1,(0|h)==(0|(e=e+1|0)))break}else p=1}(e=f[n+28>>2])&&(f[n+32>>2]=e,ee(e)),(e=f[n+16>>2])&&(f[n+20>>2]=e,ee(e)),(e=f[n>>2])&&(f[n+4>>2]=e,ee(e)),I=n- -64|0,t=p;break t;case 12:h=e,I=n=I+-64|0,f[n+48>>2]=0,f[n+40>>2]=0,f[n+44>>2]=0,f[n+32>>2]=0,f[n+36>>2]=0,f[n+24>>2]=0,f[n+28>>2]=0,f[n+16>>2]=0,f[n+20>>2]=0,f[n+8>>2]=0,f[n+12>>2]=0,f[n>>2]=0,f[n+4>>2]=0;i:{n:if(l[r+38>>1]&&Et(1,n+12|0,r)){if(A=f[n+12>>2],t=f[n>>2],A>>>0>(e=f[n+4>>2]-t>>2)>>>0?(st(n,A-e|0),A=f[n+12>>2]):e>>>0<=A>>>0||(f[n+4>>2]=t+(A<<2)),e=1,!A)break i;for(k=f[r+8>>2],y=f[r+12>>2],g=f[n>>2],a=0;;){if(e=0,(0|y)<=(0|(t=f[r+20>>2]))&k>>>0<=(c=f[r+16>>2])>>>0|(0|t)>(0|y))break i;v=f[r>>2],s=u[v+c|0],e=t,e=(t=c+1|0)?e:e+1|0,_=t,f[r+16>>2]=t,f[r+20>>2]=e,t=s>>>2|0,c=0;o:{a:{f:{s:switch(0|(w=3&s)){case 0:break a;case 3:break s;default:break f}if(e=0,(t=t+a|0)>>>0>=A>>>0)break i;Ye(g+(a<<2)|0,0,4+(252&s)|0),a=t;break o}for(;;){if((0|e)>=(0|y)&_>>>0>=k>>>0|(0|e)>(0|y))break n;if(A=u[_+v|0],s=e,s=(e=_+1|0)?s:s+1|0,_=e,f[r+16>>2]=e,e=s,f[r+20>>2]=e,t|=A<<(c<<3|6),(0|w)==(0|(c=c+1|0)))break}}f[g+(a<<2)>>2]=t}if(!((a=a+1|0)>>>0<(A=f[n+12>>2])>>>0))break}if(y=n+16|0,g=f[n>>2],e=f[n+16>>2],(a=(t=f[n+20>>2]-e|0)>>2)>>>0<=524287?st(y,524288-a|0):2097152!=(0|t)&&(f[n+20>>2]=e+2097152),a=f[(e=n+28|0)>>2],(t=f[n+32>>2]-a>>3)>>>0<A>>>0)ct(e,A-t|0),a=f[e>>2];else if(t>>>0>A>>>0&&(f[n+32>>2]=(A<<3)+a),!A)break n;for(c=0,e=0;;){if(_=f[(s=g+(c<<2)|0)>>2],t=e,f[4+(k=(c<<3)+a|0)>>2]=e,f[k>>2]=_,(e=(s=f[s>>2])+e|0)>>>0>524288)break n;if(!(e>>>0<=t>>>0)){if(k=f[y>>2],_=0,v=7&s)for(;f[k+(t<<2)>>2]=c,t=t+1|0,(0|v)!=(0|(_=_+1|0)););if(!(s-1>>>0<=6))for(;f[(s=k+(t<<2)|0)>>2]=c,f[s+28>>2]=c,f[s+24>>2]=c,f[s+20>>2]=c,f[s+16>>2]=c,f[s+12>>2]=c,f[s+8>>2]=c,f[s+4>>2]=c,(0|(t=t+8|0))!=(0|e););}if((0|A)==(0|(c=c+1|0)))break}m=524288==(0|e)}e=m}i:if(!(!e|(f[n+12>>2]?0:h))&&dt(1,n+56|0,r)&&(s=(e=f[r+8>>2])-(t=a=f[r+16>>2])|0,m=f[n+60>>2],c=f[r+20>>2],!((0|m)==(0|(e=f[r+12>>2]-(c+(e>>>0<t>>>0)|0)|0))&s>>>0<(t=f[n+56>>2])>>>0|e>>>0<m>>>0||(e=c+m|0,e=(s=t+a|0)>>>0<t>>>0?e+1|0:e,f[r+16>>2]=s,f[r+20>>2]=e,(0|(e=t))<=0)))){r=a+f[r>>2]|0,f[n+40>>2]=r;n:if((s=u[0|(a=r+(t=e-1|0)|0)])>>>0<=63)f[n+44>>2]=t,e=63&u[0|a];else{o:switch((s>>>6|0)-1|0){case 0:if(e>>>0<2)break i;t=e-2|0,f[n+44>>2]=t,e=u[1+(e=(e+r|0)-2|0)|0]<<8&16128|u[0|e];break n;case 1:if(e>>>0<3)break i;t=e-3|0,f[n+44>>2]=t,e=u[2+(e=(e+r|0)-3|0)|0]<<16&4128768|u[e+1|0]<<8|u[0|e];break n}t=e-4|0,f[n+44>>2]=t,e=u[2+(e=(e+r|0)-4|0)|0]<<16|u[e+3|0]<<24&1056964608|u[e+1|0]<<8|u[0|e]}if(a=e+2097152|0,f[n+48>>2]=a,!(a>>>0>536870911))if(h)for(s=f[n+28>>2],e=0,m=f[n+16>>2];;){n:if(!(a>>>0>2097151))for(;;){if((0|t)<=0)break n;if(t=t-1|0,f[n+44>>2]=t,a=u[t+r|0]|a<<8,f[n+48>>2]=a,!(a>>>0<2097152))break}if(c=f[m+((p=524287&a)<<2)>>2],a=(d(f[(A=s+(c<<3)|0)>>2],a>>>19|0)+p|0)-f[A+4>>2]|0,f[n+48>>2]=a,f[(e<<2)+i>>2]=c,p=1,(0|h)==(0|(e=e+1|0)))break}else p=1}(e=f[n+28>>2])&&(f[n+32>>2]=e,ee(e)),(e=f[n+16>>2])&&(f[n+20>>2]=e,ee(e)),(e=f[n>>2])&&(f[n+4>>2]=e,ee(e)),I=n- -64|0,t=p;break t;case 17:t=H(e,r,i);break t;case 0:case 1:case 2:case 3:case 5:case 6:case 7:a=0,I=p=I+-64|0,f[p+48>>2]=0,f[p+40>>2]=0,f[p+44>>2]=0,f[p+32>>2]=0,f[p+36>>2]=0,f[p+24>>2]=0,f[p+28>>2]=0,f[p+16>>2]=0,f[p+20>>2]=0,f[p+8>>2]=0,f[p+12>>2]=0,f[p>>2]=0,f[p+4>>2]=0;i:if(!(!se(p,r)|(f[p+12>>2]?0:e))&&dt(1,p+56|0,r)&&(n=(t=f[r+8>>2])-(s=m=f[r+16>>2])|0,h=f[p+60>>2],c=f[r+20>>2],!((0|h)==(0|(s=f[r+12>>2]-(c+(t>>>0<s>>>0)|0)|0))&n>>>0<(t=f[p+56>>2])>>>0|s>>>0<h>>>0||(s=c+h|0,s=(n=t+m|0)>>>0<t>>>0?s+1|0:s,f[r+16>>2]=n,f[r+20>>2]=s,(0|t)<=0)))){s=m+f[r>>2]|0,f[p+40>>2]=s;n:if((n=u[0|(m=s+(r=t-1|0)|0)])>>>0<=63)f[p+44>>2]=r,t=63&u[0|m];else{o:switch((n>>>6|0)-1|0){case 0:if(t>>>0<2)break i;r=t-2|0,f[p+44>>2]=r,t=u[1+(t=(t+s|0)-2|0)|0]<<8&16128|u[0|t];break n;case 1:if(t>>>0<3)break i;r=t-3|0,f[p+44>>2]=r,t=u[2+(t=(t+s|0)-3|0)|0]<<16&4128768|u[t+1|0]<<8|u[0|t];break n}r=t-4|0,f[p+44>>2]=r,t=u[2+(t=(t+s|0)-4|0)|0]<<16|u[t+3|0]<<24&1056964608|u[t+1|0]<<8|u[0|t]}if(c=t+16384|0,f[p+48>>2]=c,!(c>>>0>4194303))if(e)for(t=f[p+28>>2],m=f[p+16>>2];;){n:if(!(c>>>0>16383))for(;;){if((0|r)<=0)break n;if(r=r-1|0,f[p+44>>2]=r,c=u[r+s|0]|c<<8,f[p+48>>2]=c,!(c>>>0<16384))break}if(n=f[m+((a=4095&c)<<2)>>2],c=(d(f[(h=t+(n<<3)|0)>>2],c>>>12|0)+a|0)-f[h+4>>2]|0,f[p+48>>2]=c,f[(_<<2)+i>>2]=n,a=1,(0|(_=_+1|0))==(0|e))break}else a=1}(e=f[p+28>>2])&&(f[p+32>>2]=e,ee(e)),(e=f[p+16>>2])&&(f[p+20>>2]=e,ee(e)),(e=f[p>>2])&&(f[p+4>>2]=e,ee(e)),I=p- -64|0,t=a;break t;case 13:case 14:case 15:case 16:break r;default:break t}t=H(e,r,i)}a=t}return a}function M(e){var t,r=0,i=0,n=0,o=0,a=0,s=0,c=0,l=0,A=0,p=0,d=0,_=0;I=t=I-16|0;e:{t:{r:{i:{n:{o:{a:{f:{s:{c:{u:{if((e|=0)>>>0<=244){if(3&(r=(o=f[2881])>>>(i=(c=e>>>0<11?16:e+11&-8)>>>3|0)|0)){e=(a=f[11572+(r=(n=i+(1&(-1^r))|0)<<3)>>2])+8|0,(0|(i=f[a+8>>2]))!=(0|(r=r+11564|0))?(f[i+12>>2]=r,f[r+8>>2]=i):(d=11524,_=xr(n)&o,f[d>>2]=_),r=n<<3,f[a+4>>2]=3|r,f[4+(r=r+a|0)>>2]=1|f[r+4>>2];break e}if((p=f[2883])>>>0>=c>>>0)break u;if(r){i=e=(r=(0-(e=(0-(e=2<<i)|e)&r<<i)&e)-1|0)>>>12&16,i|=e=(r=r>>>e|0)>>>5&8,i|=e=(r=r>>>e|0)>>>2&4,s=f[11572+(e=(i=((i|=e=(r=r>>>e|0)>>>1&2)|(e=(r=r>>>e|0)>>>1&1))+(r>>>e|0)|0)<<3)>>2],(0|(r=f[s+8>>2]))!=(0|(e=e+11564|0))?(f[r+12>>2]=e,f[e+8>>2]=r):(o=xr(i)&o,f[2881]=o),e=s+8|0,f[s+4>>2]=3|c,a=(r=i<<3)-c|0,f[4+(n=s+c|0)>>2]=1|a,f[r+s>>2]=a,p&&(i=11564+((r=p>>>3|0)<<3)|0,s=f[2886],(r=1<<r)&o?r=f[i+8>>2]:(f[2881]=r|o,r=i),f[i+8>>2]=s,f[r+12>>2]=s,f[s+12>>2]=i,f[s+8>>2]=r),f[2886]=n,f[2883]=a;break e}if(!(A=f[2882]))break u;for(i=e=(r=(A&0-A)-1|0)>>>12&16,i|=e=(r=r>>>e|0)>>>5&8,i|=e=(r=r>>>e|0)>>>2&4,r=f[11828+(((i|=e=(r=r>>>e|0)>>>1&2)|(e=(r=r>>>e|0)>>>1&1))+(r>>>e|0)<<2)>>2],n=(-8&f[r+4>>2])-c|0,i=r;(e=f[i+16>>2])||(e=f[i+20>>2]);)n=(a=(i=(-8&f[e+4>>2])-c|0)>>>0<n>>>0)?i:n,r=a?e:r,i=e;if(l=f[r+24>>2],(0|(a=f[r+12>>2]))!=(0|r)){e=f[r+8>>2],f[e+12>>2]=a,f[a+8>>2]=e;break t}if(!(e=f[(i=r+20|0)>>2])){if(!(e=f[r+16>>2]))break c;i=r+16|0}for(;s=i,a=e,(e=f[(i=e+20|0)>>2])||(i=a+16|0,e=f[a+16>>2]););f[s>>2]=0;break t}if(c=-1,!(e>>>0>4294967231)&&(c=-8&(e=e+11|0),A=f[2882])){n=0-c|0,o=0,c>>>0<256||(o=31,c>>>0>16777215||(e=e>>>8|0,e<<=s=e+1048320>>>16&8,o=28+((e=((e<<=i=e+520192>>>16&4)<<(r=e+245760>>>16&2)>>>15|0)-(r|i|s)|0)<<1|c>>>e+21&1)|0));l:{b:{if(i=f[11828+(o<<2)>>2])for(e=0,r=c<<(31==(0|o)?0:25-(o>>>1|0)|0);;){if(!((s=(-8&f[i+4>>2])-c|0)>>>0>=n>>>0||(a=i,n=s))){n=0,e=i;break b}if(s=f[i+20>>2],i=f[16+((r>>>29&4)+i|0)>>2],e=s?(0|s)==(0|i)?e:s:e,r<<=1,!i)break}else e=0;if(!(e|a)){if(a=0,!(e=(0-(e=2<<o)|e)&A))break u;i=e=(r=(e&0-e)-1|0)>>>12&16,i|=e=(r=r>>>e|0)>>>5&8,i|=e=(r=r>>>e|0)>>>2&4,e=f[11828+(((i|=e=(r=r>>>e|0)>>>1&2)|(e=(r=r>>>e|0)>>>1&1))+(r>>>e|0)<<2)>>2]}if(!e)break l}for(;n=(i=(r=(-8&f[e+4>>2])-c|0)>>>0<n>>>0)?r:n,a=i?e:a,e=(r=f[e+16>>2])||f[e+20>>2];);}if(!(!a|f[2883]-c>>>0<=n>>>0)){if(o=f[a+24>>2],(0|a)!=(0|(r=f[a+12>>2]))){e=f[a+8>>2],f[e+12>>2]=r,f[r+8>>2]=e;break r}if(!(e=f[(i=a+20|0)>>2])){if(!(e=f[a+16>>2]))break s;i=a+16|0}for(;s=i,r=e,(e=f[(i=e+20|0)>>2])||(i=r+16|0,e=f[r+16>>2]););f[s>>2]=0;break r}}}if((i=f[2883])>>>0>=c>>>0){n=f[2886],(r=i-c|0)>>>0>=16?(f[2883]=r,e=n+c|0,f[2886]=e,f[e+4>>2]=1|r,f[i+n>>2]=r,f[n+4>>2]=3|c):(f[2886]=0,f[2883]=0,f[n+4>>2]=3|i,f[4+(e=i+n|0)>>2]=1|f[e+4>>2]),e=n+8|0;break e}if((l=f[2884])>>>0>c>>>0){r=l-c|0,f[2884]=r,e=(i=f[2887])+c|0,f[2887]=e,f[e+4>>2]=1|r,f[i+4>>2]=3|c,e=i+8|0;break e}if(e=0,A=c+47|0,f[2999]?i=f[3001]:(f[3002]=-1,f[3003]=-1,f[3e3]=4096,f[3001]=4096,f[2999]=t+12&-16^1431655768,f[3004]=0,f[2992]=0,i=4096),(i=(s=A+i|0)&(a=0-i|0))>>>0<=c>>>0)break e;if((n=f[2991])&&n>>>0<(o=(r=f[2989])+i|0)>>>0|r>>>0>=o>>>0)break e;if(4&u[11968])break o;u:{l:{if(n=f[2887])for(e=11972;;){if((r=f[e>>2])>>>0<=n>>>0&n>>>0<r+f[e+4>>2]>>>0)break l;if(!(e=f[e+8>>2]))break}if(-1==(0|(r=er(0))))break a;if(o=i,(e=(n=f[3e3])-1|0)&r&&(o=(i-r|0)+(e+r&0-n)|0),o>>>0<=c>>>0|o>>>0>2147483646)break a;if((n=f[2991])&&n>>>0<(a=(e=f[2989])+o|0)>>>0|e>>>0>=a>>>0)break a;if((0|r)!=(0|(e=er(o))))break u;break n}if((o=a&s-l)>>>0>2147483646)break a;if((0|(r=er(o)))==(f[e>>2]+f[e+4>>2]|0))break f;e=r}if(!(-1==(0|e)|c+48>>>0<=o>>>0)){if((r=(r=f[3001])+(A-o|0)&0-r)>>>0>2147483646){r=e;break n}if(-1!=(0|er(r))){o=r+o|0,r=e;break n}er(0-o|0);break a}if(r=e,-1!=(0|e))break n;break a}a=0;break t}r=0;break r}if(-1!=(0|r))break n}f[2992]=4|f[2992]}if(i>>>0>2147483646)break i;if(-1==(0|(r=er(i)))|-1==(0|(e=er(0)))|e>>>0<=r>>>0)break i;if((o=e-r|0)>>>0<=c+40>>>0)break i}e=f[2989]+o|0,f[2989]=e,e>>>0>b[2990]&&(f[2990]=e);n:{o:{a:{if(s=f[2887]){for(e=11972;;){if(((n=f[e>>2])+(i=f[e+4>>2])|0)==(0|r))break a;if(!(e=f[e+8>>2]))break}break o}for((e=f[2885])>>>0<=r>>>0&&e||(f[2885]=r),e=0,f[2994]=o,f[2993]=r,f[2889]=-1,f[2890]=f[2999],f[2996]=0;i=11564+(n=e<<3)|0,f[n+11572>>2]=i,f[n+11576>>2]=i,32!=(0|(e=e+1|0)););i=(n=o-40|0)-(e=r+8&7?-8-r&7:0)|0,f[2884]=i,e=e+r|0,f[2887]=e,f[e+4>>2]=1|i,f[4+(r+n|0)>>2]=40,f[2888]=f[3003];break n}if(!(8&u[e+12|0]|n>>>0>s>>>0|r>>>0<=s>>>0)){f[e+4>>2]=i+o,i=(e=s+8&7?-8-s&7:0)+s|0,f[2887]=i,e=(r=f[2884]+o|0)-e|0,f[2884]=e,f[i+4>>2]=1|e,f[4+(r+s|0)>>2]=40,f[2888]=f[3003];break n}}b[2885]>r>>>0&&(f[2885]=r),i=r+o|0,e=11972;o:{a:{f:{s:{c:{u:{for(;;){if((0|i)!=f[e>>2]){if(e=f[e+8>>2])continue;break u}break}if(!(8&u[e+12|0]))break c}for(e=11972;;){if((i=f[e>>2])>>>0<=s>>>0&&(a=i+f[e+4>>2]|0)>>>0>s>>>0)break s;e=f[e+8>>2]}}if(f[e>>2]=r,f[e+4>>2]=f[e+4>>2]+o,f[4+(A=(r+8&7?-8-r&7:0)+r|0)>>2]=3|c,i=(o=i+(i+8&7?-8-i&7:0)|0)-(l=c+A|0)|0,(0|o)==(0|s)){f[2887]=l,e=f[2884]+i|0,f[2884]=e,f[l+4>>2]=1|e;break a}if(f[2886]==(0|o)){f[2886]=l,e=f[2883]+i|0,f[2883]=e,f[l+4>>2]=1|e,f[e+l>>2]=e;break a}if(1==(3&(e=f[o+4>>2]))){s=-8&e;c:if(e>>>0<=255){if(n=f[o+8>>2],e=e>>>3|0,(0|(r=f[o+12>>2]))==(0|n)){d=11524,_=f[2881]&xr(e),f[d>>2]=_;break c}f[n+12>>2]=r,f[r+8>>2]=n}else{if(c=f[o+24>>2],(0|o)==(0|(r=f[o+12>>2])))if((n=f[(e=o+20|0)>>2])||(n=f[(e=o+16|0)>>2])){for(;a=e,(n=f[(e=(r=n)+20|0)>>2])||(e=r+16|0,n=f[r+16>>2]););f[a>>2]=0}else r=0;else e=f[o+8>>2],f[e+12>>2]=r,f[r+8>>2]=e;if(c){n=f[o+28>>2];u:{if(f[(e=11828+(n<<2)|0)>>2]==(0|o)){if(f[e>>2]=r,r)break u;d=11528,_=f[2882]&xr(n),f[d>>2]=_;break c}if(f[c+(f[c+16>>2]==(0|o)?16:20)>>2]=r,!r)break c}f[r+24>>2]=c,(e=f[o+16>>2])&&(f[r+16>>2]=e,f[e+24>>2]=r),(e=f[o+20>>2])&&(f[r+20>>2]=e,f[e+24>>2]=r)}}o=o+s|0,i=i+s|0}if(f[o+4>>2]=-2&f[o+4>>2],f[l+4>>2]=1|i,f[i+l>>2]=i,i>>>0<=255){r=11564+((e=i>>>3|0)<<3)|0,(i=f[2881])&(e=1<<e)?e=f[r+8>>2]:(f[2881]=e|i,e=r),f[r+8>>2]=l,f[e+12>>2]=l,f[l+12>>2]=r,f[l+8>>2]=e;break a}if(e=31,i>>>0<=16777215&&(e=i>>>8|0,e<<=a=e+1048320>>>16&8,e=28+((e=((e<<=n=e+520192>>>16&4)<<(r=e+245760>>>16&2)>>>15|0)-(r|n|a)|0)<<1|i>>>e+21&1)|0),f[l+28>>2]=e,f[l+16>>2]=0,f[l+20>>2]=0,a=11828+(e<<2)|0,(n=f[2882])&(r=1<<e)){for(e=i<<(31==(0|e)?0:25-(e>>>1|0)|0),r=f[a>>2];;){if(n=r,(-8&f[r+4>>2])==(0|i))break f;if(r=e>>>29|0,e<<=1,!(r=f[16+(a=n+(4&r)|0)>>2]))break}f[a+16>>2]=l,f[l+24>>2]=n}else f[2882]=r|n,f[a>>2]=l,f[l+24>>2]=a;f[l+12>>2]=l,f[l+8>>2]=l;break a}for(i=(n=o-40|0)-(e=r+8&7?-8-r&7:0)|0,f[2884]=i,e=e+r|0,f[2887]=e,f[e+4>>2]=1|i,f[4+(r+n|0)>>2]=40,f[2888]=f[3003],f[(i=(e=(a+(a-39&7?39-a&7:0)|0)-47|0)>>>0<s+16>>>0?s:e)+4>>2]=27,e=f[2996],f[i+16>>2]=f[2995],f[i+20>>2]=e,e=f[2994],f[i+8>>2]=f[2993],f[i+12>>2]=e,f[2995]=i+8,f[2994]=o,f[2993]=r,f[2996]=0,e=i+24|0;f[e+4>>2]=7,r=e+8|0,e=e+4|0,r>>>0<a>>>0;);if((0|i)==(0|s))break n;if(f[i+4>>2]=-2&f[i+4>>2],a=i-s|0,f[s+4>>2]=1|a,f[i>>2]=a,a>>>0<=255){r=11564+((e=a>>>3|0)<<3)|0,(i=f[2881])&(e=1<<e)?e=f[r+8>>2]:(f[2881]=e|i,e=r),f[r+8>>2]=s,f[e+12>>2]=s,f[s+12>>2]=r,f[s+8>>2]=e;break n}if(e=31,f[s+16>>2]=0,f[s+20>>2]=0,a>>>0<=16777215&&(e=a>>>8|0,e<<=n=e+1048320>>>16&8,e=28+((e=((e<<=i=e+520192>>>16&4)<<(r=e+245760>>>16&2)>>>15|0)-(r|i|n)|0)<<1|a>>>e+21&1)|0),f[s+28>>2]=e,n=11828+(e<<2)|0,(i=f[2882])&(r=1<<e)){for(e=a<<(31==(0|e)?0:25-(e>>>1|0)|0),r=f[n>>2];;){if(i=r,(0|a)==(-8&f[r+4>>2]))break o;if(r=e>>>29|0,e<<=1,!(r=f[16+(n=i+(4&r)|0)>>2]))break}f[n+16>>2]=s,f[s+24>>2]=i}else f[2882]=r|i,f[n>>2]=s,f[s+24>>2]=n;f[s+12>>2]=s,f[s+8>>2]=s;break n}e=f[n+8>>2],f[e+12>>2]=l,f[n+8>>2]=l,f[l+24>>2]=0,f[l+12>>2]=n,f[l+8>>2]=e}e=A+8|0;break e}e=f[i+8>>2],f[e+12>>2]=s,f[i+8>>2]=s,f[s+24>>2]=0,f[s+12>>2]=i,f[s+8>>2]=e}if(!((e=f[2884])>>>0<=c>>>0)){r=e-c|0,f[2884]=r,e=(i=f[2887])+c|0,f[2887]=e,f[e+4>>2]=1|r,f[i+4>>2]=3|c,e=i+8|0;break e}}f[2879]=48,e=0;break e}r:if(o){i=f[a+28>>2];i:{if(f[(e=11828+(i<<2)|0)>>2]==(0|a)){if(f[e>>2]=r,r)break i;A=xr(i)&A,f[2882]=A;break r}if(f[o+(f[o+16>>2]==(0|a)?16:20)>>2]=r,!r)break r}f[r+24>>2]=o,(e=f[a+16>>2])&&(f[r+16>>2]=e,f[e+24>>2]=r),(e=f[a+20>>2])&&(f[r+20>>2]=e,f[e+24>>2]=r)}r:if(n>>>0<=15)e=n+c|0,f[a+4>>2]=3|e,f[4+(e=e+a|0)>>2]=1|f[e+4>>2];else if(f[a+4>>2]=3|c,f[4+(o=a+c|0)>>2]=1|n,f[n+o>>2]=n,n>>>0<=255)r=11564+((e=n>>>3|0)<<3)|0,(i=f[2881])&(e=1<<e)?e=f[r+8>>2]:(f[2881]=e|i,e=r),f[r+8>>2]=o,f[e+12>>2]=o,f[o+12>>2]=r,f[o+8>>2]=e;else{e=31,n>>>0<=16777215&&(e=n>>>8|0,e<<=s=e+1048320>>>16&8,e=28+((e=((e<<=i=e+520192>>>16&4)<<(r=e+245760>>>16&2)>>>15|0)-(r|i|s)|0)<<1|n>>>e+21&1)|0),f[o+28>>2]=e,f[o+16>>2]=0,f[o+20>>2]=0,r=11828+(e<<2)|0;i:{if((i=1<<e)&A){for(e=n<<(31==(0|e)?0:25-(e>>>1|0)|0),c=f[r>>2];;){if((-8&f[(r=c)+4>>2])==(0|n))break i;if(i=e>>>29|0,e<<=1,!(c=f[16+(i=(4&i)+r|0)>>2]))break}f[i+16>>2]=o}else f[2882]=i|A,f[r>>2]=o;f[o+24>>2]=r,f[o+12>>2]=o,f[o+8>>2]=o;break r}e=f[r+8>>2],f[e+12>>2]=o,f[r+8>>2]=o,f[o+24>>2]=0,f[o+12>>2]=r,f[o+8>>2]=e}e=a+8|0;break e}t:if(l){i=f[r+28>>2];r:{if(f[(e=11828+(i<<2)|0)>>2]==(0|r)){if(f[e>>2]=a,a)break r;d=11528,_=xr(i)&A,f[d>>2]=_;break t}if(f[l+(f[l+16>>2]==(0|r)?16:20)>>2]=a,!a)break t}f[a+24>>2]=l,(e=f[r+16>>2])&&(f[a+16>>2]=e,f[e+24>>2]=a),(e=f[r+20>>2])&&(f[a+20>>2]=e,f[e+24>>2]=a)}n>>>0<=15?(e=n+c|0,f[r+4>>2]=3|e,f[4+(e=e+r|0)>>2]=1|f[e+4>>2]):(f[r+4>>2]=3|c,f[4+(a=r+c|0)>>2]=1|n,f[n+a>>2]=n,p&&(i=11564+((e=p>>>3|0)<<3)|0,s=f[2886],(e=1<<e)&o?e=f[i+8>>2]:(f[2881]=e|o,e=i),f[i+8>>2]=s,f[e+12>>2]=s,f[s+12>>2]=i,f[s+8>>2]=e),f[2886]=a,f[2883]=n),e=r+8|0}return I=t+16|0,0|e}function G(e,t,r,i){var n,s=0,c=0,l=0,A=0,p=0,d=0,_=0,h=0,k=0,m=0,y=0,v=0,g=0;if(I=n=I-80|0,s=f[r+36>>2],f[n+72>>2]=f[r+32>>2],f[n+76>>2]=s,c=f[r+28>>2],f[(s=n- -64|0)>>2]=f[r+24>>2],f[s+4>>2]=c,s=f[r+20>>2],f[n+56>>2]=f[r+16>>2],f[n+60>>2]=s,s=f[r+12>>2],f[n+48>>2]=f[r+8>>2],f[n+52>>2]=s,s=f[r+4>>2],f[n+40>>2]=f[r>>2],f[n+44>>2]=s,Q(e,n+40|0,n+24|0),!f[e>>2])if(_=e+4|0,o[e+15|0]<0&&ee(f[_>>2]),1==u[n+31|0]){I=A=I-16|0;e:{t:switch(u[n+32|0]){case 0:$t(s=br(48)),f[s>>2]=9896,f[n+8>>2]=0,f[n+12>>2]=0,f[n>>2]=0,f[n+4>>2]=0,f[n+16>>2]=s;break e;case 1:$t(s=br(52)),f[s+48>>2]=0,f[s>>2]=8204,f[n+8>>2]=0,f[n+12>>2]=0,f[n>>2]=0,f[n+4>>2]=0,f[n+16>>2]=s;break e}c=br(32),s=u[1664]|u[1665]<<8|u[1666]<<16|u[1667]<<24,o[c+24|0]=s,o[c+25|0]=s>>>8,o[c+26|0]=s>>>16,o[c+27|0]=s>>>24,s=u[1660]|u[1661]<<8|u[1662]<<16|u[1663]<<24,l=u[1656]|u[1657]<<8|u[1658]<<16|u[1659]<<24,o[c+16|0]=l,o[c+17|0]=l>>>8,o[c+18|0]=l>>>16,o[c+19|0]=l>>>24,o[c+20|0]=s,o[c+21|0]=s>>>8,o[c+22|0]=s>>>16,o[c+23|0]=s>>>24,s=u[1652]|u[1653]<<8|u[1654]<<16|u[1655]<<24,l=u[1648]|u[1649]<<8|u[1650]<<16|u[1651]<<24,o[c+8|0]=l,o[c+9|0]=l>>>8,o[c+10|0]=l>>>16,o[c+11|0]=l>>>24,o[c+12|0]=s,o[c+13|0]=s>>>8,o[c+14|0]=s>>>16,o[c+15|0]=s>>>24,s=u[1644]|u[1645]<<8|u[1646]<<16|u[1647]<<24,l=u[1640]|u[1641]<<8|u[1642]<<16|u[1643]<<24,o[0|c]=l,o[c+1|0]=l>>>8,o[c+2|0]=l>>>16,o[c+3|0]=l>>>24,o[c+4|0]=s,o[c+5|0]=s>>>8,o[c+6|0]=s>>>16,o[c+7|0]=s>>>24,o[c+28|0]=0,f[A>>2]=-1,Vt(s=4|A,c,28),d=o[A+15|0],f[n>>2]=f[A>>2],l=n+4|0,(0|d)>=0?(d=f[s+4>>2],f[l>>2]=f[s>>2],f[l+4>>2]=d,f[l+8>>2]=f[s+8>>2]):Vt(l,f[A+4>>2],f[A+8>>2]),f[n+16>>2]=0,o[A+15|0]<0&&ee(f[A+4>>2]),ee(c)}I=A+16|0;e:if(s=f[n>>2]){if(f[e>>2]=s,o[n+15|0]>=0){t=f[4+(e=4|n)>>2],f[_>>2]=f[e>>2],f[_+4>>2]=t,f[_+8>>2]=f[e+8>>2];break e}Vt(_,f[n+4>>2],f[n+8>>2])}else{s=f[n+16>>2],f[n+16>>2]=0,f[s+44>>2]=i,I=A=I-32|0,f[s+32>>2]=r,f[s+40>>2]=t,f[s+4>>2]=i,Q(e,r,A+16|0);t:if(!f[e>>2])if(c=e+4|0,o[e+15|0]<0&&ee(f[c>>2]),t=u[A+23|0],(0|_i[f[f[s>>2]+8>>2]](s))==(0|t))if(r=u[A+21|0],o[s+36|0]=r,i=u[A+22|0],o[s+37|0]=i,2==(0|r))if((0|(t=t?2:3))==(0|i)){if(a[f[s+32>>2]+38>>1]=512|t,!(a[A+26>>1]>=0)){I=d=I-16|0,i=br(36),f[(t=i)+4>>2]=0,f[t+8>>2]=0,f[t+24>>2]=0,f[t+28>>2]=0,f[(t=t+16|0)>>2]=0,f[t+4>>2]=0,f[i>>2]=i+4,f[i+32>>2]=0,f[i+12>>2]=t,f[d>>2]=0,r=f[s+32>>2],I=h=I-16|0,t=0;r:if(i&&(f[d>>2]=r,f[h+12>>2]=0,t=0,gt(1,h+12|0,r))){if(y=f[h+12>>2])for(;;){i:{if(gt(1,h+8|0,f[d>>2])){if(t=br(28),f[t+4>>2]=0,f[t+8>>2]=0,f[(r=t+16|0)>>2]=0,f[r+4>>2]=0,f[t>>2]=t+4,f[t+12>>2]=r,f[t+24>>2]=f[h+8>>2],U(d,t))break i;rr(t+12|0,f[t+16>>2]),ur(t,f[t+4>>2]),ee(t)}t=0;break r}if(I=l=I-16|0,f[l+8>>2]=t,t){if((r=f[i+28>>2])>>>0<b[i+32>>2])f[l+8>>2]=0,f[r>>2]=t,f[i+28>>2]=r+4;else{r=0;i:{n:{o:{if(p=f[i+24>>2],(t=1+(m=f[i+28>>2]-p>>2)|0)>>>0<1073741824){if(k=(p=f[i+32>>2]-p|0)>>1,t=p>>2>>>0<536870911?t>>>0>k>>>0?t:k:1073741823){if(t>>>0>=1073741824)break o;r=br(t<<2)}if(k=f[l+8>>2],f[l+8>>2]=0,f[(p=(m<<2)+r|0)>>2]=k,m=(t<<2)+r|0,k=p+4|0,(0|(r=f[i+28>>2]))==(0|(t=f[i+24>>2])))break n;for(;g=f[(r=r-4|0)>>2],f[r>>2]=0,f[(p=p-4|0)>>2]=g,(0|t)!=(0|r););if(f[i+32>>2]=m,r=f[i+28>>2],f[i+28>>2]=k,t=f[i+24>>2],f[i+24>>2]=p,(0|t)==(0|r))break i;for(;p=f[(r=r-4|0)>>2],f[r>>2]=0,p&&(rr(p+12|0,f[p+16>>2]),ur(p,f[p+4>>2]),ee(p)),(0|t)!=(0|r););break i}ii(),E()}Lt(1326),E()}f[i+32>>2]=m,f[i+28>>2]=k,f[i+24>>2]=p}t&&ee(t)}t=f[l+8>>2],f[l+8>>2]=0,t&&(rr(t+12|0,f[t+16>>2]),ur(t,f[t+4>>2]),ee(t))}else f[l+8>>2]=0;if(I=l+16|0,(0|(v=v+1|0))==(0|y))break}t=U(d,i)}if(I=h+16|0,t?(r=f[s+4>>2],t=f[r+4>>2],f[r+4>>2]=i,t&&Rt(t),f[e>>2]=0,f[e+4>>2]=0,f[e+8>>2]=0,f[e+12>>2]=0):(t=br(32),r=u[1693]|u[1694]<<8,o[t+24|0]=r,o[t+25|0]=r>>>8,r=u[1689]|u[1690]<<8|u[1691]<<16|u[1692]<<24,l=u[1685]|u[1686]<<8|u[1687]<<16|u[1688]<<24,o[t+16|0]=l,o[t+17|0]=l>>>8,o[t+18|0]=l>>>16,o[t+19|0]=l>>>24,o[t+20|0]=r,o[t+21|0]=r>>>8,o[t+22|0]=r>>>16,o[t+23|0]=r>>>24,r=u[1681]|u[1682]<<8|u[1683]<<16|u[1684]<<24,l=u[1677]|u[1678]<<8|u[1679]<<16|u[1680]<<24,o[t+8|0]=l,o[t+9|0]=l>>>8,o[t+10|0]=l>>>16,o[t+11|0]=l>>>24,o[t+12|0]=r,o[t+13|0]=r>>>8,o[t+14|0]=r>>>16,o[t+15|0]=r>>>24,r=u[1673]|u[1674]<<8|u[1675]<<16|u[1676]<<24,l=u[1669]|u[1670]<<8|u[1671]<<16|u[1672]<<24,o[0|t]=l,o[t+1|0]=l>>>8,o[t+2|0]=l>>>16,o[t+3|0]=l>>>24,o[t+4|0]=r,o[t+5|0]=r>>>8,o[t+6|0]=r>>>16,o[t+7|0]=r>>>24,o[t+26|0]=0,f[e>>2]=-1,Vt(e+4|0,t,26),ee(t),f[d+8>>2]=0,Rt(i)),I=d+16|0,f[e>>2])break t;o[c+11|0]>=0||ee(f[c>>2])}if(0|_i[f[f[s>>2]+12>>2]](s))if(0|_i[f[f[s>>2]+20>>2]](s))if(0|_i[f[f[s>>2]+24>>2]](s))f[e>>2]=0,f[e+4>>2]=0,f[e+8>>2]=0,f[e+12>>2]=0;else{if(t=Pt(A,1451),f[e>>2]=-1,o[t+11|0]>=0){t=f[A+4>>2],f[c>>2]=f[A>>2],f[c+4>>2]=t,f[c+8>>2]=f[A+8>>2];break t}if(Vt(c,f[t>>2],f[t+4>>2]),o[t+11|0]>=0)break t;ee(f[t>>2])}else{if(t=Pt(A,1696),f[e>>2]=-1,o[t+11|0]>=0){t=f[A+4>>2],f[c>>2]=f[A>>2],f[c+4>>2]=t,f[c+8>>2]=f[A+8>>2];break t}if(Vt(c,f[t>>2],f[t+4>>2]),o[t+11|0]>=0)break t;ee(f[t>>2])}else t=br(48),o[t+32|0]=u[1518],r=u[1514]|u[1515]<<8|u[1516]<<16|u[1517]<<24,i=u[1510]|u[1511]<<8|u[1512]<<16|u[1513]<<24,o[t+24|0]=i,o[t+25|0]=i>>>8,o[t+26|0]=i>>>16,o[t+27|0]=i>>>24,o[t+28|0]=r,o[t+29|0]=r>>>8,o[t+30|0]=r>>>16,o[t+31|0]=r>>>24,r=u[1506]|u[1507]<<8|u[1508]<<16|u[1509]<<24,i=u[1502]|u[1503]<<8|u[1504]<<16|u[1505]<<24,o[t+16|0]=i,o[t+17|0]=i>>>8,o[t+18|0]=i>>>16,o[t+19|0]=i>>>24,o[t+20|0]=r,o[t+21|0]=r>>>8,o[t+22|0]=r>>>16,o[t+23|0]=r>>>24,r=u[1498]|u[1499]<<8|u[1500]<<16|u[1501]<<24,i=u[1494]|u[1495]<<8|u[1496]<<16|u[1497]<<24,o[t+8|0]=i,o[t+9|0]=i>>>8,o[t+10|0]=i>>>16,o[t+11|0]=i>>>24,o[t+12|0]=r,o[t+13|0]=r>>>8,o[t+14|0]=r>>>16,o[t+15|0]=r>>>24,r=u[1490]|u[1491]<<8|u[1492]<<16|u[1493]<<24,i=u[1486]|u[1487]<<8|u[1488]<<16|u[1489]<<24,o[0|t]=i,o[t+1|0]=i>>>8,o[t+2|0]=i>>>16,o[t+3|0]=i>>>24,o[t+4|0]=r,o[t+5|0]=r>>>8,o[t+6|0]=r>>>16,o[t+7|0]=r>>>24,o[t+33|0]=0,f[e>>2]=-1,Vt(c,t,33),ee(t)}else t=br(32),r=u[1544]|u[1545]<<8,o[t+24|0]=r,o[t+25|0]=r>>>8,r=u[1540]|u[1541]<<8|u[1542]<<16|u[1543]<<24,i=u[1536]|u[1537]<<8|u[1538]<<16|u[1539]<<24,o[t+16|0]=i,o[t+17|0]=i>>>8,o[t+18|0]=i>>>16,o[t+19|0]=i>>>24,o[t+20|0]=r,o[t+21|0]=r>>>8,o[t+22|0]=r>>>16,o[t+23|0]=r>>>24,r=u[1532]|u[1533]<<8|u[1534]<<16|u[1535]<<24,i=u[1528]|u[1529]<<8|u[1530]<<16|u[1531]<<24,o[t+8|0]=i,o[t+9|0]=i>>>8,o[t+10|0]=i>>>16,o[t+11|0]=i>>>24,o[t+12|0]=r,o[t+13|0]=r>>>8,o[t+14|0]=r>>>16,o[t+15|0]=r>>>24,r=u[1524]|u[1525]<<8|u[1526]<<16|u[1527]<<24,i=u[1520]|u[1521]<<8|u[1522]<<16|u[1523]<<24,o[0|t]=i,o[t+1|0]=i>>>8,o[t+2|0]=i>>>16,o[t+3|0]=i>>>24,o[t+4|0]=r,o[t+5|0]=r>>>8,o[t+6|0]=r>>>16,o[t+7|0]=r>>>24,o[t+26|0]=0,f[e>>2]=-5,Vt(c,t,26),ee(t);else t=br(32),r=u[1571]|u[1572]<<8,o[t+24|0]=r,o[t+25|0]=r>>>8,r=u[1567]|u[1568]<<8|u[1569]<<16|u[1570]<<24,i=u[1563]|u[1564]<<8|u[1565]<<16|u[1566]<<24,o[t+16|0]=i,o[t+17|0]=i>>>8,o[t+18|0]=i>>>16,o[t+19|0]=i>>>24,o[t+20|0]=r,o[t+21|0]=r>>>8,o[t+22|0]=r>>>16,o[t+23|0]=r>>>24,r=u[1559]|u[1560]<<8|u[1561]<<16|u[1562]<<24,i=u[1555]|u[1556]<<8|u[1557]<<16|u[1558]<<24,o[t+8|0]=i,o[t+9|0]=i>>>8,o[t+10|0]=i>>>16,o[t+11|0]=i>>>24,o[t+12|0]=r,o[t+13|0]=r>>>8,o[t+14|0]=r>>>16,o[t+15|0]=r>>>24,r=u[1551]|u[1552]<<8|u[1553]<<16|u[1554]<<24,i=u[1547]|u[1548]<<8|u[1549]<<16|u[1550]<<24,o[0|t]=i,o[t+1|0]=i>>>8,o[t+2|0]=i>>>16,o[t+3|0]=i>>>24,o[t+4|0]=r,o[t+5|0]=r>>>8,o[t+6|0]=r>>>16,o[t+7|0]=r>>>24,o[t+26|0]=0,f[e>>2]=-5,Vt(c,t,26),ee(t);else t=br(64),r=u[1448]|u[1449]<<8,o[t+48|0]=r,o[t+49|0]=r>>>8,r=u[1444]|u[1445]<<8|u[1446]<<16|u[1447]<<24,i=u[1440]|u[1441]<<8|u[1442]<<16|u[1443]<<24,o[t+40|0]=i,o[t+41|0]=i>>>8,o[t+42|0]=i>>>16,o[t+43|0]=i>>>24,o[t+44|0]=r,o[t+45|0]=r>>>8,o[t+46|0]=r>>>16,o[t+47|0]=r>>>24,r=u[1436]|u[1437]<<8|u[1438]<<16|u[1439]<<24,i=u[1432]|u[1433]<<8|u[1434]<<16|u[1435]<<24,o[t+32|0]=i,o[t+33|0]=i>>>8,o[t+34|0]=i>>>16,o[t+35|0]=i>>>24,o[t+36|0]=r,o[t+37|0]=r>>>8,o[t+38|0]=r>>>16,o[t+39|0]=r>>>24,r=u[1428]|u[1429]<<8|u[1430]<<16|u[1431]<<24,i=u[1424]|u[1425]<<8|u[1426]<<16|u[1427]<<24,o[t+24|0]=i,o[t+25|0]=i>>>8,o[t+26|0]=i>>>16,o[t+27|0]=i>>>24,o[t+28|0]=r,o[t+29|0]=r>>>8,o[t+30|0]=r>>>16,o[t+31|0]=r>>>24,r=u[1420]|u[1421]<<8|u[1422]<<16|u[1423]<<24,i=u[1416]|u[1417]<<8|u[1418]<<16|u[1419]<<24,o[t+16|0]=i,o[t+17|0]=i>>>8,o[t+18|0]=i>>>16,o[t+19|0]=i>>>24,o[t+20|0]=r,o[t+21|0]=r>>>8,o[t+22|0]=r>>>16,o[t+23|0]=r>>>24,r=u[1412]|u[1413]<<8|u[1414]<<16|u[1415]<<24,i=u[1408]|u[1409]<<8|u[1410]<<16|u[1411]<<24,o[t+8|0]=i,o[t+9|0]=i>>>8,o[t+10|0]=i>>>16,o[t+11|0]=i>>>24,o[t+12|0]=r,o[t+13|0]=r>>>8,o[t+14|0]=r>>>16,o[t+15|0]=r>>>24,r=u[1404]|u[1405]<<8|u[1406]<<16|u[1407]<<24,i=u[1400]|u[1401]<<8|u[1402]<<16|u[1403]<<24,o[0|t]=i,o[t+1|0]=i>>>8,o[t+2|0]=i>>>16,o[t+3|0]=i>>>24,o[t+4|0]=r,o[t+5|0]=r>>>8,o[t+6|0]=r>>>16,o[t+7|0]=r>>>24,o[t+50|0]=0,f[e>>2]=-1,Vt(c,t,50),ee(t);I=A+32|0,f[e>>2]||(o[_+11|0]<0&&ee(f[_>>2]),f[e>>2]=0,f[e+4>>2]=0,f[e+8>>2]=0,f[e+12>>2]=0),_i[f[f[s>>2]+4>>2]](s)}e=f[n+16>>2],f[n+16>>2]=0,e&&_i[f[f[e>>2]+4>>2]](e),o[n+15|0]>=0||ee(f[n+4>>2])}else t=br(32),r=u[1590]|u[1591]<<8|u[1592]<<16|u[1593]<<24,o[t+16|0]=r,o[t+17|0]=r>>>8,o[t+18|0]=r>>>16,o[t+19|0]=r>>>24,r=u[1586]|u[1587]<<8|u[1588]<<16|u[1589]<<24,i=u[1582]|u[1583]<<8|u[1584]<<16|u[1585]<<24,o[t+8|0]=i,o[t+9|0]=i>>>8,o[t+10|0]=i>>>16,o[t+11|0]=i>>>24,o[t+12|0]=r,o[t+13|0]=r>>>8,o[t+14|0]=r>>>16,o[t+15|0]=r>>>24,r=u[1578]|u[1579]<<8|u[1580]<<16|u[1581]<<24,i=u[1574]|u[1575]<<8|u[1576]<<16|u[1577]<<24,o[0|t]=i,o[t+1|0]=i>>>8,o[t+2|0]=i>>>16,o[t+3|0]=i>>>24,o[t+4|0]=r,o[t+5|0]=r>>>8,o[t+6|0]=r>>>16,o[t+7|0]=r>>>24,o[t+20|0]=0,f[e>>2]=-1,Vt(_,t,20),ee(t);I=n+80|0}function U(e,t){var r,i=0,n=0,a=0,s=0,c=0,l=0,A=0,p=0,d=0,_=0,h=0,k=0,m=0,y=0,v=0;I=r=I-48|0,i=br(8),f[i+4>>2]=t,f[i>>2]=0,t=i+8|0,f[r+40>>2]=t,f[r+36>>2]=t,f[r+32>>2]=i;e:{t:{r:{i:{for(;;){if(p=f[4+(t=t-8|0)>>2],c=f[t>>2],f[r+36>>2]=t,c){f[r+24>>2]=0,f[r+16>>2]=0,f[r+20>>2]=0,i=1,t=f[e>>2],a=f[t+8>>2];n:if(!((0|(l=f[t+12>>2]))<=(0|(n=f[t+20>>2]))&(s=f[t+16>>2])>>>0>=a>>>0|(0|n)>(0|l))){if(a=u[s+f[t>>2]|0],n=(s=s+1|0)?n:n+1|0,f[t+16>>2]=s,f[t+20>>2]=n,Ne(r+16|0,a),a){if(n=f[e>>2],_=lr(r+16|0),s=f[n+20>>2],t=a,h=(A=f[n+16>>2])+a|0,l=f[n+12>>2],s=a>>>0>h>>>0?s+1|0:s,h>>>0>b[n+8>>2]&(0|l)<=(0|s)|(0|s)>(0|l))break n;ge(_,A+f[n>>2]|0,a),i=f[n+20>>2],i=(a=t+f[n+16>>2]|0)>>>0<t>>>0?i+1|0:i,f[n+16>>2]=a,f[n+20>>2]=i}p=br(24),f[(t=p)+4>>2]=0,f[t+8>>2]=0,f[(t=t+16|0)>>2]=0,f[t+4>>2]=0,f[p>>2]=p+4,f[p+12>>2]=t,I=a=I-32|0;o:if((0|(d=Ke(s=c+12|0,i=r+16|0)))!=(0|(m=c+16|0)))p&&(rr(p+12|0,f[p+16>>2]),ur(p,f[p+4>>2]),ee(p));else{f[a+16>>2]=i;a:{f:{if(t=f[s+4>>2])for(l=(c=(n=u[i+11|0])<<24>>24<0)?f[i>>2]:i,c=c?f[i+4>>2]:n,i=s+4|0;;){s:{c:{u:{l:{b:{A:if(A=(_=(n=(h=(n=u[t+27|0])<<24>>24<0)?f[t+20>>2]:n)>>>0<c>>>0)?n:c){if(k=t+16|0,!(k=xt(l,h=h?f[k>>2]:k,A))){if(n>>>0>c>>>0)break A;break b}if((0|k)>=0)break b}else if(n>>>0<=c>>>0)break l;if(n=f[t>>2])break s;break f}if(n=xt(h,l,A))break u}if(_)break c;break a}if((0|n)>=0)break a}if(i=t+4|0,!(n=f[t+4>>2]))break a;t=i}i=t,t=n}t=s+4|0}i=t}if((n=f[i>>2])?t=0:(l=(n=br(32))+16|0,c=f[a+16>>2],o[c+11|0]>=0?(h=f[c+4>>2],f[l>>2]=f[c>>2],f[l+4>>2]=h,f[l+8>>2]=f[c+8>>2]):Vt(l,f[c>>2],f[c+4>>2]),f[n+8>>2]=t,f[n>>2]=0,f[n+4>>2]=0,f[n+28>>2]=0,f[i>>2]=n,(t=f[f[s>>2]>>2])?(f[s>>2]=t,t=f[i>>2]):t=n,Te(f[s+4>>2],t),f[s+8>>2]=f[s+8>>2]+1,t=1),o[a+28|0]=t,f[a+24>>2]=n,i=f[a+24>>2],t=f[i+28>>2],f[i+28>>2]=p,!t)break o;rr(t+12|0,f[t+16>>2]),ur(t,f[t+4>>2]),ee(t)}I=a+32|0,i=(0|d)!=(0|m)}if(o[r+27|0]<0&&ee(f[r+16>>2]),i)break t}if(!p)break t;if(f[r+16>>2]=0,!gt(1,r+16|0,f[e>>2]))break t;if(t=0,v=f[r+16>>2])for(;;){h=0,I=A=I-32|0,f[A+24>>2]=0,f[A+16>>2]=0,f[A+20>>2]=0,i=f[e>>2],a=f[i+8>>2];n:{o:{a:if(!((0|(s=f[i+12>>2]))<=(0|(n=f[i+20>>2]))&(c=f[i+16>>2])>>>0>=a>>>0|(0|n)>(0|s))){if(s=u[c+f[i>>2]|0],a=i,i=n,i=(n=c+1|0)?i:i+1|0,f[a+16>>2]=n,f[a+20>>2]=i,Ne(A+16|0,s),s){if(a=f[e>>2],_=lr(A+16|0),n=f[a+20>>2],l=(d=f[a+16>>2])+(i=s)|0,c=f[a+12>>2],n=i>>>0>l>>>0?n+1|0:n,l>>>0>b[a+8>>2]&(0|c)<=(0|n)|(0|n)>(0|c))break a;ge(_,d+f[a>>2]|0,s),n=f[a+20>>2],n=(s=i+f[a+16>>2]|0)>>>0<i>>>0?n+1|0:n,f[a+16>>2]=s,f[a+20>>2]=n}if(f[A+12>>2]=0,gt(1,A+12|0,f[e>>2])&&(i=f[A+12>>2])){if(f[A+8>>2]=0,f[A>>2]=0,f[A+4>>2]=0,(0|i)<0)break o;if(n=br(i),f[A>>2]=n,a=i+n|0,f[A+8>>2]=a,_=Ye(n,0,i),f[A+4>>2]=a,a=f[e>>2],h=f[a+8>>2],c=f[a+12>>2],s=f[a+20>>2],h=(0|(s=(l=i+(d=f[a+16>>2])|0)>>>0<i>>>0?s+1|0:s))<=(0|c)&l>>>0<=h>>>0|(0|s)<(0|c)){if(ge(_,d+f[a>>2]|0,i),n=i,s=i+f[a+16>>2]|0,i=f[a+20>>2],f[a+16>>2]=s,f[a+20>>2]=n>>>0>s>>>0?i+1|0:i,I=c=I-48|0,(0|(n=Ke(p,A+16|0)))!=(p+4|0)){f:if(a=f[n+4>>2])for(;s=a,a=f[a>>2];);else{if(s=f[n+8>>2],f[s>>2]==(0|n))break f;for(i=n+8|0;i=(a=f[i>>2])+8|0,s=f[a+8>>2],(0|a)!=f[s>>2];);}f[p>>2]==(0|n)&&(f[p>>2]=s),f[p+8>>2]=f[p+8>>2]-1,s=f[p+4>>2],l=n;f:{s:{if(a=f[n>>2]){if(!(i=f[l+4>>2]))break s;for(;n=i,i=f[i>>2];);}if(!(a=f[n+4>>2])){a=0,_=1;break f}}f[a+8>>2]=f[n+8>>2],_=0}d=f[n+8>>2];f:if((0|n)!=(0|(i=f[d>>2])))f[d+4>>2]=a;else{if(f[d>>2]=a,(0|n)==(0|s)){i=0,s=a;break f}i=f[d+4>>2]}k=!u[n+12|0],(0|n)!=(0|l)&&(d=f[l+8>>2],f[n+8>>2]=d,f[d+(((0|l)!=f[f[l+8>>2]>>2])<<2)>>2]=n,d=f[l>>2],f[n>>2]=d,f[d+8>>2]=n,d=f[l+4>>2],f[n+4>>2]=d,d&&(f[d+8>>2]=n),o[n+12|0]=u[l+12|0],s=(0|s)==(0|l)?n:s);f:if(!(k|!s)){if(_)for(;;){a=u[i+12|0];s:{if(n=f[i+8>>2],f[n>>2]!=(0|i)){a||(o[i+12|0]=1,o[n+12|0]=0,a=f[n+4>>2],_=f[a>>2],f[n+4>>2]=_,_&&(f[_+8>>2]=n),f[a+8>>2]=f[n+8>>2],_=f[n+8>>2],f[(((0|n)!=f[_>>2])<<2)+_>>2]=a,f[a>>2]=n,f[n+8>>2]=a,n=i,s=(0|(i=f[i>>2]))==(0|s)?n:s,i=f[i+4>>2]);c:{u:{n=f[i>>2];l:{if(u[n+12|0]||!n){if(a=f[i+4>>2],!u[a+12|0]&&a)break l;if(o[i+12|0]=0,(0|s)!=(0|(i=f[i+8>>2]))){if(u[i+12|0])break s}else i=s;o[i+12|0]=1;break f}if(!(a=f[i+4>>2]))break u}if(!u[a+12|0]){n=i;break c}}o[n+12|0]=1,o[i+12|0]=0,a=f[n+4>>2],f[i>>2]=a,a&&(f[a+8>>2]=i),f[n+8>>2]=f[i+8>>2],a=f[i+8>>2],f[((f[a>>2]!=(0|i))<<2)+a>>2]=n,f[n+4>>2]=i,f[i+8>>2]=n,a=i}i=f[n+8>>2],o[n+12|0]=u[i+12|0],o[i+12|0]=1,o[a+12|0]=1,n=f[i+4>>2],a=f[n>>2],f[i+4>>2]=a,a&&(f[a+8>>2]=i),f[n+8>>2]=f[i+8>>2],a=f[i+8>>2],f[(((0|i)!=f[a>>2])<<2)+a>>2]=n,f[n>>2]=i,f[i+8>>2]=n;break f}a||(o[i+12|0]=1,o[n+12|0]=0,a=f[i+4>>2],f[n>>2]=a,a&&(f[a+8>>2]=n),f[i+8>>2]=f[n+8>>2],a=f[n+8>>2],f[(((0|n)!=f[a>>2])<<2)+a>>2]=i,f[i+4>>2]=n,f[n+8>>2]=i,s=(0|n)==(0|s)?i:s,i=f[n>>2]);c:if(!(a=f[i>>2])|u[a+12|0]){if(n=f[i+4>>2],u[n+12|0]||!n){if(o[i+12|0]=0,(0|(i=f[i+8>>2]))!=(0|s)&&u[i+12|0])break s;o[i+12|0]=1;break f}if(a){if(!u[a+12|0]){n=i;break c}n=f[i+4>>2]}o[n+12|0]=1,o[i+12|0]=0,a=f[n>>2],f[i+4>>2]=a,a&&(f[a+8>>2]=i),f[n+8>>2]=f[i+8>>2],a=f[i+8>>2],f[((f[a>>2]!=(0|i))<<2)+a>>2]=n,f[n>>2]=i,f[i+8>>2]=n,a=i}else n=i;i=f[n+8>>2],o[n+12|0]=u[i+12|0],o[i+12|0]=1,o[a+12|0]=1,n=f[i>>2],a=f[n+4>>2],f[i>>2]=a,a&&(f[a+8>>2]=i),f[n+8>>2]=f[i+8>>2],a=f[i+8>>2],f[(((0|i)!=f[a>>2])<<2)+a>>2]=n,f[n+4>>2]=i,f[i+8>>2]=n;break f}n=i,i=f[i+8>>2],i=f[(((0|n)==f[i>>2])<<2)+i>>2]}o[a+12|0]=1}(i=f[l+28>>2])&&(f[l+32>>2]=i,ee(i)),o[l+27|0]<0&&ee(f[l+16>>2]),ee(l)}f[c>>2]=0,f[c+4>>2]=0,f[c+8>>2]=0,lt(c,i=f[A+4>>2]-f[A>>2]|0),ge(f[c>>2],f[A>>2],i),o[A+27|0]>=0?(f[c+24>>2]=f[A+24>>2],i=f[A+20>>2],f[c+16>>2]=f[A+16>>2],f[c+20>>2]=i):Vt(c+16|0,f[A+16>>2],f[A+20>>2]),f[c+36>>2]=0,f[c+28>>2]=0,f[c+32>>2]=0,lt(c+28|0,f[c+4>>2]-f[c>>2]|0),i=f[c>>2],ge(f[c+28>>2],i,f[c+4>>2]-i|0),n=s=c+16|0;f:{s:{if(i=f[p+4>>2])for(_=(l=(a=u[n+11|0])<<24>>24<0)?f[n>>2]:n,l=l?f[n+4>>2]:a,n=p+4|0;;){c:{u:{l:{b:{A:{p:if(k=(m=(a=(d=(a=u[i+27|0])<<24>>24<0)?f[i+20>>2]:a)>>>0<l>>>0)?a:l){if(y=i+16|0,!(y=xt(_,d=d?f[y>>2]:y,k))){if(a>>>0>l>>>0)break p;break A}if((0|y)>=0)break A}else if(a>>>0<=l>>>0)break b;if(a=f[i>>2])break c;break s}if(a=xt(d,_,k))break l}if(m)break u;break f}if((0|a)>=0)break f}if(n=i+4|0,!(a=f[i+4>>2]))break f;i=n}n=i,i=a}i=p+4|0}n=i}if((a=f[n>>2])?i=0:(a=br(40),f[a+24>>2]=f[s+8>>2],l=f[s+4>>2],f[a+16>>2]=f[s>>2],f[a+20>>2]=l,f[s>>2]=0,f[s+4>>2]=0,f[s+8>>2]=0,f[a+36>>2]=0,f[(l=a+28|0)>>2]=0,f[l+4>>2]=0,lt(l,f[s+16>>2]-f[s+12>>2]|0),ge(_=f[l>>2],l=f[s+12>>2],f[s+16>>2]-l|0),f[a+8>>2]=i,f[a>>2]=0,f[a+4>>2]=0,f[n>>2]=a,(i=f[f[p>>2]>>2])?(f[p>>2]=i,i=f[n>>2]):i=a,Te(f[p+4>>2],i),f[p+8>>2]=f[p+8>>2]+1,i=1),o[c+44|0]=i,f[c+40>>2]=a,(i=f[c+28>>2])&&(f[c+32>>2]=i,ee(i)),o[c+27|0]<0&&ee(f[c+16>>2]),(i=f[c>>2])&&(f[c+4>>2]=i,ee(i)),I=c+48|0,!(n=f[A>>2]))break a}f[A+4>>2]=n,ee(n)}}o[A+27|0]<0&&ee(f[A+16>>2]),I=A+32|0;break n}ii(),E()}if(!h)break t;if((0|v)==(0|(t=t+1|0)))break}if(f[r+12>>2]=0,!gt(1,r+12|0,f[e>>2]))break t;if(t=f[e>>2],(a=(i=f[t+8>>2])-(n=f[t+16>>2])|0)>>>0<(s=f[r+12>>2])>>>0&(0|(t=f[t+12>>2]-(f[t+20>>2]+(i>>>0<n>>>0)|0)|0))<=0|(0|t)<0)break t;if(i=0,t=f[r+36>>2],s)for(;;){if((a=f[r+40>>2])>>>0>t>>>0)f[t+4>>2]=0,f[t>>2]=p,t=t+8|0,f[r+36>>2]=t;else{if((t=1+(l=(c=t-(n=f[r+32>>2])|0)>>3)|0)>>>0>=536870912)break i;if(h=(a=a-n|0)>>2,(t=a>>3>>>0<268435455?t>>>0>h>>>0?t:h:536870911)>>>0>=536870912)break r;_=l<<3,a=br(l=t<<3),f[4+(t=_+a|0)>>2]=0,f[t>>2]=p,t=t+8|0,(0|c)>0&&ge(a,n,c),f[r+40>>2]=a+l,f[r+36>>2]=t,f[r+32>>2]=a,n&&ee(n)}if((0|s)==(0|(i=i+1|0)))break}if(f[r+32>>2]==(0|t))break}e=1;break e}ii(),E()}Lt(1326),E()}t=f[r+32>>2],e=0}return t&&ee(t),I=r+48|0,e}function V(e,t,r,i){var n=0,s=0,c=0,d=0,h=0;e:{t:if(i){r:{i:switch(f[e+28>>2]-1|0){case 0:h=1;n:if(!((0|((0|r)<(0|(n=o[e+24|0]))?r:n))<=0)){if(n=f[e>>2],d=f[n>>2],s=t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0,t=d+t|0,n=(c=f[n+4>>2])-d|0,!u[e+32|0]){if((0|n)<=(0|s))break e;for(s=0;;){if(A[(s<<2)+i>>2]=o[0|t],(0|(s=s+1|0))>=(0|((0|r)<(0|(n=o[e+24|0]))?r:n)))break n;if(!(c>>>0>(t=t+1|0)>>>0))break}break e}if((0|n)<=(0|s))break e;for(s=0;;){if(A[(s<<2)+i>>2]=_(o[0|t])/_(127),(0|(s=s+1|0))>=(0|((0|r)<(0|(n=o[e+24|0]))?r:n)))break n;if(!(c>>>0>(t=t+1|0)>>>0))break}break e}if((0|r)>(0|n))break r;break t;case 1:h=1;n:if(!((0|((0|r)<(0|(n=o[e+24|0]))?r:n))<=0)){if(n=f[e>>2],d=f[n>>2],s=t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0,t=d+t|0,n=(c=f[n+4>>2])-d|0,!u[e+32|0]){if((0|n)<=(0|s))break e;for(s=0;;){if(A[(s<<2)+i>>2]=u[0|t],(0|(s=s+1|0))>=(0|((0|r)<(0|(n=o[e+24|0]))?r:n)))break n;if(!(c>>>0>(t=t+1|0)>>>0))break}break e}if((0|n)<=(0|s))break e;for(s=0;;){if(A[(s<<2)+i>>2]=_(u[0|t])/_(255),(0|(s=s+1|0))>=(0|((0|r)<(0|(n=o[e+24|0]))?r:n)))break n;if(!(c>>>0>(t=t+1|0)>>>0))break}break e}if((0|r)>(0|n))break r;break t;case 2:h=1;n:if(!((0|((0|r)<(0|(n=o[e+24|0]))?r:n))<=0)){if(n=f[e>>2],d=f[n>>2],s=t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0,t=d+t|0,n=(c=f[n+4>>2])-d|0,!u[e+32|0]){if((0|n)<=(0|s))break e;for(s=0;;){if(A[(s<<2)+i>>2]=a[t>>1],(0|(s=s+1|0))>=(0|((0|r)<(0|(n=o[e+24|0]))?r:n)))break n;if(!(c>>>0>(t=t+2|0)>>>0))break}break e}if((0|n)<=(0|s))break e;for(s=0;;){if(A[(s<<2)+i>>2]=_(a[t>>1])/_(32767),(0|(s=s+1|0))>=(0|((0|r)<(0|(n=o[e+24|0]))?r:n)))break n;if(!(c>>>0>(t=t+2|0)>>>0))break}break e}if((0|r)>(0|n))break r;break t;case 3:h=1;n:if(!((0|((0|r)<(0|(n=o[e+24|0]))?r:n))<=0)){if(n=f[e>>2],d=f[n>>2],s=t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0,t=d+t|0,n=(c=f[n+4>>2])-d|0,!u[e+32|0]){if((0|n)<=(0|s))break e;for(s=0;;){if(A[(s<<2)+i>>2]=l[t>>1],(0|(s=s+1|0))>=(0|((0|r)<(0|(n=o[e+24|0]))?r:n)))break n;if(!(c>>>0>(t=t+2|0)>>>0))break}break e}if((0|n)<=(0|s))break e;for(s=0;;){if(A[(s<<2)+i>>2]=_(l[t>>1])/_(65535),(0|(s=s+1|0))>=(0|((0|r)<(0|(n=o[e+24|0]))?r:n)))break n;if(!(c>>>0>(t=t+2|0)>>>0))break}break e}if((0|r)>(0|n))break r;break t;case 4:h=1;n:if(!((0|((0|r)<(0|(n=o[e+24|0]))?r:n))<=0)){if(n=f[e>>2],d=f[n>>2],s=t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0,t=d+t|0,n=(c=f[n+4>>2])-d|0,!u[e+32|0]){if((0|n)<=(0|s))break e;for(s=0;;){if(A[(s<<2)+i>>2]=f[t>>2],(0|(s=s+1|0))>=(0|((0|r)<(0|(n=o[e+24|0]))?r:n)))break n;if(!(c>>>0>(t=t+4|0)>>>0))break}break e}if((0|n)<=(0|s))break e;for(s=0;;){if(A[(s<<2)+i>>2]=_(f[t>>2])*_(4.656612873077393e-10),(0|(s=s+1|0))>=(0|((0|r)<(0|(n=o[e+24|0]))?r:n)))break n;if(!(c>>>0>(t=t+4|0)>>>0))break}break e}if((0|r)>(0|n))break r;break t;case 5:h=1;n:if(!((0|((0|r)<(0|(n=o[e+24|0]))?r:n))<=0)){if(n=f[e>>2],d=f[n>>2],s=t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0,t=d+t|0,n=(c=f[n+4>>2])-d|0,!u[e+32|0]){if((0|n)<=(0|s))break e;for(s=0;;){if(A[(s<<2)+i>>2]=b[t>>2],(0|(s=s+1|0))>=(0|((0|r)<(0|(n=o[e+24|0]))?r:n)))break n;if(!(c>>>0>(t=t+4|0)>>>0))break}break e}if((0|n)<=(0|s))break e;for(s=0;;){if(A[(s<<2)+i>>2]=_(b[t>>2])*_(2.3283064365386963e-10),(0|(s=s+1|0))>=(0|((0|r)<(0|(n=o[e+24|0]))?r:n)))break n;if(!(c>>>0>(t=t+4|0)>>>0))break}break e}if((0|r)>(0|n))break r;break t;case 6:h=1;n:if(!((0|((0|r)<(0|(n=o[e+24|0]))?r:n))<=0)){if(n=f[e>>2],d=f[n>>2],s=t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0,t=d+t|0,n=(c=f[n+4>>2])-d|0,!u[e+32|0]){if((0|n)<=(0|s))break e;for(s=0;;){if(A[(s<<2)+i>>2]=+b[t>>2]+4294967296*+f[t+4>>2],(0|(s=s+1|0))>=(0|((0|r)<(0|(n=o[e+24|0]))?r:n)))break n;if(!(c>>>0>(t=t+8|0)>>>0))break}break e}if((0|n)<=(0|s))break e;for(s=0;;){if(A[(s<<2)+i>>2]=_(+b[t>>2]+4294967296*+f[t+4>>2])*_(10842021724855044e-35),(0|(s=s+1|0))>=(0|((0|r)<(0|(n=o[e+24|0]))?r:n)))break n;if(!(c>>>0>(t=t+8|0)>>>0))break}break e}if((0|r)>(0|n))break r;break t;case 7:h=1;n:if(!((0|((0|r)<(0|(n=o[e+24|0]))?r:n))<=0)){if(n=f[e>>2],d=f[n>>2],s=t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0,t=d+t|0,n=(c=f[n+4>>2])-d|0,!u[e+32|0]){if((0|n)<=(0|s))break e;for(s=0;;){if(A[(s<<2)+i>>2]=+b[t>>2]+4294967296*+b[t+4>>2],(0|(s=s+1|0))>=(0|((0|r)<(0|(n=o[e+24|0]))?r:n)))break n;if(!(c>>>0>(t=t+8|0)>>>0))break}break e}if((0|n)<=(0|s))break e;for(s=0;;){if(A[(s<<2)+i>>2]=_(+b[t>>2]+4294967296*+b[t+4>>2])*_(5.421010862427522e-20),(0|(s=s+1|0))>=(0|((0|r)<(0|(n=o[e+24|0]))?r:n)))break n;if(!(c>>>0>(t=t+8|0)>>>0))break}break e}if((0|r)>(0|n))break r;break t;case 8:if(h=1,(0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(c=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,c=f[n+4>>2];;){if(t>>>0>=c>>>0)break e;if(A[(s<<2)+i>>2]=A[t>>2],t=t+4|0,!((0|(s=s+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break r;break t;case 9:if(h=1,(0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(c=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,c=f[n+4>>2];;){if(t>>>0>=c>>>0)break e;if(A[(s<<2)+i>>2]=p[t>>3],t=t+8|0,!((0|(s=s+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break r;break t;case 10:break i;default:break t}if(h=1,(0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(c=f[e>>2],t=(n=f[c>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0;;){if(b[c+4>>2]<=t>>>0)break e;if(A[(s<<2)+i>>2]=u[0|t]?_(1):_(0),t=t+1|0,!((0|(s=s+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)<=(0|n))break t}Ye((n<<2)+i|0,0,r-n<<2)}return h}return 0}function S(e,t){t|=0;var r,i,n,a=0,s=0,c=0,b=0,A=0,p=0,_=0,h=0,k=0,m=0,y=0,v=0,g=0;I=r=I-96|0,n=f[4+(e|=0)>>2],s=f[n+32>>2],c=f[s+8>>2];e:if(!((0|(b=y=f[s+12>>2]))<=(0|(a=f[s+20>>2]))&(i=f[s+16>>2])>>>0>=c>>>0|(0|a)>(0|b)||(h=f[s>>2],g=u[h+i|0],b=(A=i+1|0)?a:a+1|0,f[s+16>>2]=A,f[s+20>>2]=b,c>>>0<=A>>>0&(0|b)>=(0|y)|(0|b)>(0|y)))){k=u[A+h|0],b=(A=i+2|0)>>>0<2?a+1|0:a,m=A,f[s+16>>2]=A,f[s+20>>2]=b;t:{if((0|(p=g<<24>>24))>=0){if(A=f[e+216>>2],g>>>0>=(f[e+220>>2]-A|0)/144>>>0)break e;if(v=A+d(g,144)|0,f[v>>2]<0)break t;break e}if(f[e+212>>2]>=0)break e;v=e+212|0}f[v>>2]=t;t:{r:{i:{if((65535&((A=l[n+36>>1])<<8|A>>>8))>>>0>=258){if(c>>>0<=m>>>0&(0|b)>=(0|y)|(0|b)>(0|y))break e;if(A=u[h+m|0],a=(b=i+3|0)>>>0<3?a+1|0:a,f[s+16>>2]=b,f[s+20>>2]=a,a=A>>>0>1)break e;if(a=a?0:A,!k)break i;if(a)break e;break r}if(k)break r;a=0}if((0|p)<0?b=e+184|0:(s=f[e+216>>2]+d(g,144)|0,o[s+100|0]=0,b=s+104|0),s=b,1!=(0|a))I=c=I+-64|0,k=f[f[e+4>>2]+44>>2],a=br(80),f[a>>2]=9424,f[a+4>>2]=0,f[a+76>>2]=0,f[a+72>>2]=s,f[a+68>>2]=k,f[a+8>>2]=9588,f[a+12>>2]=0,f[a+16>>2]=0,f[a+20>>2]=0,f[a+24>>2]=0,f[a+28>>2]=0,f[a+32>>2]=0,f[a+36>>2]=0,f[a+40>>2]=0,f[a+44>>2]=0,f[a+48>>2]=0,f[a+52>>2]=0,f[a- -64>>2]=0,f[(b=m=a+56|0)>>2]=0,f[b+4>>2]=0,h=f[e+8>>2],f[c+40>>2]=0,f[c+44>>2]=0,f[c+32>>2]=0,f[c+36>>2]=0,f[(b=p=c+24|0)>>2]=0,f[b+4>>2]=0,f[c+16>>2]=0,f[c+20>>2]=0,f[c+8>>2]=0,f[c+12>>2]=0,f[c+56>>2]=0,f[c+48>>2]=0,f[c+52>>2]=0,f[c>>2]=9588,f[c+4>>2]=h,A=f[h>>2],b=f[h+4>>2],o[c+63|0]=0,Je(y=p,(b-A>>2>>>0)/3|0,p=c+63|0),b=f[c+4>>2],A=f[b+28>>2],b=f[b+24>>2],o[c+63|0]=0,Je(c+36|0,A-b>>2,p),f[c+20>>2]=a,f[c+16>>2]=k,f[c+12>>2]=s,f[c+8>>2]=h,Ve(a+8|0,c),Qe(m,f[c+48>>2],f[c+52>>2]),f[c>>2]=9588,(s=f[c+48>>2])&&(f[c+52>>2]=s,ee(s)),f[c>>2]=9404,(s=f[c+36>>2])&&ee(s),(s=f[c+24>>2])&&ee(s),I=c- -64|0;else{if(I=c=I-112|0,m=f[f[e+4>>2]+44>>2],a=br(120),f[a>>2]=8956,f[a+4>>2]=0,f[a+116>>2]=0,f[a+112>>2]=s,f[a+108>>2]=m,f[a+12>>2]=0,f[a+16>>2]=0,f[a+20>>2]=0,f[a+24>>2]=0,f[a+28>>2]=0,f[a+32>>2]=0,f[a+36>>2]=0,f[a+40>>2]=0,f[a+44>>2]=0,f[a+48>>2]=0,f[a+52>>2]=0,f[a+56>>2]=0,f[a+60>>2]=0,f[a+8>>2]=9168,f[(b=a- -64|0)>>2]=0,f[b+4>>2]=0,f[a+72>>2]=0,f[a+76>>2]=0,f[a+80>>2]=0,f[a+84>>2]=0,f[a+88>>2]=0,f[a+104>>2]=0,f[a+96>>2]=0,f[a+100>>2]=0,k=f[e+8>>2],f[c+48>>2]=0,f[c+52>>2]=0,f[c+40>>2]=0,f[c+44>>2]=0,f[(b=p=c+32|0)>>2]=0,f[b+4>>2]=0,f[c+24>>2]=0,f[c+28>>2]=0,f[c+16>>2]=0,f[c+20>>2]=0,f[(b=c- -64|0)>>2]=0,f[b+4>>2]=0,f[c+72>>2]=0,f[c+76>>2]=0,f[c+80>>2]=0,f[c+84>>2]=0,f[c+88>>2]=0,f[c+104>>2]=0,f[c+56>>2]=0,f[c+60>>2]=0,f[c+8>>2]=9168,f[c+96>>2]=0,f[c+100>>2]=0,f[c+12>>2]=k,A=f[k>>2],b=f[k+4>>2],o[c+111|0]=0,Je(y=p,(b-A>>2>>>0)/3|0,p=c+111|0),b=f[c+12>>2],A=f[b+28>>2],b=f[b+24>>2],o[c+111|0]=0,Je(c+44|0,A-b>>2,p),f[c+28>>2]=a,f[c+24>>2]=m,f[c+20>>2]=s,f[c+16>>2]=k,Ve(s=a+8|0,b=c+8|0),(0|s)!=(0|b)){Qe(a+56|0,f[b+48>>2],f[b+52>>2]),Qe(a+68|0,f[b+60>>2],f[b- -64>>2]),Qe(a+80|0,f[b+72>>2],f[b+76>>2]),f[a+92>>2]=f[b+84>>2];i:if((m=(A=(p=f[b+92>>2])-(k=f[b+88>>2])|0)>>2)>>>0<=(v=f[a+104>>2])-(h=f[a+96>>2])>>2>>>0){if((s=(A=(b=(s=f[a+100>>2]-h|0)>>2)>>>0<m>>>0?s+k|0:p)-k|0)&&je(h,k,s),b>>>0<m>>>0){s=f[a+100>>2],(0|(b=p-A|0))>0&&(s=ge(s,A,b)+b|0),f[a+100>>2]=s;break i}f[a+100>>2]=s+h}else h&&(f[a+100>>2]=h,ee(h),f[a+104>>2]=0,f[a+96>>2]=0,f[a+100>>2]=0,v=0),(0|A)<0||(s=v>>1,(s=v>>2>>>0<536870911?s>>>0<m>>>0?m:s:1073741823)>>>0>=1073741824)?(ii(),E()):(s=br(b=s<<2),f[a+96>>2]=s,f[a+100>>2]=s,f[a+104>>2]=s+b,A&&(s=ge(s,k,A)+A|0),f[a+100>>2]=s)}else f[a+92>>2]=f[b+84>>2];f[c+8>>2]=9168,(s=f[c+96>>2])&&(f[c+100>>2]=s,ee(s)),(s=f[c+80>>2])&&(f[c+84>>2]=s,ee(s)),(s=f[c+68>>2])&&(f[c+72>>2]=s,ee(s)),(s=f[c+56>>2])&&(f[c+60>>2]=s,ee(s)),f[c+8>>2]=9404,(s=f[c+44>>2])&&ee(s),(s=f[c+32>>2])&&ee(s),I=c+112|0}if(!a)break e;break t}if((0|p)<0)break e;A=f[n+44>>2],s=f[e+216>>2],a=br(80),f[a+76>>2]=0,f[a+68>>2]=A,f[a+8>>2]=8652,f[a>>2]=9716,f[a+4>>2]=0,_=104+(b=s+d(g,144)|0)|0,f[a+72>>2]=_,f[a- -64>>2]=0,f[a+56>>2]=0,f[a+60>>2]=0,f[a+52>>2]=0,f[a+44>>2]=0,f[a+48>>2]=0,f[a+36>>2]=0,f[a+40>>2]=0,f[a+28>>2]=0,f[a+32>>2]=0,f[a+20>>2]=0,f[a+24>>2]=0,f[a+12>>2]=0,f[a+16>>2]=0,f[r+24>>2]=A,f[r+68>>2]=0,f[r+72>>2]=0,f[r+60>>2]=0,f[r+64>>2]=0,f[r+52>>2]=0,f[r+56>>2]=0,f[r+44>>2]=0,f[r+48>>2]=0,f[r+84>>2]=0,f[r+88>>2]=0,f[r+76>>2]=0,f[r+80>>2]=0,f[r+28>>2]=a,s=f[r+28>>2],f[r+8>>2]=f[r+24>>2],f[r+12>>2]=s,b=b+4|0,f[r+16>>2]=b,f[r+20>>2]=_,f[r+36>>2]=0,f[r+40>>2]=0,f[r+32>>2]=8652,s=f[r+20>>2],f[r>>2]=f[r+16>>2],f[r+4>>2]=s,ht(_=r+32|0,b,r),Ve(s=a+8|0,_),(0|s)!=(0|_)&&Qe(a+56|0,f[_+48>>2],f[_+52>>2]),ar(_)}a=jt(br(64),a),p=f[e+4>>2],e=a;t:{r:{if((0|(a=t))>=0){if(b=p+8|0,!((0|(A=(t=f[p+12>>2])-(s=f[p+8>>2])>>2))>(0|a)))if(_=a+1|0,a>>>0>=A>>>0)Ze(b,_-A|0);else if(!(A>>>0<=_>>>0)){if((0|(s=s+(_<<2)|0))!=(0|t))for(;_=f[(t=t-4|0)>>2],f[t>>2]=0,_&&_i[f[f[_>>2]+4>>2]](_),(0|t)!=(0|s););f[p+12>>2]=s}if(s=f[b>>2]+(a<<2)|0,t=f[s>>2],f[s>>2]=e,t)break r;break t}if(t=e,!e)break t}_i[f[f[t>>2]+4>>2]](t)}_=(-1^a)>>>31|0}return I=r+96|0,0|_}function F(e){var t,r=0,i=0,n=0,o=0,a=0;if(I=t=I-16|0,f[t+12>>2]=e,e>>>0<=211)n=f[St(10384,10576,t+12|0)>>2];else{for(e>>>0>=4294967292&&(pi(),E()),n=d(o=(e>>>0)/210|0,210),f[t+8>>2]=e-n,a=St(10576,10768,t+8|0)-10576>>2;;){n=f[10576+(a<<2)>>2]+n|0,e=5;e:{for(;;){t:if(47!=(0|e)){if((r=f[10384+(e<<2)>>2])>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if(e=e+1|0,(0|d(r,i))!=(0|n))continue}else for(e=211;;){if((r=(n>>>0)/(e>>>0)|0)>>>0<e>>>0)break e;if((0|d(e,r))==(0|n))break t;if((r=e+10|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+12|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+16|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+18|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+22|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+28|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+30|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+36|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+40|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+42|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+46|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+52|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+58|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+60|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+66|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+70|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+72|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+78|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+82|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+88|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+96|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+100|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+102|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+106|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+108|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+112|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+120|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+126|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+130|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+136|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+138|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+142|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+148|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+150|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+156|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+162|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+166|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+168|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+172|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+178|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+180|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+186|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+190|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+192|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+196|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+198|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if((0|d(r,i))==(0|n))break t;if((r=e+208|0)>>>0>(i=(n>>>0)/(r>>>0)|0)>>>0)break e;if(e=e+210|0,(0|d(r,i))==(0|n))break}break}a=(e=48==(0|(n=a+1|0)))?0:n,n=d(o=e+o|0,210);continue}break}f[t+12>>2]=n}return I=t+16|0,n}function W(e,t,r,i){var n=0,a=0,s=0,c=0,d=_(0),k=0;e:if(i){t:{r:switch(f[e+28>>2]-1|0){case 0:i:if(!((0|((0|r)<(0|(n=o[e+24|0]))?r:n))<=0)){if(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0,a=f[e>>2],n=f[a>>2],(0|t)>=(f[a+4>>2]-n|0))break e;for(a=t+n|0,t=0;;){if(o[t+i|0]=u[0|a],(0|(t=t+1|0))>=(0|((0|r)<(0|(n=o[e+24|0]))?r:n)))break i;if(!((a=a+1|0)>>>0<b[f[e>>2]+4>>2]))break}break e}if(s=1,(0|r)>(0|n))break t;break e;case 1:i:if(!((0|((0|r)<(0|(n=o[e+24|0]))?r:n))<=0)){if(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0,a=f[e>>2],n=f[a>>2],(0|t)>=(f[a+4>>2]-n|0))break e;for(a=t+n|0,t=0;;){if((0|(n=o[0|a]))<0)break e;if(o[t+i|0]=n,(0|(t=t+1|0))>=(0|((0|r)<(0|(n=o[e+24|0]))?r:n)))break i;if(!((a=a+1|0)>>>0<b[f[e>>2]+4>>2]))break}break e}if(s=1,(0|r)>(0|n))break t;break e;case 2:i:if(!((0|((0|r)<(0|(n=o[e+24|0]))?r:n))<=0)){if(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0,a=f[e>>2],n=f[a>>2],(0|t)>=(f[a+4>>2]-n|0))break e;for(a=t+n|0,t=0;;){if(((n=l[a>>1])-128&65535)>>>0<65280)break e;if(o[t+i|0]=n,(0|(t=t+1|0))>=(0|((0|r)<(0|(n=o[e+24|0]))?r:n)))break i;if(!((a=a+2|0)>>>0<b[f[e>>2]+4>>2]))break}break e}if(s=1,(0|r)>(0|n))break t;break e;case 3:i:if(!((0|((0|r)<(0|(n=o[e+24|0]))?r:n))<=0)){if(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0,a=f[e>>2],n=f[a>>2],(0|t)>=(f[a+4>>2]-n|0))break e;for(a=t+n|0,t=0;;){if((n=l[a>>1])>>>0>127)break e;if(o[t+i|0]=n,(0|(t=t+1|0))>=(0|((0|r)<(0|(n=o[e+24|0]))?r:n)))break i;if(!((a=a+2|0)>>>0<b[f[e>>2]+4>>2]))break}break e}if(s=1,(0|r)>(0|n))break t;break e;case 4:i:if(!((0|((0|r)<(0|(n=o[e+24|0]))?r:n))<=0)){if(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0,a=f[e>>2],n=f[a>>2],(0|t)>=(f[a+4>>2]-n|0))break e;for(a=t+n|0,t=0;;){if((n=f[a>>2])-128>>>0<4294967040)break e;if(o[t+i|0]=n,(0|(t=t+1|0))>=(0|((0|r)<(0|(n=o[e+24|0]))?r:n)))break i;if(!((a=a+4|0)>>>0<b[f[e>>2]+4>>2]))break}break e}if(s=1,(0|r)>(0|n))break t;break e;case 5:i:if(!((0|((0|r)<(0|(n=o[e+24|0]))?r:n))<=0)){if(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0,a=f[e>>2],n=f[a>>2],(0|t)>=(f[a+4>>2]-n|0))break e;for(a=t+n|0,t=0;;){if((n=f[a>>2])>>>0>127)break e;if(o[t+i|0]=n,(0|(t=t+1|0))>=(0|((0|r)<(0|(n=o[e+24|0]))?r:n)))break i;if(!((a=a+4|0)>>>0<b[f[e>>2]+4>>2]))break}break e}if(s=1,(0|r)>(0|n))break t;break e;case 6:i:if(!((0|((0|r)<(0|(n=o[e+24|0]))?r:n))<=0)){if(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0,a=f[e>>2],n=f[a>>2],(0|t)>=(f[a+4>>2]-n|0))break e;for(a=t+n|0,t=0;;){if(c=f[a>>2],-1==(0|(n=f[a+4>>2]-(c>>>0<128)|0))&c-128>>>0<4294967040|-1!=(0|n))break e;if(o[t+i|0]=c,(0|(t=t+1|0))>=(0|((0|r)<(0|(n=o[e+24|0]))?r:n)))break i;if(!((a=a+8|0)>>>0<b[f[e>>2]+4>>2]))break}break e}if(s=1,(0|r)>(0|n))break t;break e;case 7:i:if(!((0|((0|r)<(0|(n=o[e+24|0]))?r:n))<=0)){if(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0,a=f[e>>2],n=f[a>>2],(0|t)>=(f[a+4>>2]-n|0))break e;for(a=t+n|0,t=0;;){if(!(n=f[a+4>>2])&(c=f[a>>2])>>>0>127|n)break e;if(o[t+i|0]=c,(0|(t=t+1|0))>=(0|((0|r)<(0|(n=o[e+24|0]))?r:n)))break i;if(!((a=a+8|0)>>>0<b[f[e>>2]+4>>2]))break}break e}if(s=1,(0|r)>(0|n))break t;break e;case 8:i:if(!((0|((0|r)<(0|(n=o[e+24|0]))?r:n))<=0)){if(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0,a=f[e>>2],n=f[a>>2],(0|t)>=(f[a+4>>2]-n|0))break e;for(a=t+n|0,t=0;;){if(c=t+i|0,d=A[a>>2],n=_(h(d))<_(2147483648)?~~d:-2147483648,o[0|c]=n,(0|(t=t+1|0))>=(0|((0|r)<(0|(n=o[e+24|0]))?r:n)))break i;if(!((a=a+4|0)>>>0<b[f[e>>2]+4>>2]))break}break e}if(s=1,(0|r)>(0|n))break t;break e;case 9:i:if(!((0|((0|r)<(0|(n=o[e+24|0]))?r:n))<=0)){if(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0,a=f[e>>2],n=f[a>>2],(0|t)>=(f[a+4>>2]-n|0))break e;for(a=t+n|0,t=0;;){if(c=t+i|0,k=p[a>>3],n=h(k)<2147483648?~~k:-2147483648,o[0|c]=n,(0|(t=t+1|0))>=(0|((0|r)<(0|(n=o[e+24|0]))?r:n)))break i;if(!((a=a+8|0)>>>0<b[f[e>>2]+4>>2]))break}break e}if(s=1,(0|r)>(0|n))break t;break e;case 10:break r;default:break e}r:if(!((0|((0|r)<(0|(n=o[e+24|0]))?r:n))<=0)){if(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0,a=f[e>>2],n=f[a>>2],(0|t)>=(f[a+4>>2]-n|0))break e;for(a=t+n|0,t=0;;){if(o[t+i|0]=u[0|a],(0|(t=t+1|0))>=(0|((0|r)<(0|(n=o[e+24|0]))?r:n)))break r;if(!((a=a+1|0)>>>0<b[f[e>>2]+4>>2]))break}break e}if(s=1,(0|r)<=(0|n))break e}Ye(i+n|0,0,r-n|0)}return s}function j(e,t,r,i){var n=0,a=0,s=0,c=0,d=_(0),h=0;e:if(i){t:{r:switch(f[e+28>>2]-1|0){case 0:i:if(!((0|((0|r)<(0|(n=o[e+24|0]))?r:n))<=0)){if(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0,a=f[e>>2],n=f[a>>2],(0|t)>=(f[a+4>>2]-n|0))break e;for(a=t+n|0,t=0;;){if((0|(n=o[0|a]))<0)break e;if(o[t+i|0]=n,(0|(t=t+1|0))>=(0|((0|r)<(0|(n=o[e+24|0]))?r:n)))break i;if(!((a=a+1|0)>>>0<b[f[e>>2]+4>>2]))break}break e}if(s=1,(0|r)>(0|n))break t;break e;case 1:i:if(!((0|((0|r)<(0|(n=o[e+24|0]))?r:n))<=0)){if(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0,a=f[e>>2],n=f[a>>2],(0|t)>=(f[a+4>>2]-n|0))break e;for(a=t+n|0,t=0;;){if(o[t+i|0]=u[0|a],(0|(t=t+1|0))>=(0|((0|r)<(0|(n=o[e+24|0]))?r:n)))break i;if(!((a=a+1|0)>>>0<b[f[e>>2]+4>>2]))break}break e}if(s=1,(0|r)>(0|n))break t;break e;case 2:i:if(!((0|((0|r)<(0|(n=o[e+24|0]))?r:n))<=0)){if(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0,a=f[e>>2],n=f[a>>2],(0|t)>=(f[a+4>>2]-n|0))break e;for(a=t+n|0,t=0;;){if((n=l[a>>1])>>>0>255)break e;if(o[t+i|0]=n,(0|(t=t+1|0))>=(0|((0|r)<(0|(n=o[e+24|0]))?r:n)))break i;if(!((a=a+2|0)>>>0<b[f[e>>2]+4>>2]))break}break e}if(s=1,(0|r)>(0|n))break t;break e;case 3:i:if(!((0|((0|r)<(0|(n=o[e+24|0]))?r:n))<=0)){if(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0,a=f[e>>2],n=f[a>>2],(0|t)>=(f[a+4>>2]-n|0))break e;for(a=t+n|0,t=0;;){if((n=l[a>>1])>>>0>255)break e;if(o[t+i|0]=n,(0|(t=t+1|0))>=(0|((0|r)<(0|(n=o[e+24|0]))?r:n)))break i;if(!((a=a+2|0)>>>0<b[f[e>>2]+4>>2]))break}break e}if(s=1,(0|r)>(0|n))break t;break e;case 4:i:if(!((0|((0|r)<(0|(n=o[e+24|0]))?r:n))<=0)){if(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0,a=f[e>>2],n=f[a>>2],(0|t)>=(f[a+4>>2]-n|0))break e;for(a=t+n|0,t=0;;){if((n=f[a>>2])>>>0>255)break e;if(o[t+i|0]=n,(0|(t=t+1|0))>=(0|((0|r)<(0|(n=o[e+24|0]))?r:n)))break i;if(!((a=a+4|0)>>>0<b[f[e>>2]+4>>2]))break}break e}if(s=1,(0|r)>(0|n))break t;break e;case 5:i:if(!((0|((0|r)<(0|(n=o[e+24|0]))?r:n))<=0)){if(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0,a=f[e>>2],n=f[a>>2],(0|t)>=(f[a+4>>2]-n|0))break e;for(a=t+n|0,t=0;;){if((n=f[a>>2])>>>0>255)break e;if(o[t+i|0]=n,(0|(t=t+1|0))>=(0|((0|r)<(0|(n=o[e+24|0]))?r:n)))break i;if(!((a=a+4|0)>>>0<b[f[e>>2]+4>>2]))break}break e}if(s=1,(0|r)>(0|n))break t;break e;case 6:i:if(!((0|((0|r)<(0|(n=o[e+24|0]))?r:n))<=0)){if(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0,a=f[e>>2],n=f[a>>2],(0|t)>=(f[a+4>>2]-n|0))break e;for(a=t+n|0,t=0;;){if(!(n=f[a+4>>2])&(c=f[a>>2])>>>0>255|n)break e;if(o[t+i|0]=c,(0|(t=t+1|0))>=(0|((0|r)<(0|(n=o[e+24|0]))?r:n)))break i;if(!((a=a+8|0)>>>0<b[f[e>>2]+4>>2]))break}break e}if(s=1,(0|r)>(0|n))break t;break e;case 7:i:if(!((0|((0|r)<(0|(n=o[e+24|0]))?r:n))<=0)){if(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0,a=f[e>>2],n=f[a>>2],(0|t)>=(f[a+4>>2]-n|0))break e;for(a=t+n|0,t=0;;){if(!(n=f[a+4>>2])&(c=f[a>>2])>>>0>255|n)break e;if(o[t+i|0]=c,(0|(t=t+1|0))>=(0|((0|r)<(0|(n=o[e+24|0]))?r:n)))break i;if(!((a=a+8|0)>>>0<b[f[e>>2]+4>>2]))break}break e}if(s=1,(0|r)>(0|n))break t;break e;case 8:i:if(!((0|((0|r)<(0|(n=o[e+24|0]))?r:n))<=0)){if(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0,a=f[e>>2],n=f[a>>2],(0|t)>=(f[a+4>>2]-n|0))break e;for(a=t+n|0,t=0;;){if(c=t+i|0,n=(d=A[a>>2])<_(4294967296)&d>=_(0)?~~d>>>0:0,o[0|c]=n,(0|(t=t+1|0))>=(0|((0|r)<(0|(n=o[e+24|0]))?r:n)))break i;if(!((a=a+4|0)>>>0<b[f[e>>2]+4>>2]))break}break e}if(s=1,(0|r)>(0|n))break t;break e;case 9:i:if(!((0|((0|r)<(0|(n=o[e+24|0]))?r:n))<=0)){if(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0,a=f[e>>2],n=f[a>>2],(0|t)>=(f[a+4>>2]-n|0))break e;for(a=t+n|0,t=0;;){if(c=t+i|0,n=(h=p[a>>3])<4294967296&h>=0?~~h>>>0:0,o[0|c]=n,(0|(t=t+1|0))>=(0|((0|r)<(0|(n=o[e+24|0]))?r:n)))break i;if(!((a=a+8|0)>>>0<b[f[e>>2]+4>>2]))break}break e}if(s=1,(0|r)>(0|n))break t;break e;case 10:break r;default:break e}r:if(!((0|((0|r)<(0|(n=o[e+24|0]))?r:n))<=0)){if(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0,a=f[e>>2],n=f[a>>2],(0|t)>=(f[a+4>>2]-n|0))break e;for(a=t+n|0,t=0;;){if(o[t+i|0]=u[0|a],(0|(t=t+1|0))>=(0|((0|r)<(0|(n=o[e+24|0]))?r:n)))break r;if(!((a=a+1|0)>>>0<b[f[e>>2]+4>>2]))break}break e}if(s=1,(0|r)<=(0|n))break e}Ye(i+n|0,0,r-n|0)}return s}function O(e,t){var r=0,i=0,n=0,o=0,a=0,s=0,c=0,u=0,l=0,b=0;e:{t:{r:{i:{n:if(f[e+92>>2]!=f[e+88>>2]){if((0|(r=f[e+52>>2]))==f[e+56>>2]){if((n=1+(i=(s=r-(a=f[e+48>>2])|0)>>2)|0)>>>0>=1073741824)break t;if(r=s>>1,o=i>>>0<536870911?r>>>0<n>>>0?n:r:1073741823){if(o>>>0>=1073741824)break e;r=br(o<<2)}else r=0;f[(n=r+(i<<2)|0)>>2]=t,(0|s)>0&&ge(r,a,s),f[e+56>>2]=r+(o<<2),f[e+52>>2]=n+4,f[e+48>>2]=r,a&&ee(a)}else f[r>>2]=t,f[e+52>>2]=r+4;f[e+84>>2]=0,n=-1,r=-1;o:if(-1!=(0|t)){if(o=f[e+4>>2],-1!=(0|(r=((r=t+1|0)>>>0)%3|0?r:t-2|0))&&(n=f[f[o>>2]+(r<<2)>>2]),(t>>>0)%3|0)i=t-1|0;else if(r=-1,-1==(0|(i=t+2|0)))break o;r=f[f[o>>2]+(i<<2)>>2]}if(u=r>>>3&536870908,i=f[e+36>>2],(s=f[(a=i+(n>>>3&536870908)|0)>>2])&(o=1<<n)||(f[a>>2]=o|s,xe(o=e+8|0,n,i=-1!=(0|t)?((i=t+1|0)>>>0)%3|0?i:t-2|0:-1),i=f[e+36>>2]),(i=f[(o=i+u|0)>>2])&(n=1<<r)||(f[o>>2]=i|n,n=-1,-1!=(0|t)&&(n=t-1|0,(t>>>0)%3|0||(n=t+2|0)),xe(i=e+8|0,r,n)),n=-1,n=-1!=(0|t)?f[f[f[e+4>>2]>>2]+(t<<2)>>2]:n,o=f[e+36>>2]+(n>>>3&536870908)|0,(i=f[o>>2])&(r=1<<n)||(f[o>>2]=r|i,xe(e+8|0,n,t)),!((0|(i=f[e+84>>2]))>2))for(;;){if(n=d(i,12)+e|0,(0|(t=f[n+52>>2]))==f[n+48>>2]){if(3!=(0|(i=i+1|0)))continue;break n}if(t=f[(r=t-4|0)>>2],f[n+52>>2]=r,f[e+84>>2]=i,-1==(0|t))break n;n=f[e+24>>2];o:if(!(f[n+((r=(t>>>0)/3|0)>>>3&268435452)>>2]>>>r&1)){a:{for(;;){f[(r=((b=(t>>>0)/3|0)>>>3&268435452)+n|0)>>2]=f[r>>2]|1<<b,n=-1;f:{s:{c:{u:{l:{b:{A:{p:{if(n=-1!=(0|t)?f[f[f[e+4>>2]>>2]+(t<<2)>>2]:n,o=f[e+36>>2]+(n>>>3&536870908)|0,!((i=f[o>>2])&(r=1<<n))){if(f[o>>2]=r|i,s=f[(f[f[e+16>>2]+96>>2]+d(b,12)|0)+((t>>>0)%3<<2)>>2],l=f[f[e+20>>2]+4>>2],(0|(r=f[l+4>>2]))==f[l+8>>2]){if((i=1+(o=(u=r-(c=f[l>>2])|0)>>2)|0)>>>0>=1073741824)break p;if(r=u>>1,a=o>>>0<536870911?r>>>0<i>>>0?i:r:1073741823){if(a>>>0>=1073741824)break e;r=br(a<<2)}else r=0;f[(i=r+(o<<2)|0)>>2]=s,(0|u)>0&&ge(r,c,u),f[l+8>>2]=r+(a<<2),f[l+4>>2]=i+4,f[l>>2]=r,c&&ee(c)}else f[r>>2]=s,f[l+4>>2]=r+4;if(c=f[e+12>>2],(0|(r=f[c+4>>2]))==f[c+8>>2]){if((i=1+(o=(a=r-(u=f[c>>2])|0)>>2)|0)>>>0>=1073741824)break A;if(r=a>>1,s=o>>>0<536870911?r>>>0<i>>>0?i:r:1073741823){if(s>>>0>=1073741824)break e;r=br(s<<2)}else r=0;f[(i=r+(o<<2)|0)>>2]=t,(0|a)>0&&ge(r,u,a),f[c+8>>2]=r+(s<<2),f[c+4>>2]=i+4,f[c>>2]=r,u&&ee(u)}else f[r>>2]=t,f[c+4>>2]=r+4;r=f[e+12>>2],f[f[r+12>>2]+(n<<2)>>2]=f[r+24>>2],f[r+24>>2]=f[r+24>>2]+1}if(-1==(0|t))break a;a=f[e+4>>2],n=-1,-1!=(0|(r=((r=t+1|0)>>>0)%3|0?r:t-2|0))&&(n=f[f[a+12>>2]+(r<<2)>>2]);d:{if((0|d(b,3))==(0|t)){if(o=t+2|0,t=-1,-1==(0|o))break d}else o=t-1|0;t=f[f[a+12>>2]+(o<<2)>>2]}if(s=-1==(0|t),o=(t>>>0)/3|0,i=(n>>>0)/3|0,!(r=-1==(0|n))){if(r=r?-1:i,r=f[f[e+24>>2]+(r>>>3&536870908)>>2]&1<<r,s)break b;b=0!=(0|r);break l}if(b=1,!s)break l;break a}ii(),E()}ii(),E()}if(!r)break u;break a}if(r=s?-1:o,!(f[f[e+24>>2]+(r>>>3&536870908)>>2]>>>r&1)){if(o=0,r=f[f[a>>2]+(t<<2)>>2],f[f[e+36>>2]+(r>>>3&536870908)>>2]>>>r&1||(r=f[e+88>>2]+(r<<2)|0,i=f[r>>2],f[r>>2]=i+1,o=(0|i)<=0?2:1),f[e+84>>2]>=(0|o)&&b)break s;if(l=d(o,12)+e|0,(0|(r=f[l+52>>2]))==f[l+56>>2]){if((i=1+(s=(u=r-(c=f[l+48>>2])|0)>>2)|0)>>>0>=1073741824)break i;if(r=u>>1,a=s>>>0<536870911?r>>>0<i>>>0?i:r:1073741823){if(a>>>0>=1073741824)break e;r=br(a<<2)}else r=0;f[(i=r+(s<<2)|0)>>2]=t,(0|u)>0&&ge(r,c,u),f[l+48>>2]=r,f[l+52>>2]=i+4,f[l+56>>2]=r+(a<<2),c&&ee(c)}else f[r>>2]=t,f[l+52>>2]=r+4;f[e+84>>2]<=(0|o)||(f[e+84>>2]=o)}if(b)break a;if(t=-1,-1==(0|n))break c}t=f[f[f[e+4>>2]>>2]+(n<<2)>>2]}if(o=0,f[f[e+36>>2]+(t>>>3&536870908)>>2]>>>t&1||(t=f[e+88>>2]+(t<<2)|0,r=f[t>>2],f[t>>2]=r+1,o=(0|r)<=0?2:1),f[e+84>>2]<(0|o))break f;t=n}n=f[e+24>>2];continue}break}if(c=d(o,12)+e|0,(0|(t=f[c+52>>2]))==f[c+56>>2]){if((r=1+(i=(a=t-(u=f[c+48>>2])|0)>>2)|0)>>>0>=1073741824)break r;if(t=a>>1,s=i>>>0<536870911?t>>>0<r>>>0?r:t:1073741823){if(s>>>0>=1073741824)break e;t=br(s<<2)}else t=0;f[(r=t+(i<<2)|0)>>2]=n,(0|a)>0&&ge(t,u,a),f[c+48>>2]=t,f[c+52>>2]=r+4,f[c+56>>2]=t+(s<<2),u&&ee(u)}else f[t>>2]=n,f[c+52>>2]=t+4;if((0|(i=f[e+84>>2]))<=(0|o))break o;f[e+84>>2]=o,i=o;break o}i=f[e+84>>2]}if(!((0|i)<3))break}}return 1}ii(),E()}ii(),E()}ii(),E()}Lt(1326),E()}function Z(e,t){var r,i=0,n=0,o=0,a=0,s=0,c=0,u=0,l=0,b=0,A=0,p=0,_=0,h=0,k=0,m=0,y=0,v=0,g=0,w=0;if(I=r=I-48|0,i=f[f[e+4>>2]+44>>2],n=f[e+8>>2],a=f[n>>2],n=f[n+4>>2],f[r+40>>2]=0,f[r+32>>2]=0,f[r+36>>2]=0,n=(n-a>>2>>>0)/3|0,u=f[i+96>>2],n>>>0>(a=(f[i+100>>2]-u|0)/12|0)>>>0?Ae(i+96|0,n-a|0,r+32|0):n>>>0>=a>>>0||(f[i+100>>2]=u+d(n,12)),f[e+216>>2]!=f[e+220>>2]){f[r+24>>2]=0,f[r+16>>2]=0,f[r+20>>2]=0,l=f[e+8>>2],t=f[l>>2],i=f[l+4>>2],f[r+8>>2]=0,f[r>>2]=0,f[r+4>>2]=0;e:{t:{r:{i:{n:{o:{a:{if(t=i-t|0){if((0|t)<0)break a;p=br(t),f[r>>2]=p,f[r+8>>2]=(t>>2<<2)+p,g=r,w=Ye(p,0,t)+t|0,f[g+4>>2]=w}if(i=f[l+24>>2],(f[l+28>>2]-i|0)<=0){n=0,t=0;break t}for(n=0,a=0,t=0;;){f:if(-1!=(0|(u=f[(_<<2)+i>>2]))){s:if(!(f[f[e+120>>2]+(_>>>3&536870908)>>2]>>>_&1)&&(k=f[e+216>>2],i=f[e+220>>2]-k|0))for(m=(i=(0|i)/144|0)>>>0>1?i:1,b=0,y=0!=(0|(i=(u>>>0)%3|0))|-1!=(0|(s=u+2|0)),v=i?u-1|0:s;;){if(c=u<<2,o=k+d(b,144)|0,i=f[c+f[f[o+68>>2]>>2]>>2],f[f[o+16>>2]+(i>>>3&536870908)>>2]>>>i&1&&(i=-1,y&&(i=-1,-1!=(0|(s=f[f[l+12>>2]+(v<<2)>>2]))&&(i=s-1|0,(s>>>0)%3|0||(i=s+2|0))),(0|u)!=(0|i)))for(o=f[o+32>>2],s=f[o+c>>2];;){if(A=0,-1==(0|i))break e;if(f[o+(i<<2)>>2]!=(0|s)){u=i;break s}c:{if((i>>>0)%3|0)c=i-1|0;else if(A=-1,-1==(0|(c=i+2|0)))break c;A=-1,-1!=(0|(i=f[f[l+12>>2]+(c<<2)>>2]))&&(A=i-1|0,(i>>>0)%3|0||(A=i+2|0))}if((0|u)==(0|(i=A)))break}if((0|m)==(0|(b=b+1|0)))break}if(s=(i=t-a|0)>>2,f[(u<<2)+p>>2]=s,t>>>0<h>>>0)f[t>>2]=u,t=t+4|0,f[r+20>>2]=t;else{if((t=s+1|0)>>>0>=1073741824)break o;if(o=(n=h-a|0)>>1,t=n>>2>>>0<536870911?t>>>0>o>>>0?t:o:1073741823){if(t>>>0>=1073741824)break n;n=br(t<<2)}else n=0;f[(s=n+(s<<2)|0)>>2]=u,h=(t<<2)+n|0,t=s+4|0,(0|i)>0&&ge(n,a,i),f[r+24>>2]=h,f[r+20>>2]=t,f[r+16>>2]=n,a&&(ee(a),l=f[e+8>>2]),a=n}if(-1!=(0|u)){if((u>>>0)%3|0)i=u-1|0;else if(-1==(0|(i=u+2|0)))break f;if(-1!=(0|(i=f[f[l+12>>2]+(i<<2)>>2]))&&-1!=(0|(i=i+((i>>>0)%3|0?-1:2)|0))&&(0|i)!=(0|(o=u)))for(;;){s=i;s:{c:if(c=f[e+216>>2],i=f[e+220>>2]-c|0){for(b=(i=(0|i)/144|0)>>>0>1?i:1,i=0;;){if(k=f[32+(c+d(i,144)|0)>>2],f[k+(m=s<<2)>>2]==f[k+(o<<2)>>2]){if((0|b)!=(0|(i=i+1|0)))continue;break c}break}if(o=(i=t-n|0)>>2,f[p+m>>2]=o,t>>>0<h>>>0){f[t>>2]=s,t=t+4|0,f[r+20>>2]=t,a=n;break s}if((t=o+1|0)>>>0>=1073741824)break i;if(c=(a=h-n|0)>>1,t=a>>2>>>0<536870911?t>>>0>c>>>0?t:c:1073741823){if(t>>>0>=1073741824)break r;a=br(t<<2)}else a=0;if(f[(o=a+(o<<2)|0)>>2]=s,h=(t<<2)+a|0,t=o+4|0,(0|i)>0&&ge(a,n,i),f[r+24>>2]=h,f[r+20>>2]=t,f[r+16>>2]=a,!n){n=a;break s}ee(n),l=f[e+8>>2],n=a;break s}f[(s<<2)+p>>2]=f[(o<<2)+p>>2]}if(-1==(0|s))break f;if((s>>>0)%3|0)i=s-1|0;else if(-1==(0|(i=s+2|0)))break f;if(-1==(0|(i=f[f[l+12>>2]+(i<<2)>>2])))break f;if(-1==(0|(i=i+((i>>>0)%3|0?-1:2)|0)))break f;if(o=s,(0|i)==(0|u))break}}}if(_=_+1|0,i=f[l+24>>2],!((0|_)<f[l+28>>2]-i>>2))break}break t}ii(),E()}ii(),E()}Lt(1326),E()}ii(),E()}Lt(1326),E()}if(_=f[e+4>>2],c=f[_+44>>2],(0|(b=f[c+100>>2]))!=f[c+96>>2])for(i=0;a=i+1|0,s=d(i,12),o=f[8+(u=s+p|0)>>2],l=f[u+4>>2],u=f[u>>2],(A=i)>>>0>=(b=(b-(i=f[c+96>>2])|0)/12|0)>>>0&&(f[r+40>>2]=0,f[r+32>>2]=0,f[r+36>>2]=0,Ae(c+96|0,a-b|0,r+32|0),_=f[e+4>>2],i=f[c+96>>2]),f[8+(i=i+s|0)>>2]=o,f[i+4>>2]=l,f[i>>2]=u,i=a,c=f[_+44>>2],i>>>0<((b=f[c+100>>2])-f[c+96>>2]|0)/12>>>0;);f[f[_+4>>2]+80>>2]=t-n>>2,A=1}i=A,p&&ee(p),n&&(f[r+20>>2]=n,ee(n))}else{if(l=f[e+4>>2],c=f[l+44>>2],(0|(n=f[c+100>>2]))!=f[c+96>>2])for(i=0;;){s=f[e+8>>2];e:{if(-1!=(0|(o=d(i,3))))if(b=-1,u=f[f[s>>2]+(o<<2)>>2],-1!=(0|(a=o+1|0))){if(b=f[f[s>>2]+(a<<2)>>2],a=-1,-1==(0|(o=o+2|0)))break e}else o=0;else b=f[4+(f[s>>2]+(o<<2)|0)>>2],u=-1,o=1;a=f[f[s>>2]+(o<<2)>>2]}if(s=a,a=i+1|0,(o=((o=n)-(n=f[c+96>>2])|0)/12|0)>>>0<=i>>>0&&(f[r+40>>2]=0,f[r+32>>2]=0,f[r+36>>2]=0,Ae(c+96|0,a-o|0,r+32|0),l=f[e+4>>2],n=f[c+96>>2]),i=d(i,12)+n|0,f[i+8>>2]=s,f[i+4>>2]=b,f[i>>2]=u,i=a,c=f[l+44>>2],!(i>>>0<((n=f[c+100>>2])-f[c+96>>2]|0)/12>>>0))break}f[f[l+4>>2]+80>>2]=t,i=1}return I=r+48|0,i}function P(e,t,r,i){var n=0,s=0,c=0,b=0,d=_(0),k=0,y=0;e:if(i){t:{r:switch(f[e+28>>2]-1|0){case 0:if((0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(c=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,b=f[n+4>>2];;){if(t>>>0>=b>>>0)break e;if(n=(s<<3)+i|0,c=o[0|t],f[n>>2]=c,f[n+4>>2]=c>>31,t=t+1|0,!((0|(s=s+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break t;break e;case 1:if((0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(c=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,b=f[n+4>>2];;){if(t>>>0>=b>>>0)break e;if(f[(n=(s<<3)+i|0)>>2]=u[0|t],f[n+4>>2]=0,t=t+1|0,!((0|(s=s+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break t;break e;case 2:if((0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(c=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,b=f[n+4>>2];;){if(t>>>0>=b>>>0)break e;if(n=(s<<3)+i|0,c=a[t>>1],f[n>>2]=c,f[n+4>>2]=c>>31,t=t+2|0,!((0|(s=s+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break t;break e;case 3:if((0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(c=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,b=f[n+4>>2];;){if(t>>>0>=b>>>0)break e;if(f[(n=(s<<3)+i|0)>>2]=l[t>>1],f[n+4>>2]=0,t=t+2|0,!((0|(s=s+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break t;break e;case 4:if((0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(c=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,b=f[n+4>>2];;){if(t>>>0>=b>>>0)break e;if(n=(s<<3)+i|0,c=f[t>>2],f[n>>2]=c,f[n+4>>2]=c>>31,t=t+4|0,!((0|(s=s+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break t;break e;case 5:if((0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(c=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,b=f[n+4>>2];;){if(t>>>0>=b>>>0)break e;if(f[(n=(s<<3)+i|0)>>2]=f[t>>2],f[n+4>>2]=0,t=t+4|0,!((0|(s=s+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break t;break e;case 6:if((0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(c=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,b=f[n+4>>2];;){if(t>>>0>=b>>>0)break e;if(c=f[t+4>>2],f[(n=(s<<3)+i|0)>>2]=f[t>>2],f[n+4>>2]=c,t=t+8|0,!((0|(s=s+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break t;break e;case 7:if((0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(c=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,b=f[n+4>>2];;){if(t>>>0>=b>>>0)break e;if(n=f[t>>2],(0|(c=f[t+4>>2]))<0)break e;if(f[(y=(s<<3)+i|0)>>2]=n,f[y+4>>2]=c,t=t+8|0,!((0|(s=s+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break t;break e;case 8:if((0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(c=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,y=f[n+4>>2];;){if(t>>>0>=y>>>0)break e;if(n=(s<<3)+i|0,d=A[t>>2],_(h(d))<_(0x8000000000000000)?(c=_(h(d))>=_(1)?~~(d>_(0)?_(m(_(v(_(d*_(2.3283064365386963e-10)))),_(4294967296))):_(g(_(_(d-_(~~d>>>0>>>0))*_(2.3283064365386963e-10)))))>>>0:0,b=~~d>>>0):(c=-2147483648,b=0),f[n>>2]=b,f[n+4>>2]=c,t=t+4|0,!((0|(s=s+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break t;break e;case 9:if((0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(c=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,y=f[n+4>>2];;){if(t>>>0>=y>>>0)break e;if(n=(s<<3)+i|0,k=p[t>>3],h(k)<0x8000000000000000?(c=h(k)>=1?~~(k>0?m(v(2.3283064365386963e-10*k),4294967295):g(2.3283064365386963e-10*(k-+(~~k>>>0>>>0))))>>>0:0,b=~~k>>>0):(c=-2147483648,b=0),f[n>>2]=b,f[n+4>>2]=c,t=t+8|0,!((0|(s=s+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break t;break e;case 10:break r;default:break e}if((0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(c=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,b=f[n+4>>2];;){if(t>>>0>=b>>>0)break e;if(f[(n=(s<<3)+i|0)>>2]=u[0|t],f[n+4>>2]=0,t=t+1|0,!((0|(s=s+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)<=(0|n))break e}Ye((n<<3)+i|0,0,r-n<<3)}}function Y(e,t,r){t|=0,r|=0;var i,n=0,a=0,s=0,c=0,l=0,b=0,A=0,p=0,d=0,_=0,h=0,k=0,m=0,y=0,v=0,g=0,w=0,T=0,B=0,x=0;I=i=I-96|0,a=f[16+(e|=0)>>2],o[i+92|0]=1,f[i+88>>2]=t,f[i+84>>2]=t,f[i+80>>2]=a,d=f[e+20>>2],n=f[d>>2];e:{t:{if((a=f[f[a+28>>2]+(t<<2)>>2])>>>0<f[d+4>>2]-n>>2>>>0){if(n=f[f[e+8>>2]+(f[n+(a<<2)>>2]<<2)>>2],a=f[e+4>>2],u[a+84|0]||(n=f[f[a+68>>2]+(n<<2)>>2]),f[i+72>>2]=0,f[i+76>>2]=0,f[(d=i- -64|0)>>2]=0,f[d+4>>2]=0,f[i+56>>2]=0,f[i+60>>2]=0,P(a,n,o[a+24|0],i+56|0),n=((a=t+1|0)>>>0)%3|0,t>>>0<=a>>>0)for(d=n?a:t-2|0,c=((t>>>0)%3|0?-1:2)+t|0;;){if(n=d,a=c,f[e+28>>2]&&(n=((a=t+1|0)>>>0)%3|0?a:t-2|0,a=t-1|0,(t>>>0)%3|0||(a=t+2|0)),A=f[e+20>>2],t=f[A>>2],(n=f[f[f[e+16>>2]+28>>2]+(n<<2)>>2])>>>0>=f[A+4>>2]-t>>2>>>0)break t;if(n=f[f[e+8>>2]+(f[t+(n<<2)>>2]<<2)>>2],t=f[e+4>>2],u[t+84|0]||(n=f[f[t+68>>2]+(n<<2)>>2]),f[i+48>>2]=0,f[i+52>>2]=0,f[i+40>>2]=0,f[i+44>>2]=0,f[i+32>>2]=0,f[i+36>>2]=0,P(t,n,o[t+24|0],i+32|0),n=f[e+20>>2],t=f[n>>2],(a=f[f[f[e+16>>2]+28>>2]+(a<<2)>>2])>>>0>=f[n+4>>2]-t>>2>>>0)break e;n=f[f[e+8>>2]+(f[t+(a<<2)>>2]<<2)>>2],t=f[e+4>>2],u[t+84|0]||(n=f[f[t+68>>2]+(n<<2)>>2]),f[i+24>>2]=0,f[i+28>>2]=0,f[i+16>>2]=0,f[i+20>>2]=0,f[i+8>>2]=0,f[i+12>>2]=0,P(t,n,o[t+24|0],i+8|0),n=(a=f[i+8>>2])-(t=f[i+56>>2])|0,A=f[i+60>>2],_=f[i+12>>2]-(A+(t>>>0>a>>>0)|0)|0,v=(l=f[i+40>>2])-(a=f[i+64>>2])|0,g=f[i+68>>2],w=Jt(n,_,v,l=f[i+44>>2]-(g+(a>>>0>l>>>0)|0)|0),s=s-(C+(b>>>0<w>>>0)|0)|0,B=T=b-w|0,a=Jt(w=(b=f[i+16>>2])-a|0,g=f[i+20>>2]-((a>>>0>b>>>0)+g|0)|0,T=(b=f[i+32>>2])-t|0,A=f[i+36>>2]-((t>>>0>b>>>0)+A|0)|0),t=C+s|0,s=t=a>>>0>(b=B+a|0)>>>0?t+1|0:t,B=h,k=_,_=(t=f[i+48>>2])-(a=f[i+72>>2])|0,h=f[i+76>>2],k=Jt(n,k,_,x=f[i+52>>2]-(h+(t>>>0<a>>>0)|0)|0),t=C+p|0,t=(n=B+k|0)>>>0<k>>>0?t+1|0:t,h=n-(p=Jt(k=(p=f[i+24>>2])-a|0,a=f[i+28>>2]-((a>>>0>p>>>0)+h|0)|0,T,A))|0,p=t-(C+(n>>>0<p>>>0)|0)|0,n=m-(t=Jt(w,g,_,x))|0,t=y-(C+(t>>>0>m>>>0)|0)|0,y=Jt(k,a,v,l),t=C+t|0,y=t=(m=y+n|0)>>>0<y>>>0?t+1|0:t,t=f[i+88>>2],a=f[i+80>>2];r:if(u[i+92|0]){i:{if(-1==(0|t)||-1==(0|(t=((n=t+1|0)>>>0)%3|0?n:t-2|0))|f[f[a>>2]+(t>>>3&536870908)>>2]>>>t&1||-1==(0|(t=f[f[f[a+64>>2]+12>>2]+(t<<2)>>2])))f[i+88>>2]=-1;else if(t=((n=t+1|0)>>>0)%3|0?n:t-2|0,f[i+88>>2]=t,-1!=(0|t))break i;n=-1;n:if(-1!=(0|(t=f[i+84>>2]))){if((t>>>0)%3|0)t=t-1|0;else if(n=-1,-1==(0|(t=t+2|0)))break n;n=-1,f[f[a>>2]+(t>>>3&536870908)>>2]>>>t&1||(n=-1,-1!=(0|(t=f[f[f[a+64>>2]+12>>2]+(t<<2)>>2]))&&(n=t-1|0,(t>>>0)%3|0||(n=t+2|0)))}o[i+92|0]=0,f[i+88>>2]=n;break r}if((0|t)!=f[i+84>>2])break r;f[i+88>>2]=-1}else{n=-1;i:if(-1!=(0|t)){if((t>>>0)%3|0)t=t-1|0;else if(n=-1,-1==(0|(t=t+2|0)))break i;n=-1,f[f[a>>2]+(t>>>3&536870908)>>2]>>>t&1||(n=-1,-1!=(0|(t=f[f[f[a+64>>2]+12>>2]+(t<<2)>>2]))&&(n=t-1|0,(t>>>0)%3|0||(n=t+2|0)))}f[i+88>>2]=n}if(-1==(0|(t=f[i+88>>2])))break}n=(t=y>>31)+m|0,a=t,t=t+y|0,A=n^a,c=a^(n>>>0<a>>>0?t+1|0:t),_=-1,n=2147483647,l=t=p>>31,a=t+h|0,t=t+p|0,t=a>>>0<l>>>0?t+1|0:t,a^=l,l=t^=l,v=-1^a,t^=2147483647,d=s;r:{if(f[e+28>>2]){if(!((0|t)==(0|c)&A>>>0>v>>>0|t>>>0<c>>>0)&&(t=c+l|0,a=t=(e=a+A|0)>>>0<a>>>0?t+1|0:t,c=s,s=(t=s>>31)+b|0,l=c,c=t,t=l+t|0,t=s>>>0<c>>>0?t+1|0:t,s^=c,!((0|(c=2147483647^(t^=c)))==(0|a)&(-1^s)>>>0<e>>>0|a>>>0>c>>>0)&&(t=t+a|0,_=e=e+s|0,n=t=e>>>0<s>>>0?t+1|0:t,!t&e>>>0<536870913)))break r;t=n>>>29|0,e=(536870911&n)<<3|_>>>29}else{if((0|t)==(0|c)&A>>>0>v>>>0|t>>>0<c>>>0)break r;if(t=c+l|0,t=(e=a+A|0)>>>0<a>>>0?t+1|0:t,a=e,e=t,n=(t=s>>31)+b|0,c=s,s=t,t=c+t|0,c=n^s,s^=t=n>>>0<s>>>0?t+1|0:t,t=n=c+a|0,(s=!(0&(e=(0|(s^=2147483647))==(0|e)&(-1^c)>>>0<a>>>0|e>>>0>s>>>0)))&(0|(e=e?-1:t))<=536870912|(0|e)<536870912)break r;t=0,e=e>>>29|0}b=Yt(b,d,e,t),h=Yt(h,p,e,t),m=Yt(m,y,e,t)}return f[r+8>>2]=b,f[r+4>>2]=h,f[r>>2]=m,void(I=i+96|0)}ci(),E()}ci(),E()}ci(),E()}function z(e,t,r,i){var n=0,s=0,c=0,b=0,d=0,k=_(0),m=0;e:{t:if(i){r:{i:switch(f[e+28>>2]-1|0){case 0:if(b=1,(0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if(a[(c<<1)+i>>1]=o[0|t],t=t+1|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break r;break t;case 1:if(b=1,(0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if(a[(c<<1)+i>>1]=u[0|t],t=t+1|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break r;break t;case 2:if(b=1,(0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if(a[(c<<1)+i>>1]=l[t>>1],t=t+2|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break r;break t;case 3:if((0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if((0|(n=a[t>>1]))<0)break t;if(a[(c<<1)+i>>1]=n,t=t+2|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if(b=1,(0|r)>(0|n))break r;break t;case 4:if(b=1,(0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if((n=f[t>>2])-32768>>>0<4294901760)break e;if(a[(c<<1)+i>>1]=n,t=t+4|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break r;break t;case 5:if(b=1,(0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if((n=f[t>>2])>>>0>32767)break e;if(a[(c<<1)+i>>1]=n,t=t+4|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break r;break t;case 6:if(b=1,(0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if(d=f[t>>2],-1==(0|(n=f[t+4>>2]-(d>>>0<32768)|0))&d-32768>>>0<4294901760|-1!=(0|n))break e;if(a[(c<<1)+i>>1]=d,t=t+8|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break r;break t;case 7:if(b=1,(0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if(!(n=f[t+4>>2])&(d=f[t>>2])>>>0>32767|n)break e;if(a[(c<<1)+i>>1]=d,t=t+8|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break r;break t;case 8:if(b=1,(0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if(d=(c<<1)+i|0,k=A[t>>2],n=_(h(k))<_(2147483648)?~~k:-2147483648,a[d>>1]=n,t=t+4|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break r;break t;case 9:if(b=1,(0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if(d=(c<<1)+i|0,m=p[t>>3],n=h(m)<2147483648?~~m:-2147483648,a[d>>1]=n,t=t+8|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break r;break t;case 10:break i;default:break t}if(b=1,(0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if(a[(c<<1)+i>>1]=u[0|t],t=t+1|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)<=(0|n))break t}Ye((n<<1)+i|0,0,r-n<<1)}return b}return 0}function J(e,t,r,i){var n=0,s=0,c=0,b=0,d=0,h=_(0),k=0;e:{t:if(i){r:{i:switch(f[e+28>>2]-1|0){case 0:if((0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if((0|(n=o[0|t]))<0)break t;if(a[(c<<1)+i>>1]=255&n,t=t+1|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if(b=1,(0|r)>(0|n))break r;break t;case 1:if(b=1,(0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if(a[(c<<1)+i>>1]=u[0|t],t=t+1|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break r;break t;case 2:if((0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if((0|(n=a[t>>1]))<0)break t;if(a[(c<<1)+i>>1]=n,t=t+2|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if(b=1,(0|r)>(0|n))break r;break t;case 3:if(b=1,(0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if(a[(c<<1)+i>>1]=l[t>>1],t=t+2|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break r;break t;case 4:if(b=1,(0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if((n=f[t>>2])>>>0>65535)break e;if(a[(c<<1)+i>>1]=n,t=t+4|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break r;break t;case 5:if(b=1,(0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if((n=f[t>>2])>>>0>65535)break e;if(a[(c<<1)+i>>1]=n,t=t+4|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break r;break t;case 6:if(b=1,(0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if(!(n=f[t+4>>2])&(d=f[t>>2])>>>0>65535|n)break e;if(a[(c<<1)+i>>1]=d,t=t+8|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break r;break t;case 7:if(b=1,(0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if(!(n=f[t+4>>2])&(d=f[t>>2])>>>0>65535|n)break e;if(a[(c<<1)+i>>1]=d,t=t+8|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break r;break t;case 8:if(b=1,(0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if(d=(c<<1)+i|0,n=(h=A[t>>2])<_(4294967296)&h>=_(0)?~~h>>>0:0,a[d>>1]=n,t=t+4|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break r;break t;case 9:if(b=1,(0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if(d=(c<<1)+i|0,n=(k=p[t>>3])<4294967296&k>=0?~~k>>>0:0,a[d>>1]=n,t=t+8|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break r;break t;case 10:break i;default:break t}if(b=1,(0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if(a[(c<<1)+i>>1]=u[0|t],t=t+1|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)<=(0|n))break t}Ye((n<<1)+i|0,0,r-n<<1)}return b}return 0}function Q(e,t,r){var i,n=0,s=0,c=0,A=0,p=0;I=i=I-48|0,n=l[5069]|l[5070]<<16,s=l[5067]|l[5068]<<16,a[i+38>>1]=s,a[i+40>>1]=s>>>16,a[i+42>>1]=n,a[i+44>>1]=n>>>16,n=f[2533],f[i+32>>2]=f[2532],f[i+36>>2]=n,n=f[2531],f[i+24>>2]=f[2530],f[i+28>>2]=n,n=f[2529],f[i+16>>2]=f[2528],f[i+20>>2]=n,s=f[t+12>>2],n=f[t+20>>2],n=(A=(c=f[t+16>>2])+5|0)>>>0<5?n+1|0:n;e:{t:if(A>>>0>b[t+8>>2]&(0|n)>=(0|s)|(0|n)>(0|s)){if((t=Nt(i+16|0))>>>0>=4294967280)break e;r:{if(t>>>0>=11)r=br(n=t+16&-16),f[i+8>>2]=-2147483648|n,f[i>>2]=r,f[i+4>>2]=t;else if(o[i+11|0]=t,r=i,!t)break r;ge(r,i+16|0,t)}if(o[t+r|0]=0,f[e>>2]=-2,e=e+4|0,o[i+11|0]>=0){t=f[i+4>>2],f[e>>2]=f[i>>2],f[e+4>>2]=t,f[e+8>>2]=f[i+8>>2];break t}Vt(t=e,e=f[i>>2],f[i+4>>2]),ee(e)}else if(n=c+f[t>>2]|0,s=u[0|n]|u[n+1|0]<<8|u[n+2|0]<<16|u[n+3|0]<<24,o[0|r]=s,o[r+1|0]=s>>>8,o[r+2|0]=s>>>16,o[r+3|0]=s>>>24,o[r+4|0]=u[n+4|0],n=f[t+20>>2],n=(s=f[t+16>>2]+5|0)>>>0<5?n+1|0:n,f[t+16>>2]=s,f[t+20>>2]=n,xt(r,1394,5))t=br(32),o[t+16|0]=u[1638],r=u[1634]|u[1635]<<8|u[1636]<<16|u[1637]<<24,n=u[1630]|u[1631]<<8|u[1632]<<16|u[1633]<<24,o[t+8|0]=n,o[t+9|0]=n>>>8,o[t+10|0]=n>>>16,o[t+11|0]=n>>>24,o[t+12|0]=r,o[t+13|0]=r>>>8,o[t+14|0]=r>>>16,o[t+15|0]=r>>>24,r=u[1626]|u[1627]<<8|u[1628]<<16|u[1629]<<24,n=u[1622]|u[1623]<<8|u[1624]<<16|u[1625]<<24,o[0|t]=n,o[t+1|0]=n>>>8,o[t+2|0]=n>>>16,o[t+3|0]=n>>>24,o[t+4|0]=r,o[t+5|0]=r>>>8,o[t+6|0]=r>>>16,o[t+7|0]=r>>>24,o[t+17|0]=0,f[e>>2]=-1,Vt(e+4|0,t,17),ee(t);else if((0|(c=f[t+12>>2]))<=(0|n)&b[t+8>>2]<=s>>>0|(0|n)>(0|c)){if((t=Nt(i+16|0))>>>0>=4294967280)break e;r:{if(t>>>0>=11)r=br(n=t+16&-16),f[i+8>>2]=-2147483648|n,f[i>>2]=r,f[i+4>>2]=t;else if(o[i+11|0]=t,r=i,!t)break r;ge(r,i+16|0,t)}if(o[t+r|0]=0,f[e>>2]=-2,e=e+4|0,o[i+11|0]>=0){t=f[i+4>>2],f[e>>2]=f[i>>2],f[e+4>>2]=t,f[e+8>>2]=f[i+8>>2];break t}Vt(t=e,e=f[i>>2],f[i+4>>2]),ee(e)}else if(o[r+5|0]=u[s+f[t>>2]|0],n=f[t+20>>2],n=(s=f[t+16>>2]+1|0)?n:n+1|0,f[t+16>>2]=s,f[t+20>>2]=n,(0|(c=f[t+12>>2]))<=(0|n)&b[t+8>>2]<=s>>>0|(0|n)>(0|c)){if((t=Nt(i+16|0))>>>0>=4294967280)break e;r:{if(t>>>0>=11)r=br(n=t+16&-16),f[i+8>>2]=-2147483648|n,f[i>>2]=r,f[i+4>>2]=t;else if(o[i+11|0]=t,r=i,!t)break r;ge(r,i+16|0,t)}if(o[t+r|0]=0,f[e>>2]=-2,e=e+4|0,o[i+11|0]>=0){t=f[i+4>>2],f[e>>2]=f[i>>2],f[e+4>>2]=t,f[e+8>>2]=f[i+8>>2];break t}Vt(t=e,e=f[i>>2],f[i+4>>2]),ee(e)}else if(o[r+6|0]=u[s+f[t>>2]|0],n=f[t+20>>2],n=(s=f[t+16>>2]+1|0)?n:n+1|0,f[t+16>>2]=s,f[t+20>>2]=n,(0|(c=f[t+12>>2]))<=(0|n)&b[t+8>>2]<=s>>>0|(0|n)>(0|c)){if((t=Nt(i+16|0))>>>0>=4294967280)break e;r:{if(t>>>0>=11)r=br(n=t+16&-16),f[i+8>>2]=-2147483648|n,f[i>>2]=r,f[i+4>>2]=t;else if(o[i+11|0]=t,r=i,!t)break r;ge(r,i+16|0,t)}if(o[t+r|0]=0,f[e>>2]=-2,e=e+4|0,o[i+11|0]>=0){t=f[i+4>>2],f[e>>2]=f[i>>2],f[e+4>>2]=t,f[e+8>>2]=f[i+8>>2];break t}Vt(t=e,e=f[i>>2],f[i+4>>2]),ee(e)}else if(o[r+7|0]=u[s+f[t>>2]|0],n=f[t+20>>2],n=(s=f[t+16>>2]+1|0)?n:n+1|0,f[t+16>>2]=s,f[t+20>>2]=n,(0|(c=f[t+12>>2]))<=(0|n)&b[t+8>>2]<=s>>>0|(0|n)>(0|c)){if(t=Pt(i,i+16|0),f[e>>2]=-2,e=e+4|0,o[t+11|0]>=0){t=f[i+4>>2],f[e>>2]=f[i>>2],f[e+4>>2]=t,f[e+8>>2]=f[i+8>>2];break t}if(Vt(e,f[t>>2],f[t+4>>2]),o[t+11|0]>=0)break t;ee(f[t>>2])}else if(o[r+8|0]=u[s+f[t>>2]|0],s=n=f[t+20>>2],n=(c=(p=f[t+16>>2])+1|0)?n:n+1|0,f[t+16>>2]=c,f[t+20>>2]=n,A=f[t+12>>2],n=s,n=(s=p+3|0)>>>0<3?n+1|0:n,s>>>0>b[t+8>>2]&(0|n)>=(0|A)|(0|n)>(0|A)){if(t=Pt(i,i+16|0),f[e>>2]=-2,e=e+4|0,o[t+11|0]>=0){t=f[i+4>>2],f[e>>2]=f[i>>2],f[e+4>>2]=t,f[e+8>>2]=f[i+8>>2];break t}if(Vt(e,f[t>>2],f[t+4>>2]),o[t+11|0]>=0)break t;ee(f[t>>2])}else s=r,r=c+f[t>>2]|0,a[s+10>>1]=u[0|r]|u[r+1|0]<<8,n=f[t+20>>2],n=(r=f[t+16>>2]+2|0)>>>0<2?n+1|0:n,f[t+16>>2]=r,f[t+20>>2]=n,f[e+8>>2]=0,f[e+12>>2]=0,f[e>>2]=0,f[e+4>>2]=0;return void(I=i+48|0)}oi(),E()}function L(e,t,r,i){var n=0,s=0,c=0,b=0,d=0,k=_(0),m=0;e:{t:if(i){r:{i:switch(f[e+28>>2]-1|0){case 0:if(b=1,(0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if(f[(c<<2)+i>>2]=o[0|t],t=t+1|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break r;break t;case 1:if(b=1,(0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if(f[(c<<2)+i>>2]=u[0|t],t=t+1|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break r;break t;case 2:if(b=1,(0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if(f[(c<<2)+i>>2]=a[t>>1],t=t+2|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break r;break t;case 3:if(b=1,(0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if(f[(c<<2)+i>>2]=l[t>>1],t=t+2|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break r;break t;case 4:if(b=1,(0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if(f[(c<<2)+i>>2]=f[t>>2],t=t+4|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break r;break t;case 5:if((0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if((0|(n=f[t>>2]))<0)break t;if(f[(c<<2)+i>>2]=n,t=t+4|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if(b=1,(0|r)>(0|n))break r;break t;case 6:if(b=1,(0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if(n=f[t>>2],-1!=(f[t+4>>2]-(n>>>0<2147483648)|0))break e;if(f[(c<<2)+i>>2]=n,t=t+8|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break r;break t;case 7:if(b=1,(0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if(!(n=f[t+4>>2])&(d=f[t>>2])>>>0>2147483647|n)break e;if(f[(c<<2)+i>>2]=d,t=t+8|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break r;break t;case 8:if(b=1,(0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if(d=(c<<2)+i|0,k=A[t>>2],n=_(h(k))<_(2147483648)?~~k:-2147483648,f[d>>2]=n,t=t+4|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break r;break t;case 9:if(b=1,(0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if(d=(c<<2)+i|0,m=p[t>>3],n=h(m)<2147483648?~~m:-2147483648,f[d>>2]=n,t=t+8|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break r;break t;case 10:break i;default:break t}if(b=1,(0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if(f[(c<<2)+i>>2]=u[0|t],t=t+1|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)<=(0|n))break t}Ye((n<<2)+i|0,0,r-n<<2)}return b}return 0}function X(e,t,r,i){var n=0,s=0,c=0,b=0,d=0,h=_(0),k=0;e:{t:if(i){r:{i:switch(f[e+28>>2]-1|0){case 0:if(b=1,(0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if(f[(c<<2)+i>>2]=o[0|t],t=t+1|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break r;break t;case 1:if(b=1,(0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if(f[(c<<2)+i>>2]=u[0|t],t=t+1|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break r;break t;case 2:if(b=1,(0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if(f[(c<<2)+i>>2]=a[t>>1],t=t+2|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break r;break t;case 3:if(b=1,(0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if(f[(c<<2)+i>>2]=l[t>>1],t=t+2|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break r;break t;case 4:if(b=1,(0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if(f[(c<<2)+i>>2]=f[t>>2],t=t+4|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break r;break t;case 5:if(b=1,(0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if(f[(c<<2)+i>>2]=f[t>>2],t=t+4|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break r;break t;case 6:if(b=1,(0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if(n=f[t>>2],f[t+4>>2])break e;if(f[(c<<2)+i>>2]=n,t=t+8|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break r;break t;case 7:if(b=1,(0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if(n=f[t>>2],f[t+4>>2])break e;if(f[(c<<2)+i>>2]=n,t=t+8|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break r;break t;case 8:if(b=1,(0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if(d=(c<<2)+i|0,n=(h=A[t>>2])<_(4294967296)&h>=_(0)?~~h>>>0:0,f[d>>2]=n,t=t+4|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break r;break t;case 9:if(b=1,(0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if(d=(c<<2)+i|0,n=(k=p[t>>3])<4294967296&k>=0?~~k>>>0:0,f[d>>2]=n,t=t+8|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)>(0|n))break r;break t;case 10:break i;default:break t}if(b=1,(0|((0|r)<(0|(n=o[e+24|0]))?r:n))>0)for(n=f[e>>2],t=(s=f[n>>2])+(t=f[e+48>>2]+Jt(f[e+40>>2],f[e+44>>2],t,0)|0)|0,s=f[n+4>>2];;){if(t>>>0>=s>>>0)break e;if(f[(c<<2)+i>>2]=u[0|t],t=t+1|0,!((0|(c=c+1|0))<(0|((0|r)<(0|(n=o[e+24|0]))?r:n))))break}if((0|r)<=(0|n))break t}Ye((n<<2)+i|0,0,r-n<<2)}return b}return 0}function H(e,t,r){var i,n=0,o=0,a=0,s=0,c=0,b=0,A=0,p=0,_=0,h=0,k=0,m=0,y=0,v=0,g=0;I=i=I+-64|0,f[i+48>>2]=0,f[i+40>>2]=0,f[i+44>>2]=0,f[i+32>>2]=0,f[i+36>>2]=0,f[i+24>>2]=0,f[i+28>>2]=0,f[i+16>>2]=0,f[i+20>>2]=0,f[i+8>>2]=0,f[i+12>>2]=0,f[i>>2]=0,f[i+4>>2]=0,s=t;e:{t:if(l[t+38>>1]&&Et(1,i+12|0,s)){if(p=f[i+12>>2],t=f[i>>2],p>>>0>(n=f[i+4>>2]-t>>2)>>>0?(st(i,p-n|0),p=f[i+12>>2]):n>>>0<=p>>>0||(f[i+4>>2]=t+(p<<2)),o=1,!p)break e;for(m=f[s+8>>2],y=f[s+12>>2],k=f[i>>2];;){if(o=0,(0|y)<=(0|(n=f[s+20>>2]))&m>>>0<=(b=f[s+16>>2])>>>0|(0|n)>(0|y))break e;_=f[s>>2],v=u[_+b|0],n=(t=b+1|0)?n:n+1|0,o=t,f[s+16>>2]=t,f[s+20>>2]=n,t=v>>>2|0,c=0;r:{i:{n:{o:switch(0|(h=3&v)){case 3:break o;case 0:break i;default:break n}if(o=0,(t=t+a|0)>>>0>=p>>>0)break e;Ye(k+(a<<2)|0,0,4+(252&v)|0),a=t;break r}for(;;){if((0|n)>=(0|y)&o>>>0>=m>>>0|(0|n)>(0|y))break t;if(b=u[o+_|0],n=(o=o+1|0)?n:n+1|0,f[s+16>>2]=o,f[s+20>>2]=n,t|=b<<(c<<3|6),(0|h)==(0|(c=c+1|0)))break}}f[k+(a<<2)>>2]=t}if(!((a=a+1|0)>>>0<(p=f[i+12>>2])>>>0))break}if(m=i+16|0,_=f[i>>2],o=f[i+16>>2],(t=(n=f[i+20>>2]-o|0)>>2)>>>0<=1048575?st(m,1048576-t|0):4194304!=(0|n)&&(f[i+20>>2]=o+4194304),a=f[(n=i+28|0)>>2],(t=f[i+32>>2]-a>>3)>>>0<p>>>0)ct(n,p-t|0),a=f[n>>2];else if(t>>>0>p>>>0&&(f[i+32>>2]=(p<<3)+a),!p)break t;for(c=0,n=0;;){if(b=f[(h=(c<<2)+_|0)>>2],t=n,f[4+(o=(c<<3)+a|0)>>2]=n,f[o>>2]=b,(n=(k=f[h>>2])+n|0)>>>0>1048576)break t;if(!(t>>>0>=n>>>0)){if(h=f[m>>2],b=0,o=7&k)for(;f[h+(t<<2)>>2]=c,t=t+1|0,(0|o)!=(0|(b=b+1|0)););if(!(k-1>>>0<=6))for(;f[(o=h+(t<<2)|0)>>2]=c,f[o+28>>2]=c,f[o+24>>2]=c,f[o+20>>2]=c,f[o+16>>2]=c,f[o+12>>2]=c,f[o+8>>2]=c,f[o+4>>2]=c,(0|n)!=(0|(t=t+8|0)););}if((0|p)==(0|(c=c+1|0)))break}A=1048576==(0|n)}o=A}e:if(!(!o|(f[i+12>>2]?0:e))&&dt(1,i+56|0,s)&&(b=(n=f[s+8>>2])-(t=f[s+16>>2])|0,a=f[i+60>>2],o=f[s+20>>2],!((0|a)==(0|(n=f[s+12>>2]-(o+(t>>>0>n>>>0)|0)|0))&b>>>0<(A=f[i+56>>2])>>>0|n>>>0<a>>>0||(n=o+a|0,n=(b=t+A|0)>>>0<t>>>0?n+1|0:n,f[s+16>>2]=b,f[s+20>>2]=n,(0|A)<=0)))){_=t+f[s>>2]|0,f[i+40>>2]=_;t:if((n=u[0|(o=_+(t=A-1|0)|0)])>>>0<=63)f[i+44>>2]=t,n=63&u[0|o];else{r:switch((n>>>6|0)-1|0){case 0:if(A>>>0<2)break e;t=A-2|0,f[i+44>>2]=t,n=u[1+(n=(A+_|0)-2|0)|0]<<8&16128|u[0|n];break t;case 1:if(A>>>0<3)break e;t=A-3|0,f[i+44>>2]=t,n=u[2+(n=(A+_|0)-3|0)|0]<<16&4128768|u[n+1|0]<<8|u[0|n];break t}t=A-4|0,f[i+44>>2]=t,n=u[2+(n=(A+_|0)-4|0)|0]<<16|u[n+3|0]<<24&1056964608|u[n+1|0]<<8|u[0|n]}if(a=n+4194304|0,f[i+48>>2]=a,!(a>>>0>1073741823))if(e)for(h=f[i+28>>2],n=0,b=f[i+16>>2];;){t:if(!(a>>>0>4194303))for(;;){if((0|t)<=0)break t;if(t=t-1|0,f[i+44>>2]=t,a=u[t+_|0]|a<<8,f[i+48>>2]=a,!(a>>>0<4194304))break}if(A=f[b+((o=1048575&a)<<2)>>2],a=(d(f[(s=h+(A<<3)|0)>>2],a>>>20|0)+o|0)-f[s+4>>2]|0,f[i+48>>2]=a,f[(n<<2)+r>>2]=A,g=1,(0|(n=n+1|0))==(0|e))break}else g=1}return(e=f[i+28>>2])&&(f[i+32>>2]=e,ee(e)),(e=f[i+16>>2])&&(f[i+20>>2]=e,ee(e)),(e=f[i>>2])&&(f[i+4>>2]=e,ee(e)),I=i- -64|0,g}function q(e,t){var r=0,i=0,n=0,a=0,s=0,c=0;if((a=((r=f[e+4>>2])-(i=f[e>>2])|0)/144|0)>>>0<t>>>0)if(i=e,(s=t-a|0)>>>0<=((r=f[e+8>>2])-(e=f[e+4>>2])|0)/144>>>0){if(s){for(t=d(s,144)+e|0;f[e>>2]=-1,kt(e+4|0),f[e+104>>2]=0,f[e+108>>2]=0,o[e+100|0]=1,f[e+112>>2]=0,f[e+116>>2]=0,f[e+120>>2]=0,f[e+124>>2]=0,f[e+128>>2]=0,f[e+132>>2]=0,f[e+136>>2]=0,f[e+140>>2]=0,(0|t)!=(0|(e=e+144|0)););e=t}f[i+4>>2]=e}else{e:{t:{r:{if((c=(a=((t=e)-(e=f[i>>2])|0)/144|0)+s|0)>>>0<29826162){if(e=(t=(r-e|0)/144|0)<<1,n=t>>>0<14913080?e>>>0<c>>>0?c:e:29826161){if(n>>>0>=29826162)break r;r=br(d(n,144))}else r=0;for(c=(t=r+d(a,144)|0)+d(s,144)|0,e=t;f[e>>2]=-1,kt(e+4|0),f[e+104>>2]=0,f[e+108>>2]=0,o[e+100|0]=1,f[e+112>>2]=0,f[e+116>>2]=0,f[e+120>>2]=0,f[e+124>>2]=0,f[e+128>>2]=0,f[e+132>>2]=0,f[e+136>>2]=0,f[e+140>>2]=0,(0|c)!=(0|(e=e+144|0)););if(a=r+d(n,144)|0,(0|(e=f[i+4>>2]))==(0|(n=f[i>>2])))break t;for(;e=e-144|0,f[(t=t-144|0)>>2]=f[e>>2],f[t+4>>2]=f[e+4>>2],f[t+8>>2]=f[e+8>>2],f[t+12>>2]=f[e+12>>2],f[e+12>>2]=0,f[e+4>>2]=0,f[e+8>>2]=0,f[t+16>>2]=f[e+16>>2],f[t+20>>2]=f[e+20>>2],f[t+24>>2]=f[e+24>>2],f[e+24>>2]=0,f[e+16>>2]=0,f[e+20>>2]=0,r=u[e+28|0],f[t+40>>2]=0,f[t+32>>2]=0,f[t+36>>2]=0,o[t+28|0]=r,f[t+32>>2]=f[e+32>>2],f[t+36>>2]=f[e+36>>2],f[t+40>>2]=f[e+40>>2],f[e+40>>2]=0,f[e+32>>2]=0,f[e+36>>2]=0,f[t+52>>2]=0,f[t+44>>2]=0,f[t+48>>2]=0,f[t+44>>2]=f[e+44>>2],f[t+48>>2]=f[e+48>>2],f[t+52>>2]=f[e+52>>2],f[e+52>>2]=0,f[e+44>>2]=0,f[e+48>>2]=0,f[(r=t- -64|0)>>2]=0,f[t+56>>2]=0,f[t+60>>2]=0,f[t+56>>2]=f[e+56>>2],f[t+60>>2]=f[e+60>>2],s=r,r=e- -64|0,f[s>>2]=f[r>>2],f[r>>2]=0,f[e+56>>2]=0,f[e+60>>2]=0,f[t+68>>2]=f[e+68>>2],r=f[e+72>>2],f[t+84>>2]=0,f[t+76>>2]=0,f[t+80>>2]=0,f[t+72>>2]=r,f[t+76>>2]=f[e+76>>2],f[t+80>>2]=f[e+80>>2],f[t+84>>2]=f[e+84>>2],f[e+84>>2]=0,f[e+76>>2]=0,f[e+80>>2]=0,f[t+96>>2]=0,f[t+88>>2]=0,f[t+92>>2]=0,f[t+88>>2]=f[e+88>>2],f[t+92>>2]=f[e+92>>2],f[t+96>>2]=f[e+96>>2],f[e+96>>2]=0,f[e+88>>2]=0,f[e+92>>2]=0,r=u[e+100|0],f[t+112>>2]=0,f[t+104>>2]=0,f[t+108>>2]=0,o[t+100|0]=r,f[t+104>>2]=f[e+104>>2],f[t+108>>2]=f[e+108>>2],f[t+112>>2]=f[e+112>>2],f[e+112>>2]=0,f[e+104>>2]=0,f[e+108>>2]=0,f[t+124>>2]=0,f[t+116>>2]=0,f[t+120>>2]=0,f[t+116>>2]=f[e+116>>2],f[t+120>>2]=f[e+120>>2],f[t+124>>2]=f[e+124>>2],f[e+124>>2]=0,f[e+116>>2]=0,f[e+120>>2]=0,r=f[e+128>>2],f[t+140>>2]=0,f[t+132>>2]=0,f[t+136>>2]=0,f[t+128>>2]=r,f[t+132>>2]=f[e+132>>2],f[t+136>>2]=f[e+136>>2],f[t+140>>2]=f[e+140>>2],f[e+140>>2]=0,f[e+132>>2]=0,f[e+136>>2]=0,(0|e)!=(0|n););if(f[i+8>>2]=a,e=f[i+4>>2],f[i+4>>2]=c,n=f[i>>2],f[i>>2]=t,(0|e)==(0|n))break e;for(;(t=f[e-12>>2])&&(f[e-8>>2]=t,ee(t)),(t=f[e-28>>2])&&(f[e-24>>2]=t,ee(t)),(t=f[e-40>>2])&&(f[e-36>>2]=t,ee(t)),Gt(e-140|0),(0|n)!=(0|(e=e-144|0)););break e}ii(),E()}Lt(1326),E()}f[i+8>>2]=a,f[i+4>>2]=c,f[i>>2]=t}n&&ee(n)}else if(t>>>0<a>>>0){if((0|(i=i+d(t,144)|0))!=(0|r))for(;(t=f[r-12>>2])&&(f[r-8>>2]=t,ee(t)),(t=f[r-28>>2])&&(f[r-24>>2]=t,ee(t)),(t=f[r-40>>2])&&(f[r-36>>2]=t,ee(t)),Gt(r-140|0),(0|i)!=(0|(r=r-144|0)););f[e+4>>2]=i}}function $(e,t,r){t|=0,r|=0;var i,n=0,a=0,s=0,c=0,l=0,b=0,A=0,p=0,d=0,_=0,h=0,k=0,m=0,y=0,v=0,g=0,w=0,T=0,B=0,x=0;if(I=i=I-96|0,n=f[16+(e|=0)>>2],o[i+92|0]=1,f[i+88>>2]=t,f[i+84>>2]=t,f[i+80>>2]=n,-1!=(0|t)&&(d=f[e+20>>2],a=f[d>>2],!((n=f[f[n>>2]+(t<<2)>>2])>>>0>=f[d+4>>2]-a>>2>>>0))){n=f[f[e+8>>2]+(f[a+(n<<2)>>2]<<2)>>2],a=f[e+4>>2],u[a+84|0]||(n=f[f[a+68>>2]+(n<<2)>>2]),f[i+72>>2]=0,f[i+76>>2]=0,f[(d=i- -64|0)>>2]=0,f[d+4>>2]=0,f[i+56>>2]=0,f[i+60>>2]=0,P(a,n,o[a+24|0],i+56|0),d=((n=t+1|0)>>>0)%3|0?n:t-2|0,c=((t>>>0)%3|0?-1:2)+t|0;e:{t:{for(;;){if(a=d,n=c,f[e+28>>2]&&(a=((n=t+1|0)>>>0)%3|0?n:t-2|0,n=t-1|0,(t>>>0)%3|0||(n=t+2|0)),-1==(0|a))break e;if(A=f[e+20>>2],t=f[A>>2],(a=f[f[f[e+16>>2]>>2]+(a<<2)>>2])>>>0>=f[A+4>>2]-t>>2>>>0)break e;if(a=f[f[e+8>>2]+(f[(a<<2)+t>>2]<<2)>>2],t=f[e+4>>2],u[t+84|0]||(a=f[f[t+68>>2]+(a<<2)>>2]),f[i+48>>2]=0,f[i+52>>2]=0,f[i+40>>2]=0,f[i+44>>2]=0,f[i+32>>2]=0,f[i+36>>2]=0,P(t,a,o[t+24|0],i+32|0),-1==(0|n))break t;if(a=f[e+20>>2],t=f[a>>2],(n=f[f[f[e+16>>2]>>2]+(n<<2)>>2])>>>0>=f[a+4>>2]-t>>2>>>0)break t;if(a=f[f[e+8>>2]+(f[t+(n<<2)>>2]<<2)>>2],t=f[e+4>>2],u[t+84|0]||(a=f[f[t+68>>2]+(a<<2)>>2]),f[i+24>>2]=0,f[i+28>>2]=0,f[i+16>>2]=0,f[i+20>>2]=0,f[i+8>>2]=0,f[i+12>>2]=0,P(t,a,o[t+24|0],i+8|0),a=(n=f[i+8>>2])-(t=f[i+56>>2])|0,A=f[i+60>>2],_=f[i+12>>2]-(A+(t>>>0>n>>>0)|0)|0,v=(l=f[i+40>>2])-(n=f[i+64>>2])|0,g=f[i+68>>2],w=Jt(a,_,v,l=f[i+44>>2]-(g+(n>>>0>l>>>0)|0)|0),s=s-(C+(b>>>0<w>>>0)|0)|0,B=T=b-w|0,n=Jt(w=(b=f[i+16>>2])-n|0,g=f[i+20>>2]-((n>>>0>b>>>0)+g|0)|0,T=(b=f[i+32>>2])-t|0,A=f[i+36>>2]-((t>>>0>b>>>0)+A|0)|0),t=C+s|0,s=t=n>>>0>(b=B+n|0)>>>0?t+1|0:t,B=h,k=_,_=(t=f[i+48>>2])-(n=f[i+72>>2])|0,h=f[i+76>>2],k=Jt(a,k,_,x=f[i+52>>2]-(h+(t>>>0<n>>>0)|0)|0),t=C+p|0,t=(a=B+k|0)>>>0<k>>>0?t+1|0:t,h=a-(p=Jt(k=(p=f[i+24>>2])-n|0,n=f[i+28>>2]-((n>>>0>p>>>0)+h|0)|0,T,A))|0,p=t-(C+(a>>>0<p>>>0)|0)|0,a=m-(t=Jt(w,g,_,x))|0,t=y-(C+(t>>>0>m>>>0)|0)|0,y=Jt(k,n,v,l),t=C+t|0,y=t=(m=y+a|0)>>>0<y>>>0?t+1|0:t,Fe(i+80|0),-1==(0|(t=f[i+88>>2])))break}a=(t=y>>31)+m|0,n=t,t=t+y|0,A=a^n,c=n^(a>>>0<n>>>0?t+1|0:t),_=-1,a=2147483647,l=t=p>>31,n=t+h|0,t=t+p|0,t=n>>>0<l>>>0?t+1|0:t,n^=l,l=t^=l,v=-1^n,t^=2147483647,d=s;r:{if(f[e+28>>2]){if(!((0|t)==(0|c)&A>>>0>v>>>0|t>>>0<c>>>0)&&(t=c+l|0,n=t=(e=n+A|0)>>>0<n>>>0?t+1|0:t,c=s,s=(t=s>>31)+b|0,l=c,c=t,t=l+t|0,t=s>>>0<c>>>0?t+1|0:t,s^=c,!((0|(c=2147483647^(t^=c)))==(0|n)&(-1^s)>>>0<e>>>0|n>>>0>c>>>0)&&(t=t+n|0,_=e=e+s|0,a=t=e>>>0<s>>>0?t+1|0:t,!t&e>>>0<536870913)))break r;t=a>>>29|0,e=(536870911&a)<<3|_>>>29}else{if((0|t)==(0|c)&A>>>0>v>>>0|t>>>0<c>>>0)break r;if(t=c+l|0,t=(e=n+A|0)>>>0<n>>>0?t+1|0:t,n=e,e=t,a=(t=s>>31)+b|0,c=s,s=t,t=c+t|0,c=a^s,s^=t=a>>>0<s>>>0?t+1|0:t,t=a=c+n|0,(s=!(0&(e=(0|(s^=2147483647))==(0|e)&(-1^c)>>>0<n>>>0|e>>>0>s>>>0)))&(0|(e=e?-1:t))<=536870912|(0|e)<536870912)break r;t=0,e=e>>>29|0}b=Yt(b,d,e,t),h=Yt(h,p,e,t),m=Yt(m,y,e,t)}return f[r+8>>2]=b,f[r+4>>2]=h,f[r>>2]=m,void(I=i+96|0)}ci(),E()}ci(),E()}ci(),E()}function K(e,t){e|=0;var r=0,i=0,n=0,o=0,a=0,s=0,c=0,u=0;if(!((0|(t|=0))<0||(i=f[e+12>>2])-(r=f[e+8>>2])>>2>>>0<=t>>>0)){o=f[(n=r+(t<<2)|0)>>2],c=f[o+60>>2],a=f[o+56>>2];e:{if((0|(r=n+4|0))!=(0|i)){for(;s=f[r>>2],f[r>>2]=0,f[n>>2]=s,o&&Zt(o),n=n+4|0,(0|(r=r+4|0))!=(0|i);)o=f[n>>2];if((0|n)==(0|(i=f[e+12>>2])))break e}for(;r=f[(i=i-4|0)>>2],f[i>>2]=0,r&&Zt(r),(0|i)!=(0|n););}f[e+12>>2]=n;e:if(!(!(o=f[e+4>>2])|(0|c)<0)&&(0|(i=f[o+24>>2]))!=(0|(r=f[o+28>>2])))for(;;){if((0|c)==f[f[i>>2]+24>>2]){t:{if((0|(n=i+4|0))!=(0|(c=f[o+28>>2]))){for(;s=f[n>>2],f[n>>2]=0,r=f[i>>2],f[i>>2]=s,r&&(rr(r+12|0,f[r+16>>2]),ur(r,f[r+4>>2]),ee(r)),i=i+4|0,(0|c)!=(0|(n=n+4|0)););if((0|(n=f[o+28>>2]))==(0|i))break t}for(;r=f[(n=n-4|0)>>2],f[n>>2]=0,r&&(rr(r+12|0,f[r+16>>2]),ur(r,f[r+4>>2]),ee(r)),(0|i)!=(0|n););}f[o+28>>2]=i;break e}if((0|r)==(0|(i=i+4|0)))break}e:if(!((0|a)>4)){t:if(n=d(a,12)+e|0,(0|(i=f[n+20>>2]))!=(0|(r=f[n+24>>2]))){for(;;){if(f[i>>2]==(0|t))break t;if((0|r)==(0|(i=i+4|0)))break}break e}(0|i)!=(0|r)&&((r=r-(o=i+4|0)|0)&&je(i,o,r),f[n+24>>2]=i+r)}if(n=f[e+20>>2],i=f[e+24>>2]-n|0){if(c=1&(o=(r=i>>2)>>>0>1?r:1),i=0,r>>>0>=2)for(o&=-2,r=0;(0|(u=f[(s=(a=i<<2)+n|0)>>2]))>(0|t)&&(f[s>>2]=u-1),(0|(s=f[(a=n+(4|a)|0)>>2]))>(0|t)&&(f[a>>2]=s-1),i=i+2|0,(0|o)!=(0|(r=r+2|0)););c&&((0|(r=f[(i=n+(i<<2)|0)>>2]))<=(0|t)||(f[i>>2]=r-1))}if(n=f[e+32>>2],i=f[e+36>>2]-n|0){if(c=1&(o=(r=i>>2)>>>0>1?r:1),i=0,r>>>0>=2)for(o&=-2,r=0;(0|(u=f[(s=(a=i<<2)+n|0)>>2]))>(0|t)&&(f[s>>2]=u-1),(0|(s=f[(a=n+(4|a)|0)>>2]))>(0|t)&&(f[a>>2]=s-1),i=i+2|0,(0|o)!=(0|(r=r+2|0)););c&&((0|(r=f[(i=n+(i<<2)|0)>>2]))<=(0|t)||(f[i>>2]=r-1))}if(n=f[e+44>>2],i=f[e+48>>2]-n|0){if(c=1&(o=(r=i>>2)>>>0>1?r:1),i=0,r>>>0>=2)for(o&=-2,r=0;(0|(u=f[(s=(a=i<<2)+n|0)>>2]))>(0|t)&&(f[s>>2]=u-1),(0|(s=f[(a=n+(4|a)|0)>>2]))>(0|t)&&(f[a>>2]=s-1),i=i+2|0,(0|o)!=(0|(r=r+2|0)););c&&((0|(r=f[(i=n+(i<<2)|0)>>2]))<=(0|t)||(f[i>>2]=r-1))}if(n=f[e+56>>2],i=f[e+60>>2]-n|0){if(c=1&(o=(r=i>>2)>>>0>1?r:1),i=0,r>>>0>=2)for(o&=-2,r=0;(0|(u=f[(s=(a=i<<2)+n|0)>>2]))>(0|t)&&(f[s>>2]=u-1),(0|(s=f[(a=n+(4|a)|0)>>2]))>(0|t)&&(f[a>>2]=s-1),i=i+2|0,(0|o)!=(0|(r=r+2|0)););c&&((0|(r=f[(i=n+(i<<2)|0)>>2]))<=(0|t)||(f[i>>2]=r-1))}if(i=(r=f[e+72>>2])-(e=f[e+68>>2])|0){if(o=1&(n=(r=i>>2)>>>0>1?r:1),i=0,r>>>0>=2)for(n&=-2,r=0;(0|(s=f[(a=(c=i<<2)+e|0)>>2]))>(0|t)&&(f[a>>2]=s-1),(0|(a=f[(c=e+(4|c)|0)>>2]))>(0|t)&&(f[c>>2]=a-1),i=i+2|0,(0|n)!=(0|(r=r+2|0)););o&&((0|(r=t))>=(0|(t=f[(e=e+(i<<2)|0)>>2]))||(f[e>>2]=t-1))}}}function ee(e){var t=0,r=0,i=0,n=0,o=0,a=0,s=0,c=0,u=0;e:if(e|=0){o=(i=e-8|0)+(e=-8&(t=f[e-4>>2]))|0;t:if(!(1&t)){if(!(3&t))break e;if((i=i-(t=f[i>>2])|0)>>>0<b[2885])break e;if(e=e+t|0,f[2886]==(0|i)){if(3==(3&(t=f[o+4>>2])))return f[2883]=e,f[o+4>>2]=-2&t,f[i+4>>2]=1|e,void(f[e+i>>2]=e)}else{if(t>>>0<=255){if(n=f[i+8>>2],t=t>>>3|0,(0|(r=f[i+12>>2]))==(0|n)){c=11524,u=f[2881]&xr(t),f[c>>2]=u;break t}f[n+12>>2]=r,f[r+8>>2]=n;break t}if(s=f[i+24>>2],(0|i)==(0|(t=f[i+12>>2])))if((r=f[(n=i+20|0)>>2])||(r=f[(n=i+16|0)>>2])){for(;a=n,(r=f[(n=(t=r)+20|0)>>2])||(n=t+16|0,r=f[t+16>>2]););f[a>>2]=0}else t=0;else r=f[i+8>>2],f[r+12>>2]=t,f[t+8>>2]=r;if(!s)break t;n=f[i+28>>2];r:{if(f[(r=11828+(n<<2)|0)>>2]==(0|i)){if(f[r>>2]=t,t)break r;c=11528,u=f[2882]&xr(n),f[c>>2]=u;break t}if(f[s+(f[s+16>>2]==(0|i)?16:20)>>2]=t,!t)break t}if(f[t+24>>2]=s,(r=f[i+16>>2])&&(f[t+16>>2]=r,f[r+24>>2]=t),!(r=f[i+20>>2]))break t;f[t+20>>2]=r,f[r+24>>2]=t}}if(!(i>>>0>=o>>>0)&&1&(t=f[o+4>>2])){t:{if(!(2&t)){if(f[2887]==(0|o)){if(f[2887]=i,e=f[2884]+e|0,f[2884]=e,f[i+4>>2]=1|e,f[2886]!=(0|i))break e;return f[2883]=0,void(f[2886]=0)}if(f[2886]==(0|o))return f[2886]=i,e=f[2883]+e|0,f[2883]=e,f[i+4>>2]=1|e,void(f[e+i>>2]=e);e=(-8&t)+e|0;r:if(t>>>0<=255){if(n=f[o+8>>2],t=t>>>3|0,(0|(r=f[o+12>>2]))==(0|n)){c=11524,u=f[2881]&xr(t),f[c>>2]=u;break r}f[n+12>>2]=r,f[r+8>>2]=n}else{if(s=f[o+24>>2],(0|o)==(0|(t=f[o+12>>2])))if((r=f[(n=o+20|0)>>2])||(r=f[(n=o+16|0)>>2])){for(;a=n,(r=f[(n=(t=r)+20|0)>>2])||(n=t+16|0,r=f[t+16>>2]););f[a>>2]=0}else t=0;else r=f[o+8>>2],f[r+12>>2]=t,f[t+8>>2]=r;if(s){n=f[o+28>>2];i:{if(f[(r=11828+(n<<2)|0)>>2]==(0|o)){if(f[r>>2]=t,t)break i;c=11528,u=f[2882]&xr(n),f[c>>2]=u;break r}if(f[s+(f[s+16>>2]==(0|o)?16:20)>>2]=t,!t)break r}f[t+24>>2]=s,(r=f[o+16>>2])&&(f[t+16>>2]=r,f[r+24>>2]=t),(r=f[o+20>>2])&&(f[t+20>>2]=r,f[r+24>>2]=t)}}if(f[i+4>>2]=1|e,f[e+i>>2]=e,f[2886]!=(0|i))break t;return void(f[2883]=e)}f[o+4>>2]=-2&t,f[i+4>>2]=1|e,f[e+i>>2]=e}if(e>>>0<=255)return t=11564+((e=e>>>3|0)<<3)|0,(r=f[2881])&(e=1<<e)?e=f[t+8>>2]:(f[2881]=e|r,e=t),f[t+8>>2]=i,f[e+12>>2]=i,f[i+12>>2]=t,void(f[i+8>>2]=e);n=31,f[i+16>>2]=0,f[i+20>>2]=0,e>>>0<=16777215&&(t=e>>>8|0,t<<=a=t+1048320>>>16&8,n=28+((t=((t<<=n=t+520192>>>16&4)<<(r=t+245760>>>16&2)>>>15|0)-(r|n|a)|0)<<1|e>>>t+21&1)|0),f[i+28>>2]=n,a=11828+(n<<2)|0;t:{r:{if((r=f[2882])&(t=1<<n)){for(n=e<<(31==(0|n)?0:25-(n>>>1|0)|0),t=f[a>>2];;){if(r=t,(-8&f[t+4>>2])==(0|e))break r;if(t=n>>>29|0,n<<=1,!(t=f[16+(a=r+(4&t)|0)>>2]))break}f[a+16>>2]=i,f[i+24>>2]=r}else f[2882]=t|r,f[a>>2]=i,f[i+24>>2]=a;f[i+12>>2]=i,f[i+8>>2]=i;break t}e=f[r+8>>2],f[e+12>>2]=i,f[r+8>>2]=i,f[i+24>>2]=0,f[i+12>>2]=r,f[i+8>>2]=e}e=f[2889]-1|0,f[2889]=e||-1}}}function te(e,t,r,i){var n,a=0,s=0,c=0,u=0,l=0,p=_(0),d=0,h=0,m=_(0);n=f[r>>2];e:{t:if(s=f[t+4>>2]){r:{if((c=Er(s))>>>0>=2){if((a=n)>>>0>=s>>>0&&(a=(n>>>0)%(s>>>0)|0),!(r=f[f[t>>2]+(a<<2)>>2]))break t;if(c>>>0<=1)break r;for(;;){if(!(r=f[r>>2]))break t;if((0|(c=f[r+4>>2]))!=(0|n)&&(s>>>0<=c>>>0&&(c=(c>>>0)%(s>>>0)|0),(0|a)!=(0|c)))break t;if(f[r+8>>2]==(0|n))break}t=0;break e}if(a=s-1&n,!(r=f[f[t>>2]+(a<<2)>>2]))break t}for(c=s-1|0;;){if(!(r=f[r>>2]))break t;if((0|(u=f[r+4>>2]))!=(0|n)&(c&u)!=(0|a))break t;if(f[r+8>>2]==(0|n))break}t=0;break e}if(r=br(16),i=f[f[i>>2]>>2],f[r+12>>2]=0,f[r+8>>2]=i,f[r+4>>2]=n,f[r>>2]=0,m=_(f[t+12>>2]+1>>>0),p=A[t+16>>2],!s||m>_(p*_(s>>>0))){c=0!=(s-1&s)|s>>>0<3|s<<1,a=2,1!=(0|(i=(i=(p=_(g(_(m/p))))<_(4294967296)&p>=_(0)?~~p>>>0:0)>>>0>c>>>0?i:c))&&(i&i-1?(a=F(i),s=f[t+4>>2]):a=i);t:{if(a>>>0<=s>>>0){if(a>>>0>=s>>>0)break t;if(c=s>>>0<3,i=(p=_(g(_(_(b[t+12>>2])/A[t+16>>2]))))<_(4294967296)&p>=_(0)?~~p>>>0:0,(a=(i=c||Er(s)>>>0>1?F(i):i>>>0<2?i:1<<32-k(i-1|0))>>>0>a>>>0?i:a)>>>0>=s>>>0)break t}s=0,u=a;r:{i:{n:{o:{if(a){if(u>>>0>=1073741824)break o;if(a=br(u<<2),i=f[t>>2],f[t>>2]=a,i&&ee(i),f[t+4>>2]=u,a=0,u-1>>>0>=3)for(c=-4&u;f[(i=a<<2)+f[t>>2]>>2]=0,f[f[t>>2]+(4|i)>>2]=0,f[f[t>>2]+(8|i)>>2]=0,f[f[t>>2]+(12|i)>>2]=0,a=a+4|0,(0|c)!=(0|(s=s+4|0)););if(i=3&u)for(;f[f[t>>2]+(a<<2)>>2]=0,a=a+1|0,(0|i)!=(0|(l=l+1|0)););if(!(s=f[t+8>>2]))break r;if(i=t+8|0,c=f[s+4>>2],(a=Er(u))>>>0<2)break n;if(c=c>>>0>=u>>>0?(c>>>0)%(u>>>0)|0:c,f[f[t>>2]+(c<<2)>>2]=i,!(i=f[s>>2]))break r;if(a>>>0<=1)break i;for(;;){if(u>>>0<=(l=f[i+4>>2])>>>0&&(l=(l>>>0)%(u>>>0)|0),(0|c)!=(0|l))if(a=i,h=(d=l<<2)+f[t>>2]|0,f[h>>2]){for(;l=a,a=f[a>>2],f[i+8>>2]==f[a+8>>2]&&a;);f[s>>2]=a,f[l>>2]=f[f[d+f[t>>2]>>2]>>2],f[f[d+f[t>>2]>>2]>>2]=i}else f[h>>2]=s,s=i,c=l;else s=i;if(!(i=f[s>>2]))break}break r}i=f[t>>2],f[t>>2]=0,i&&ee(i),f[t+4>>2]=0;break r}Lt(1326),E()}if(c&=u-1,f[f[t>>2]+(c<<2)>>2]=i,!(i=f[s>>2]))break r}for(d=u-1|0;;){if((0|(u=d&f[i+4>>2]))!=(0|c))if(a=i,h=(l=u<<2)+f[t>>2]|0,f[h>>2]){for(;u=a,a=f[a>>2],f[i+8>>2]==f[a+8>>2]&&a;);f[s>>2]=a,f[u>>2]=f[f[l+f[t>>2]>>2]>>2],f[f[l+f[t>>2]>>2]>>2]=i}else f[h>>2]=s,s=i,c=u;else s=i;if(!(i=f[s>>2]))break}}}a=(i=(s=f[t+4>>2])-1|0)&s?s>>>0>n>>>0?n:(n>>>0)%(s>>>0)|0:i&n}a=f[t>>2]+(a<<2)|0;t:if(i=f[a>>2])f[r>>2]=f[i>>2],f[i>>2]=r;else{if(f[r>>2]=f[t+8>>2],f[t+8>>2]=r,f[a>>2]=t+8,!(i=f[r>>2]))break t;i=f[i+4>>2],(a=s-1|0)&s?i>>>0<s>>>0||(i=(i>>>0)%(s>>>0)|0):i&=a,f[f[t>>2]+(i<<2)>>2]=r}f[t+12>>2]=f[t+12>>2]+1,t=1}o[e+4|0]=t,f[e>>2]=r}function re(e){var t=0,r=0,i=0,n=0,o=0,a=0,s=0,c=0,u=0,l=0;f[e+56>>2]=f[e+52>>2],f[e+44>>2]=f[e+40>>2];e:{t:{r:{if(n=f[e+64>>2],(0|(r=f[n+24>>2]))!=f[n+28>>2])for(;;){i=t;i:if(-1!=(0|(c=f[(l<<2)+r>>2]))){if((0|(t=f[e+56>>2]))==f[e+60>>2]){if((t=1+(a=(n=t-(r=f[e+52>>2])|0)>>2)|0)>>>0>=1073741824)break r;if(o=n>>1,o=a>>>0<536870911?t>>>0>o>>>0?t:o:1073741823){if(o>>>0>=1073741824)break e;t=br(o<<2)}else t=0;f[(a=t+(a<<2)|0)>>2]=i,(0|n)>0&&ge(t,r,n),f[e+60>>2]=t+(o<<2),f[e+56>>2]=a+4,f[e+52>>2]=t,r&&ee(r)}else f[t>>2]=i,f[e+56>>2]=t+4;n:if(f[f[e+12>>2]+(l>>>3&536870908)>>2]>>>l&1&&-1!=(0|(t=((t=c+1|0)>>>0)%3|0?t:c-2|0))&&(n=f[e>>2],!(f[n+(t>>>3&536870908)>>2]>>>t&1)&&-1!=(0|(t=f[f[f[e+64>>2]+12>>2]+(t<<2)>>2]))&&-1!=(0|(r=((r=t+1|0)>>>0)%3|0?r:t-2|0))))for(o=f[e+64>>2];;){if(c=r,-1==(0|(t=((t=r+1|0)>>>0)%3|0?t:r-2|0))|f[n+(t>>>3&536870908)>>2]>>>t&1)break n;if(-1==(0|(t=f[f[o+12>>2]+(t<<2)>>2])))break n;if(-1==(0|(r=((r=t+1|0)>>>0)%3|0?r:t-2|0)))break}if(f[f[e+28>>2]+(c<<2)>>2]=i,(0|(t=f[e+44>>2]))==f[e+48>>2]){if((t=1+(a=(n=t-(r=f[e+40>>2])|0)>>2)|0)>>>0>=1073741824)break t;if(o=n>>1,o=a>>>0<536870911?t>>>0>o>>>0?t:o:1073741823){if(o>>>0>=1073741824)break e;t=br(o<<2)}else t=0;f[(a=t+(a<<2)|0)>>2]=c,(0|n)>0&&ge(t,r,n),f[e+48>>2]=t+(o<<2),f[e+44>>2]=a+4,f[e+40>>2]=t,r&&ee(r)}else f[t>>2]=c,f[e+44>>2]=t+4;if(t=i+1|0,n=f[e+64>>2],(c>>>0)%3|0)r=c-1|0;else if(-1==(0|(r=c+2|0)))break i;if(-1!=(0|(r=f[f[n+12>>2]+(r<<2)>>2]))&&!(-1==(0|(r=r+((r>>>0)%3|0?-1:2)|0))|(0|r)==(0|c)))for(;;){if(n=((n=r+1|0)>>>0)%3|0?n:r-2|0,f[f[e>>2]+(n>>>3&536870908)>>2]>>>n&1){if((0|(i=f[e+56>>2]))==f[e+60>>2]){if((i=1+(s=(o=i-(n=f[e+52>>2])|0)>>2)|0)>>>0>=1073741824)break r;if(a=o>>1,a=s>>>0<536870911?i>>>0>a>>>0?i:a:1073741823){if(a>>>0>=1073741824)break e;i=br(a<<2)}else i=0;f[(s=i+(s<<2)|0)>>2]=t,(0|o)>0&&ge(i,n,o),f[e+60>>2]=i+(a<<2),f[e+56>>2]=s+4,f[e+52>>2]=i,n&&ee(n)}else f[i>>2]=t,f[e+56>>2]=i+4;if(n=t+1|0,(0|(i=f[e+44>>2]))==f[e+48>>2]){if((i=1+(u=(a=i-(o=f[e+40>>2])|0)>>2)|0)>>>0>=1073741824)break t;if(s=a>>1,s=u>>>0<536870911?i>>>0>s>>>0?i:s:1073741823){if(s>>>0>=1073741824)break e;i=br(s<<2)}else i=0;f[(u=i+(u<<2)|0)>>2]=r,(0|a)>0&&ge(i,o,a),f[e+48>>2]=i+(s<<2),f[e+44>>2]=u+4,f[e+40>>2]=i,o&&ee(o)}else f[i>>2]=r,f[e+44>>2]=i+4;i=t,t=n}if(f[f[e+28>>2]+(r<<2)>>2]=i,n=f[e+64>>2],(r>>>0)%3|0)r=r-1|0;else if(-1==(0|(r=r+2|0)))break i;if(-1==(0|(r=f[f[n+12>>2]+(r<<2)>>2])))break i;if(-1==(0|(r=r+((r>>>0)%3|0?-1:2)|0)))break i;if((0|r)==(0|c))break}}if(l=l+1|0,r=f[n+24>>2],!(l>>>0<f[n+28>>2]-r>>2>>>0))break}return}ii(),E()}ii(),E()}Lt(1326),E()}function ie(e,t){var r=0,i=0,n=0,o=0,a=0,s=0,c=0,u=0,l=0;if(-1==(0|t))return 1;if(r=(t>>>0)/3|0,!(f[f[e+24>>2]+(r>>>3&268435452)>>2]>>>r&1)){if(i=f[e+48>>2],f[e+52>>2]=i,(0|i)==f[e+56>>2]?(n=br(4),f[n>>2]=t,o=n+4|0,f[e+56>>2]=o,f[e+52>>2]=o,f[e+48>>2]=n,i&&ee(i)):(f[i>>2]=t,f[e+52>>2]=i+4),o=f[f[e+4>>2]+28>>2],-1==(0|(i=f[o+((n=((i=t+1|0)>>>0)%3|0?i:t-2|0)<<2)>>2])))return 0;if(a=(t-d(r,3)|0?-1:2)+t|0,-1==(0|(r=f[o+(a<<2)>>2])))return 0;if(t=f[e+36>>2],(s=f[(o=t+(i>>>3&536870908)|0)>>2])&(c=1<<i)||(f[o>>2]=s|c,xe(e+8|0,i,n),t=f[e+36>>2]),(i=f[(t=(r>>>3&536870908)+t|0)>>2])&(n=1<<r)||(f[t>>2]=i|n,xe(e+8|0,r,a)),(0|(r=f[e+52>>2]))==f[e+48>>2])return 1;for(l=e+8|0;;){i=((t=f[(r=r-4|0)>>2])>>>0)/3|0;e:{t:if(-1!=(0|t)&&(n=f[e+24>>2]+(i>>>3&268435452)|0,!((o=f[n>>2])&(i=1<<i)))){if(f[n>>2]=i|o,n=f[e+4>>2],-1==(0|(i=f[f[n+28>>2]+(t<<2)>>2])))return 0;for(;;){r=t;r:{if(o=f[e+36>>2]+(i>>>3&536870908)|0,!((a=f[o>>2])&(s=1<<i)))if(-1==(0|(t=f[f[n+40>>2]+(i<<2)>>2]))||-1==(0|(t=((c=t+1|0)>>>0)%3|0?c:t-2|0))|f[f[n>>2]+(t>>>3&536870908)>>2]>>>t&1||-1==(0|(t=f[f[f[n+64>>2]+12>>2]+(t<<2)>>2])))f[o>>2]=a|s,xe(l,i,r);else if(f[o>>2]=a|s,xe(l,i,r),-1!=(0|(((i=t+1|0)>>>0)%3|0?i:t-2|0))){t=-1,n=f[e+4>>2],-1!=(0|r)&&(-1==(0|(i=((i=r+1|0)>>>0)%3|0?i:r-2|0))|f[f[n>>2]+(i>>>3&536870908)>>2]>>>i&1||(t=f[f[f[n+64>>2]+12>>2]+(i<<2)>>2])),s=1<<(i=(t>>>0)/3|0),r=f[e+24>>2],o=f[r+((c=i>>>5|0)<<2)>>2];break r}i:{if(-1!=(0|r)){i=-1,t=((t=r+1|0)>>>0)%3|0?t:r-2|0,n=f[e+4>>2],-1==(0|t)|f[f[n>>2]+(t>>>3&536870908)>>2]>>>t&1||(i=f[f[f[n+64>>2]+12>>2]+(t<<2)>>2]);n:{if((r>>>0)%3|0)r=r-1|0;else if(t=-1,-1==(0|(r=r+2|0)))break n;t=-1,f[f[n>>2]+(r>>>3&536870908)>>2]>>>r&1||(t=f[f[f[n+64>>2]+12>>2]+(r<<2)>>2])}if(a=(u=-1==(0|t))?-1:(t>>>0)/3|0,o=(i>>>0)/3|0,!((s=-1==(0|i))||(r=f[e+24>>2],(o=f[r+((c=(s=s?-1:o)>>>5|0)<<2)>>2])&(s=1<<s))))break i;if(!(u||(s=1<<a,r=f[e+24>>2],s&(o=f[r+((c=a>>>5|0)<<2)>>2]))))break r}r=f[e+52>>2]-4|0,f[e+52>>2]=r;break e}if(u)t=i;else if(f[(a>>>3&536870908)+r>>2]>>>a&1)t=i;else{if(r=f[e+52>>2],f[r-4>>2]=t,(0|r)!=f[e+56>>2]){f[r>>2]=i,r=r+4|0;break t}i:{if((t=1+(r=(o=r-(n=f[e+48>>2])|0)>>2)|0)>>>0<1073741824){if(a=o>>1,a=r>>>0<536870911?t>>>0>a>>>0?t:a:1073741823){if(a>>>0>=1073741824)break i;t=br(a<<2)}else t=0;if(f[(r=t+(r<<2)|0)>>2]=i,r=r+4|0,(0|o)>0&&ge(t,n,o),f[e+56>>2]=t+(a<<2),f[e+52>>2]=r,f[e+48>>2]=t,!n)break e;ee(n),r=f[e+52>>2];break e}ii(),E()}Lt(1326),E()}}if(f[(c<<2)+r>>2]=o|s,-1==(0|(i=f[f[n+28>>2]+(t<<2)>>2])))break}return 0}f[e+52>>2]=r}if(f[e+48>>2]==(0|r))break}}return 1}function ne(e,t,r){var i,n=0,o=0,a=0,s=0,c=0,u=0,l=0,b=0,A=0,p=0,_=0,h=0,k=0;i=d(t,12)+e|0,f[i+12>>2]=f[i+8>>2],b=-1==(0|r)?-1:(r>>>0)/3|0,p=1,u=r;e:{t:{r:{for(;;){i:{if(_=1&o){if(-1==(0|u))break i;if(-1==(0|ze(e,((u>>>0)%3|0?-1:2)+u|0)))break e;if(-1==(0|(n=((r=u+1|0)>>>0)%3|0?r:u-2|0)))break e;if(-1==(0|(r=((r=n+1|0)>>>0)%3|0?r:n-2|0)))break e;if(-1==(0|(n=f[f[f[e+4>>2]+12>>2]+(r<<2)>>2])))break e;if(-1==(0|(r=((r=n+1|0)>>>0)%3|0?r:n-2|0)))break e;b=(r>>>0)/3|0}if(l=1<<b,s=f[e+56>>2]+(b>>>3&536870908)|0,!(l&(A=f[s>>2]))){for(o=0;;){if(f[s>>2]=A|l,(0|(n=f[i+12>>2]))==f[i+16>>2]){if((c=1+(a=(l=n-(s=f[i+8>>2])|0)>>2)|0)>>>0>=1073741824)break r;if(n=l>>1,A=a>>>0<536870911?n>>>0<c>>>0?c:n:1073741823){if(A>>>0>=1073741824)break t;n=br(A<<2)}else n=0;f[(c=n+(a<<2)|0)>>2]=b,(0|l)>0&&ge(n,s,l),f[i+8>>2]=n,f[i+12>>2]=c+4,f[i+16>>2]=n+(A<<2),s&&ee(s)}else f[n>>2]=b,f[i+12>>2]=n+4;c=o+1|0;n:{o:{if(o)if(1&c){if(-1==(0|r)){r=-1;break n}r=((n=r+1|0)>>>0)%3|0?n:r-2|0}else{if(u=_?r:u,-1==(0|r)){r=-1;break n}if((r>>>0)%3|0){o=r-1|0;break o}r=r+2|0}if(n=r,r=-1,o=n,-1==(0|n))break n}if(r=f[f[f[e+4>>2]+12>>2]+(o<<2)>>2],s=-1,A=-1,(0|(a=((n=o+1|0)>>>0)%3|0?n:o-2|0))>=0&&(n=(a>>>0)/3|0,A=f[(f[f[e>>2]+96>>2]+d(n,12)|0)+(a-d(n,3)<<2)>>2]),-1!=(0|r)?(l=0,(0|(a=((r>>>0)%3|0?-1:2)+r|0))<0||(n=(a>>>0)/3|0,s=f[(f[f[e>>2]+96>>2]+d(n,12)|0)+(a-d(n,3)<<2)>>2])):l=1,(0|s)==(0|A)){o:{a:{f:{s:{if((0|(o=((o>>>0)%3|0?-1:2)+o|0))>=0){if(n=(o>>>0)/3|0,s=f[(f[f[e>>2]+96>>2]+d(n,12)|0)+(o-d(n,3)<<2)>>2],o=-1,!l)break s;break f}if(s=-1,l)break a}(0|(o=((n=r+1|0)>>>0)%3|0?n:r-2|0))<0?o=-1:(n=(o>>>0)/3|0,o=f[(f[f[e>>2]+96>>2]+d(n,12)|0)+(o-d(n,3)<<2)>>2])}if((0|o)!=(0|s)){r=-1;break n}if(-1!=(0|r))break o;r=-1;break n}if(-1==(0|r)){r=-1;break n}}if(o=c,b=(r>>>0)/3|0,s=f[e+56>>2]+(b>>>3&268435452)|0,!((A=f[s>>2])&(l=1<<b)))continue}else r=-1}break}!_|!(1&c)||(a=f[i+12>>2]-4|0,c=f[a>>2],o=f[e+56>>2]+(c>>>3&536870908)|0,n=f[o>>2],h=o,k=xr(c)&n,f[h>>2]=k,f[i+12>>2]=a)}if(o=1,n=p,p=0,n)continue;break e}break}u=-1,ze(e,-1);break e}ii(),E()}Lt(1326),E()}if(f[44+((t<<2)+e|0)>>2]=u,a=f[i+8>>2],t=f[i+12>>2]-a|0){if(u=f[e+56>>2],c=1&(e=(t>>=2)>>>0>1?t:1),r=0,t>>>0>=2)for(p=-2&e,b=0;n=f[(o=r<<2)+a>>2],e=f[(t=u+(n>>>3&536870908)|0)>>2],h=t,k=xr(n)&e,f[h>>2]=k,n=f[a+(4|o)>>2],e=f[(t=u+(n>>>3&536870908)|0)>>2],h=t,k=xr(n)&e,f[h>>2]=k,r=r+2|0,(0|p)!=(0|(b=b+2|0)););c&&(r=f[a+(r<<2)>>2],e=f[(t=u+(r>>>3&536870908)|0)>>2],h=t,k=xr(r)&e,f[h>>2]=k)}}function oe(e,t){var r=0,i=0,n=0,o=0,a=0,s=0,c=0,u=0;if(-1==(0|t))return 1;if(i=(t>>>0)/3|0,!(f[f[e+24>>2]+(i>>>3&268435452)>>2]>>>i&1)){if(r=f[e+48>>2],f[e+52>>2]=r,(0|r)==f[e+56>>2]?(n=br(4),f[n>>2]=t,o=n+4|0,f[e+56>>2]=o,f[e+52>>2]=o,f[e+48>>2]=n,r&&ee(r)):(f[r>>2]=t,f[e+52>>2]=r+4),n=-1,o=f[e+4>>2],-1!=(0|(a=((r=t+1|0)>>>0)%3|0?r:t-2|0))&&(n=f[f[o>>2]+(a<<2)>>2]),s=t-d(i,3)|0)r=t-1|0;else if(-1==(0|(r=t+2|0)))return 0;if(-1==(0|n))return 0;if(-1==(0|(i=f[f[o>>2]+(r<<2)>>2])))return 0;if(r=f[e+36>>2],(c=f[(o=r+(n>>>3&536870908)|0)>>2])&(u=1<<n)||(f[o>>2]=c|u,xe(e+8|0,n,a),r=f[e+36>>2]),(n=f[(r=(i>>>3&536870908)+r|0)>>2])&(o=1<<i)||(f[r>>2]=n|o,xe(e+8|0,i,(s?-1:2)+t|0)),(0|(r=f[e+52>>2]))==f[e+48>>2])return 1;for(u=e+8|0;;){i=((t=f[(r=r-4|0)>>2])>>>0)/3|0;e:{t:if(-1!=(0|t)&&(n=f[e+24>>2]+(i>>>3&268435452)|0,!((o=f[n>>2])&(i=1<<i)))){for(f[n>>2]=i|o;;){if(i=f[e+4>>2],-1==(0|(r=f[f[i>>2]+(t<<2)>>2])))return 0;r:{if(n=f[e+36>>2]+(r>>>3&536870908)|0,!((o=f[n>>2])&(a=1<<r)))if(-1!=(0|(s=f[f[i+24>>2]+(r<<2)>>2]))&&-1!=(0|(s=((c=s+1|0)>>>0)%3|0?c:s-2|0))&&-1!=(0|(i=f[f[i+12>>2]+(s<<2)>>2]))){if(f[n>>2]=o|a,xe(u,r,t),-1!=(0|(((r=i+1|0)>>>0)%3|0?r:i-2|0))){i=t-2|0,r=t+1|0,t=-1,-1!=(0|(r=(r>>>0)%3|0?r:i))&&(t=f[f[f[e+4>>2]+12>>2]+(r<<2)>>2]),a=1<<(r=(t>>>0)/3|0),n=f[e+24>>2],i=f[n+((s=r>>>5|0)<<2)>>2];break r}}else f[n>>2]=o|a,xe(u,r,t);r=-1,o=f[e+4>>2],-1!=(0|(i=((i=t+1|0)>>>0)%3|0?i:t-2|0))&&(r=f[f[o+12>>2]+(i<<2)>>2]);i:{if((t>>>0)%3|0)n=t-1|0;else if(n=t+2|0,t=-1,-1==(0|n))break i;t=f[f[o+12>>2]+(n<<2)>>2]}if(o=(c=-1==(0|t))?-1:(t>>>0)/3|0,i=(r>>>0)/3|0,(a=-1==(0|r))||(n=f[e+24>>2],(i=f[n+((s=(a=a?-1:i)>>>5|0)<<2)>>2])&(a=1<<a))){if(!(c||(a=1<<o,n=f[e+24>>2],a&(i=f[n+((s=o>>>5|0)<<2)>>2]))))break r;r=f[e+52>>2]-4|0,f[e+52>>2]=r;break e}if(c)t=r;else if(f[(o>>>3&536870908)+n>>2]>>>o&1)t=r;else{if(i=f[e+52>>2],f[i-4>>2]=t,(0|i)!=f[e+56>>2]){f[i>>2]=r,r=i+4|0;break t}i:{if((t=1+(a=(n=(t=i)-(i=f[e+48>>2])|0)>>2)|0)>>>0<1073741824){if(o=n>>1,o=a>>>0<536870911?t>>>0>o>>>0?t:o:1073741823){if(o>>>0>=1073741824)break i;t=br(o<<2)}else t=0;if(f[(a=t+(a<<2)|0)>>2]=r,r=a+4|0,(0|n)>0&&ge(t,i,n),f[e+56>>2]=t+(o<<2),f[e+52>>2]=r,f[e+48>>2]=t,!i)break e;ee(i),r=f[e+52>>2];break e}ii(),E()}Lt(1326),E()}}if(f[(s<<2)+n>>2]=i|a,-1==(0|t))break}return 0}f[e+52>>2]=r}if(f[e+48>>2]==(0|r))break}}return 1}function ae(e,t,r){t|=0,r|=0;var i=0,n=0,a=0,s=0,c=0,l=0,b=0,A=0,p=0,_=0,h=0,k=0;e:if(!((0|(h=0|_i[f[f[(e|=0)>>2]+44>>2]](e)))<=0)&&(n=f[t+4>>2]-f[t>>2]>>2,I=s=I+-64|0,i=qt(s),a=d(f[2549],h),cr(i,f[f[e+8>>2]+56>>2],h<<24>>24,5,0,a,a>>31),i=$e(a=br(96),i),o[i+84|0]=1,f[i+72>>2]=f[i+68>>2],He(i,n),f[i+60>>2]=f[f[e+8>>2]+60>>2],i=f[e+16>>2],f[e+16>>2]=a,i&&Zt(i),I=s- -64|0,s=f[e+16>>2],f[s+80>>2]&&(l=f[f[s>>2]>>2])&&!((0|(c=f[r+12>>2]))<=(0|(i=f[r+20>>2]))&(b=f[r+8>>2])>>>0<=(a=f[r+16>>2])>>>0|(0|i)>(0|c)))){A=d(n,h),l=l+f[s+48>>2]|0,p=f[r>>2],_=u[p+a|0],n=(s=a+1|0)?i:i+1|0,f[r+16>>2]=s,f[r+20>>2]=n;t:{r:{i:{if(_){if(D(A,h,r,l))break i;break e}if((0|n)>=(0|c)&s>>>0>=b>>>0|(0|n)>(0|c))break e;s=u[s+p|0],i=(n=a+2|0)>>>0<2?i+1|0:i,f[r+16>>2]=n,f[r+20>>2]=i,i=f[f[e+16>>2]+64>>2],i=f[i+4>>2]-f[i>>2]|0;n:{if((0|s)==f[2549]){if((n=i)>>>0<(i=A<<2)>>>0)break e;if(c=f[r+8>>2],s=f[r+12>>2],n=f[r+20>>2],(0|(n=(a=i+(b=f[r+16>>2])|0)>>>0<i>>>0?n+1|0:n))<=(0|s)&a>>>0<=c>>>0|(0|n)<(0|s))break n;break e}if(i>>>0<d(s,A)>>>0)break e;if(c=f[r+12>>2],n=f[r+20>>2],(a=p=f[r+8>>2])-(b=f[r+16>>2])>>>0<Jt(i=s,0,A,0)>>>0&(0|(a=c-(n+(a>>>0<b>>>0)|0)|0))<=(0|(_=C))|(0|a)<(0|_))break e;if(a=1,!A)break r;if(a=0,(_=p)>>>0<(p=i+b|0)>>>0&(0|(n=p>>>0<i>>>0?n+1|0:n))>=(0|c)|(0|n)>(0|c))break t;for(;;){if(ge(l+(k<<2)|0,b+f[r>>2]|0,s),n=f[r+20>>2],n=(c=i+f[r+16>>2]|0)>>>0<i>>>0?n+1|0:n,b=c,f[r+16>>2]=c,f[r+20>>2]=n,(0|A)==(0|(k=k+1|0)))break i;if(_=f[r+8>>2],!((0|(n=(p=i+b|0)>>>0<i>>>0?n+1|0:n))<=(0|(c=f[r+12>>2]))&p>>>0<=_>>>0|(0|n)<(0|c)))break}break t}ge(l,b+f[r>>2]|0,i),n=i,s=i+f[r+16>>2]|0,i=f[r+20>>2],f[r+16>>2]=s,f[r+20>>2]=n>>>0>s>>>0?i+1|0:i}if(a=1,A&&!((i=f[e+20>>2])&&(a=0,0|_i[f[f[i>>2]+32>>2]](i)))){if(i=0,a=0,!((0|A)<=0)){if(1!=(0|A))for(c=-2&A;s=f[(n=i<<2)+l>>2],f[n+l>>2]=0-(1&s)^s>>>1,n=f[(s=4|n)+l>>2],f[s+l>>2]=0-(1&n)^n>>>1,i=i+2|0,(0|c)!=(0|(a=a+2|0)););1&A&&(i=f[(n=i<<2)+l>>2],f[n+l>>2]=0-(1&i)^i>>>1)}a=0}}if(i=f[e+20>>2]){if(!(0|_i[f[f[i>>2]+40>>2]](i,r)))break e;if(!(a||(a=0,e=f[e+20>>2],0|_i[f[f[e>>2]+44>>2]](e,l,l,A,h,f[t>>2]))))break t}a=1}return 0|a}return 0}function fe(e,t){e|=0;var r,i=0,n=0,a=0,s=0,c=0,l=0,b=0,A=0,p=0;I=r=I-32|0;e:{t:if(vt(1,r+28|0,t|=0))r:{if(n=f[r+28>>2]){if(Re(e+60|0,n),f[(i=r+8|0)>>2]=0,f[i+4>>2]=0,o[i+5|0]=0,o[i+6|0]=0,o[i+7|0]=0,o[i+8|0]=0,o[i+9|0]=0,o[i+10|0]=0,o[i+11|0]=0,o[i+12|0]=0,!Ie(i,t))break r;for(;s=1<<a,l=Wt(i),c=f[e+60>>2]+(a>>>3&536870908)|0,l?s|=f[c>>2]:s=f[c>>2]&(-1^s),f[c>>2]=s,(0|n)!=(0|(a=a+1|0)););}if(!vt(1,r+28|0,t))break t;if(n=f[r+28>>2]){if(a=0,Re(e+72|0,n),f[(i=r+8|0)>>2]=0,f[i+4>>2]=0,o[i+5|0]=0,o[i+6|0]=0,o[i+7|0]=0,o[i+8|0]=0,o[i+9|0]=0,o[i+10|0]=0,o[i+11|0]=0,o[i+12|0]=0,!Ie(i,t))break r;for(;s=1<<a,l=Wt(i),c=f[e+72>>2]+(a>>>3&536870908)|0,l?s|=f[c>>2]:s=f[c>>2]&(-1^s),f[c>>2]=s,(0|n)!=(0|(a=a+1|0)););}if(!vt(1,r+28|0,t))break t;if(n=f[r+28>>2]){if(a=0,Re(e+84|0,n),f[(i=r+8|0)>>2]=0,f[i+4>>2]=0,o[i+5|0]=0,o[i+6|0]=0,o[i+7|0]=0,o[i+8|0]=0,o[i+9|0]=0,o[i+10|0]=0,o[i+11|0]=0,o[i+12|0]=0,!Ie(i,t))break r;for(;s=1<<a,l=Wt(i),c=f[e+84>>2]+(a>>>3&536870908)|0,l?s|=f[c>>2]:s=f[c>>2]&(-1^s),f[c>>2]=s,(0|n)!=(0|(a=a+1|0)););}if(!vt(1,r+28|0,t))break t;if(n=f[r+28>>2]){if(a=0,Re(e+96|0,n),f[(i=r+8|0)>>2]=0,f[i+4>>2]=0,o[i+5|0]=0,o[i+6|0]=0,o[i+7|0]=0,o[i+8|0]=0,o[i+9|0]=0,o[i+10|0]=0,o[i+11|0]=0,o[i+12|0]=0,!Ie(i,t))break r;for(;s=1<<a,l=Wt(i),c=f[e+96>>2]+(a>>>3&536870908)|0,l?s|=f[c>>2]:s=f[c>>2]&(-1^s),f[c>>2]=s,(0|n)!=(0|(a=a+1|0)););}if(a=0,s=n=f[t+12>>2],c=i=f[t+20>>2],i=(b=(l=f[t+16>>2])+4|0)>>>0<4?i+1|0:i,(A=f[t+8>>2])>>>0<b>>>0&(0|i)>=(0|n)|(0|i)>(0|n))break e;if(p=f[t>>2],n=u[0|(n=p+l|0)]|u[n+1|0]<<8|u[n+2|0]<<16|u[n+3|0]<<24,f[t+16>>2]=b,f[t+20>>2]=i,i=c,l=c=l+8|0,c=i=c>>>0<8?i+1|0:i,l>>>0>A>>>0&(0|i)>=(0|s)|(0|i)>(0|s))break e;if(i=u[0|(i=b+p|0)]|u[i+1|0]<<8|u[i+2|0]<<16|u[i+3|0]<<24,f[t+16>>2]=l,f[t+20>>2]=c,(0|i)<(0|n))break e;if(f[e+16>>2]=i,f[e+12>>2]=n,!(t=(i>>31)-((n>>31)+(i>>>0<n>>>0)|0)|0)&(i=i-n|0)>>>0>2147483646|t)break e;if(a=1,t=i+1|0,f[e+20>>2]=t,i=t>>>1|0,f[e+24>>2]=i,f[e+28>>2]=0-i,1&t)break e;f[e+24>>2]=i-1;break e}a=0}return I=r+32|0,0|a}function se(e,t){var r=0,i=0,n=0,o=0,a=0,s=0,c=0,b=0,A=0,p=0,d=0,_=0,h=0;e:if(l[t+38>>1]&&Et(1,e+12|0,t)){if(o=f[e+12>>2],r=f[e>>2],o>>>0>(i=f[e+4>>2]-r>>2)>>>0?(st(e,o-i|0),o=f[e+12>>2]):i>>>0<=o>>>0||(f[e+4>>2]=r+(o<<2)),!o)return 1;for(b=f[t+8>>2],c=f[t+12>>2],p=f[e>>2];;){if((0|c)<=(0|(i=f[t+20>>2]))&b>>>0<=(r=f[t+16>>2])>>>0|(0|i)>(0|c))return 0;d=f[t>>2],A=u[d+r|0],i=(r=r+1|0)?i:i+1|0,s=r,f[t+16>>2]=r,f[t+20>>2]=i,r=A>>>2|0,n=0;t:{r:{i:{n:switch(0|(_=3&A)){case 3:break n;case 0:break r;default:break i}if((i=r+a|0)>>>0>=o>>>0)return 0;Ye(p+(a<<2)|0,0,4+(252&A)|0),a=i;break t}for(;;){if((0|i)>=(0|c)&s>>>0>=b>>>0|(0|i)>(0|c))break e;if(o=u[s+d|0],i=(s=s+1|0)?i:i+1|0,f[t+16>>2]=s,f[t+20>>2]=i,r|=o<<(n<<3|6),(0|_)==(0|(n=n+1|0)))break}}f[p+(a<<2)>>2]=r}if(!((o=f[e+12>>2])>>>0>(a=a+1|0)>>>0))break}if(i=e+16|0,A=f[e>>2],t=f[e+16>>2],(a=(r=f[e+20>>2]-t|0)>>2)>>>0<=4095?st(i,4096-a|0):16384!=(0|r)&&(f[e+20>>2]=t+16384),a=f[(t=e+28|0)>>2],(r=f[e+32>>2]-a>>3)>>>0<o>>>0)ct(t,o-r|0),a=f[t>>2];else if(r>>>0>o>>>0&&(f[e+32>>2]=(o<<3)+a),!o)break e;for(n=0,e=0;;){if(c=f[(t=A+(n<<2)|0)>>2],r=e,f[4+(s=(n<<3)+a|0)>>2]=e,f[s>>2]=c,(e=(c=f[t>>2])+e|0)>>>0>4096)break e;if(!(e>>>0<=r>>>0)){if(s=f[i>>2],t=0,b=7&c)for(;f[s+(r<<2)>>2]=n,r=r+1|0,(0|b)!=(0|(t=t+1|0)););if(!(c-1>>>0<=6))for(;f[(t=s+(r<<2)|0)>>2]=n,f[t+28>>2]=n,f[t+24>>2]=n,f[t+20>>2]=n,f[t+16>>2]=n,f[t+12>>2]=n,f[t+8>>2]=n,f[t+4>>2]=n,(0|(r=r+8|0))!=(0|e););}if((0|o)==(0|(n=n+1|0)))break}h=4096==(0|e)}return h}function ce(e,t,r){e|=0,t|=0,r|=0;var i,n=0,o=0,a=0,s=0,c=0,u=0,l=0,b=0;I=i=I-16|0,f[i+8>>2]=r;e:if(!((0|(a=(o=f[e+12>>2])-(n=f[e+8>>2])>>2))>(0|t)))if((c=t+1|0)>>>0>a>>>0){if((a=c-a|0)>>>0<=(s=f[e+16>>2])-(n=f[e+12>>2])>>2>>>0){a&&(n=Ye(o=n,0,n=a<<2)+n|0),f[e+12>>2]=n;break e}t:{r:{i:{if((o=(l=n-(c=f[e+8>>2])>>2)+a|0)>>>0<1073741824){if(b=(s=s-c|0)>>1,s=s>>2>>>0<536870911?o>>>0>b>>>0?o:b:1073741823){if(s>>>0>=1073741824)break i;u=br(s<<2)}if(l=(a=Ye(o=(l<<2)+u|0,0,l=a<<2))+l|0,s=(s<<2)+u|0,(0|n)==(0|c))break r;for(;a=f[(n=n-4|0)>>2],f[n>>2]=0,f[(o=o-4|0)>>2]=a,(0|n)!=(0|c););if(f[e+16>>2]=s,a=f[e+12>>2],f[e+12>>2]=l,n=f[e+8>>2],f[e+8>>2]=o,(0|n)==(0|a))break t;for(;o=f[(a=a-4|0)>>2],f[a>>2]=0,o&&Zt(o),(0|n)!=(0|a););break t}ii(),E()}Lt(1326),E()}f[e+16>>2]=s,f[e+12>>2]=l,f[e+8>>2]=a}n&&ee(n)}else if(!(a>>>0<=c>>>0)){if((0|(n=n+(c<<2)|0))!=(0|o)){for(;r=f[(o=o-4|0)>>2],f[o>>2]=0,r&&Zt(r),(0|n)!=(0|o););r=f[i+8>>2]}f[e+12>>2]=n}e:{t:{if(!((0|(n=f[r+56>>2]))>4))if(o=d(n,12)+e|0,(0|(n=f[o+24>>2]))==f[o+28>>2]){if((n=1+(u=(c=n-(a=f[o+20>>2])|0)>>2)|0)>>>0>=1073741824)break t;if(s=c>>1,s=u>>>0<536870911?n>>>0>s>>>0?n:s:1073741823){if(s>>>0>=1073741824)break e;n=br(s<<2)}else n=0;f[(u=n+(u<<2)|0)>>2]=t,(0|c)>0&&ge(n,a,c),f[o+20>>2]=n,f[o+24>>2]=u+4,f[o+28>>2]=n+(s<<2),a&&ee(a)}else f[n>>2]=t,f[o+24>>2]=n+4;return f[r+60>>2]=t,e=f[e+8>>2],f[i+8>>2]=0,e=f[(t=e+(t<<2)|0)>>2],f[t>>2]=r,e&&Zt(e),e=f[i+8>>2],f[i+8>>2]=0,e&&Zt(e),void(I=i+16|0)}ii(),E()}Lt(1326),E()}function ue(e,t){e|=0;var r,i=0,n=0,o=0,a=0,s=0,c=0,l=0,b=0,A=0,p=0,_=0,h=0,k=0,m=0,y=0;if(I=r=I-80|0,wt(1,r+76|0,t|=0)&&(s=f[r+76>>2])&&!((n=Jt((n=f[t+8>>2])-(i=f[t+16>>2])|0,f[t+12>>2]-(f[t+20>>2]+(i>>>0>n>>>0)|0)|0,5,0))>>>0<s>>>0&(0|(i=C))<=0|(0|i)<0)){for(i=f[e+4>>2],(n=f[e+8>>2]-i>>2)>>>0<s>>>0?st(e+4|0,s-n|0):n>>>0<=s>>>0||(f[e+8>>2]=i+(s<<2)),y=e+16|0,l=f[e+32>>2],b=1;!((0|(i=o=f[t+12>>2]))<=(0|(n=f[t+20>>2]))&(k=f[t+8>>2])>>>0<=(p=f[t+16>>2])>>>0|(0|i)<(0|n)||(m=f[t>>2],h=u[m+p|0],i=n,i=(a=p+1|0)?i:i+1|0,f[t+16>>2]=a,f[t+20>>2]=i,(0|i)>=(0|o)&a>>>0>=k>>>0|(0|i)>(0|o)||(a=u[a+m|0],i=n,i=(c=p+2|0)>>>0<2?i+1|0:i,f[t+16>>2]=c,f[t+20>>2]=i,(0|i)>=(0|o)&c>>>0>=k>>>0|(0|i)>(0|o)||(c=u[c+m|0],i=n,i=(_=p+3|0)>>>0<3?i+1|0:i,f[t+16>>2]=_,f[t+20>>2]=i,(0|i)>=(0|o)&_>>>0>=k>>>0|(0|i)>(0|o)||(o=u[_+m|0],i=n,i=(n=p+4|0)>>>0<4?i+1|0:i,f[t+16>>2]=n,f[t+20>>2]=i,!c|(a-12&255)>>>0<245|h>>>0>4||(i=qt(r+8|0),_=c<<24>>24,o=0!=(0|o),n=(n=a-1|0)>>>0<=10?f[10180+(n<<2)>>2]:-1,cr(i,h,_,a,o,n=d(n,c),n>>31),!wt(1,r+4|0,t)||(a=f[r+4>>2],f[r+68>>2]=a,n=$e(br(96),i),_i[f[f[l>>2]+8>>2]](l,f[l+12>>2]-f[l+8>>2]>>2,n),n=(f[l+12>>2]-f[l+8>>2]>>2)-1|0,f[f[(h=n<<2)+f[l+8>>2]>>2]+60>>2]=a,f[f[e+4>>2]+(A<<2)>>2]=n,b=f[e+16>>2],(0|(i=f[e+20>>2]-b>>2))>(0|n)||(f[r>>2]=-1,(n=n+1|0)>>>0>i>>>0?(ve(y,n-i|0,r),b=f[y>>2]):i>>>0<=n>>>0||(f[e+20>>2]=(n<<2)+b)),f[b+h>>2]=A,b=(A=A+1|0)>>>0<s>>>0,(0|s)==(0|A)))))))););A=!b}return I=r+80|0,1&A}function le(e,t){var r,i,n=0,o=0,a=0,s=0,c=0,u=0,l=0,b=0,A=0;I=r=I-16|0,f[r>>2]=t,c=-1,-1!=(0|t)?(n=t+1|0,f[r+4>>2]=(n>>>0)%3|0?n:t-2|0,c=(t>>>0)%3|0?t-1|0:t+2|0):f[r+4>>2]=-1,f[r+8>>2]=c,i=-1==(0|t)?-1:(t>>>0)/3|0;e:{t:{r:{i:{for(;;){n:if(-1!=(0|t)&&-1!=(0|(n=f[f[f[e+8>>2]+12>>2]+(t<<2)>>2]))){if(!((n>>>0)/3>>>0<i>>>0)&&(c=0,f[e+220>>2]!=f[e+216>>2]))for(;;){if(Wt(f[e+368>>2]+(c<<4)|0))if(s=f[e+216>>2]+d(c,144)|0,(n=f[s+136>>2])>>>0<(o=f[s+140>>2])>>>0)f[n>>2]=t,f[s+136>>2]=n+4;else{if((n=1+(a=(l=n-(u=f[s+132>>2])|0)>>2)|0)>>>0>=1073741824)break t;if(b=a<<2,a=(o=o-u|0)>>1,o=o>>2>>>0<536870911?n>>>0>a>>>0?n:a:1073741823){if(o>>>0>=1073741824)break e;n=br(o<<2)}else n=0;f[(a=b+n|0)>>2]=t,(0|l)>0&&ge(n,u,l),f[s+132>>2]=n,f[s+136>>2]=a+4,f[s+140>>2]=n+(o<<2),u&&ee(u)}if(!((c=c+1|0)>>>0<(f[e+220>>2]-f[e+216>>2]|0)/144>>>0))break}}else{if(c=0,(0|(n=f[e+216>>2]))==f[e+220>>2])break n;for(;;){if(s=d(c,144)+n|0,(n=f[s+136>>2])>>>0<(o=f[s+140>>2])>>>0)f[n>>2]=t,f[s+136>>2]=n+4;else{if((n=1+(a=(l=n-(u=f[s+132>>2])|0)>>2)|0)>>>0>=1073741824)break i;if(b=a<<2,a=(o=o-u|0)>>1,o=o>>2>>>0<536870911?n>>>0>a>>>0?n:a:1073741823){if(o>>>0>=1073741824)break r;n=br(o<<2)}else n=0;f[(a=b+n|0)>>2]=t,(0|l)>0&&ge(n,u,l),f[s+132>>2]=n,f[s+136>>2]=a+4,f[s+140>>2]=n+(o<<2),u&&ee(u)}if(c=c+1|0,n=f[e+216>>2],!(c>>>0<(f[e+220>>2]-n|0)/144>>>0))break}}if(3==(0|(A=A+1|0)))break;t=f[(A<<2)+r>>2]}return I=r+16|0,1}ii(),E()}Lt(1326),E()}ii(),E()}Lt(1326),E()}function be(e,t){var r,i=0,n=0,a=0,s=0,c=0,A=0,p=0,_=0,h=0,k=0;I=r=I-16|0,_=-1;e:{t:{r:if(Tt(1,r+12|0,t)){if(n=f[r+12>>2]){if(i=f[e+8>>2],n>>>0>(f[i+4>>2]-f[i>>2]>>2>>>0)/3>>>0)break r;for(;;){if(!Tt(1,r+8|0,t))break r;if(i=f[r+8>>2],!Tt(1,r+8|0,t))break r;if((s=i+s|0)>>>0<(i=f[r+8>>2])>>>0)break r;if(c=s-i|0,(0|(i=f[e+40>>2]))==f[e+44>>2]){if((a=1+(A=(0|(p=(a=i)-(i=f[e+36>>2])|0))/12|0)|0)>>>0>=357913942)break t;if(h=A<<1,(a=A>>>0<178956970?a>>>0>h>>>0?a:h:357913941)>>>0>=357913942)break e;A=(h=br(a=d(a,12)))+d(A,12)|0,f[A+4>>2]=s,f[A>>2]=c,c=A+d((0|p)/-12|0,12)|0,(0|p)>0&&ge(c,i,p),f[e+44>>2]=a+h,f[e+40>>2]=A+12,f[e+36>>2]=c,i&&ee(i)}else f[i+4>>2]=s,f[i>>2]=c,f[e+40>>2]=i+12;if((0|n)==(0|(k=k+1|0)))break}for(s=0,Kt(t,0,0),A=n>>>0>1?n:1;;){n=u[t+36|0];i:{n:{if((65535&((i=l[f[e+4>>2]+36>>1])<<8|i>>>8))>>>0<=513){if(!n)break i;if(c=0,(n=(p=(i=f[t+32>>2])>>>3|0)+(_=f[t+24>>2])|0)>>>0>=(a=f[t+28>>2])>>>0?n=i:(c=u[0|n],n=i+1|0,f[t+32>>2]=n,p=n>>>3|0,c=c>>>(7&i)&1),a>>>0>p+_>>>0)break n;break i}if(!n)break i;if(c=0,n=f[t+32>>2],(i=f[t+24>>2]+(n>>>3|0)|0)>>>0>=b[t+28>>2])break i;c=u[0|i]>>>(7&n)&1}f[t+32>>2]=n+1}if(n=f[e+36>>2]+d(s,12)|0,o[n+8|0]=254&u[n+8|0]|1&c,(0|A)==(0|(s=s+1|0)))break}o[t+36|0]=0,i=f[t+20>>2],e=0,n=(s=(e=(n=f[t+32>>2]+7|0)>>>0<7?1:e)<<29|n>>>3)+f[t+16>>2]|0,e=(e>>>3|0)+i|0,f[t+16>>2]=n,f[t+20>>2]=n>>>0<s>>>0?e+1|0:e}_=f[t+16>>2]}return I=r+16|0,_}ii(),E()}Lt(1326),E()}function Ae(e,t,r){var i=0,n=0,o=0,a=0,s=0,c=0,u=0,l=0,b=0;if(((n=f[e+8>>2])-(a=f[e+4>>2])|0)/12>>>0>=t>>>0){if(t){if(i=a,o=1+(((n=d(t,12)-12|0)>>>0)/12|0)&3)for(;u=f[r+4>>2],f[i>>2]=f[r>>2],f[i+4>>2]=u,f[i+8>>2]=f[r+8>>2],i=i+12|0,(0|o)!=(0|(s=s+1|0)););if(a=d(t,12)+a|0,!(n>>>0<36))for(;t=f[r+4>>2],f[i>>2]=f[r>>2],f[i+4>>2]=t,f[i+8>>2]=f[r+8>>2],f[i+20>>2]=f[r+8>>2],t=f[r+4>>2],f[i+12>>2]=f[r>>2],f[i+16>>2]=t,f[i+32>>2]=f[r+8>>2],t=f[r+4>>2],f[i+24>>2]=f[r>>2],f[i+28>>2]=t,t=f[r+4>>2],f[i+36>>2]=f[r>>2],f[i+40>>2]=t,f[i+44>>2]=f[r+8>>2],(0|a)!=(0|(i=i+48|0)););}f[e+4>>2]=a}else{e:{if((i=(c=(a-(o=f[e>>2])|0)/12|0)+t|0)>>>0<357913942){if(o=(n=(n-o|0)/12|0)<<1,o=n>>>0<178956970?i>>>0>o>>>0?i:o:357913941){if(o>>>0>=357913942)break e;u=br(d(o,12))}if(i=n=d(c,12)+u|0,l=1+(((c=(t=d(t,12))-12|0)>>>0)/12|0)&3)for(i=n;b=f[r+4>>2],f[i>>2]=f[r>>2],f[i+4>>2]=b,f[i+8>>2]=f[r+8>>2],i=i+12|0,(0|l)!=(0|(s=s+1|0)););if(s=t+n|0,c>>>0>=36)for(;t=f[r+4>>2],f[i>>2]=f[r>>2],f[i+4>>2]=t,f[i+8>>2]=f[r+8>>2],f[i+20>>2]=f[r+8>>2],t=f[r+4>>2],f[i+12>>2]=f[r>>2],f[i+16>>2]=t,f[i+32>>2]=f[r+8>>2],t=f[r+4>>2],f[i+24>>2]=f[r>>2],f[i+28>>2]=t,t=f[r+4>>2],f[i+36>>2]=f[r>>2],f[i+40>>2]=t,f[i+44>>2]=f[r+8>>2],(0|s)!=(0|(i=i+48|0)););return t=f[e>>2],i=n+d((0|(r=a-t|0))/-12|0,12)|0,(0|r)>0&&ge(i,t,r),f[e+8>>2]=d(o,12)+u,f[e+4>>2]=s,f[e>>2]=i,void(t&&ee(t))}ii(),E()}Lt(1326),E()}}function pe(e,t,r,i){var n,o,a=0,s=0,c=0,u=0,l=0,b=0;if(n=f[t+16>>2],a=c=f[r+4>>2]-n|0,s=f[r>>2]-n|0,f[r>>2]=s,f[r+4>>2]=a,o=(0|(b=f[t+16>>2]))>=((u=(a>>=31)+c^a)+((a=s>>31)+s^a)|0))a=c;else{e:{t:{if((0|s)>=0){if(l=1,u=1,(0|c)>=0)break e;if(a=1,l=-1,u=-1,s)break t;break e}if(a=-1,l=-1,u=-1,(0|c)<=0)break e}l=(0|c)<=0?-1:1,u=a}a=(a=s<<1)-(s=d(u,b))|0,a=(((u=(0|d(l,u))>=0)?0-a|0:a)+(l=d(l,b))|0)/2|0,f[r+4>>2]=a,b=s,s=(c<<1)-l|0,s=(b+(u?0-s|0:s)|0)/2|0,f[r>>2]=s}e:{t:{r:{i:{n:{o:{a:{if(s){if((0|s)<0)break a;if((0|a)>=0)break o;break r}if(a)break n;l=1,c=0,a=0,u=0;break e}if(l=1,(0|a)>0)break i;u=(0|a)>0?253:0,c=a,a=s;break e}c=0-a|0,a=0-s|0,u=254;break t}if((0|a)<=0)break r}a=0-a|0,c=s,u=253;break t}c=0-s|0,u=255}f[r>>2]=a,f[r+4>>2]=c,l=0}r=f[i+4>>2]+c|0,(0|(s=f[i>>2]+a|0))>(0|(c=f[t+16>>2]))?s=s-f[t+4>>2]|0:(0-c|0)<=(0|s)||(s=f[t+4>>2]+s|0),(0|r)>(0|c)?r=r-f[t+4>>2]|0:(0-c|0)<=(0|r)||(r=f[t+4>>2]+r|0);e:if(l)t=r;else{t=r;t:switch((3&u)-1|0){case 0:t=0-s|0,s=r;break e;case 1:t=0-r|0,s=0-s|0;break e;case 2:break t;default:break e}t=s,s=0-r|0}if(o)r=t;else{e:{t:{if((0|s)>=0){if(r=1,a=1,(0|t)>=0)break e;if(i=1,r=-1,a=-1,s)break t;break e}if(i=-1,r=-1,a=-1,(0|t)<=0)break e}r=(0|t)<=0?-1:1,a=i}i=(i=s<<1)-(s=d(a,c))|0,f[e>>2]=i,b=0-i|0,u=i,r=(((i=(0|d(r,a))>=0)?b:u)+(a=d(r,c))|0)/2|0,t=(t<<1)-a|0,s=(s+(i?0-t|0:t)|0)/2|0}f[e>>2]=s+n,f[e+4>>2]=r+n}function de(e,t,r,i){var n=0,a=0,s=0,c=0,l=0,b=0;if(!((0|(c=i-r|0))<=0)){e:{if((0|c)<=((a=f[e+8>>2])-(l=f[e+4>>2])|0)){if((0|(b=l-t|0))>=(0|c)){s=l,a=i;break e}if(s=l,(0|(a=r+b|0))!=(0|i))for(n=a;o[0|s]=u[0|n],s=s+1|0,(0|(n=n+1|0))!=(0|i););if(f[e+4>>2]=s,(0|b)>0)break e;return}if((0|(i=c+(l-(n=f[e>>2])|0)|0))>=0){if(b=(a=a-n|0)<<1,r=ge((s=t-n|0)+(i=(a=a>>>0<1073741823?i>>>0>b>>>0?i:b:2147483647)?br(a):0)|0,r,c),(0|s)>0&&ge(i,n,s),r=r+c|0,(0|t)!=(0|l)){if(s=(-1^t)+l|0,c=l-t&7)for(n=0;o[0|r]=u[0|t],r=r+1|0,t=t+1|0,(0|c)!=(0|(n=n+1|0)););if(s>>>0>=7)for(;o[0|r]=u[0|t],o[r+1|0]=u[t+1|0],o[r+2|0]=u[t+2|0],o[r+3|0]=u[t+3|0],o[r+4|0]=u[t+4|0],o[r+5|0]=u[t+5|0],o[r+6|0]=u[t+6|0],o[r+7|0]=u[t+7|0],r=r+8|0,(0|l)!=(0|(t=t+8|0)););n=f[e>>2]}return f[e+8>>2]=i+a,f[e+4>>2]=r,f[e>>2]=i,void(n&&ee(n))}ii(),E()}if(l>>>0>(i=(n=s)-c|0)>>>0)for(;o[0|n]=u[0|i],n=n+1|0,l>>>0>(i=i+1|0)>>>0;);if(f[e+4>>2]=n,(e=s-(t+c|0)|0)&&je(s-e|0,t,e),(0|r)!=(0|a)){if(e=(-1^r)+a|0,s=a-r&7)for(i=0,n=t;o[0|n]=u[0|r],n=n+1|0,r=r+1|0,(0|s)!=(0|(i=i+1|0)););else n=t;if(!(e>>>0<7))for(;o[0|n]=u[0|r],o[n+1|0]=u[r+1|0],o[n+2|0]=u[r+2|0],o[n+3|0]=u[r+3|0],o[n+4|0]=u[r+4|0],o[n+5|0]=u[r+5|0],o[n+6|0]=u[r+6|0],o[n+7|0]=u[r+7|0],n=n+8|0,(0|a)!=(0|(r=r+8|0)););}}}function _e(e,t,r,i){e|=0,r|=0,i|=0;var n,a=0,s=0,c=0,l=0,b=0,A=0,p=0,_=0,h=0,k=0,m=0,y=0;I=n=I-16|0,l=f[80+(t|=0)>>2],e=o[r+24|0],a=d(l,e);e:{t:{if(!(5==(0|(t=f[r+28>>2]))|6==(0|t))|!u[r+84|0]){if(f[n+8>>2]=0,f[n>>2]=0,f[n+4>>2]=0,e){if((0|e)<0)break t;c=br(t=e<<2),f[n>>2]=c,s=t+c|0,f[n+8>>2]=s,Ye(c,0,t),f[n+4>>2]=s}s=f[i>>2],(t=f[i+4>>2]-s>>2)>>>0<a>>>0?st(i,a-t|0):t>>>0<=a>>>0||(f[i+4>>2]=s+(a<<2));r:if(l)if(e){for(m=-4&e,h=3&e,y=e-1>>>0<3,t=1,a=0;;){if(L(r,u[r+84|0]?a:f[f[r+68>>2]+(a<<2)>>2],o[r+24|0],c)){if(k=f[i>>2],_=0,s=f[n>>2],e=0,t=0,!y)for(;p=e<<2,f[(A=(b<<2)+k|0)>>2]=f[s+p>>2],f[A+4>>2]=f[s+(4|p)>>2],f[A+8>>2]=f[s+(8|p)>>2],f[A+12>>2]=f[s+(12|p)>>2],e=e+4|0,b=b+4|0,(0|m)!=(0|(t=t+4|0)););if(h)for(;f[(b<<2)+k>>2]=f[s+(e<<2)>>2],e=e+1|0,b=b+1|0,(0|(_=_+1|0))!=(0|h););if(t=l>>>0>(a=a+1|0)>>>0,(0|a)!=(0|l))continue}break}c=f[n>>2]}else for(e=0,t=1;;){if(!L(r,u[r+84|0]?e:f[f[r+68>>2]+(e<<2)>>2],o[r+24|0],c))break r;if(t=l>>>0>(e=e+1|0)>>>0,(0|e)==(0|l))break}else t=0;c&&ee(c),e=1^t}else{if(c=f[r+48>>2],l=f[f[r>>2]>>2],t=0,f[n+8>>2]=0,f[n>>2]=0,f[n+4>>2]=0,r=0,e=a<<2){if((0|e)<0)break t;b=(t=ge(r=br(e),c+l|0,e))+e|0,t=t+(e>>2<<2)|0}(e=f[i>>2])&&(f[i+4>>2]=e,ee(e)),f[i+8>>2]=t,f[i+4>>2]=b,f[i>>2]=r,e=1}I=n+16|0,e&=1;break e}ii(),E()}return 0|e}function he(e){var t,r=0,i=0,n=0,o=0;if(f[(e|=0)>>2]=8364,(r=f[196+(t=e+232|0)>>2])&&(f[t+200>>2]=r,ee(r)),i=f[t+184>>2]){if((0|i)==(0|(r=f[t+188>>2])))r=i;else{for(;(o=f[(n=r-12|0)>>2])&&(f[r-8>>2]=o,ee(o)),(0|i)!=(0|(r=n)););r=f[t+184>>2]}f[t+188>>2]=i,ee(r)}if((r=f[t+156>>2])&&(f[t+160>>2]=r,ee(r)),i=f[t+136>>2],f[t+136>>2]=0,i){if(r=f[(n=i-4|0)>>2])for(r=i+(r<<4)|0;(0|i)!=(0|(r=r-16|0)););ee(n)}if(i=f[e+216>>2]){if((0|i)==(0|(r=f[e+220>>2])))r=i;else{for(;(n=f[r-12>>2])&&(f[r-8>>2]=n,ee(n)),(n=f[r-28>>2])&&(f[r-24>>2]=n,ee(n)),(n=f[r-40>>2])&&(f[r-36>>2]=n,ee(n)),Gt(r-140|0),(0|i)!=(0|(r=r-144|0)););r=f[e+216>>2]}f[e+220>>2]=i,ee(r)}if((r=f[e+196>>2])&&(f[e+200>>2]=r,ee(r)),(r=f[e+184>>2])&&(f[e+188>>2]=r,ee(r)),(r=f[e+172>>2])&&(f[e+176>>2]=r,ee(r)),(r=f[e+160>>2])&&(f[e+164>>2]=r,ee(r)),r=f[e+144>>2])for(;i=f[r>>2],ee(r),r=i;);return r=f[e+136>>2],f[e+136>>2]=0,r&&ee(r),(r=f[e+120>>2])&&ee(r),(r=f[e+108>>2])&&ee(r),(r=f[e+96>>2])&&ee(r),(r=f[e+72>>2])&&(f[e+76>>2]=r,ee(r)),(r=f[e+60>>2])&&ee(r),(r=f[e+48>>2])&&(f[e+52>>2]=r,ee(r)),(r=f[e+36>>2])&&(f[e+40>>2]=r,ee(r)),(r=f[e+24>>2])&&(f[e+28>>2]=r,ee(r)),(r=f[e+12>>2])&&(f[e+16>>2]=r,ee(r)),r=f[e+8>>2],f[e+8>>2]=0,r&&Mt(r),0|e}function ke(e,t){e|=0;var r,i=0,n=0,a=0,s=0,c=0,l=0,A=0,p=0,d=0;if(I=r=I-16|0,i=f[20+(t|=0)>>2],i=(c=(n=f[t+16>>2])+4|0)>>>0<4?i+1|0:i,!((0|(a=f[t+12>>2]))<=(0|i)&c>>>0>b[t+8>>2]|(0|i)>(0|a))&&(n=n+f[t>>2]|0,n=u[0|n]|u[n+1|0]<<8|u[n+2|0]<<16|u[n+3|0]<<24,f[t+16>>2]=c,f[t+20>>2]=i,!((0|n)<0)&&(Re(e+76|0,n),f[(i=r)>>2]=0,f[i+4>>2]=0,o[i+5|0]=0,o[i+6|0]=0,o[i+7|0]=0,o[i+8|0]=0,o[i+9|0]=0,o[i+10|0]=0,o[i+11|0]=0,o[i+12|0]=0,Ie(i,t)))){if(n)for(a=1;s=1<<l,A=Wt(i),c=f[e+76>>2]+(l>>>3&536870908)|0,1&(a^=A)?s=f[c>>2]&(-1^s):s|=f[c>>2],a^=1,f[c>>2]=s,(0|n)!=(0|(l=l+1|0)););l=0,c=n=f[t+12>>2],a=i=f[t+20>>2],i=(A=(s=f[t+16>>2])+4|0)>>>0<4?i+1|0:i,(p=f[t+8>>2])>>>0<A>>>0&(0|i)>=(0|n)|(0|i)>(0|n)||(d=f[t>>2],n=u[0|(n=d+s|0)]|u[n+1|0]<<8|u[n+2|0]<<16|u[n+3|0]<<24,f[t+16>>2]=A,f[t+20>>2]=i,i=a,s=a=s+8|0,a=i=a>>>0<8?i+1|0:i,s>>>0>p>>>0&(0|i)>=(0|c)|(0|i)>(0|c)||(i=u[0|(i=A+d|0)]|u[i+1|0]<<8|u[i+2|0]<<16|u[i+3|0]<<24,f[t+16>>2]=s,f[t+20>>2]=a,(0|i)<(0|n)||(f[e+16>>2]=i,f[e+12>>2]=n,!(t=(i>>31)-((n>>31)+(i>>>0<n>>>0)|0)|0)&(i=i-n|0)>>>0>2147483646|t||(l=1,t=i+1|0,f[e+20>>2]=t,i=t>>>1|0,f[e+24>>2]=i,f[e+28>>2]=0-i,1&t||(f[e+24>>2]=i-1)))))}return I=r+16|0,0|l}function me(e,t){var r=0,i=0,n=0,o=0,a=0;o=-1,i=-1,-1!=(0|t)&&(o=((i=t+1|0)>>>0)%3|0?i:t-2|0,i=t-1|0,(t>>>0)%3|0||(i=t+2|0));e:{t:{r:switch(f[e+168>>2]){case 0:case 1:n=f[e+148>>2],r=1,a=(t=f[e+156>>2])+((-1!=(0|o)?f[f[n>>2]+(o<<2)>>2]:-1)<<2)|0,f[a>>2]=f[a>>2]+1,t=((-1!=(0|i)?f[f[n>>2]+(i<<2)>>2]:-1)<<2)+t|0;break t;case 5:n=f[e+148>>2],r=-1,r=(-1!=(0|t)?f[f[n>>2]+(t<<2)>>2]:r)<<2,t=f[e+156>>2],f[(r=r+t|0)>>2]=f[r>>2]+1,r=((-1!=(0|o)?f[f[n>>2]+(o<<2)>>2]:-1)<<2)+t|0,f[r>>2]=f[r>>2]+1,r=2,t=((-1!=(0|i)?f[f[n>>2]+(i<<2)>>2]:-1)<<2)+t|0;break t;case 3:n=f[e+148>>2],r=-1,r=(-1!=(0|t)?f[f[n>>2]+(t<<2)>>2]:r)<<2,t=f[e+156>>2],f[(r=r+t|0)>>2]=f[r>>2]+1,r=((-1!=(0|o)?f[f[n>>2]+(o<<2)>>2]:-1)<<2)+t|0,f[r>>2]=f[r>>2]+2,r=1,t=((-1!=(0|i)?f[f[n>>2]+(i<<2)>>2]:-1)<<2)+t|0;break t;case 7:break r;default:break e}n=f[e+148>>2],r=-1,r=(-1!=(0|t)?f[f[n>>2]+(t<<2)>>2]:r)<<2,t=f[e+156>>2],f[(r=r+t|0)>>2]=f[r>>2]+2,r=((-1!=(0|o)?f[f[n>>2]+(o<<2)>>2]:-1)<<2)+t|0,f[r>>2]=f[r>>2]+2,r=2,t=((-1!=(0|i)?f[f[n>>2]+(i<<2)>>2]:-1)<<2)+t|0}f[t>>2]=f[t>>2]+r}r=e,i=f[e+180>>2],t=f[f[e+156>>2]+((-1!=(0|o)?f[f[f[e+148>>2]>>2]+(o<<2)>>2]:-1)<<2)>>2],e=f[e+176>>2],f[r+172>>2]=(0|e)>(0|t)?0:((0|t)>(0|i)?i:t)-e|0}function ye(e,t,r){var i=0,n=0,o=0,a=0,s=0,c=0,u=0,l=0;if((i=f[e+8>>2])-(n=f[e>>2])>>2>>>0>=t>>>0){if(o=t>>>0>(s=(a=f[e+4>>2])-n>>2)>>>0?s:t){if(l=o-1|0,c=7&o)for(i=n;f[i>>2]=f[r>>2],o=o-1|0,i=i+4|0,(0|(u=u+1|0))!=(0|c););else i=n;if(!(l>>>0<7))for(;f[i>>2]=f[r>>2],f[i+4>>2]=f[r>>2],f[i+8>>2]=f[r>>2],f[i+12>>2]=f[r>>2],f[i+16>>2]=f[r>>2],f[i+20>>2]=f[r>>2],f[i+24>>2]=f[r>>2],f[i+28>>2]=f[r>>2],i=i+32|0,o=o-8|0;);}if(t>>>0>s>>>0){if(i=e,e=t-s|0)for(e=(e<<2)+a|0;f[a>>2]=f[r>>2],(0|e)!=(0|(a=a+4|0)););else e=a;return void(f[i+4>>2]=e)}f[e+4>>2]=n+(t<<2)}else if(n&&(f[e+4>>2]=n,ee(n),f[e+8>>2]=0,f[e>>2]=0,f[e+4>>2]=0,i=0),t>>>0>=1073741824||(n=i>>1,(i=i>>2>>>0<536870911?t>>>0>n>>>0?t:n:1073741823)>>>0>=1073741824))ii(),E();else{if(n=br(i<<=2),f[e>>2]=n,f[e+8>>2]=i+n,r=f[r>>2],i=n,s=1+((a=(t<<=2)-4|0)>>>2|0)&7)for(;f[i>>2]=r,i=i+4|0,(0|s)!=(0|(o=o+1|0)););if(t=t+n|0,a>>>0>=28)for(;f[i+28>>2]=r,f[i+24>>2]=r,f[i+20>>2]=r,f[i+16>>2]=r,f[i+12>>2]=r,f[i+8>>2]=r,f[i+4>>2]=r,f[i>>2]=r,(0|t)!=(0|(i=i+32|0)););f[e+4>>2]=t}}function ve(e,t,r){var i=0,n=0,o=0,a=0,s=0,c=0,u=0,l=0,b=0;if((o=f[e+8>>2])-(n=f[e+4>>2])>>2>>>0>=t>>>0){if(t){if(i=n,s=1+((a=(t<<2)-4|0)>>>2|0)&7)for(;f[i>>2]=f[r>>2],i=i+4|0,(0|s)!=(0|(c=c+1|0)););if(n=(t<<2)+n|0,!(a>>>0<28))for(;f[i>>2]=f[r>>2],f[i+4>>2]=f[r>>2],f[i+8>>2]=f[r>>2],f[i+12>>2]=f[r>>2],f[i+16>>2]=f[r>>2],f[i+20>>2]=f[r>>2],f[i+24>>2]=f[r>>2],f[i+28>>2]=f[r>>2],(0|n)!=(0|(i=i+32|0)););}f[e+4>>2]=n}else{e:{if((i=(n=(l=n-(a=f[e>>2])|0)>>2)+t|0)>>>0<1073741824){if(u=(o=o-a|0)>>1,o=o>>2>>>0<536870911?i>>>0>u>>>0?i:u:1073741823){if(o>>>0>=1073741824)break e;s=br(o<<2)}if(i=n=(n<<2)+s|0,b=1+((u=(t<<=2)-4|0)>>>2|0)&7)for(i=n;f[i>>2]=f[r>>2],i=i+4|0,(0|b)!=(0|(c=c+1|0)););if(t=t+n|0,u>>>0>=28)for(;f[i>>2]=f[r>>2],f[i+4>>2]=f[r>>2],f[i+8>>2]=f[r>>2],f[i+12>>2]=f[r>>2],f[i+16>>2]=f[r>>2],f[i+20>>2]=f[r>>2],f[i+24>>2]=f[r>>2],f[i+28>>2]=f[r>>2],(0|t)!=(0|(i=i+32|0)););return(0|l)>0&&ge(s,a,l),f[e+8>>2]=(o<<2)+s,f[e+4>>2]=t,f[e>>2]=s,void(a&&ee(a))}ii(),E()}Lt(1326),E()}}function ge(e,t,r){var i,n=0,a=0;if(r>>>0>=512)return B(0|e,0|t,0|r),e;i=e+r|0;e:if(3&(e^t))if(i>>>0<4)r=e;else if((n=i-4|0)>>>0<e>>>0)r=e;else for(r=e;o[0|r]=u[0|t],o[r+1|0]=u[t+1|0],o[r+2|0]=u[t+2|0],o[r+3|0]=u[t+3|0],t=t+4|0,n>>>0>=(r=r+4|0)>>>0;);else{t:if(3&e)if(r)for(r=e;;){if(o[0|r]=u[0|t],t=t+1|0,!(3&(r=r+1|0)))break t;if(!(r>>>0<i>>>0))break}else r=e;else r=e;if(!((n=-4&i)>>>0<64||(a=n+-64|0)>>>0<r>>>0))for(;f[r>>2]=f[t>>2],f[r+4>>2]=f[t+4>>2],f[r+8>>2]=f[t+8>>2],f[r+12>>2]=f[t+12>>2],f[r+16>>2]=f[t+16>>2],f[r+20>>2]=f[t+20>>2],f[r+24>>2]=f[t+24>>2],f[r+28>>2]=f[t+28>>2],f[r+32>>2]=f[t+32>>2],f[r+36>>2]=f[t+36>>2],f[r+40>>2]=f[t+40>>2],f[r+44>>2]=f[t+44>>2],f[r+48>>2]=f[t+48>>2],f[r+52>>2]=f[t+52>>2],f[r+56>>2]=f[t+56>>2],f[r+60>>2]=f[t+60>>2],t=t- -64|0,a>>>0>=(r=r- -64|0)>>>0;);if(r>>>0>=n>>>0)break e;for(;f[r>>2]=f[t>>2],t=t+4|0,n>>>0>(r=r+4|0)>>>0;);}if(r>>>0<i>>>0)for(;o[0|r]=u[0|t],t=t+1|0,(0|i)!=(0|(r=r+1|0)););return e}function we(e){var t,r=0,i=0,n=0;if(f[(e|=0)>>2]=8312,t=f[e+368>>2],f[e+368>>2]=0,t){if(r=f[(n=t-4|0)>>2])for(i=(r<<4)+t|0;(0|t)!=(0|(i=i-16|0)););ee(n)}if(n=f[e+216>>2]){if((0|n)==(0|(i=f[e+220>>2])))r=n;else{for(;(r=f[i-12>>2])&&(f[i-8>>2]=r,ee(r)),(r=f[i-28>>2])&&(f[i-24>>2]=r,ee(r)),(r=f[i-40>>2])&&(f[i-36>>2]=r,ee(r)),Gt(i-140|0),(0|n)!=(0|(i=i-144|0)););r=f[e+216>>2]}f[e+220>>2]=n,ee(r)}if((r=f[e+196>>2])&&(f[e+200>>2]=r,ee(r)),(r=f[e+184>>2])&&(f[e+188>>2]=r,ee(r)),(r=f[e+172>>2])&&(f[e+176>>2]=r,ee(r)),(r=f[e+160>>2])&&(f[e+164>>2]=r,ee(r)),i=f[e+144>>2])for(;r=f[i>>2],ee(i),i=r,r;);return r=f[e+136>>2],f[e+136>>2]=0,r&&ee(r),(r=f[e+120>>2])&&ee(r),(r=f[e+108>>2])&&ee(r),(r=f[e+96>>2])&&ee(r),(r=f[e+72>>2])&&(f[e+76>>2]=r,ee(r)),(r=f[e+60>>2])&&ee(r),(r=f[e+48>>2])&&(f[e+52>>2]=r,ee(r)),(r=f[e+36>>2])&&(f[e+40>>2]=r,ee(r)),(r=f[e+24>>2])&&(f[e+28>>2]=r,ee(r)),(r=f[e+12>>2])&&(f[e+16>>2]=r,ee(r)),r=f[e+8>>2],f[e+8>>2]=0,r&&Mt(r),0|e}function Ee(e,t,r,i){var n,o=0,a=0,f=0,s=0,c=0,u=0,l=0,b=0;n=r;e:{t:{r:{i:{n:{o:{a:{f:{s:{c:{u:{if(t){if(!n)break u;if(!i)break c;if((r=k(i)-k(t)|0)>>>0<=31)break s;break r}if(1==(0|i)|i>>>0>1)break r;e=(e>>>0)/(n>>>0)|0,C=0;break e}if(!e)break f;if(!i)break a;if(i-1&i)break a;e=t>>>Cr(i)|0,C=0;break e}if(!(n-1&n))break o;o=0-(f=(k(n)+33|0)-k(t)|0)|0;break i}f=r+1|0,o=63-r|0;break i}e=(t>>>0)/(i>>>0)|0,C=0;break e}if((r=k(i)-k(t)|0)>>>0<31)break n;break r}if(1==(0|n))break t;i=31&(r=Cr(n)),(63&r)>>>0>=32?(r=0,e=t>>>i|0):(r=t>>>i|0,e=((1<<i)-1&t)<<32-i|e>>>i),C=r;break e}f=r+1|0,o=63-r|0}if(a=31&(r=63&f),r>>>0>=32?(r=0,c=t>>>a|0):(r=t>>>a|0,c=((1<<a)-1&t)<<32-a|e>>>a),a=r,o=31&(r=63&o),r>>>0>=32?(r=e<<o,e=0):(r=(1<<o)-1&e>>>32-o|t<<o,e<<=o),t=r,f)for(r=i-1|0,l=-1!=(0|(o=n-1|0))?r+1|0:r;c=(r=c<<1|t>>>31)-(u=n&(s=l-((a=a<<1|c>>>31)+(r>>>0>o>>>0)|0)>>31))|0,a=a-((i&s)+(r>>>0<u>>>0)|0)|0,t=t<<1|e>>>31,e=b|e<<1,b=s&=1,f=f-1|0;);C=t<<1|e>>>31,e=s|e<<1;break e}e=0,t=0}C=t}return e}function Te(e,t){var r=0,i=0,n=0;r=(0|e)==(0|t),o[t+12|0]=r;e:if(!r)for(;;){if(i=f[t+8>>2],u[i+12|0])break e;t:{if(r=f[i+8>>2],(0|i)!=(0|(n=f[r>>2]))){if(!(u[n+12|0]|!n))break t;f[i>>2]==(0|t)?(e=f[t+4>>2],f[i>>2]=e,e&&(f[e+8>>2]=i,r=f[i+8>>2]),f[t+8>>2]=r,e=f[i+8>>2],f[(((0|i)!=f[e>>2])<<2)+e>>2]=t,f[t+4>>2]=i,f[i+8>>2]=t,r=f[t+8>>2]):t=i,o[t+12|0]=1,o[r+12|0]=0,e=f[r+4>>2],t=f[e>>2],f[r+4>>2]=t,t&&(f[t+8>>2]=r),f[e+8>>2]=f[r+8>>2],t=f[r+8>>2],f[((f[t>>2]!=(0|r))<<2)+t>>2]=e,f[e>>2]=r,t=r+8|0}else{if(!(!(n=f[r+4>>2])|u[n+12|0]))break t;f[i>>2]!=(0|t)?(t=f[i+4>>2],e=f[t>>2],f[i+4>>2]=e,e&&(f[e+8>>2]=i,r=f[i+8>>2]),f[t+8>>2]=r,e=f[i+8>>2],f[(((0|i)!=f[e>>2])<<2)+e>>2]=t,f[t>>2]=i,f[i+8>>2]=t,r=f[t+8>>2]):t=i,o[t+12|0]=1,o[r+12|0]=0,e=f[r>>2],t=f[e+4>>2],f[r>>2]=t,t&&(f[t+8>>2]=r),f[e+8>>2]=f[r+8>>2],t=f[r+8>>2],f[((f[t>>2]!=(0|r))<<2)+t>>2]=e,f[e+4>>2]=r,t=r+8|0}f[t>>2]=e;break e}if(o[i+12|0]=1,i=(0|e)==(0|r),o[r+12|0]=i,o[n+12|0]=1,t=r,i)break}}function Be(e,t,r){e|=0,t|=0,r|=0;var i,n=0,a=0,s=0,c=0,u=0,l=_(0),b=0,p=0,d=0,h=0,k=0,m=0,y=0,v=0,g=0,w=0,E=0;if(I=i=I-16|0,9==f[r+28>>2]){n=f[e+4>>2],a=(c=o[r+24|0])<<2,s=br((1073741823&c)!=(0|c)?-1:a),f[(p=i+8|0)>>2]=1065353216,l=A[e+20>>2],(0|(n=-1<<n^-1))>0&&(A[p>>2]=l/_(0|n));e:if((k=(0|n)>0)&&(b=f[r+80>>2]))if(n=0,(0|c)<=0){if(1!=(0|b))for(e=-2&b,t=0;ge(f[f[r+64>>2]>>2]+n|0,s,a),ge((n=n+a|0)+f[f[r+64>>2]>>2]|0,s,a),n=n+a|0,(0|e)!=(0|(t=t+2|0)););if(!(1&b))break e;ge(f[f[r+64>>2]>>2]+n|0,s,a)}else for(m=f[f[t>>2]>>2]+f[t+48>>2]|0,w=-2&c,E=1&c;;){if(d=f[e+8>>2],l=A[p>>2],t=0,h=0,1!=(0|c))for(;y=(n<<2)+m|0,A[(u=t<<2)+s>>2]=_(l*_(f[y>>2]))+A[u+d>>2],A[(u|=4)+s>>2]=_(l*_(f[y+4>>2]))+A[u+d>>2],t=t+2|0,n=n+2|0,(0|w)!=(0|(h=h+2|0)););if(E&&(A[(t<<=2)+s>>2]=_(l*_(f[(n<<2)+m>>2]))+A[t+d>>2],n=n+1|0),ge(f[f[r+64>>2]>>2]+v|0,s,a),v=a+v|0,(0|(g=g+1|0))==(0|b))break}ee(s)}return I=i+16|0,0|k}function xe(e,t,r){var i=0,n=0,o=0,a=0,s=0,c=0,u=0;i=(r>>>0)/3|0,a=f[(f[f[e+8>>2]+96>>2]+d(i,12)|0)+(r-d(i,3)<<2)>>2],n=f[f[e+12>>2]+4>>2];e:if((0|(i=f[n+4>>2]))==f[n+8>>2]){t:{if((i=1+(u=(c=i-(s=f[n>>2])|0)>>2)|0)>>>0<1073741824){if(o=c>>1,o=u>>>0<536870911?i>>>0>o>>>0?i:o:1073741823){if(o>>>0>=1073741824)break t;i=br(o<<2)}else i=0;f[(u=i+(u<<2)|0)>>2]=a,(0|c)>0&&ge(i,s,c),f[n+8>>2]=i+(o<<2),f[n+4>>2]=u+4,f[n>>2]=i,s&&ee(s);break e}ii(),E()}Lt(1326),E()}else f[i>>2]=a,f[n+4>>2]=i+4;n=f[e+4>>2];e:{t:{if((0|(i=f[n+4>>2]))==f[n+8>>2]){if((i=1+(a=(c=i-(s=f[n>>2])|0)>>2)|0)>>>0>=1073741824)break t;if(o=c>>1,o=a>>>0<536870911?i>>>0>o>>>0?i:o:1073741823){if(o>>>0>=1073741824)break e;i=br(o<<2)}else i=0;f[(a=i+(a<<2)|0)>>2]=r,(0|c)>0&&ge(i,s,c),f[n+8>>2]=i+(o<<2),f[n+4>>2]=a+4,f[n>>2]=i,s&&ee(s)}else f[i>>2]=r,f[n+4>>2]=i+4;return e=f[e+4>>2],f[f[e+12>>2]+(t<<2)>>2]=f[e+24>>2],void(f[e+24>>2]=f[e+24>>2]+1)}ii(),E()}Lt(1326),E()}function Re(e,t){var r,i=0,n=0,o=0,a=0,s=0,c=0;I=r=I-16|0;e:{t:if((n=f[e+4>>2])>>>0<t>>>0){if((o=t-n|0)>>>0>(i=(s=f[e+8>>2])<<5)>>>0|n>>>0>i-o>>>0){if(f[r+8>>2]=0,f[r>>2]=0,f[r+4>>2]=0,(0|t)<0)break e;i>>>0<=1073741822?(i=t+31&-32,t=(t=s<<6)>>>0<i>>>0?i:t):t=2147483647,at(r,t),n=f[e+4>>2],f[r+4>>2]=n+o,c=f[e>>2],t=f[r>>2],(0|n)<=0||(t=je(t,c,s=(i=n>>>5|0)<<2)+s|0,(0|(a=n-(i<<5)|0))<=0?a=0:(i=-1>>>32-a|0,f[t>>2]=f[t>>2]&(-1^i)|i&f[c+s>>2]),c=f[e>>2]),f[e>>2]=f[r>>2],f[r>>2]=c,i=f[e+4>>2],f[e+4>>2]=f[r+4>>2],f[r+4>>2]=i,i=f[e+8>>2],f[e+8>>2]=f[r+8>>2],f[r+8>>2]=i,c&&ee(c)}else f[e+4>>2]=t,a=31&n,t=f[e>>2]+(n>>>3&536870908)|0;if(!o)break t;if(a&&(e=(i=32-a|0)>>>0>o>>>0?o:i,f[t>>2]=f[t>>2]&(-1<<a&-1>>>i-e^-1),o=o-e|0,t=t+4|0),e=Ye(t,0,i=o>>>5<<2),!(t=31&o))break t;f[(e=e+i|0)>>2]=f[e>>2]&(-1>>>32-t^-1)}else f[e+4>>2]=t;return void(I=r+16|0)}ii(),E()}function Ne(e,t){var r=0,i=0,n=0,a=0,s=0,c=0,l=0,A=0;if((i=u[e+11|0]>>>7|0?f[e+4>>2]:u[e+11|0])>>>0<t>>>0)return I=c=I-16|0,(a=t-i|0)&&(l=(s=(t=u[e+11|0]>>>7|0)?f[e+4>>2]:u[e+11|0])+a|0,(t=t?(2147483647&f[e+8>>2])-1|0:10)-s>>>0<a>>>0&&(I=i=I-16|0,(r=l-t|0)>>>0<=-17-t>>>0?(A=u[e+11|0]>>>7|0?f[e>>2]:e,t>>>0<2147483623?(f[i+8>>2]=t<<1,f[i+12>>2]=t+r,I=r=I-16|0,I=r+16|0,r=i+8|0,r=(r=f[(b[(n=i+12|0)>>2]<b[r>>2]?r:n)>>2])>>>0>=11?11==(0|(r=(n=r+16&-16)-1|0))?n:r:10):r=-18,r=br(n=r+1|0),s&&Lr(r,A,s),10!=(0|t)&&ee(A),f[e>>2]=r,f[e+8>>2]=-2147483648|n,I=i+16|0):(oi(),E())),i=s+(t=u[e+11|0]>>>7|0?f[e>>2]:e)|0,a&&Ye(i,0,a),u[e+11|0]>>>7|0?f[e+4>>2]=l:o[e+11|0]=l,o[c+15|0]=0,o[t+l|0]=u[c+15|0]),void(I=c+16|0);I=i=I-16|0,u[e+11|0]>>>7|0?(a=f[e>>2],o[i+15|0]=0,o[t+a|0]=u[i+15|0],f[e+4>>2]=t):(o[i+14|0]=0,o[e+t|0]=u[i+14|0],o[e+11|0]=t),I=i+16|0}function Ie(e,t){var r,i=0,n=0,a=0,s=0,c=0,l=0,A=0,p=0,d=0;I=r=I-16|0;e:if(!((0|(a=f[t+20>>2]))>=(0|(i=f[t+12>>2]))&(n=f[t+16>>2])>>>0>=b[t+8>>2]|(0|i)<(0|a))&&(o[e+12|0]=u[n+f[t>>2]|0],a=f[t+20>>2],a=(i=f[t+16>>2]+1|0)?a:a+1|0,f[t+16>>2]=i,f[t+20>>2]=a,function e(t,r,i){var n=0,o=0,a=0,s=0,c=0;t:if(!(t>>>0>5||(a=f[i+20>>2],n=a,s=f[i+12>>2],o=f[i+16>>2],(0|n)>=(0|s)&o>>>0>=b[i+8>>2]|(0|n)>(0|s)))){if(n=u[o+f[i>>2]|0],a=(o=o+1|0)?a:a+1|0,f[i+16>>2]=o,f[i+20>>2]=a,128&n){if(!e(t+1|0,r,i))break t;n=127&n|f[r>>2]<<7}f[r>>2]=n,c=1}return c}(1,r+12|0,t)&&(n=(a=f[t+8>>2])-(i=c=f[t+16>>2])|0,i=i>>>0>a>>>0,a=f[t+20>>2],!((0|(s=f[t+12>>2]-(i+a|0)|0))<=0&n>>>0<(i=f[r+12>>2])>>>0|(0|s)<0|(0|i)<=0)))){n=c+f[t>>2]|0,f[e>>2]=n,p=e;t:if((A=u[0|(l=(s=i-1|0)+n|0)])>>>0<=63)f[e+4>>2]=s,e=63&u[0|l];else{r:switch((A>>>6|0)-1|0){case 0:if(i>>>0<2)break e;f[e+4>>2]=i-2,e=u[1+(n=(i+n|0)-2|0)|0]<<8&16128|u[0|n];break t;case 1:break r;default:break e}if(i>>>0<3)break e;f[e+4>>2]=i-3,e=u[2+(n=(i+n|0)-3|0)|0]<<16&4128768|u[n+1|0]<<8|u[0|n]}e=e+4096|0,f[p+8>>2]=e,e>>>0>1048575||(e=a,e=(n=i+c|0)>>>0<i>>>0?e+1|0:e,f[t+16>>2]=n,f[t+20>>2]=e,d=1)}return I=r+16|0,d}function Ce(e,t,r){t|=0,r|=0;var i=0,n=0,a=0,s=0,c=0,l=0,A=0;return(i=(a=f[12+(e|=0)>>2])-(c=f[e+8>>2])>>2)>>>0<(t=o[t+24|0])>>>0?(st(e+8|0,t-i|0),c=f[e+8>>2],a=f[e+12>>2]):t>>>0>=i>>>0||(a=(t<<2)+c|0,f[e+12>>2]=a),t=0,l=f[r+20>>2],a=i=a-c|0,s=(n=f[r+16>>2])+i|0,A=f[r+12>>2],l=i>>>0>s>>>0?l+1|0:l,s>>>0>b[r+8>>2]&(0|A)<=(0|l)|(0|l)>(0|A)||(ge(c,n+f[r>>2]|0,i),i=f[r+20>>2],i=(n=a+f[r+16>>2]|0)>>>0<a>>>0?i+1|0:i,s=n,f[r+16>>2]=n,f[r+20>>2]=i,n=f[r+12>>2],i=(a=s+4|0)>>>0<4?i+1|0:i,a>>>0>b[r+8>>2]&(0|i)>=(0|n)|(0|i)>(0|n)||(i=s+f[r>>2]|0,f[e+20>>2]=u[0|i]|u[i+1|0]<<8|u[i+2|0]<<16|u[i+3|0]<<24,i=f[r+20>>2],a=(n=(s=f[r+16>>2])+4|0)>>>0<4?i+1|0:i,A=n,f[r+16>>2]=n,f[r+20>>2]=a,(0|a)>=(0|(n=f[r+12>>2]))&A>>>0>=b[r+8>>2]|(0|a)>(0|n)||(n=u[A+f[r>>2]|0],i=(a=s+5|0)>>>0<5?i+1|0:i,f[r+16>>2]=a,f[r+20>>2]=i,n-1>>>0>29||(f[e+4>>2]=n,t=1)))),0|t}function De(e,t){var r,i=0,n=0,a=0,s=0,c=0;I=r=I-16|0;e:{t:{if(t){if(f[e+88>>2]=0,f[e+92>>2]=0,i=f[e+84>>2],f[e+84>>2]=0,i&&ee(i),f[e+76>>2]=0,f[e+80>>2]=0,i=f[e+72>>2],f[e+72>>2]=0,i&&ee(i),i=f[t>>2],n=f[t+4>>2],o[r+15|0]=0,Je(e,n-i>>2,r+15|0),i=f[t+28>>2],n=f[t+24>>2],o[r+14|0]=0,Je(e+12|0,i-n>>2,r+14|0),ye(e+28|0,f[t+4>>2]-f[t>>2]>>2,10316),a=(n=f[t+28>>2]-f[t+24>>2]|0)>>2,i=f[e+52>>2],!(a>>>0<=f[e+60>>2]-i>>2>>>0)){if((0|n)<0)break t;s=f[e+56>>2],c=(n=br(n))+(a<<2)|0,s=(a=s-i|0)+n|0,(0|a)>0&&ge(n,i,a),f[e+60>>2]=c,f[e+56>>2]=s,f[e+52>>2]=n,i&&ee(i)}if(a=(n=f[t+28>>2]-f[t+24>>2]|0)>>2,i=f[e+40>>2],!(a>>>0<=f[e+48>>2]-i>>2>>>0)){if((0|n)<0)break e;s=f[e+44>>2],c=(n=br(n))+(a<<2)|0,s=(a=s-i|0)+n|0,(0|a)>0&&ge(n,i,a),f[e+48>>2]=c,f[e+44>>2]=s,f[e+40>>2]=n,i&&ee(i)}o[e+24|0]=1,f[e+64>>2]=t}return void(I=r+16|0)}Lt(1326),E()}Lt(1326),E()}function Me(e,t,r){e|=0,t|=0,r|=0;var i=0,n=_(0),a=_(0),l=_(0),b=_(0),A=_(0),p=0,d=_(0),k=_(0),m=_(0),v=_(0),g=0;if(!(9!=f[r+28>>2]|3!=u[r+24|0])&&!((e=f[e+4>>2])-31>>>0<4294967267)&&(g=1,p=f[r+80>>2]))for(d=_(_(2)/_((1<<e)-2|0)),r=f[f[r>>2]>>2]+f[r+48>>2]|0,e=f[f[t>>2]>>2]+f[t+48>>2]|0,t=0;l=_(0),k=_(0),m=_(0),n=_(_(_(f[e>>2])*d)+_(-1)),a=_(_(_(f[e+4>>2])*d)+_(-1)),A=_(_(_(1)-_(h(n)))-_(h(a))),b=_(y(_(-A),_(0))),v=_(-b),a=_(a+(a<_(0)?b:v)),n=_(n+(n<_(0)?b:v)),+(b=_(_(a*a)+_(_(A*A)+_(n*n))))<1e-6||(l=_(_(1)/_(w(b))),m=_(a*l),k=_(n*l),l=_(A*l)),e=e+8|0,s(m),i=c(2),o[r+8|0]=i,o[r+9|0]=i>>>8,o[r+10|0]=i>>>16,o[r+11|0]=i>>>24,s(k),i=c(2),o[r+4|0]=i,o[r+5|0]=i>>>8,o[r+6|0]=i>>>16,o[r+7|0]=i>>>24,s(l),i=c(2),o[0|r]=i,o[r+1|0]=i>>>8,o[r+2|0]=i>>>16,o[r+3|0]=i>>>24,r=r+12|0,(0|p)!=(0|(t=t+1|0)););return 0|g}function Ge(e,t,r,i){var n,o=0,a=0,s=0,c=0,u=0,l=0,b=0,p=0;u=+A[t>>2],l=+A[t+4>>2],b=+A[t+8>>2],(s=h(u)+h(l)+h(b))>1e-6?(l*=s=1/s,u*=s,o=s*b<0):(u=1,l=0,o=0),n=f[e+16>>2],s=v(u*(b=+(0|n))+.5),c=(a=(p=h(s)<2147483648?~~s:-2147483648)>>31)+p^a,s=v(l*b+.5),c=(0|(t=n-(c+((a=h(s)<2147483648?~~s:-2147483648)+(t=a>>31)^t)|0)|0))<0?0:t,o=o?0-c|0:c,a=a+(t>>31&((0|a)>0?t:0-t|0))|0,(0|p)>=0?(t=o+n|0,e=f[e+8>>2],o=a+n|0):(t=a>>31,t^=t+a,e=f[e+8>>2],t=(0|o)<0?t:e-t|0,o=(0|a)<0?c:e-c|0),t|o&&(0|e)!=(0|t)|o&&t|(a=(0|e)!=(0|o))?(0|t)<=(0|n)|o?(0|t)>=(0|n)|a?(0|e)!=(0|t)|(0|o)>=(0|n)?t?e=o:(t=0,e=(0|o)<=(0|n)?o:(n<<1)-o|0):(t=e,e=(n<<1)-o|0):t=(n<<1)-t|0:(t=(n<<1)-t|0,e=0):t=e,f[r>>2]=e,f[i>>2]=t}function Ue(e,t){var r,i,n,a=0,s=0,c=0;i=f[e>>2],f[(a=i+(t>>>3&536870908)|0)>>2]=f[a>>2]|1<<t,r=f[e+64>>2],s=-1,(c=-1==(0|t))||(s=-1,-1!=(0|(a=((a=t+1|0)>>>0)%3|0?a:t-2|0))&&(s=f[f[r>>2]+(a<<2)>>2])),a=f[e+12>>2],f[(n=(s>>>3&536870908)+a|0)>>2]=f[n>>2]|1<<s;e:{if(c)e=a+536870908|0,t=f[a+536870908>>2],a=-2147483648;else{t:{if((t>>>0)%3|0)c=t-1|0;else if(s=-1,-1==(0|(c=t+2|0)))break t;s=f[f[r>>2]+(c<<2)>>2]}if(f[(c=(s>>>3&536870908)+a|0)>>2]=f[c>>2]|1<<s,s=-1,-1==(0|(t=f[f[r+12>>2]+(t<<2)>>2])))break e;o[e+24|0]=0,f[(e=(t>>>3&536870908)+i|0)>>2]=f[e>>2]|1<<t,-1!=(0|(e=((e=t+1|0)>>>0)%3|0?e:t-2|0))&&(s=f[f[r>>2]+(e<<2)>>2]),f[(e=a+(s>>>3&536870908)|0)>>2]=f[e>>2]|1<<s;t:{if((t>>>0)%3|0)t=t-1|0;else if(e=-1,-1==(0|(t=t+2|0)))break t;e=f[f[r>>2]+(t<<2)>>2]}t=1<<e,a=f[(e=a+(e>>>3&536870908)|0)>>2]}f[e>>2]=t|a}}function Ve(e,t){var r=0,i=0;r=f[t+8>>2],f[e+4>>2]=f[t+4>>2],f[e+8>>2]=r,f[e+20>>2]=f[t+20>>2],r=f[t+16>>2],f[e+12>>2]=f[t+12>>2],f[e+16>>2]=r;e:{t:{if((0|e)!=(0|t)){if(r=f[t+28>>2]){if(f[e+32>>2]<<5>>>0>=r>>>0)i=f[e+24>>2];else{if((i=f[e+24>>2])&&(ee(i),f[e+32>>2]=0,f[e+24>>2]=0,f[e+28>>2]=0,r=f[t+28>>2]),(0|r)<0)break t;i=br((r=1+(r-1>>>5|0)|0)<<2),f[e+32>>2]=r,f[e+28>>2]=0,f[e+24>>2]=i,r=f[t+28>>2]}je(i,f[t+24>>2],4+(r-1>>>3&536870908)|0),r=f[t+28>>2]}else r=0;if(f[e+28>>2]=r,r=f[t+40>>2]){if(f[e+44>>2]<<5>>>0>=r>>>0)i=f[e+36>>2];else{if((i=f[e+36>>2])&&(ee(i),f[e+44>>2]=0,f[e+36>>2]=0,f[e+40>>2]=0,r=f[t+40>>2]),(0|r)<0)break e;i=br((r=1+(r-1>>>5|0)|0)<<2),f[e+44>>2]=r,f[e+40>>2]=0,f[e+36>>2]=i,r=f[t+40>>2]}je(i,f[t+36>>2],4+(r-1>>>3&536870908)|0),t=f[t+40>>2]}else t=0;f[e+40>>2]=t}return}ii(),E()}ii(),E()}function Se(e,t){var r,i=0,n=0,o=0,a=0,s=0,c=0;I=r=I-16|0;e:if(dt(1,r+8|0,t)&&(i=f[t+8>>2],o=f[t+16>>2],s=f[r+12>>2],n=f[t+20>>2],!((0|s)==(0|(a=f[t+12>>2]-(n+(i>>>0<o>>>0)|0)|0))&(i-o|0)>>>0<(i=f[r+8>>2])>>>0|a>>>0<s>>>0||(n=n+s|0,n=(a=i+o|0)>>>0<o>>>0?n+1|0:n,f[t+16>>2]=a,f[t+20>>2]=n,(0|i)<=0)))){n=o+f[t>>2]|0,f[e+40>>2]=n,s=e;t:if((t=u[0|(o=n+(a=i-1|0)|0)])>>>0<=63)f[e+44>>2]=a,e=63&u[0|o];else{r:switch((t>>>6|0)-1|0){case 0:if(i>>>0<2)break e;f[e+44>>2]=i-2,e=u[1+(t=(i+n|0)-2|0)|0]<<8&16128|u[0|t];break t;case 1:if(i>>>0<3)break e;f[e+44>>2]=i-3,e=u[2+(t=(i+n|0)-3|0)|0]<<16&4128768|u[t+1|0]<<8|u[0|t];break t}f[e+44>>2]=i-4,e=u[2+(t=(i+n|0)-4|0)|0]<<16|u[t+3|0]<<24&1056964608|u[t+1|0]<<8|u[0|t]}e=e+16384|0,f[s+48>>2]=e,c=e>>>0<4194304}return I=r+16|0,c}function Fe(e){var t,r=0,i=0;r=f[e+8>>2],t=f[e>>2];e:{if(u[e+12|0]){t:{if(-1!=(0|r)&&-1!=(0|(r=((i=r+1|0)>>>0)%3|0?i:r-2|0))&&-1!=(0|(r=f[f[t+12>>2]+(r<<2)>>2]))){if(r=((i=r+1|0)>>>0)%3|0?i:r-2|0,f[e+8>>2]=r,-1!=(0|r))break t}else f[e+8>>2]=-1;r=-1;r:if(-1!=(0|(i=f[e+4>>2]))){if((i>>>0)%3|0)i=i-1|0;else if(r=-1,-1==(0|(i=i+2|0)))break r;r=-1,-1!=(0|(i=f[f[t+12>>2]+(i<<2)>>2]))&&(r=i-1|0,(i>>>0)%3|0||(r=i+2|0))}return o[e+12|0]=0,void(f[e+8>>2]=r)}if((0|r)!=f[e+4>>2])break e;return void(f[e+8>>2]=-1)}i=-1;t:if(-1!=(0|r)){if((r>>>0)%3|0)r=r-1|0;else if(i=-1,-1==(0|(r=r+2|0)))break t;i=-1,-1!=(0|(r=f[f[t+12>>2]+(r<<2)>>2]))&&(i=r-1|0,(r>>>0)%3|0||(i=r+2|0))}f[e+8>>2]=i}}function We(e){var t,r=0,i=0;t=br(32),r=u[1619]|u[1620]<<8,o[t+24|0]=r,o[t+25|0]=r>>>8,r=u[1615]|u[1616]<<8|u[1617]<<16|u[1618]<<24,i=u[1611]|u[1612]<<8|u[1613]<<16|u[1614]<<24,o[t+16|0]=i,o[t+17|0]=i>>>8,o[t+18|0]=i>>>16,o[t+19|0]=i>>>24,o[t+20|0]=r,o[t+21|0]=r>>>8,o[t+22|0]=r>>>16,o[t+23|0]=r>>>24,r=u[1607]|u[1608]<<8|u[1609]<<16|u[1610]<<24,i=u[1603]|u[1604]<<8|u[1605]<<16|u[1606]<<24,o[t+8|0]=i,o[t+9|0]=i>>>8,o[t+10|0]=i>>>16,o[t+11|0]=i>>>24,o[t+12|0]=r,o[t+13|0]=r>>>8,o[t+14|0]=r>>>16,o[t+15|0]=r>>>24,r=u[1599]|u[1600]<<8|u[1601]<<16|u[1602]<<24,i=u[1595]|u[1596]<<8|u[1597]<<16|u[1598]<<24,o[0|t]=i,o[t+1|0]=i>>>8,o[t+2|0]=i>>>16,o[t+3|0]=i>>>24,o[t+4|0]=r,o[t+5|0]=r>>>8,o[t+6|0]=r>>>16,o[t+7|0]=r>>>24,o[t+26|0]=0,f[e>>2]=-1,Vt(e+4|0,t,26),ee(t)}function je(e,t,r){var i=0,n=0;e:if((0|e)!=(0|t)){if(t-(n=e+r|0)>>>0<=0-(r<<1)>>>0)return ge(e,t,r);if(i=3&(e^t),e>>>0<t>>>0){if(i)i=e;else{if(3&e)for(i=e;;){if(!r)break e;if(o[0|i]=u[0|t],t=t+1|0,r=r-1|0,!(3&(i=i+1|0)))break}else i=e;if(!(r>>>0<=3))for(;f[i>>2]=f[t>>2],t=t+4|0,i=i+4|0,(r=r-4|0)>>>0>3;);}if(r)for(;o[0|i]=u[0|t],i=i+1|0,t=t+1|0,r=r-1|0;);}else{if(!i){if(3&n)for(;;){if(!r)break e;if(o[0|(i=(r=r-1|0)+e|0)]=u[t+r|0],!(3&i))break}if(!(r>>>0<=3))for(;f[(r=r-4|0)+e>>2]=f[t+r>>2],r>>>0>3;);}if(!r)break e;for(;o[(r=r-1|0)+e|0]=u[t+r|0],r;);}}return e}function Oe(e,t,r){var i,n,o=0,a=0,s=0,c=0,l=0,b=0,A=0,p=0;I=i=I-16|0;e:{if((0|(s=f[e+24>>2]))!=(0|(n=f[e+28>>2])))for(;;){f[i+8>>2]=0,f[i>>2]=0,f[i+4>>2]=0,o=Xt(f[s>>2],t,i),l=(e=u[i+11|0])<<24>>24,b=3;t:{r:{i:{n:if(o&&(b=0,a=(o=u[r+11|0])<<24>>24,(0|(A=(0|l)<0?f[i+4>>2]:e))==(0|((0|a)<0?f[r+4>>2]:o)))){c=(0|a)<0?f[r>>2]:r,a=f[i>>2];o:{if(!(o=(0|l)<0)){if(!l)break o;if(o=i,u[0|c]!=(255&a))break t;for(;;){if(!(e=e-1|0))break o;if(a=u[c+1|0],c=c+1|0,(0|a)!=u[0|(o=o+1|0)])break}break n}if(A&&xt(o?a:i,c,A))break i}p=f[s>>2],b=1}if((0|l)>=0)break r}ee(f[i>>2])}switch(0|b){case 0:case 3:break t;default:break e}}if((0|n)==(0|(s=s+4|0)))break}p=0}return I=i+16|0,p}function Ze(e,t){var r=0,i=0,n=0,o=0,a=0,s=0,c=0;if((i=f[e+8>>2])-(r=f[e+4>>2])>>2>>>0>=t>>>0)return t&&(r=Ye(r,0,t<<=2)+t|0),void(f[e+4>>2]=r);e:{t:{r:{if((n=(o=r-(a=f[e>>2])>>2)+t|0)>>>0<1073741824){if(s=(i=i-a|0)>>1,n=i>>2>>>0<536870911?n>>>0>s>>>0?n:s:1073741823){if(n>>>0>=1073741824)break r;c=br(n<<2)}if(o=(t=Ye(i=(o<<2)+c|0,0,o=t<<2))+o|0,n=(n<<2)+c|0,(0|r)==(0|a))break t;for(;t=f[(r=r-4|0)>>2],f[r>>2]=0,f[(i=i-4|0)>>2]=t,(0|r)!=(0|a););if(f[e+8>>2]=n,t=f[e+4>>2],f[e+4>>2]=o,r=f[e>>2],f[e>>2]=i,(0|t)==(0|r))break e;for(;e=f[(t=t-4|0)>>2],f[t>>2]=0,e&&_i[f[f[e>>2]+4>>2]](e),(0|t)!=(0|r););break e}ii(),E()}Lt(1326),E()}f[e+8>>2]=n,f[e+4>>2]=o,f[e>>2]=t}r&&ee(r)}function Pe(e,t){e|=0;var r,i,n=0,o=0,a=0,s=0,c=0,l=0,b=0;return c=o=f[12+(t|=0)>>2],a=n=f[t+20>>2],n=(r=(s=f[t+16>>2])+4|0)>>>0<4?n+1|0:n,(i=f[t+8>>2])>>>0<r>>>0&(0|n)>=(0|o)|(0|n)>(0|o)||(l=f[t>>2],o=u[0|(o=l+s|0)]|u[o+1|0]<<8|u[o+2|0]<<16|u[o+3|0]<<24,f[t+16>>2]=r,f[t+20>>2]=n,n=a,s=a=s+8|0,a=n=a>>>0<8?n+1|0:n,s>>>0>i>>>0&(0|n)>=(0|c)|(0|n)>(0|c)||(n=u[0|(n=r+l|0)]|u[n+1|0]<<8|u[n+2|0]<<16|u[n+3|0]<<24,f[t+16>>2]=s,f[t+20>>2]=a,(0|n)<(0|o)||(f[e+16>>2]=n,f[e+12>>2]=o,!(c=(n>>31)-((o>>31)+(n>>>0<o>>>0)|0)|0)&(n=n-o|0)>>>0>2147483646|c||(n=n+1|0,f[e+20>>2]=n,o=n>>>1|0,f[e+24>>2]=o,f[e+28>>2]=0-o,1&n||(f[e+24>>2]=o-1),b=Ie(e+112|0,t))))),0|b}function Ye(e,t,r){var i=0,n=0,a=0;if(r&&(o[0|e]=t,o[(n=e+r|0)-1|0]=t,!(r>>>0<3||(o[e+2|0]=t,o[e+1|0]=t,o[n-3|0]=t,o[n-2|0]=t,r>>>0<7||(o[e+3|0]=t,o[n-4|0]=t,r>>>0<9||(a=(n=0-e&3)+e|0,i=d(255&t,16843009),f[a>>2]=i,f[(r=(t=r-n&-4)+a|0)-4>>2]=i,t>>>0<9||(f[a+8>>2]=i,f[a+4>>2]=i,f[r-8>>2]=i,f[r-12>>2]=i,t>>>0<25||(f[a+24>>2]=i,f[a+20>>2]=i,f[a+16>>2]=i,f[a+12>>2]=i,f[r-16>>2]=i,f[r-20>>2]=i,f[r-24>>2]=i,f[r-28>>2]=i,(r=(r=t)-(t=4&a|24)|0)>>>0<32))))))))for(i=Jt(i,0,1,1),n=C,t=t+a|0;f[t+24>>2]=i,f[t+28>>2]=n,f[t+16>>2]=i,f[t+20>>2]=n,f[t+8>>2]=i,f[t+12>>2]=n,f[t>>2]=i,f[t+4>>2]=n,t=t+32|0,(r=r-32|0)>>>0>31;);return e}function ze(e,t){var r=0,i=0,n=0,o=0,a=0;i=-1,o=-1,n=-1;e:{t:if(-1!=(0|t)){if(a=1,o=f[f[f[e+4>>2]+12>>2]+(t<<2)>>2],(0|(r=((r=t+1|0)>>>0)%3|0?r:t-2|0))>=0&&(n=(r>>>0)/3|0,n=f[(f[f[e>>2]+96>>2]+d(n,12)|0)+(r-d(n,3)<<2)>>2]),-1!=(0|o)&&(a=0,(0|(r=((o>>>0)%3|0?-1:2)+o|0))<0||(i=(r>>>0)/3|0,i=f[(f[f[e>>2]+96>>2]+d(i,12)|0)+(r-d(i,3)<<2)>>2])),r=-1,(0|i)!=(0|n))break e;if(n=-1,(0|(t=((t>>>0)%3|0?-1:2)+t|0))>=0){if(i=(t>>>0)/3|0,i=f[(f[f[e>>2]+96>>2]+d(i,12)|0)+(t-d(i,3)<<2)>>2],a)break t}else if(i=-1,a)break t;(0|(t=((t=o+1|0)>>>0)%3|0?t:o-2|0))<0||(r=f[f[e>>2]+96>>2],n=f[(r+d(e=(t>>>0)/3|0,12)|0)+(t-d(e,3)<<2)>>2])}r=(0|i)==(0|n)?o:-1}return r}function Je(e,t,r){var i,n=0,o=0,a=0;I=i=I-16|0,f[e+4>>2]=0;e:{t:if(t){if((n=(a=f[e+8>>2])<<5)>>>0>=t>>>0)f[e+4>>2]=t;else{if(f[i+8>>2]=0,f[i>>2]=0,f[i+4>>2]=0,(0|t)<0)break e;at(i,n=n>>>0<=1073741822?(n=a<<6)>>>0<(o=t+31&-32)>>>0?o:n:2147483647),o=f[e>>2],f[e>>2]=f[i>>2],f[i>>2]=o,n=f[e+4>>2],f[e+4>>2]=t,f[i+4>>2]=n,n=f[e+8>>2],f[e+8>>2]=f[i+8>>2],f[i+8>>2]=n,o&&ee(o)}if(n=(o=t>>>5|0)<<2,e=f[e>>2],u[0|r]){if(e=Ye(e,255,n),!(t&=31))break t;f[(e=e+(o<<2)|0)>>2]=f[e>>2]|-1>>>32-t}else e=Ye(e,0,n),(t&=31)&&(f[(e=e+(o<<2)|0)>>2]=f[e>>2]&(-1>>>32-t^-1))}return void(I=i+16|0)}ii(),E()}function Qe(e,t,r){var i,n=0,o=0,a=0,s=0;if((i=(a=r-t|0)>>2)>>>0<=(n=f[e+8>>2])-(o=f[e>>2])>>2>>>0){if((0|(n=i>>>0>(s=(n=(a=f[e+4>>2])-o|0)>>2)>>>0?t+n|0:r))!=(0|t))for(;f[o>>2]=f[t>>2],o=o+4|0,(0|n)!=(0|(t=t+4|0)););return i>>>0>s>>>0?((0|(t=r-n|0))>0&&(a=ge(a,n,t)+t|0),void(f[e+4>>2]=a)):void(f[e+4>>2]=o)}if(o&&(f[e+4>>2]=o,ee(o),f[e+8>>2]=0,f[e>>2]=0,f[e+4>>2]=0,n=0),!((0|a)<0||(r=n>>1,(r=n>>2>>>0<536870911?r>>>0<i>>>0?i:r:1073741823)>>>0>=1073741824)))return r=br(o=r<<2),f[e>>2]=r,f[e+4>>2]=r,f[e+8>>2]=r+o,a&&(r=ge(r,t,a)+a|0),void(f[e+4>>2]=r);ii(),E()}function Le(e,t){e|=0;var r,i,n,o=0,a=0,s=0,c=0,l=0;return s=f[12+(t|=0)>>2],c=o=f[t+20>>2],o=(a=(r=f[t+16>>2])+4|0)>>>0<4?o+1|0:o,n=a,(i=f[t+8>>2])>>>0<a>>>0&(0|o)>=(0|s)|(0|o)>(0|s)||(a=r+f[t>>2]|0,a=u[0|a]|u[a+1|0]<<8|u[a+2|0]<<16|u[a+3|0]<<24,f[t+16>>2]=n,f[t+20>>2]=o,o=c,(c=r+8|0)>>>0>i>>>0&(0|(o=c>>>0<8?o+1|0:o))>=(0|s)|(0|o)>(0|s)||(f[t+16>>2]=c,f[t+20>>2]=o,1&a&&((o=31^k(a))-30>>>0<4294967267||(f[e+8>>2]=o+1,o=-2-(s=-2<<o)|0,f[e+16>>2]=o,f[e+12>>2]=-1^s,f[e+24>>2]=(0|o)/2,A[e+20>>2]=_(2)/_(0|o),l=Ie(e+96|0,t))))),0|l}function Xe(e){var t=0,r=0,i=0,n=0;r=1;e:if(!((0|(i=f[e+140>>2]))<=0)){for(t=i<<4,r=br((0|i)!=(268435455&i)?-1:4|t),f[r>>2]=i,i=(r=r+4|0)+t|0,t=r;f[t>>2]=0,f[t+4>>2]=0,o[t+5|0]=0,o[t+6|0]=0,o[t+7|0]=0,o[t+8|0]=0,o[t+9|0]=0,o[t+10|0]=0,o[t+11|0]=0,o[t+12|0]=0,(0|i)!=(0|(t=t+16|0)););if(n=f[e+136>>2],f[e+136>>2]=r,n){if(r=f[(i=n-4|0)>>2])for(t=(r<<4)+n|0;(0|n)!=(0|(t=t-16|0)););ee(i)}if(r=1,!(f[e+140>>2]<=0))for(t=0;;){if(!(r=Ie(f[e+136>>2]+(t<<4)|0,e)))break e;if(!((0|(t=t+1|0))<f[e+140>>2]))break}}return r}function He(e,t){var r,i=0,n=0,a=0,s=0;return f[e+64>>2]||(i=br(32),f[i+16>>2]=0,f[i+20>>2]=0,f[i+8>>2]=0,f[i>>2]=0,f[i+4>>2]=0,f[i+24>>2]=0,f[i+28>>2]=0,n=f[e+64>>2],f[e+64>>2]=i,n&&((i=f[n>>2])&&(f[n+4>>2]=i,ee(i)),ee(n))),a=f[e+64>>2],n=(i=f[e+28>>2]-1|0)>>>0<=10?f[10180+(i<<2)>>2]:-1,n=i=d(n,o[e+24|0]),(a=Ot(a,0,Jt(i,r=i>>31,t,0),C))&&(i=f[e+64>>2],f[e>>2]=i,s=f[i+20>>2],f[e+8>>2]=f[i+16>>2],f[e+12>>2]=s,s=f[i+24>>2],i=f[i+28>>2],f[e+48>>2]=0,f[e+52>>2]=0,f[e+40>>2]=n,f[e+44>>2]=r,f[e+16>>2]=s,f[e+20>>2]=i,f[e+80>>2]=t),a}function qe(e,t,r){var i=0,n=0,o=0,a=0,s=0,c=0,l=0;o=e+4|0;e:{if(e=f[e+4>>2])for(c=(i=(n=u[r+11|0])<<24>>24<0)?f[r>>2]:r,n=i?f[r+4>>2]:n;;){t:{r:{i:{n:{o:{a:if(s=(l=(r=(i=(r=u[e+27|0])<<24>>24<0)?f[e+20>>2]:r)>>>0<n>>>0)?r:n){if(a=e+16|0,!(a=xt(c,i=i?f[a>>2]:a,s))){if(r>>>0>n>>>0)break a;break o}if((0|a)>=0)break o}else if(r>>>0<=n>>>0)break n;if(r=f[e>>2])break t;return f[t>>2]=e,e}if(r=xt(i,c,s))break i}if(l)break r;break e}if((0|r)>=0)break e}if(o=e+4|0,!(r=f[e+4>>2]))break e;e=o}o=e,e=r}return f[t>>2]=o,o}return f[t>>2]=e,o}function $e(e,t){var r=0;return r=f[t+4>>2],f[e>>2]=f[t>>2],f[e+4>>2]=r,r=f[t+60>>2],f[e+56>>2]=f[t+56>>2],f[e+60>>2]=r,r=f[t+52>>2],f[e+48>>2]=f[t+48>>2],f[e+52>>2]=r,r=f[t+44>>2],f[e+40>>2]=f[t+40>>2],f[e+44>>2]=r,r=f[t+36>>2],f[e+32>>2]=f[t+32>>2],f[e+36>>2]=r,r=f[t+28>>2],f[e+24>>2]=f[t+24>>2],f[e+28>>2]=r,r=f[t+20>>2],f[e+16>>2]=f[t+16>>2],f[e+20>>2]=r,r=f[t+12>>2],f[e+8>>2]=f[t+8>>2],f[e+12>>2]=r,f[e+88>>2]=0,f[e+64>>2]=0,f[e+68>>2]=0,f[e+72>>2]=0,f[e+76>>2]=0,o[e+77|0]=0,o[e+78|0]=0,o[e+79|0]=0,o[e+80|0]=0,o[e+81|0]=0,o[e+82|0]=0,o[e+83|0]=0,o[e+84|0]=0,e}function Ke(e,t){var r,i=0,n=0,o=0,a=0,s=0,c=0,l=0;r=e+4|0;e:{t:if(e=f[e+4>>2]){for(c=(i=(n=u[t+11|0])<<24>>24<0)?f[t>>2]:t,o=i?f[t+4>>2]:n,i=r;(n=(a=(s=(l=(t=u[e+27|0])<<24>>24<0)?f[e+20>>2]:t)>>>0>o>>>0)?o:s)&&(t=e+16|0,t=xt(l?f[t>>2]:t,c,n))||(t=o>>>0>s>>>0?-1:a),i=(0|t)<0?i:e,e=f[(t>>>29&4)+e>>2];);if((0|i)!=(0|r)){if(!((t=(n=(a=(e=u[i+27|0])<<24>>24<0)?f[i+20>>2]:e)>>>0<o>>>0?n:o)&&(e=i+16|0,e=xt(c,a?f[e>>2]:e,t)))){if(n>>>0>o>>>0)break t;break e}if((0|e)>=0)break e}}i=r}return i}function et(e,t,r){var i=0,n=0,o=0,a=0;e:{if(!((0|t)<0|(0|r)<0)){if(!(t>>>0>1431655765)){if(ye(e,i=d(t,3),10256),ye(e+12|0,i,10260),i=f[e+24>>2],!(f[e+32>>2]-i>>2>>>0>=r>>>0)){if(r>>>0>=1073741824)break e;n=f[e+28>>2],o=(r=br(o=r<<2))+o|0,a=(n=n-i|0)+r|0,(0|n)>0&&ge(r,i,n),f[e+32>>2]=o,f[e+28>>2]=a,f[e+24>>2]=r,i&&ee(i)}f[e+80>>2]=0,f[e+84>>2]=0,r=f[e+76>>2],f[e+76>>2]=0,r&&ee(r),f[e+68>>2]=0,f[e+72>>2]=0,e=f[(r=e- -64|0)>>2],f[r>>2]=0,e&&ee(e)}i=t>>>0<1431655766}return i}Lt(1326),E()}function tt(e){var t=0,r=0,i=0,n=0,a=0;if(i=f[e+8>>2],!u[i+84|0]&&!(!(t=f[e+16>>2])|!u[t+84|0]||(r=f[i+72>>2],n=f[i+68>>2],o[t+84|0]=0,r=r-n>>2,a=f[t+68>>2],r>>>0>(n=f[t+72>>2]-a>>2)>>>0?(ve(t+68|0,r-n|0,2032),i=f[e+8>>2]):r>>>0>=n>>>0||(f[t+72>>2]=a+(r<<2)),(t=u[i+84|0])||(0|(r=f[i+68>>2]))==f[i+72>>2])))if(n=f[f[e+16>>2]+68>>2],t)f[n>>2]=0;else for(t=0;f[(a=t<<2)+n>>2]=f[r+a>>2],t=t+1|0,r=f[i+68>>2],t>>>0<f[i+72>>2]-r>>2>>>0;);return f[e+16>>2]}function rt(e,t){var r=0,i=0,n=0,o=0,a=0,s=0;if((0|(r=f[e+4>>2]))!=f[e+8>>2])return i=f[t+4>>2],f[r>>2]=f[t>>2],f[r+4>>2]=i,f[r+8>>2]=f[t+8>>2],void(f[e+4>>2]=r+12);e:{if((r=1+(i=(0|(a=r-(o=f[e>>2])|0))/12|0)|0)>>>0<357913942){if(n=i<<1,n=i>>>0<178956970?r>>>0>n>>>0?r:n:357913941){if(n>>>0>=357913942)break e;r=br(d(n,12))}else r=0;return i=r+d(i,12)|0,s=f[t+4>>2],f[i>>2]=f[t>>2],f[i+4>>2]=s,f[i+8>>2]=f[t+8>>2],t=i+d((0|a)/-12|0,12)|0,(0|a)>0&&ge(t,o,a),f[e+8>>2]=r+d(n,12),f[e+4>>2]=i+12,f[e>>2]=t,void(o&&ee(o))}ii(),E()}Lt(1326),E()}function it(e,t){t|=0;var r=0,i=0,n=0,o=0;e:if((0|(r=f[216+(e|=0)>>2]))!=f[e+220>>2]){for(;;){t:if(!((0|(r=f[d(n,144)+r>>2]))<0||(i=f[e+4>>2],o=f[i+8>>2],(0|r)>=f[i+12>>2]-o>>2||(i=0,r=f[(r<<2)+o>>2],(0|_i[f[f[r>>2]+24>>2]](r))<=0)))){for(;;){if((0|_i[f[f[r>>2]+20>>2]](r,i))!=(0|t)){if(i=i+1|0,(0|_i[f[f[r>>2]+24>>2]](r))>(0|i))continue;break t}break}e=f[e+216>>2]+d(n,144)|0,n=u[e+100|0]?e+4|0:0;break e}if(n=n+1|0,r=f[e+216>>2],!(n>>>0<(f[e+220>>2]-r|0)/144>>>0))break}return 0}return 0|n}function nt(e,t,r,i,n,a,s){var c,l=0,A=0;if(I=c=I-16|0,(-1^t)-17>>>0>=r>>>0)return A=u[e+11|0]>>>7|0?f[e>>2]:e,t>>>0<2147483623?(f[c+8>>2]=t<<1,f[c+12>>2]=t+r,I=r=I-16|0,I=r+16|0,r=c+8|0,r=(r=f[(b[(l=c+12|0)>>2]<b[r>>2]?r:l)>>2])>>>0>=11?11==(0|(r=(l=r+16&-16)-1|0))?l:r:10):r=-18,r=br(l=r+1|0),a&&Lr(r,s,a),(i=i-n|0)&&Lr(r+a|0,n+A|0,i),10!=(0|t)&&ee(A),f[e>>2]=r,f[e+8>>2]=-2147483648|l,t=e,e=i+a|0,f[t+4>>2]=e,o[c+7|0]=0,o[e+r|0]=u[c+7|0],void(I=c+16|0);oi(),E()}function ot(e,t){t|=0;var r=0,i=0,n=0,o=0;if((0|(r=f[216+(e|=0)>>2]))!=f[e+220>>2])for(;;){e:if(!((0|(r=f[d(n,144)+r>>2]))<0||(i=f[e+4>>2],o=f[i+8>>2],(0|r)>=f[i+12>>2]-o>>2||(i=0,r=f[(r<<2)+o>>2],(0|_i[f[f[r>>2]+24>>2]](r))<=0)))){for(;;){if((0|_i[f[f[r>>2]+20>>2]](r,i))!=(0|t)){if(i=i+1|0,(0|_i[f[f[r>>2]+24>>2]](r))>(0|i))continue;break e}break}return 104+(f[e+216>>2]+d(n,144)|0)|0}if(n=n+1|0,r=f[e+216>>2],!(n>>>0<(f[e+220>>2]-r|0)/144>>>0))break}return e+184|0}function at(e,t){var r,i=0,n=0,o=0,a=0,s=0,c=0;I=r=I-16|0;e:{if(!(f[e+8>>2]<<5>>>0>=t>>>0)){if(f[r+8>>2]=0,f[r>>2]=0,f[r+4>>2]=0,(0|t)<0)break e;n=br((a=1+(t-1>>>5|0)|0)<<2),f[r+8>>2]=a,f[r>>2]=n,o=f[e>>2],t=f[e+4>>2],f[r+4>>2]=t,f[((t>>>0<33?0:t-1>>>5|0)<<2)+n>>2]=0,(0|t)<=0||(c=je(n,o,i=(s=t>>>5|0)<<2),(0|(t=t-(s<<5)|0))<=0||(t=-1>>>32-t|0,f[(i=i+c|0)>>2]=f[i>>2]&(-1^t)|t&f[(s<<2)+o>>2])),f[e+8>>2]=a,f[e>>2]=n,o&&ee(o)}return void(I=r+16|0)}ii(),E()}function ft(e){var t,r=0,i=0;if(f[(e|=0)>>2]=10332,(r=f[e+68>>2])&&(f[e+72>>2]=r,ee(r)),(r=f[e+56>>2])&&(f[e+60>>2]=r,ee(r)),(r=f[e+44>>2])&&(f[e+48>>2]=r,ee(r)),(r=f[e+32>>2])&&(f[e+36>>2]=r,ee(r)),(r=f[e+20>>2])&&(f[e+24>>2]=r,ee(r)),t=f[e+8>>2]){if((0|(i=f[e+12>>2]))==(0|t))r=t;else{for(;r=f[(i=i-4|0)>>2],f[i>>2]=0,r&&Zt(r),(0|t)!=(0|i););r=f[e+8>>2]}f[e+12>>2]=t,ee(r)}return r=f[e+4>>2],f[e+4>>2]=0,r&&Rt(r),0|e}function st(e,t){var r=0,i=0,n=0,o=0,a=0,s=0,c=0;if((n=f[e+8>>2])-(r=f[e+4>>2])>>2>>>0>=t>>>0)return t&&(r=Ye(r,0,t<<=2)+t|0),void(f[e+4>>2]=r);e:{if((i=(s=(a=r-(o=f[e>>2])|0)>>2)+t|0)>>>0<1073741824){if(r=0,c=(n=n-o|0)>>1,i=n>>2>>>0<536870911?i>>>0>c>>>0?i:c:1073741823){if(i>>>0>=1073741824)break e;r=br(i<<2)}return t=Ye((s<<2)+r|0,0,t<<=2)+t|0,(0|a)>0&&ge(r,o,a),f[e+8>>2]=(i<<2)+r,f[e+4>>2]=t,f[e>>2]=r,void(o&&ee(o))}ii(),E()}Lt(1326),E()}function ct(e,t){var r=0,i=0,n=0,o=0,a=0,s=0,c=0;if((n=f[e+8>>2])-(r=f[e+4>>2])>>3>>>0>=t>>>0)return t&&(r=Ye(r,0,t<<=3)+t|0),void(f[e+4>>2]=r);e:{if((i=(s=(a=r-(o=f[e>>2])|0)>>3)+t|0)>>>0<536870912){if(r=0,c=(n=n-o|0)>>2,i=n>>3>>>0<268435455?i>>>0>c>>>0?i:c:536870911){if(i>>>0>=536870912)break e;r=br(i<<3)}return t=Ye((s<<3)+r|0,0,t<<=3)+t|0,(0|a)>0&&ge(r,o,a),f[e+8>>2]=(i<<3)+r,f[e+4>>2]=t,f[e>>2]=r,void(o&&ee(o))}ii(),E()}Lt(1326),E()}function ut(e,t){var r,i=0,n=0,o=0,a=0,s=0;if(r=f[e>>2],(e=f[r+4>>2])>>>0<(i=f[r+8>>2])>>>0)return f[e>>2]=f[t>>2],void(f[r+4>>2]=e+4);e:{if((e=1+(n=(a=e-(o=f[r>>2])|0)>>2)|0)>>>0<1073741824){if(s=n<<2,n=(i=i-o|0)>>1,i=i>>2>>>0<536870911?e>>>0>n>>>0?e:n:1073741823){if(i>>>0>=1073741824)break e;e=br(i<<2)}else e=0;return f[(n=s+e|0)>>2]=f[t>>2],(0|a)>0&&ge(e,o,a),f[r+8>>2]=e+(i<<2),f[r+4>>2]=n+4,f[r>>2]=e,void(o&&ee(o))}ii(),E()}Lt(1326),E()}function lt(e,t){var r=0,i=0,n=0,o=0,a=0,s=0;e:{t:{if((o=(r=f[e+4>>2])-(n=f[e>>2])|0)>>>0<t>>>0){if((a=t-o|0)>>>0<=(i=f[e+8>>2])-r>>>0)return a&&(r=Ye(r,0,a)+a|0),void(f[e+4>>2]=r);if((0|t)<0)break e;if(r=0,s=(i=i-n|0)<<1,(i=i>>>0<1073741823?t>>>0>s>>>0?t:s:2147483647)&&(r=br(i)),Ye(r+o|0,0,a),(0|o)>0&&ge(r,n,o),f[e+8>>2]=r+i,f[e+4>>2]=t+r,f[e>>2]=r,!n)break t;return void ee(n)}t>>>0>=o>>>0||(f[e+4>>2]=t+n)}return}ii(),E()}function bt(e,t){var r=0,i=0,n=0,o=0,a=0,s=0;if((n=f[e+8>>2])-(r=f[e+4>>2])>>1>>>0>=t>>>0)return t&&(r=Ye(r,0,t<<=1)+t|0),void(f[e+4>>2]=r);e:{if((0|(i=(s=(a=r-(o=f[e>>2])|0)>>1)+t|0))>=0){if(r=0,i=(n=n-o|0)>>1>>>0<1073741823?i>>>0>n>>>0?i:n:2147483647){if((0|i)<0)break e;r=br(i<<1)}return t=Ye((s<<1)+r|0,0,t<<=1)+t|0,(0|a)>0&&ge(r,o,a),f[e+8>>2]=(i<<1)+r,f[e+4>>2]=t,f[e>>2]=r,void(o&&ee(o))}ii(),E()}Lt(1326),E()}function At(e){var t=0,r=0,i=0,n=0,o=0;if((0|(t=f[e+4>>2]))!=f[e+8>>2])return f[t>>2]=f[2088],void(f[e+4>>2]=t+4);e:{if((t=1+(i=(o=t-(n=f[e>>2])|0)>>2)|0)>>>0<1073741824){if(r=o>>1,r=i>>>0<536870911?t>>>0>r>>>0?t:r:1073741823){if(r>>>0>=1073741824)break e;t=br(r<<2)}else t=0;return f[(i=t+(i<<2)|0)>>2]=f[2088],(0|o)>0&&ge(t,n,o),f[e+8>>2]=t+(r<<2),f[e+4>>2]=i+4,f[e>>2]=t,void(n&&ee(n))}ii(),E()}Lt(1326),E()}function pt(e,t){var r=0,i=0,n=0,o=0;i=f[e+12>>2],(r=f[e+16>>2]-i>>2)>>>0<t>>>0?st(e+12|0,t-r|0):t>>>0>=r>>>0||(f[e+16>>2]=i+(t<<2));e:{if(r=f[e>>2],!(f[e+8>>2]-r>>2>>>0>=t>>>0)){if(t>>>0>=1073741824)break e;i=f[e+4>>2],n=(t=br(n=t<<2))+n|0,o=(i=i-r|0)+t|0,(0|i)>0&&ge(t,r,i),f[e+8>>2]=n,f[e+4>>2]=o,f[e>>2]=t,r&&ee(r)}return}Lt(1326),E()}function dt(e,t,r){var i=0,n=0,a=0,s=0;e:if(!(e>>>0>10||(0|(i=f[r+20>>2]))>=(0|(n=f[r+12>>2]))&(a=f[r+16>>2])>>>0>=b[r+8>>2]|(0|i)>(0|n))){if(n=o[a+f[r>>2]|0],i=(a=a+1|0)?i:i+1|0,f[r+16>>2]=a,f[r+20>>2]=i,(0|n)<0){if(!dt(e+1|0,t,r))break e;r=f[t>>2],e=f[t+4>>2]<<7|r>>>25,r=127&n|r<<7}else e=0,r=255&n;f[t>>2]=r,f[t+4>>2]=e,s=1}return s}function _t(e,t,r,i){o[e+53|0]=1;e:if(f[e+4>>2]==(0|r)){o[e+52|0]=1;t:{if(!(r=f[e+16>>2])){if(f[e+36>>2]=1,f[e+24>>2]=i,f[e+16>>2]=t,1!=f[e+48>>2])break e;if(1==(0|i))break t;break e}if((0|t)==(0|r)){if(2==(0|(r=f[e+24>>2]))&&(f[e+24>>2]=i,r=i),1!=f[e+48>>2])break e;if(1==(0|r))break t;break e}f[e+36>>2]=f[e+36>>2]+1}o[e+54|0]=1}}function ht(e,t,r){t|=0,r|=0;var i,n=0;I=i=I-16|0,f[4+(e|=0)>>2]=t,t=f[t+64>>2],n=f[t>>2],t=f[t+4>>2],o[i+15|0]=0,Je(e+24|0,(t-n>>2>>>0)/3|0,i+15|0),t=f[e+4>>2],n=f[t+56>>2],t=f[t+52>>2],o[i+14|0]=0,Je(e+36|0,n-t>>2,i+14|0),t=f[r+12>>2],f[e+16>>2]=f[r+8>>2],f[e+20>>2]=t,t=f[r+4>>2],f[e+8>>2]=f[r>>2],f[e+12>>2]=t,I=i+16|0}function kt(e){f[e>>2]=0,f[e+4>>2]=0,f[e+28>>2]=0,f[e+32>>2]=0,o[e+24|0]=1,f[e+16>>2]=0,f[e+20>>2]=0,f[e+8>>2]=0,f[e+12>>2]=0,f[e+36>>2]=0,f[e+40>>2]=0,f[e+44>>2]=0,f[e+48>>2]=0,f[e+52>>2]=0,f[e+56>>2]=0,f[e+60>>2]=0,f[e+64>>2]=0,f[e+72>>2]=0,f[e+76>>2]=0,f[e+80>>2]=0,f[e+84>>2]=0,f[e+88>>2]=0,f[e+92>>2]=0,f[e+68>>2]=e}function mt(e,t){var r,i,n,o=0,s=0;f[e+144>>2]=t,o=f[32+(0|_i[f[f[t>>2]+32>>2]](t))>>2],r=f[o>>2]+f[o+16>>2]|0,s=f[32+(0|_i[f[f[t>>2]+32>>2]](t))>>2],o=(o=f[s+8>>2])-(s=f[s+16>>2])|0,i=e,n=l[f[32+(0|_i[f[f[t>>2]+32>>2]](t))>>2]+38>>1],a[i+38>>1]=n,f[e>>2]=r,f[e+16>>2]=0,f[e+20>>2]=0,f[e+8>>2]=o,f[e+12>>2]=0}function yt(e){var t;f[e>>2]=0,f[e+4>>2]=0,f[e+56>>2]=0,f[e+48>>2]=0,f[e+52>>2]=0,f[e+40>>2]=0,f[e+44>>2]=0,f[e+32>>2]=0,f[e+36>>2]=0,f[e+24>>2]=0,f[e+28>>2]=0,f[e+16>>2]=0,f[e+20>>2]=0,f[e+8>>2]=0,f[e+12>>2]=0,f[(t=e- -64|0)>>2]=0,f[t+4>>2]=0,f[e+72>>2]=0,f[e+76>>2]=0,f[e+80>>2]=0,f[e+84>>2]=0,f[e+60>>2]=e}function vt(e,t,r){var i=0,n=0,o=0,a=0,s=0;e:if(!(e>>>0>5||(0|(i=o=f[r+20>>2]))>=(0|(a=f[r+12>>2]))&(n=f[r+16>>2])>>>0>=b[r+8>>2]|(0|i)>(0|a))){if(i=u[n+f[r>>2]|0],o=(n=n+1|0)?o:o+1|0,f[r+16>>2]=n,f[r+20>>2]=o,128&i){if(!vt(e+1|0,t,r))break e;i=127&i|f[t>>2]<<7}f[t>>2]=i,s=1}return s}function gt(e,t,r){var i=0,n=0,o=0,a=0,s=0;e:if(!(e>>>0>5||(0|(i=o=f[r+20>>2]))>=(0|(a=f[r+12>>2]))&(n=f[r+16>>2])>>>0>=b[r+8>>2]|(0|i)>(0|a))){if(i=u[n+f[r>>2]|0],o=(n=n+1|0)?o:o+1|0,f[r+16>>2]=n,f[r+20>>2]=o,128&i){if(!gt(e+1|0,t,r))break e;i=127&i|f[t>>2]<<7}f[t>>2]=i,s=1}return s}function wt(e,t,r){var i=0,n=0,o=0,a=0,s=0;e:if(!(e>>>0>5||(0|(i=o=f[r+20>>2]))>=(0|(a=f[r+12>>2]))&(n=f[r+16>>2])>>>0>=b[r+8>>2]|(0|i)>(0|a))){if(i=u[n+f[r>>2]|0],o=(n=n+1|0)?o:o+1|0,f[r+16>>2]=n,f[r+20>>2]=o,128&i){if(!wt(e+1|0,t,r))break e;i=127&i|f[t>>2]<<7}f[t>>2]=i,s=1}return s}function Et(e,t,r){var i=0,n=0,o=0,a=0,s=0;e:if(!(e>>>0>5||(0|(i=o=f[r+20>>2]))>=(0|(a=f[r+12>>2]))&(n=f[r+16>>2])>>>0>=b[r+8>>2]|(0|i)>(0|a))){if(i=u[n+f[r>>2]|0],o=(n=n+1|0)?o:o+1|0,f[r+16>>2]=n,f[r+20>>2]=o,128&i){if(!Et(e+1|0,t,r))break e;i=127&i|f[t>>2]<<7}f[t>>2]=i,s=1}return s}function Tt(e,t,r){var i=0,n=0,o=0,a=0,s=0;e:if(!(e>>>0>5||(0|(i=o=f[r+20>>2]))>=(0|(a=f[r+12>>2]))&(n=f[r+16>>2])>>>0>=b[r+8>>2]|(0|i)>(0|a))){if(i=u[n+f[r>>2]|0],o=(n=n+1|0)?o:o+1|0,f[r+16>>2]=n,f[r+20>>2]=o,128&i){if(!Tt(e+1|0,t,r))break e;i=127&i|f[t>>2]<<7}f[t>>2]=i,s=1}return s}function Bt(e,t,r){var i=0,n=0,o=0,a=0,s=0;e:if(!(e>>>0>5||(0|(i=o=f[r+20>>2]))>=(0|(a=f[r+12>>2]))&(n=f[r+16>>2])>>>0>=b[r+8>>2]|(0|i)>(0|a))){if(i=u[n+f[r>>2]|0],o=(n=n+1|0)?o:o+1|0,f[r+16>>2]=n,f[r+20>>2]=o,128&i){if(!Bt(e+1|0,t,r))break e;i=127&i|f[t>>2]<<7}f[t>>2]=i,s=1}return s}function xt(e,t,r){var i=0,n=0;e:{t:{if(r>>>0>=4){if(3&(e|t))break t;for(;;){if(f[e>>2]!=f[t>>2])break t;if(t=t+4|0,e=e+4|0,!((r=r-4|0)>>>0>3))break}}if(!r)break e}for(;;){if((0|(i=u[0|e]))==(0|(n=u[0|t]))){if(t=t+1|0,e=e+1|0,r=r-1|0)continue;break e}break}return i-n|0}return 0}function Rt(e){var t=0,r=0,i=0;if(e){if(i=f[e+24>>2]){if((0|(r=f[e+28>>2]))==(0|i))t=i;else{for(;t=f[(r=r-4|0)>>2],f[r>>2]=0,t&&(rr(t+12|0,f[t+16>>2]),ur(t,f[t+4>>2]),ee(t)),(0|i)!=(0|r););t=f[e+24>>2]}f[e+28>>2]=i,ee(t)}rr(e+12|0,f[e+16>>2]),ur(e,f[e+4>>2]),ee(e)}}function Nt(e){var t=0,r=0,i=0;e:{if(3&(t=e))for(;;){if(!u[0|t])break e;if(!(3&(t=t+1|0)))break}for(;r=t,t=t+4|0,!((-1^(i=f[r>>2]))&i-16843009&-2139062144););if(!(255&i))return r-e|0;for(;i=u[r+1|0],r=t=r+1|0,i;);}return t-e|0}function It(e,t,r){e|=0,t|=0;var i,n,o,a,s=0,c=0;return(a=f[8+(r|=0)>>2])>>>0>(n=f[r+16>>2])>>>0&(0|(s=o=f[r+12>>2]))>=(0|(i=f[r+20>>2]))|(0|i)<(0|s)&&(t=u[n+f[r>>2]|0],s=(c=n+1|0)?i:i+1|0,f[r+16>>2]=c,f[r+20>>2]=s,f[e+4>>2]=t),n>>>0<a>>>0&(0|i)<=(0|o)|(0|i)<(0|o)}function Ct(e,t,r){var i=0;if(!r)return f[e+4>>2]==f[t+4>>2];if((0|e)==(0|t))return 1;i=f[e+4>>2],e=u[0|i],r=f[t+4>>2];e:if(!(!e|(0|(t=u[0|r]))!=(0|e)))for(;;){if(t=u[r+1|0],!(e=u[i+1|0]))break e;if(r=r+1|0,i=i+1|0,(0|e)!=(0|t))break}return(0|e)==(0|t)}function Dt(e,t){var r=0,i=0,n=0,o=0;e:{if(r=f[e>>2],!(f[e+8>>2]-r>>2>>>0>=t>>>0)){if(t>>>0>=1073741824)break e;i=f[e+4>>2],n=(t=br(n=t<<2))+n|0,o=(i=i-r|0)+t|0,(0|i)>0&&ge(t,r,i),f[e+8>>2]=n,f[e+4>>2]=o,f[e>>2]=t,r&&ee(r)}return}Lt(1326),E()}function Mt(e){var t=0;e&&((t=f[e+76>>2])&&(f[e+80>>2]=t,ee(t)),(t=f[e- -64>>2])&&(f[e+68>>2]=t,ee(t)),(t=f[e+48>>2])&&(f[e+52>>2]=t,ee(t)),(t=f[e+24>>2])&&(f[e+28>>2]=t,ee(t)),(t=f[e+12>>2])&&(f[e+16>>2]=t,ee(t)),(t=f[e>>2])&&(f[e+4>>2]=t,ee(t)),ee(e))}function Gt(e){var t=0;(t=f[e+84>>2])&&(f[e+88>>2]=t,ee(t)),(t=f[e+72>>2])&&(f[e+76>>2]=t,ee(t)),(t=f[e+52>>2])&&(f[e+56>>2]=t,ee(t)),(t=f[e+40>>2])&&(f[e+44>>2]=t,ee(t)),(t=f[e+28>>2])&&(f[e+32>>2]=t,ee(t)),(t=f[e+12>>2])&&ee(t),(e=f[e>>2])&&ee(e)}function Ut(e){var t,r=0,i=0;if((0|(r=f[e+4>>2]))!=(0|(t=f[e>>2])))for(;(i=f[r-12>>2])&&(f[r-8>>2]=i,ee(i)),(i=f[r-28>>2])&&(f[r-24>>2]=i,ee(i)),(i=f[r-40>>2])&&(f[r-36>>2]=i,ee(i)),Gt(r-140|0),(0|t)!=(0|(r=r-144|0)););f[e+4>>2]=t}function Vt(e,t,r){var i=0,n=0;e:{if(r>>>0<=10)o[(i=e)+11|0]=r;else{if(r>>>0>4294967279)break e;i=r>>>0>=11?11==(0|(i=(n=r+16&-16)-1|0))?n:i:10,i=br(n=i+1|0),f[e>>2]=i,f[e+8>>2]=-2147483648|n,f[e+4>>2]=r}return void Lr(i,t,r+1|0)}oi(),E()}function St(e,t,r){var i,n,o=0,a=0,s=0;for(I=i=(I=n=I-16|0)-16|0,t=t-e>>2;t;)f[i+12>>2]=e,o=t>>>1|0,f[i+12>>2]=f[i+12>>2]+(o<<2),s=(-1^o)+t|0,t=o,o=f[i+12>>2],t=(a=b[o>>2]<b[r>>2])?s:t,e=a?o+4|0:e;return I=i+16|0,I=n+16|0,e}function Ft(e,t){var r,i;return i=br(40),f[i>>2]=-1,f[16+(r=i+8|0)>>2]=0,f[r+20>>2]=0,f[r+8>>2]=0,f[r>>2]=0,f[r+4>>2]=0,f[r+24>>2]=0,f[r+28>>2]=0,_i[f[f[e>>2]+16>>2]](e,i),e=f[t+88>>2],f[t+88>>2]=i,e&&((t=f[e+8>>2])&&(f[e+12>>2]=t,ee(t)),ee(e)),1}function Wt(e){var t,r,i=0,n=0,o=0;return o=u[e+12|0],(n=f[e+8>>2])>>>0>4095||(0|(i=f[e+4>>2]))<=0||(i=i-1|0,f[e+4>>2]=i,n=u[i+f[e>>2]|0]|n<<8),i=d(o=0-o&255,n>>>8|0),r=(t=255&n)>>>0<o>>>0,f[e+8>>2]=r?i+t|0:n-(i+o|0)|0,r}function jt(e,t){return f[e+4>>2]=0,f[e+8>>2]=0,f[e>>2]=1804,f[e+12>>2]=0,f[e+16>>2]=0,f[e+20>>2]=0,f[e+24>>2]=0,f[e+28>>2]=0,f[e+32>>2]=0,f[e+36>>2]=0,f[e+40>>2]=0,f[e>>2]=2044,f[e+44>>2]=0,f[e+48>>2]=0,f[e+52>>2]=0,f[e+56>>2]=0,f[e+60>>2]=t,e}function Ot(e,t,r,i){if(t){if((0|i)<0)return 0;!i&f[e+4>>2]-f[e>>2]>>>0>=r>>>0||lt(e,r),r&&je(f[e>>2],t,r)}else{if((0|i)<0)return 0;lt(e,r)}return t=f[e+28>>2],t=(r=f[e+24>>2]+1|0)?t:t+1|0,f[e+24>>2]=r,f[e+28>>2]=t,1}function Zt(e){var t=0,r=0;(e|=0)&&(t=f[e+88>>2],f[e+88>>2]=0,t&&((r=f[t+8>>2])&&(f[t+12>>2]=r,ee(r)),ee(t)),(t=f[e+68>>2])&&(f[e+72>>2]=t,ee(t)),t=f[e+64>>2],f[e+64>>2]=0,t&&((r=f[t>>2])&&(f[t+4>>2]=r,ee(r)),ee(t)),ee(e))}function Pt(e,t){var r,i=0,n=0;if((r=Nt(t))>>>0<4294967280){e:{if(r>>>0>=11)i=br(n=r+16&-16),f[e+8>>2]=-2147483648|n,f[e>>2]=i,f[e+4>>2]=r;else if(o[e+11|0]=r,i=e,!r)break e;ge(i,t,r)}return o[r+i|0]=0,e}oi(),E()}function Yt(e,t,r,i){var n,o=0,a=0;return n=(a=t^i)>>31,a>>=31,e=Ee((e^=o=t>>31)-o|0,o=(t^o)-((e>>>0<o>>>0)+o|0)|0,(t=r^(e=i>>31))-e|0,(e^i)-((e>>>0>t>>>0)+e|0)|0)^a,C=(n^C)-((e>>>0<a>>>0)+n|0)|0,t=e-a|0}function zt(e,t,r){var i,n=0;I=i=I-16|0,(n=2147483647&f[e+8>>2])>>>0>r>>>0?(n=f[e>>2],f[e+4>>2]=r,Lr(n,t,r),o[i+15|0]=0,o[r+n|0]=u[i+15|0]):nt(e,n-1|0,1+(r-n|0)|0,e=f[e+4>>2],e,r,t),I=i+16|0}function Jt(e,t,r,i){var n,o,a,f,s=0,c=0;return f=d(s=r>>>16|0,c=e>>>16|0),s=(65535&(c=((a=d(n=65535&r,o=65535&e))>>>16|0)+d(c,n)|0))+d(s,o)|0,C=(d(t,r)+f|0)+d(e,i)+(c>>>16)+(s>>>16)|0,65535&a|s<<16}function Qt(e,t,r){var i;if(!(i=f[e+16>>2]))return f[e+36>>2]=1,f[e+24>>2]=r,void(f[e+16>>2]=t);e:{if((0|t)==(0|i)){if(2!=f[e+24>>2])break e;return void(f[e+24>>2]=r)}o[e+54|0]=1,f[e+24>>2]=2,f[e+36>>2]=f[e+36>>2]+1}}function Lt(e){var t,r,i,n,o;t=0|N(8),f[t>>2]=11024,f[t>>2]=11068,i=br((r=Nt(e))+13|0),f[i+8>>2]=0,f[i+4>>2]=r,f[i>>2]=r,n=t,o=ge(i+12|0,e,r+1|0),f[n+4>>2]=o,f[t>>2]=11116,R(0|t,11148,13),E()}function Xt(e,t,r){var i=0;return(0|(i=e+4|0))==(0|(e=Ke(e,t)))?0:((0|(t=f[e+32>>2]))!=(0|(i=f[e+28>>2]))&&(Ne(r,t-i|0),ge(lr(r),r=f[e+28>>2],f[e+32>>2]-r|0)),(0|t)!=(0|i))}function Ht(e,t){var r,i=0;if(r=f[e+8>>2],e=f[e+12>>2]-r|0)for(i=(e>>=2)>>>0>1?e:1,e=0;;){if(f[f[(e<<2)+r>>2]+60>>2]==(0|t))return e;if((0|i)==(0|(e=e+1|0)))break}return-1}function qt(e){return f[e+8>>2]=0,f[e+12>>2]=0,f[e>>2]=0,f[e+40>>2]=0,f[e+44>>2]=0,f[e+28>>2]=9,o[e+24|0]=1,f[e+56>>2]=-1,f[e+60>>2]=0,f[e+16>>2]=0,f[e+20>>2]=0,f[e+48>>2]=0,f[e+52>>2]=0,e}function $t(e){f[e+40>>2]=0,f[e+4>>2]=0,f[e+8>>2]=0,f[e>>2]=10064,f[e+12>>2]=0,f[e+16>>2]=0,f[e+20>>2]=0,f[e+24>>2]=0,f[e+28>>2]=0,f[e+32>>2]=0,a[e+36>>1]=0,f[e+44>>2]=0,f[e>>2]=8108}function Kt(e,t,r){var i=0;return t&&(t=0,!function e(t,r,i){var n=0,a=0,s=0,c=0;e:if(!(t>>>0>10||(0|(n=f[i+20>>2]))>=(0|(a=f[i+12>>2]))&(s=f[i+16>>2])>>>0>=b[i+8>>2]|(0|n)>(0|a))){if(a=o[s+f[i>>2]|0],n=(s=s+1|0)?n:n+1|0,f[i+16>>2]=s,f[i+20>>2]=n,(0|a)<0){if(!e(t+1|0,r,i))break e;i=f[r>>2],t=f[r+4>>2]<<7|i>>>25,i=127&a|i<<7}else t=0,i=255&a;f[r>>2]=i,f[r+4>>2]=t,c=1}return c}(1,r,e))||(o[e+36|0]=1,f[e+32>>2]=0,r=(t=f[e+16>>2])+f[e>>2]|0,f[e+24>>2]=r,i=e,e=f[e+8>>2],f[i+28>>2]=r+(e-t|0),t=1),t}function er(e){var t,r;return(e=(t=f[2853])+(r=e+3&-4)|0)>>>0<=t>>>0&&r||e>>>0>hi()<<16>>>0&&!(0|x(0|e))?(f[2879]=48,-1):(f[2853]=e,t)}function tr(e,t,r){var i;I=i=I-16|0,r>>>0<=10?(o[e+11|0]=r,Lr(e,t,r),o[i+15|0]=0,o[e+r|0]=u[i+15|0]):nt(e,10,r-10|0,e=u[e+11|0],e,r,t),I=i+16|0}function rr(e,t){t&&(rr(e,f[t>>2]),rr(e,f[t+4>>2]),e=f[t+28>>2],f[t+28>>2]=0,e&&(rr(e+12|0,f[e+16>>2]),ur(e,f[e+4>>2]),ee(e)),o[t+27|0]<0&&ee(f[t+16>>2]),ee(t))}function ir(e){var t=0;return!f[(e|=0)- -64>>2]|!f[e+68>>2]|!f[e+44>>2]|!f[e+48>>2]||!f[e+52>>2]|!f[e+56>>2]||(t=-1!=f[e+92>>2]),0|t}function nr(e){var t=0;return f[(e|=0)>>2]=2164,t=f[e+20>>2],f[e+20>>2]=0,t&&_i[f[f[t>>2]+4>>2]](t),f[e>>2]=1948,t=f[e+16>>2],f[e+16>>2]=0,t&&Zt(t),0|e}function or(e){var t=0;return!f[48+(e|=0)>>2]|!f[e+52>>2]|!f[e+28>>2]|!f[e+32>>2]||!f[e+36>>2]|!f[e+40>>2]||(t=-1!=f[e+76>>2]),0|t}function ar(e){var t=0;return f[(e|=0)>>2]=8652,(t=f[e+48>>2])&&(f[e+52>>2]=t,ee(t)),f[e>>2]=8904,(t=f[e+36>>2])&&ee(t),(t=f[e+24>>2])&&ee(t),0|e}function fr(e){var t=0;f[(e|=0)>>2]=2164,t=f[e+20>>2],f[e+20>>2]=0,t&&_i[f[f[t>>2]+4>>2]](t),f[e>>2]=1948,t=f[e+16>>2],f[e+16>>2]=0,t&&Zt(t),ee(e)}function sr(e,t){var r=0;return r=-1,-1==(0|t)|(0|t)>4||(t=d(t,12)+e|0,e=f[t+20>>2],(f[t+24>>2]-e|0)<=0||(r=f[e>>2])),r}function cr(e,t,r,i,n,a,s){f[e>>2]=0,f[e+56>>2]=t,f[e+48>>2]=0,f[e+52>>2]=0,f[e+40>>2]=a,f[e+44>>2]=s,o[e+32|0]=n,f[e+28>>2]=i,o[e+24|0]=r}function ur(e,t){t&&(ur(e,f[t>>2]),ur(e,f[t+4>>2]),(e=f[t+28>>2])&&(f[t+32>>2]=e,ee(e)),o[t+27|0]<0&&ee(f[t+16>>2]),ee(t))}function lr(e){return(u[e+11|0]>>>7|0?f[e+4>>2]:u[e+11|0])||(pi(),E()),u[e+11|0]>>>7|0&&(e=f[e>>2]),e}function br(e){var t=0;e=e||1;e:{for(;;){if(t=M(e))break e;if(!(t=f[2880]))break;_i[0|t]()}T(),E()}return t}function Ar(e,t){t&&(Ar(e,f[t>>2]),Ar(e,f[t+4>>2]),o[t+39|0]<0&&ee(f[t+28>>2]),o[t+27|0]<0&&ee(f[t+16>>2]),ee(t))}function pr(e){var t,r;return f[(e|=0)>>2]=11068,t=f[e+4>>2]-12|0,r=f[t+8>>2]-1|0,f[t+8>>2]=r,(0|r)<0&&ee(t),0|e}function dr(e,t){e|=0;var r=0;e:switch(0|(t|=0)){case 1:t=1;case 0:f[e+28>>2]=t,r=1}return 0|r}function _r(e,t,r){return t|=0,r|=0,f[4+(e|=0)>>2]=t,t=f[f[f[t+4>>2]+8>>2]+(r<<2)>>2],f[e+12>>2]=r,f[e+8>>2]=t,1}function hr(e){var t=0;return!f[60+(e|=0)>>2]|!f[e+44>>2]|!f[e+48>>2]|!f[e+52>>2]||(t=0!=f[e+56>>2]),0|t}function kr(e,t){var r,i;lt(e,t),r=t=f[e+28>>2],i=t+1|0,t=f[e+24>>2]+1|0,f[e+24>>2]=t,f[e+28>>2]=t?r:i}function mr(e){var t=0;return!f[52+(e|=0)>>2]|!f[e+44>>2]|!f[e+48>>2]||(t=0!=f[e+56>>2]),0|t}function yr(e,t){e|=0;var r=0;return f[56+(t|=0)>>2]|!t|3!=u[t+24|0]||(f[e+60>>2]=t,r=1),0|r}function vr(e,t){e|=0;var r=0;return f[56+(t|=0)>>2]|3!=u[t+24|0]||(f[e- -64>>2]=t,r=1),0|r}function gr(e,t){e|=0;var r=0;return f[56+(t|=0)>>2]|3!=u[t+24|0]||(f[e+48>>2]=t,r=1),0|r}function wr(e){var t;f[(e|=0)>>2]=2988,(t=f[e+32>>2])&&(f[e+36>>2]=t,ee(t)),ee(e)}function Er(e){for(var t=0;e;)e&=e-1,t=t+1|0;return t}function Tr(){var e;return e=br(12),f[e>>2]=0,f[e+4>>2]=0,f[e+8>>2]=0,0|e}function Br(e){var t=0;(e|=0)&&((t=f[e>>2])&&(f[e+4>>2]=t,ee(t)),ee(e))}function xr(e){var t;return(-1>>>(t=31&e)&-2)<<t|(-1<<(e=0-e&31)&-2)>>>e}function Rr(e,t){return t|=0,0|_i[f[f[(e|=0)>>2]+12>>2]](e,t)}function Nr(e,t){return t|=0,f[f[(e|=0)>>2]+(t<<2)>>2]}function Ir(e,t,r){return 0|ae(e|=0,t|=0,r|=0)}function Cr(e){return e?31-k(e-1^e)|0:32}function Dr(e){return f[e>>2]=10332,Ye(e+4|0,0,80),e}function Mr(e){return f[12+(e|=0)>>2]-f[e+8>>2]>>2}function Gr(e){(e|=0)&&_i[f[f[e>>2]+4>>2]](e)}function Ur(e,t){return t|=0,f[4+(e|=0)>>2]=t,1}function Vr(e){return f[4+(e|=0)>>2]-f[e>>2]>>1}function Sr(e){return f[4+(e|=0)>>2]-f[e>>2]>>2}function Fr(e){return f[4+(e|=0)>>2]-f[e>>2]|0}function Wr(e){return f[28+(e|=0)>>2]}function jr(e){return f[80+(e|=0)>>2]}function Or(e,t){return 1}function Zr(e,t){return-1}function Pr(e){return f[8+(e|=0)>>2]}function Yr(e){return f[4+(e|=0)>>2]}function zr(e,t){return 6}function Jr(e,t){return 0}function Qr(e){return f[(e|=0)>>2]}function Lr(e,t,r){r&&ge(e,t,r)}function Xr(e){(e|=0)&&ee(e)}function Hr(e){return 0|(e|=0)}function qr(e){return 1}function $r(e){return 4}function Kr(e){return 5}function ei(e){return 0}function ti(e){return 2}function ri(e){return 6}function ii(){Lt(1266),E()}function ni(e){ee(e|=0)}function oi(){Lt(1313),E()}function ai(e){E()}function fi(){return-1}function si(){return 1}function ci(){pi(),E()}function ui(){return 0}function li(){return 3}function bi(){return 4}function Ai(){return 2}function pi(){T(),E()}function di(e){}n(t=u,1028,"YAQAAAEAAAACAAAAAwAAAAQAAAAFAAAABgAAAAcAAAAIAAAACQAAAAoAAAALAAAADAAAAE41ZHJhY28yOEF0dHJpYnV0ZU9jdGFoZWRyb25UcmFuc2Zvcm1FAABALAAAOAQAAPwGAAAAAAAA0AQAAA4AAAAPAAAAEAAAABEAAAASAAAAEwAAABQAAAAVAAAAFgAAAAoAAAAXAAAAGAAAAE41ZHJhY28zMEF0dHJpYnV0ZVF1YW50aXphdGlvblRyYW5zZm9ybUUAAAAAQCwAAKQEAAD8BgAAX19uZXh0X3ByaW1lIG92ZXJmbG93AHZlY3RvcgBzdGQ6OmV4Y2VwdGlvbgBza2lwX2F0dHJpYnV0ZV90cmFuc2Zvcm0AYmFzaWNfc3RyaW5nAGFsbG9jYXRvcjxUPjo6YWxsb2NhdGUoc2l6ZV90IG4pICduJyBleGNlZWRzIG1heGltdW0gc3VwcG9ydGVkIHNpemUARFJBQ08AVXNpbmcgaW5jb21wYXRpYmxlIGRlY29kZXIgZm9yIHRoZSBpbnB1dCBnZW9tZXRyeS4ARmFpbGVkIHRvIGRlY29kZSBwb2ludCBhdHRyaWJ1dGVzLgBGYWlsZWQgdG8gaW5pdGlhbGl6ZSB0aGUgZGVjb2Rlci4AVW5zdXBwb3J0ZWQgbWlub3IgdmVyc2lvbi4AVW5zdXBwb3J0ZWQgbWFqb3IgdmVyc2lvbi4ASW5wdXQgaXMgbm90IGEgbWVzaC4AVW5zdXBwb3J0ZWQgZ2VvbWV0cnkgdHlwZS4ATm90IGEgRHJhY28gZmlsZS4AVW5zdXBwb3J0ZWQgZW5jb2RpbmcgbWV0aG9kLgBGYWlsZWQgdG8gZGVjb2RlIG1ldGFkYXRhLgBGYWlsZWQgdG8gZGVjb2RlIGdlb21ldHJ5IGRhdGEuAFB1cmUgdmlydHVhbCBmdW5jdGlvbiBjYWxsZWQhAE41ZHJhY28xOEF0dHJpYnV0ZVRyYW5zZm9ybUUAABgsAADeBgAAAAAAAIgHAAAZAAAAGgAAABsAAAAcAAAAHQAAAB4AAAAfAAAAIAAAACEAAAAiAAAAIwAAACQAAABONWRyYWNvMTdBdHRyaWJ1dGVzRGVjb2RlckUATjVkcmFjbzI2QXR0cmlidXRlc0RlY29kZXJJbnRlcmZhY2VFAAAAABgsAABYBwAAQCwAADwHAACABwAAAAAAAOgHAAAlAAAAJgAAACcAAAAoAAAAKQAAACoAAAArAAAALAAAAC0AAABONWRyYWNvMjZTZXF1ZW50aWFsQXR0cmlidXRlRGVjb2RlckUAAAAAGCwAAMAHAAD/////AAAAAGAIAAAuAAAALwAAABsAAAAwAAAAMQAAAB4AAAAfAAAAIAAAADIAAAAzAAAANAAAADUAAAA2AAAATjVkcmFjbzM3U2VxdWVudGlhbEF0dHJpYnV0ZURlY29kZXJzQ29udHJvbGxlckUAQCwAADAIAACIBwAAAAAAANQIAAA3AAAAOAAAADkAAAAoAAAAKQAAACoAAAA6AAAALAAAADsAAAA8AAAAPQAAAD4AAAA/AAAATjVkcmFjbzMzU2VxdWVudGlhbEludGVnZXJBdHRyaWJ1dGVEZWNvZGVyRQBALAAAqAgAAOgHAAAAAAAAYAsAAEAAAABBAAAAQgAAAEMAAABEAAAARQAAAEYAAABHAAAASAAAAEkAAABKAAAASwAAAE41ZHJhY280ME1lc2hQcmVkaWN0aW9uU2NoZW1lUGFyYWxsZWxvZ3JhbURlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvMjdNZXNoUHJlZGljdGlvblNjaGVtZURlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvMjNQcmVkaWN0aW9uU2NoZW1lRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVFRQBONWRyYWNvMzdQcmVkaWN0aW9uU2NoZW1lVHlwZWREZWNvZGVySW50ZXJmYWNlSWlpRUUATjVkcmFjbzMyUHJlZGljdGlvblNjaGVtZURlY29kZXJJbnRlcmZhY2VFAE41ZHJhY28yNVByZWRpY3Rpb25TY2hlbWVJbnRlcmZhY2VFABgsAAAECwAAQCwAANkKAAAoCwAAQCwAAKUKAAAwCwAAQCwAAFEKAAA8CwAAQCwAALsJAABICwAAQCwAABgJAABUCwAAAAAAAFQLAABAAAAATAAAACIAAABDAAAAIgAAAEUAAABGAAAARwAAAEgAAABJAAAASgAAACIAAAAAAAAASAsAAEAAAABNAAAAIgAAAEMAAAAiAAAARQAAAEYAAABHAAAASAAAAEkAAABKAAAAIgAAAAAAAADIDAAATgAAAE8AAABQAAAAQwAAAFEAAABFAAAARgAAAEcAAABIAAAASQAAAFIAAABTAAAATjVkcmFjbzU2TWVzaFByZWRpY3Rpb25TY2hlbWVDb25zdHJhaW5lZE11bHRpUGFyYWxsZWxvZ3JhbURlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQAAQCwAABQMAABUCwAAAAAAALQNAABUAAAAVQAAAFYAAABDAAAAVwAAAFgAAABZAAAAWgAAAEgAAABJAAAAWwAAAFwAAABONWRyYWNvNDRNZXNoUHJlZGljdGlvblNjaGVtZVRleENvb3Jkc1BvcnRhYmxlRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAABALAAADA0AAFQLAAAAAAAAoA4AAF0AAABeAAAAXwAAAEMAAABgAAAAYQAAAGIAAABjAAAASAAAAEkAAABkAAAAZQAAAE41ZHJhY280Mk1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAAAAAEAsAAD4DQAAVAsAAAAAAAAoEAAAZgAAAGcAAABoAAAAaQAAAGoAAABONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckFyZWFJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckJhc2VJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQAAABgsAABzDwAAQCwAAMgOAAAgEAAAAAAAACAQAABmAAAAawAAACIAAABpAAAAIgAAAAAAAAC0EQAAQAAAAGwAAABtAAAAQwAAAG4AAABFAAAARgAAAEcAAABIAAAASQAAAEoAAABvAAAATjVkcmFjbzQwTWVzaFByZWRpY3Rpb25TY2hlbWVQYXJhbGxlbG9ncmFtRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzI3TWVzaFByZWRpY3Rpb25TY2hlbWVEZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQAAQCwAAB4RAABICwAAQCwAAIgQAACoEQAAAAAAAKgRAABAAAAAcAAAACIAAABDAAAAIgAAAEUAAABGAAAARwAAAEgAAABJAAAASgAAACIAAAAAAAAA2BIAAHEAAAByAAAAcwAAAEMAAAB0AAAARQAAAEYAAABHAAAASAAAAEkAAAB1AAAAdgAAAE41ZHJhY281Nk1lc2hQcmVkaWN0aW9uU2NoZW1lQ29uc3RyYWluZWRNdWx0aVBhcmFsbGVsb2dyYW1EZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQAAAEAsAAAwEgAAqBEAAAAAAAC4EwAAdwAAAHgAAAB5AAAAQwAAAHoAAAB7AAAAfAAAAH0AAABIAAAASQAAAH4AAAB/AAAATjVkcmFjbzQ0TWVzaFByZWRpY3Rpb25TY2hlbWVUZXhDb29yZHNQb3J0YWJsZURlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAAAAQCwAABwTAACoEQAAAAAAAJQUAACAAAAAgQAAAIIAAABDAAAAgwAAAIQAAACFAAAAhgAAAEgAAABJAAAAhwAAAIgAAABONWRyYWNvNDJNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbERlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAEAsAAD8EwAAqBEAAAAAAAAAFgAAiQAAAIoAAACLAAAAjAAAAI0AAABONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckFyZWFJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280OE1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsUHJlZGljdG9yQmFzZUlpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUAGCwAAFoVAABALAAAvBQAAPgVAAAAAAAA+BUAAIkAAACOAAAAIgAAAIwAAAAiAAAAAAAAALwWAABAAAAAjwAAAJAAAABDAAAAkQAAAEUAAABGAAAARwAAAEgAAABJAAAASgAAAJIAAABONWRyYWNvMjhQcmVkaWN0aW9uU2NoZW1lRGVsdGFEZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRUVFAAAAAEAsAABgFgAASAsAAAAAAAAwFwAAkwAAAJQAAACVAAAAKAAAACkAAACWAAAAOgAAACwAAAA7AAAAlwAAAJgAAACZAAAAmgAAAE41ZHJhY28zMlNlcXVlbnRpYWxOb3JtYWxBdHRyaWJ1dGVEZWNvZGVyRQAAQCwAAAQXAADUCAAAAAAAAGQZAACbAAAAnAAAAJ0AAACeAAAAnwAAAKAAAAChAAAAogAAAKMAAACkAAAApQAAAKYAAABONWRyYWNvNDJNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbERlY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvMjdNZXNoUHJlZGljdGlvblNjaGVtZURlY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvMjNQcmVkaWN0aW9uU2NoZW1lRGVjb2RlcklpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWREZWNvZGluZ1RyYW5zZm9ybUlpRUVFRQAAQCwAAN8YAAA8CwAAQCwAADEYAABMGQAAQCwAAHQXAABYGQAAAAAAABwbAACnAAAAqAAAAKkAAACqAAAAqwAAAE41ZHJhY280OE1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsUHJlZGljdG9yQXJlYUlpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWREZWNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280OE1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsUHJlZGljdG9yQmFzZUlpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWREZWNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAAAAGCwAAE8aAABALAAAjBkAABQbAAAAAAAAwBwAAKwAAACtAAAArgAAAJ4AAACvAAAAsAAAALEAAACyAAAAowAAAKQAAACzAAAAtAAAAE41ZHJhY280Mk1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsRGVjb2RlcklpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWREZWNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzI3TWVzaFByZWRpY3Rpb25TY2hlbWVEZWNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZERlY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQAAAABALAAAEBwAAEwZAABALAAAYBsAALQcAAAAAAAAXB4AALUAAAC2AAAAtwAAALgAAAC5AAAATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JBcmVhSWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZERlY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckJhc2VJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFABgsAACeHQAAQCwAAOgcAABUHgAAAAAAABQfAAC6AAAAuwAAALwAAACeAAAAvQAAAL4AAAC/AAAAwAAAAKMAAACkAAAAwQAAAMIAAABONWRyYWNvMjhQcmVkaWN0aW9uU2NoZW1lRGVsdGFEZWNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZERlY29kaW5nVHJhbnNmb3JtSWlFRUVFAAAAAEAsAACgHgAATBkAAAAAAACYHwAAwwAAAMQAAADFAAAAKAAAACkAAADGAAAAOgAAACwAAAA7AAAAxwAAAD0AAAA+AAAAyAAAAMkAAADKAAAATjVkcmFjbzM4U2VxdWVudGlhbFF1YW50aXphdGlvbkF0dHJpYnV0ZURlY29kZXJFAAAAAEAsAABkHwAA1AgAAAAAAAD4HwAAywAAAMwAAADNAAAAzgAAACIAAADPAAAA0AAAANEAAADSAAAA0wAAANQAAADVAAAAIgAAAE41ZHJhY28xMU1lc2hEZWNvZGVyRQAAAEAsAADgHwAAvCcAAAAAAABkIAAA1gAAANcAAADNAAAA2AAAANkAAADPAAAA0AAAANEAAADaAAAA2wAAANwAAADdAAAA3gAAAE41ZHJhY28yMk1lc2hFZGdlYnJlYWtlckRlY29kZXJFAAAAAEAsAABAIAAA+B8AAAAAAABYIQAA3wAAAOAAAADhAAAA4gAAAOMAAADkAAAA5QAAAOYAAADnAAAA6AAAAP////8AAAAAuCEAAOkAAADqAAAA6wAAAOwAAADtAAAA7gAAAO8AAADwAAAA8QAAAPIAAABONWRyYWNvMjZNZXNoRWRnZWJyZWFrZXJEZWNvZGVySW1wbElOU18zMU1lc2hFZGdlYnJlYWtlclRyYXZlcnNhbERlY29kZXJFRUUATjVkcmFjbzM1TWVzaEVkZ2VicmVha2VyRGVjb2RlckltcGxJbnRlcmZhY2VFAAAAGCwAACAhAABALAAA1CAAAFAhAABONWRyYWNvMjZNZXNoRWRnZWJyZWFrZXJEZWNvZGVySW1wbElOU18zOE1lc2hFZGdlYnJlYWtlclRyYXZlcnNhbFZhbGVuY2VEZWNvZGVyRUVFAABALAAAZCEAAFAhAAAAAAAAtCIAAPMAAAD0AAAA9QAAAE41ZHJhY28xOURlcHRoRmlyc3RUcmF2ZXJzZXJJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFTlNfMzZNZXNoQXR0cmlidXRlSW5kaWNlc0VuY29kaW5nT2JzZXJ2ZXJJUzFfRUVFRQBONWRyYWNvMTNUcmF2ZXJzZXJCYXNlSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRU5TXzM2TWVzaEF0dHJpYnV0ZUluZGljZXNFbmNvZGluZ09ic2VydmVySVMxX0VFRUUAGCwAAEUiAABALAAA2CEAAKwiAAAAAAAArCIAAPYAAAD3AAAA9Q=="),n(t,8932,"AQAAAAMAAAAFAAAABwAAAAAAAAC4IwAA+AAAAPkAAAD6AAAA+wAAAE41ZHJhY28yMk1lc2hUcmF2ZXJzYWxTZXF1ZW5jZXJJTlNfMjhNYXhQcmVkaWN0aW9uRGVncmVlVHJhdmVyc2VySU5TXzExQ29ybmVyVGFibGVFTlNfMzZNZXNoQXR0cmlidXRlSW5kaWNlc0VuY29kaW5nT2JzZXJ2ZXJJUzJfRUVFRUVFAE41ZHJhY28xNVBvaW50c1NlcXVlbmNlckUAAAAAGCwAAJMjAABALAAADCMAALAjAAD/////AAAAAKgkAAD8AAAA/QAAAP4AAABONWRyYWNvMjhNYXhQcmVkaWN0aW9uRGVncmVlVHJhdmVyc2VySU5TXzExQ29ybmVyVGFibGVFTlNfMzZNZXNoQXR0cmlidXRlSW5kaWNlc0VuY29kaW5nT2JzZXJ2ZXJJUzFfRUVFRQBONWRyYWNvMTNUcmF2ZXJzZXJCYXNlSU5TXzExQ29ybmVyVGFibGVFTlNfMzZNZXNoQXR0cmlidXRlSW5kaWNlc0VuY29kaW5nT2JzZXJ2ZXJJUzFfRUVFRQAAGCwAAEUkAABALAAA3CMAAKAkAAAAAAAAoCQAAP8AAAAAAQAA/gAAAAAAAABgJQAAAQEAAAIBAAADAQAABAEAAE41ZHJhY28yMk1lc2hUcmF2ZXJzYWxTZXF1ZW5jZXJJTlNfMTlEZXB0aEZpcnN0VHJhdmVyc2VySU5TXzExQ29ybmVyVGFibGVFTlNfMzZNZXNoQXR0cmlidXRlSW5kaWNlc0VuY29kaW5nT2JzZXJ2ZXJJUzJfRUVFRUVFAAAAQCwAAOAkAACwIwAAAAAAAOAlAAAFAQAABgEAAP4AAABONWRyYWNvMTlEZXB0aEZpcnN0VHJhdmVyc2VySU5TXzExQ29ybmVyVGFibGVFTlNfMzZNZXNoQXR0cmlidXRlSW5kaWNlc0VuY29kaW5nT2JzZXJ2ZXJJUzFfRUVFRQBALAAAgCUAAKAkAAAAAAAAkCYAAAcBAAAIAQAACQEAAAoBAABONWRyYWNvMjJNZXNoVHJhdmVyc2FsU2VxdWVuY2VySU5TXzE5RGVwdGhGaXJzdFRyYXZlcnNlcklOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVOU18zNk1lc2hBdHRyaWJ1dGVJbmRpY2VzRW5jb2RpbmdPYnNlcnZlcklTMl9FRUVFRUUAAEAsAAAEJgAAsCM="),n(t,9892,"/CYAAMsAAAALAQAAzQAAAM4AAAAMAQAAzwAAANAAAADRAAAA0gAAANMAAADUAAAA1QAAAA0BAABONWRyYWNvMjFNZXNoU2VxdWVudGlhbERlY29kZXJFAEAsAADcJgAA+B8AAAAAAAA8JwAADgEAAA8BAAAQAQAAEQEAAE41ZHJhY28xNUxpbmVhclNlcXVlbmNlckUAAABALAAAICcAALAjAAAAAAAAvCcAAMsAAAASAQAAEwEAAM4AAAAiAAAAFAEAANAAAADRAAAA0g=="),n(t,10112,"RmFpbGVkIHRvIHBhcnNlIERyYWNvIGhlYWRlci4ATjVkcmFjbzE3UG9pbnRDbG91ZERlY29kZXJFAAAAGCwAAJ4nAAABAAAAAQAAAAIAAAACAAAABAAAAAQAAAAIAAAACAAAAAQAAAAIAAAAAQ=="),n(t,10243,"wAAAAMAAAADAAAAAwP//////////AAAAAEAoAAAVAQAAFgEAABcBAAAYAQAATjVkcmFjbzRNZXNoRQAAAEAsAAAwKAAAhCgAAP////8AAAAAAAAAAIQoAAAZAQAAGgEAABsBAAAcAQAATjVkcmFjbzEwUG9pbnRDbG91ZEUAAAAAGCwAAGwo"),n(t,10388,"AgAAAAMAAAAFAAAABwAAAAsAAAANAAAAEQAAABMAAAAXAAAAHQAAAB8AAAAlAAAAKQAAACsAAAAvAAAANQAAADsAAAA9AAAAQwAAAEcAAABJAAAATwAAAFMAAABZAAAAYQAAAGUAAABnAAAAawAAAG0AAABxAAAAfwAAAIMAAACJAAAAiwAAAJUAAACXAAAAnQAAAKMAAACnAAAArQAAALMAAAC1AAAAvwAAAMEAAADFAAAAxwAAANMAAAABAAAACwAAAA0AAAARAAAAEwAAABcAAAAdAAAAHwAAACUAAAApAAAAKwAAAC8AAAA1AAAAOwAAAD0AAABDAAAARwAAAEkAAABPAAAAUwAAAFkAAABhAAAAZQAAAGcAAABrAAAAbQAAAHEAAAB5AAAAfwAAAIMAAACJAAAAiwAAAI8AAACVAAAAlwAAAJ0AAACjAAAApwAAAKkAAACtAAAAswAAALUAAAC7AAAAvwAAAMEAAADFAAAAxwAAANEAAAAwMDAxMDIwMzA0MDUwNjA3MDgwOTEwMTExMjEzMTQxNTE2MTcxODE5MjAyMTIyMjMyNDI1MjYyNzI4MjkzMDMxMzIzMzM0MzUzNjM3MzgzOTQwNDE0MjQzNDQ0NTQ2NDc0ODQ5NTA1MTUyNTM1NDU1NTY1NzU4NTk2MDYxNjI2MzY0NjU2NjY3Njg2OTcwNzE3MjczNzQ3NTc2Nzc3ODc5ODA4MTgyODM4NDg1ODY4Nzg4ODk5MDkxOTI5Mzk0OTU5Njk3OTg5OQ=="),n(t,10980,"CgAAAGQAAADoAwAAECcAAKCGAQBAQg8AgJaYAADh9QUAypo7AAAAACwrAAAdAQAAHgEAAB8BAABTdDlleGNlcHRpb24AAAAAGCwAABwrAAAAAAAAWCsAAA0AAAAgAQAAIQEAAFN0MTFsb2dpY19lcnJvcgBALAAASCsAACwrAAAAAAAAjCsAAA0AAAAiAQAAIQEAAFN0MTJsZW5ndGhfZXJyb3IAAAAAQCwAAHgrAABYKwAAU3Q5dHlwZV9pbmZvAAAAABgsAACYKwAATjEwX19jeHhhYml2MTE2X19zaGltX3R5cGVfaW5mb0UAAAAAQCwAALArAACoKwAATjEwX19jeHhhYml2MTE3X19jbGFzc190eXBlX2luZm9FAAAAQCwAAOArAADUKwAAAAAAAAQsAAAjAQAAJAEAACUBAAAmAQAAJwEAACgBAAApAQAAKgEAAAAAAACILAAAIwEAACsBAAAlAQAAJgEAACcBAAAsAQAALQEAAC4BAABOMTBfX2N4eGFiaXYxMjBfX3NpX2NsYXNzX3R5cGVfaW5mb0UAAAAAQCwAAGAsAAAELA=="),n(t,11413,"L1A=");var _i=function(e){return e.set=function(e,t){this[e]=t},e.get=function(e){return this[e]},e}([null,Hr,ni,ti,function(e,t){e|=0;var r=0;return!(t=f[88+(t|=0)>>2])|2!=f[t>>2]||(r=e,e=f[t+8>>2],f[r+4>>2]=u[0|e]|u[e+1|0]<<8|u[e+2|0]<<16|u[e+3|0]<<24,r=1),0|r},function(e,t){e|=0;var r,i=0;f[(t|=0)>>2]=2,i=f[t+8>>2],(r=f[t+12>>2]-i|0)>>>0<=4294967291&&(kr(t+8|0,r+4|0),i=f[t+8>>2]),t=i+r|0,e=f[e+4>>2],o[0|t]=e,o[t+1|0]=e>>>8,o[t+2|0]=e>>>16,o[t+3|0]=e>>>24},function(e,t,r,i){e|=0,t|=0,r|=0;var n,o=0,a=0,s=0,c=0,l=0,b=0,p=0;if(s=f[80+(i|=0)>>2],I=n=I-48|0,!((e=f[e+4>>2])-31>>>0<4294967267))if(c=f[f[i>>2]>>2]+f[i+48>>2]|0,f[n+16>>2]=e,e=-1<<e,f[n+20>>2]=-1^e,e=-2-e|0,f[n+24>>2]=e,f[n+32>>2]=(0|e)/2,A[n+28>>2]=_(2)/_(0|e),(0|(a=f[r>>2]))==f[r+4>>2])if(s)for(i=0,e=0;l=n+36|0,r=f[f[t>>2]>>2],o=f[t+40>>2],ge(l,r+(a=f[t+48>>2]+Jt(o,f[t+44>>2],u[t+84|0]?e:f[f[t+68>>2]+(e<<2)>>2],0)|0)|0,o),Ge(n+16|0,l,n+12|0,n+8|0),f[(r=i<<2)+c>>2]=f[n+12>>2],f[(4|r)+c>>2]=f[n+8>>2],i=i+2|0,o=1,(0|s)!=(0|(e=e+1|0)););else o=1;else for(e=0,i=0;o=f[(i<<2)+a>>2],s=n+36|0,l=f[f[t>>2]>>2],p=f[t+48>>2],a=f[t+44>>2],b=f[t+40>>2],u[t+84|0]||(o=f[f[t+68>>2]+(o<<2)>>2]),ge(s,(o=Jt(b,a,o,0)+p|0)+l|0,b),Ge(n+16|0,s,n+12|0,n+8|0),f[(a=e<<2)+c>>2]=f[n+12>>2],f[(4|a)+c>>2]=f[n+8>>2],o=1,e=e+2|0,i=i+1|0,a=f[r>>2],i>>>0<f[r+4>>2]-a>>2>>>0;);return I=n+48|0,0|o},Me,function(e,t){t|=0;var r,i=0;return I=r=I-16|0,-1!=(0|(e=f[4+(e|=0)>>2]))&&(o[r+15|0]=e,i=f[t+20>>2],!!f[t+16>>2]&(0|i)>=0|(0|i)>0||de(t,f[t+4>>2],r+15|0,r+16|0)),I=r+16|0,-1!=(0|e)|0},It,function(e,t,r){var i,n,a,s,c,u;return t|=0,r|=0,I=i=I+-64|0,n=0|_i[f[f[(e|=0)>>2]+44>>2]](e,t),e=0|_i[f[f[e>>2]+40>>2]](e,t),a=qt(i),s=f[t+56>>2],c=n<<24>>24,u=e,e=(e=e-1|0)>>>0<=10?f[10180+(e<<2)>>2]:-1,cr(a,s,c,u,0,e=d(e,n),e>>31),He(e=$e(br(96),a),r),o[e+84|0]=1,f[e+72>>2]=f[e+68>>2],f[e+60>>2]=f[t+60>>2],I=i- -64|0,0|e},zr,function(e,t){return 2},pr,function(e){var t;return f[(e|=0)>>2]=1140,(t=f[e+8>>2])&&(f[e+12>>2]=t,ee(t)),0|e},function(e){var t;f[(e|=0)>>2]=1140,(t=f[e+8>>2])&&(f[e+12>>2]=t,ee(t)),ee(e)},qr,function(e,t){e|=0;var r=0,i=0,n=0,a=0,s=0,c=0,l=0,b=0,A=0,p=0;if(!(!(r=f[88+(t|=0)>>2])|1!=f[r>>2])){if(i=f[r+8>>2],f[e+4>>2]=u[0|i]|u[i+1|0]<<8|u[i+2|0]<<16|u[i+3|0]<<24,i=o[t+24|0],n=f[e+8>>2],i>>>0>(a=f[e+12>>2]-n>>2)>>>0?(st(e+8|0,i-a|0),i=o[t+24|0],n=f[e+8>>2]):i>>>0>=a>>>0||(f[e+12>>2]=(i<<2)+n),A=1,a=f[r+8>>2],(0|i)<=0)t=4;else{if(c=3&i,i-1>>>0<3)t=4,i=0;else for(p=-4&i,i=0,t=4;r=t+a|0,f[(s=i<<2)+n>>2]=u[0|r]|u[r+1|0]<<8|u[r+2|0]<<16|u[r+3|0]<<24,f[(4|s)+n>>2]=u[r+4|0]|u[r+5|0]<<8|u[r+6|0]<<16|u[r+7|0]<<24,f[(8|s)+n>>2]=u[r+8|0]|u[r+9|0]<<8|u[r+10|0]<<16|u[r+11|0]<<24,f[(12|s)+n>>2]=u[r+12|0]|u[r+13|0]<<8|u[r+14|0]<<16|u[r+15|0]<<24,i=i+4|0,t=t+16|0,(0|p)!=(0|(l=l+4|0)););if(c)for(;r=t+a|0,f[(i<<2)+n>>2]=u[0|r]|u[r+1|0]<<8|u[r+2|0]<<16|u[r+3|0]<<24,i=i+1|0,t=t+4|0,(0|(b=b+1|0))!=(0|c););}r=e,e=t+a|0,f[r+20>>2]=u[0|e]|u[e+1|0]<<8|u[e+2|0]<<16|u[e+3|0]<<24}return 0|A},function(e,t){e|=0;var r,i=0,n=0,a=0,s=0;if(f[(t|=0)>>2]=1,r=t+8|0,i=f[t+8>>2],(n=f[t+12>>2]-i|0)>>>0<=4294967291&&(kr(r,n+4|0),i=f[r>>2]),i=i+n|0,n=f[e+4>>2],o[0|i]=n,o[i+1|0]=n>>>8,o[i+2|0]=n>>>16,o[i+3|0]=n>>>24,(0|(i=f[e+8>>2]))!=f[e+12>>2])for(n=0;s=(n<<2)+i|0,i=f[t+8>>2],(a=f[t+12>>2]-i|0)>>>0<=4294967291&&(kr(r,a+4|0),i=f[r>>2]),i=i+a|0,a=f[s>>2],o[0|i]=a,o[i+1|0]=a>>>8,o[i+2|0]=a>>>16,o[i+3|0]=a>>>24,n=n+1|0,i=f[e+8>>2],n>>>0<f[e+12>>2]-i>>2>>>0;);(i=(i=f[t+12>>2])-(t=f[t+8>>2])|0)>>>0<=4294967291&&(kr(r,i+4|0),t=f[r>>2]),t=t+i|0,e=f[e+20>>2],o[0|t]=e,o[t+1|0]=e>>>8,o[t+2|0]=e>>>16,o[t+3|0]=e>>>24},function(e,t,r,i){e|=0,t|=0,r|=0,i|=0;var n,a=_(0),s=0,c=0,l=0,b=0,p=0,d=_(0),k=0,m=0,y=0,g=0,w=0,E=0,T=0,B=0,x=0,R=0,N=0,C=0,D=0,M=0;if(f[r>>2]==f[r+4>>2]){if(c=f[i+80>>2],I=R=I-16|0,p=f[e+4>>2],l=f[i+48>>2],i=f[f[i>>2]>>2],b=o[t+24|0],f[(r=R+8|0)>>2]=1065353216,x=r,A[r>>2]=_(-1<<p^-1)/A[e+20>>2],N=br((0|b)!=(1073741823&b)?-1:b<<2),!(!c|(0|b)<=0))if(T=i+l|0,D=f[t>>2],r=f[t+48>>2],M=f[t+44>>2],C=f[t+40>>2],u[t+84|0])for(y=-2&b,B=1&b,t=0;;){if(w=ge(N,(l=f[D>>2])+(i=Jt(C,M,g,s)+r|0)|0,C),d=A[x>>2],k=f[e+8>>2],i=0,m=0,1!=(0|b))for(;l=T+(t<<2)|0,a=_(v(_(_(d*_(A[(E=i<<2)+w>>2]-A[k+E>>2]))+_(.5)))),p=_(h(a))<_(2147483648)?~~a:-2147483648,f[l>>2]=p,a=_(v(_(_(d*_(A[(p=4|E)+w>>2]-A[k+p>>2]))+_(.5)))),p=_(h(a))<_(2147483648)?~~a:-2147483648,f[l+4>>2]=p,i=i+2|0,t=t+2|0,(0|y)!=(0|(m=m+2|0)););if(B&&(l=T+(t<<2)|0,a=_(v(_(_(d*_(A[(i<<=2)+w>>2]-A[i+k>>2]))+_(.5)))),i=_(h(a))<_(2147483648)?~~a:-2147483648,f[l>>2]=i,t=t+1|0),g=i=g+1|0,!((0|c)!=(0|i)|(s=i?s:s+1|0)))break}else for(y=f[t+68>>2],B=-2&b,p=1&b,t=0;;){if(w=ge(N,(s=f[D>>2])+(i=Jt(C,M,f[y+(g<<2)>>2],0)+r|0)|0,C),d=A[x>>2],k=f[e+8>>2],i=0,m=0,1!=(0|b))for(;s=T+(t<<2)|0,a=_(v(_(_(d*_(A[(E=i<<2)+w>>2]-A[k+E>>2]))+_(.5)))),l=_(h(a))<_(2147483648)?~~a:-2147483648,f[s>>2]=l,a=_(v(_(_(d*_(A[(l=4|E)+w>>2]-A[k+l>>2]))+_(.5)))),l=_(h(a))<_(2147483648)?~~a:-2147483648,f[s+4>>2]=l,i=i+2|0,t=t+2|0,(0|B)!=(0|(m=m+2|0)););if(p&&(s=T+(t<<2)|0,a=_(v(_(_(d*_(A[(i<<=2)+w>>2]-A[i+k>>2]))+_(.5)))),i=_(h(a))<_(2147483648)?~~a:-2147483648,f[s>>2]=i,t=t+1|0),(0|c)==(0|(g=g+1|0)))break}return ee(N),I=R+16|0,1}if(I=R=I-16|0,x=f[e+4>>2],c=f[i+48>>2],s=f[f[i>>2]>>2],n=o[t+24|0],f[(i=R+8|0)>>2]=1065353216,l=i,A[i>>2]=_(-1<<x^-1)/A[e+20>>2],N=br((0|n)!=(1073741823&n)?-1:n<<2),D=f[r>>2],!(!(r=f[r+4>>2]-D|0)|(0|n)<=0))if(T=s+c|0,M=f[t>>2],i=f[t+48>>2],C=f[t+44>>2],g=f[t+40>>2],E=(r>>=2)>>>0>1?r:1,u[t+84|0])for(p=-2&n,x=1&n,t=0;;){if(k=ge(N,(s=f[M>>2])+(r=Jt(g,C,f[D+(m<<2)>>2],0)+i|0)|0,g),d=A[l>>2],y=f[e+8>>2],r=0,b=0,1!=(0|n))for(;s=T+(t<<2)|0,a=_(v(_(_(d*_(A[(B=r<<2)+k>>2]-A[y+B>>2]))+_(.5)))),c=_(h(a))<_(2147483648)?~~a:-2147483648,f[s>>2]=c,a=_(v(_(_(d*_(A[(c=4|B)+k>>2]-A[y+c>>2]))+_(.5)))),c=_(h(a))<_(2147483648)?~~a:-2147483648,f[s+4>>2]=c,r=r+2|0,t=t+2|0,(0|p)!=(0|(b=b+2|0)););if(x&&(s=T+(t<<2)|0,a=_(v(_(_(d*_(A[(r<<=2)+k>>2]-A[r+y>>2]))+_(.5)))),r=_(h(a))<_(2147483648)?~~a:-2147483648,f[s>>2]=r,t=t+1|0),(0|E)==(0|(m=m+1|0)))break}else for(B=f[t+68>>2],p=-2&n,x=1&n,t=0;;){if(w=ge(N,(s=f[M>>2])+(r=Jt(g,C,f[B+(f[D+(m<<2)>>2]<<2)>>2],0)+i|0)|0,g),d=A[l>>2],k=f[e+8>>2],r=0,b=0,1!=(0|n))for(;s=T+(t<<2)|0,a=_(v(_(_(d*_(A[(y=r<<2)+w>>2]-A[k+y>>2]))+_(.5)))),c=_(h(a))<_(2147483648)?~~a:-2147483648,f[s>>2]=c,a=_(v(_(_(d*_(A[(c=4|y)+w>>2]-A[k+c>>2]))+_(.5)))),c=_(h(a))<_(2147483648)?~~a:-2147483648,f[s+4>>2]=c,r=r+2|0,t=t+2|0,(0|p)!=(0|(b=b+2|0)););if(x&&(s=T+(t<<2)|0,a=_(v(_(_(d*_(A[(r<<=2)+w>>2]-A[r+k>>2]))+_(.5)))),r=_(h(a))<_(2147483648)?~~a:-2147483648,f[s>>2]=r,t=t+1|0),(0|E)==(0|(m=m+1|0)))break}return ee(N),I=R+16|0,1},Be,function(e,t){t|=0;var r,i,n=0,a=0;return I=r=I-16|0,-1!=(0|(i=f[4+(e|=0)>>2]))&&(n=f[t+20>>2],!!f[t+16>>2]&(0|n)>=0|(0|n)>0||(de(t,f[t+4>>2],f[e+8>>2],f[e+12>>2]),n=f[t+20>>2],!!f[t+16>>2]&(0|n)>=0|(0|n)>0||(n=e+20|0,de(t,f[t+4>>2],n,n+4|0),n=f[t+20>>2],a=f[t+16>>2],o[r+15|0]=f[e+4>>2],!!a&(0|n)>=0|(0|n)>0||de(t,f[t+4>>2],r+15|0,r+16|0)))),I=r+16|0,-1!=(0|i)|0},Ce,zr,function(e,t){return o[24+(t|=0)|0]},function(e){var t=0;return f[(e|=0)>>2]=1804,(t=f[e+16>>2])&&(f[e+20>>2]=t,ee(t)),(t=f[e+4>>2])&&(f[e+8>>2]=t,ee(t)),0|e},ai,function(e,t,r){return t|=0,r|=0,f[32+(e|=0)>>2]=r,f[e+28>>2]=t,1},ue,function(e,t){t|=0;var r=0;return 0|_i[f[f[(e|=0)>>2]+36>>2]](e,t)&&0|_i[f[f[e>>2]+40>>2]](e,t)&&(r=0|_i[f[f[e>>2]+44>>2]](e)),0|r},function(e,t){return t|=0,f[f[4+(e|=0)>>2]+(t<<2)>>2]},function(e){return f[8+(e|=0)>>2]-f[e+4>>2]>>2},Wr,Jr,function(){E()},Or,qr,function(e){var t;return f[(e|=0)>>2]=1948,t=f[e+16>>2],f[e+16>>2]=0,t&&Zt(t),0|e},function(e){var t;f[(e|=0)>>2]=1948,t=f[e+16>>2],f[e+16>>2]=0,t&&Zt(t),ee(e)},_r,function(e,t){return t|=0,f[12+(e|=0)>>2]=-1,f[e+8>>2]=t,1},function(e,t,r){t|=0,r|=0;var i,n=0;return i=f[8+(e|=0)>>2],o[i+24|0]<=0||He(i,f[t+4>>2]-f[t>>2]>>2)&&(n=0|_i[f[f[e>>2]+32>>2]](e,t,r)),0|n},function(e,t,r){return 1},Or,function(e,t){e|=0;var r=0,i=0,n=0,o=0,a=0;if((0|_i[f[f[(t|=0)>>2]+20>>2]](t))<=0)return 1;e:{for(;;){if(-1==(0|(i=sr(f[f[e+4>>2]+4>>2],0|_i[f[f[t>>2]+24>>2]](t,n)))))break e;if(o=f[e+4>>2],r=0,(0|i)<0||(a=f[o+4>>2],(0|i)>=f[a+12>>2]-f[a+8>>2]>>2||(r=f[f[o+8>>2]+(f[f[o+20>>2]+(i<<2)>>2]<<2)>>2],r=0|_i[f[f[r>>2]+32>>2]](r,i))),!r)break e;if(!(0|_i[f[f[t>>2]+28>>2]](t,r)))break e;if(n=n+1|0,!((0|_i[f[f[t>>2]+20>>2]](t))>(0|n)))break}return 1}return 0},function(e,t,r){e|=0,r|=0;var i,n,o=0,a=0,s=0,c=0,u=0,l=0,A=0,p=0;if(o=f[(t|=0)>>2],t=f[t+4>>2],n=br((0|(i=f[f[e+8>>2]+40>>2]))>=0?i:-1),s=1,!((0|(c=t-o|0))<=0||(t=0,s=0,o=0+f[r+20>>2]|0,o=(a=i+(u=f[r+16>>2])|0)>>>0<i>>>0?o+1|0:o,l=a,a=f[r+12>>2],l>>>0>b[r+8>>2]&(0|a)<=(0|o)|(0|o)>(0|a)))){for(s=(0|(A=c>>2))>1?A:1;a=ge(n,u+f[r>>2]|0,i),f[r+16>>2]=l,f[r+20>>2]=o,ge(f[f[f[e+8>>2]+64>>2]>>2]+t|0,a,i),(0|s)!=(0|(p=p+1|0))&&(t=t+i|0,o=0+f[r+20>>2]|0,o=(a=i+(u=f[r+16>>2])|0)>>>0<i>>>0?o+1|0:o,l=a,c=a,(0|(a=f[r+12>>2]))>=(0|o)&b[r+8>>2]>=c>>>0|(0|o)<(0|a)););s=(0|p)>=(0|A)}return ee(n),0|s},function(e){var t,r=0,i=0;if(f[(e|=0)>>2]=2044,r=f[e+60>>2],f[e+60>>2]=0,r&&_i[f[f[r>>2]+4>>2]](r),(r=f[e+48>>2])&&(f[e+52>>2]=r,ee(r)),t=f[e+36>>2]){if((0|(i=f[e+40>>2]))==(0|t))r=t;else{for(;r=f[(i=i-4|0)>>2],f[i>>2]=0,r&&_i[f[f[r>>2]+4>>2]](r),(0|t)!=(0|i););r=f[e+36>>2]}f[e+40>>2]=t,ee(r)}return f[e>>2]=1804,(r=f[e+16>>2])&&(f[e+20>>2]=r,ee(r)),(r=f[e+4>>2])&&(f[e+8>>2]=r,ee(r)),0|e},function(e){var t,r=0,i=0;if(f[(e|=0)>>2]=2044,r=f[e+60>>2],f[e+60>>2]=0,r&&_i[f[f[r>>2]+4>>2]](r),(r=f[e+48>>2])&&(f[e+52>>2]=r,ee(r)),t=f[e+36>>2]){if((0|(i=f[e+40>>2]))==(0|t))r=t;else{for(;r=f[(i=i-4|0)>>2],f[i>>2]=0,r&&_i[f[f[r>>2]+4>>2]](r),(0|t)!=(0|i););r=f[e+36>>2]}f[e+40>>2]=t,ee(r)}f[e>>2]=1804,(r=f[e+16>>2])&&(f[e+20>>2]=r,ee(r)),(r=f[e+4>>2])&&(f[e+8>>2]=r,ee(r)),ee(e)},function(e,t){var r=0,i=0,n=0,o=0,a=0,s=0,c=0,l=0,A=0,p=0,d=0,_=0;if(ue(e|=0,t|=0)){if(c=e+36|0,(a=0|_i[f[f[e>>2]+24>>2]](e))>>>0>(r=(i=f[e+40>>2])-(n=f[e+36>>2])>>2)>>>0)Ze(c,a-r|0);else if(!(r>>>0<=a>>>0)){if((0|(n=n+(a<<2)|0))!=(0|i))for(;r=f[(i=i-4|0)>>2],f[i>>2]=0,r&&_i[f[f[r>>2]+4>>2]](r),(0|i)!=(0|n););f[e+40>>2]=n}e:if((0|a)<=0)n=0;else if(n=1,!((0|(r=f[t+20>>2]))>=(0|(i=f[t+12>>2]))&(o=f[t+16>>2])>>>0>=b[t+8>>2]|(0|r)>(0|i)))for(i=0;;){if(s=u[o+f[t>>2]|0],r=(o=o+1|0)?r:r+1|0,f[t+16>>2]=o,f[t+20>>2]=r,o=0|_i[f[f[e>>2]+48>>2]](e,s),l=(s=i<<2)+f[e+36>>2]|0,r=f[l>>2],f[l>>2]=o,r&&_i[f[f[r>>2]+4>>2]](r),!(r=f[f[c>>2]+s>>2]))break e;if(p=r,d=0|_i[f[f[e>>2]+28>>2]](e),_=0|_i[f[f[e>>2]+20>>2]](e,i),A=f[f[r>>2]+8>>2],!(0|_i[A](0|p,0|d,0|_)))break e;if(n=(0|a)>(0|(i=i+1|0)),(0|i)==(0|a))break e;if(o=f[t+16>>2],r=f[t+20>>2],s=f[t+12>>2],!(o>>>0<b[t+8>>2]&(0|r)<=(0|s)|(0|r)<(0|s)))break}e=!n}else e=0;return 0|e},function(e,t){t|=0;var r=0,i=0,n=0,o=0,a=0;if((r=f[60+(e|=0)>>2])&&(f[r+4>>2]=e+48,0|_i[f[f[r>>2]+12>>2]](r))){e:if(!((0|(r=0|_i[f[f[e>>2]+24>>2]](e)))<=0)){for(;;){if(o=f[4+(0|_i[f[f[e>>2]+28>>2]](e))>>2],a=0|_i[f[f[e>>2]+20>>2]](e,i),n=f[e+60>>2],0|_i[f[f[n>>2]+8>>2]](n,f[f[o+8>>2]+(a<<2)>>2])){if((0|r)!=(0|(i=i+1|0)))continue;break e}break}return 0}i=0,0|_i[f[f[e>>2]+36>>2]](e,t)&&0|_i[f[f[e>>2]+40>>2]](e,t)&&(i=0|_i[f[f[e>>2]+44>>2]](e))}return 0|i},function(e,t){t|=0;var r,i=0;return r=f[16+(e|=0)>>2],i=0,f[e+20>>2]-r>>2<=(0|t)||(i=0,(0|(t=f[(t<<2)+r>>2]))<0||(i=tt(f[f[e+36>>2]+(t<<2)>>2]))),0|i},function(e,t){t|=0;var r,i=0,n=0,o=0,a=0;if(i=1,!((0|(r=0|_i[f[f[(e|=0)>>2]+24>>2]](e)))<=0)&&(n=f[f[e+36>>2]>>2],o=e+48|0,i=0,0|_i[f[f[n>>2]+16>>2]](n,o,t))){for(n=1;(0|r)!=(0|(i=n))&&(n=i+1|0,a=f[f[e+36>>2]+(i<<2)>>2],0|_i[f[f[a>>2]+16>>2]](a,o,t)););i=(0|i)>=(0|r)}return 0|i},function(e,t){t|=0;var r,i=0,n=0,o=0,a=0;if(i=1,!((0|(r=0|_i[f[f[(e|=0)>>2]+24>>2]](e)))<=0)&&(n=f[f[e+36>>2]>>2],o=e+48|0,i=0,0|_i[f[f[n>>2]+20>>2]](n,o,t))){for(n=1;(0|r)!=(0|(i=n))&&(n=i+1|0,a=f[f[e+36>>2]+(i<<2)>>2],0|_i[f[f[a>>2]+20>>2]](a,o,t)););i=(0|i)>=(0|r)}return 0|i},function(e){var t,r,i=0,n=0,a=0,s=0,c=0,l=0,b=0,A=0,p=0,_=0,h=0,k=0,m=0,y=0;I=t=I-16|0,k=1;e:if((0|(r=0|_i[f[f[(e|=0)>>2]+24>>2]](e)))<=0)k=0;else for(y=e+48|0;;){t:{if(f[40+(0|_i[f[f[e>>2]+28>>2]](e))>>2]&&(i=f[(s=_<<2)+f[e+36>>2]>>2],a=f[i+8>>2],l=tt(i))){i=f[40+(0|_i[f[f[e>>2]+28>>2]](e))>>2],b=f[a+56>>2],n=br(32),f[t>>2]=n,f[t+4>>2]=24,f[t+8>>2]=-2147483616,o[n+24|0]=0,c=u[1308]|u[1309]<<8|u[1310]<<16|u[1311]<<24,a=u[1304]|u[1305]<<8|u[1306]<<16|u[1307]<<24,o[n+16|0]=a,o[n+17|0]=a>>>8,o[n+18|0]=a>>>16,o[n+19|0]=a>>>24,o[n+20|0]=c,o[n+21|0]=c>>>8,o[n+22|0]=c>>>16,o[n+23|0]=c>>>24,c=u[1300]|u[1301]<<8|u[1302]<<16|u[1303]<<24,a=u[1296]|u[1297]<<8|u[1298]<<16|u[1299]<<24,o[n+8|0]=a,o[n+9|0]=a>>>8,o[n+10|0]=a>>>16,o[n+11|0]=a>>>24,o[n+12|0]=c,o[n+13|0]=c>>>8,o[n+14|0]=c>>>16,o[n+15|0]=c>>>24,c=u[1292]|u[1293]<<8|u[1294]<<16|u[1295]<<24,a=u[1288]|u[1289]<<8|u[1290]<<16|u[1291]<<24,o[0|n]=a,o[n+1|0]=a>>>8,o[n+2|0]=a>>>16,o[n+3|0]=a>>>24,o[n+4|0]=c,o[n+5|0]=c>>>8,o[n+6|0]=c>>>16,o[n+7|0]=c>>>24,p=c=i+16|0;r:if(A=f[c>>2]){for(;p=(a=(0|b)>f[A+16>>2])?p:A,A=f[(a<<2)+A>>2];);if(!((0|c)==(0|p)|(0|b)<f[p+16>>2])&&(A=f[p+24>>2]))for(a=p+20|0;;){i:{n:{o:{if(p=(m=(h=(b=(c=u[A+27|0])<<24>>24<0)?f[A+20>>2]:c)>>>0<24)?h:24){c=A+16|0;a:{if(!(c=xt(n,b=b?f[c>>2]:c,p))){if(h>>>0<=24)break a;break i}if((0|c)<0)break i}if(!(c=xt(b,n,p)))break o;if((0|c)<0)break n;i=a;break r}if(h>>>0>24)break i}if(!m){i=a;break r}}A=A+4|0}if(!(A=f[A>>2]))break}}if(A=0,(0|(a=i+4|0))!=(0|(i=Ke(i,t)))){for(a=o[i+39|0]<0?f[i+28>>2]:i+28|0,p=0,c=0;a=(i=a)+1|0,32==(0|(n=o[0|i]))|n-9>>>0<5;);r:{i:{n:switch((n=o[0|i])-43|0){case 0:break i;case 2:break n;default:break r}c=1}n=o[0|a],i=a}if(n-48>>>0<10)for(;p=48+(d(p,10)-o[0|i]|0)|0,a=o[i+1|0],i=i+1|0,a-48>>>0<10;);-1!=(0|(i=c?p:0-p|0))&&(A=0!=(0|i))}if(o[t+11|0]<0&&ee(f[t>>2]),A){s=f[f[f[e+36>>2]+s>>2]+8>>2],f[s+64>>2]||(n=i=br(32),f[i+16>>2]=0,f[i+20>>2]=0,f[i+8>>2]=0,f[i>>2]=0,f[i+4>>2]=0,f[i+24>>2]=0,f[i+28>>2]=0,a=f[s+64>>2],f[s+64>>2]=i,a&&((i=f[a>>2])&&(f[a+4>>2]=i,ee(i)),ee(a),n=f[s+64>>2]),f[s>>2]=n,i=f[n+20>>2],f[s+8>>2]=f[n+16>>2],f[s+12>>2]=i,a=f[n+24>>2],i=f[n+28>>2],f[s+48>>2]=0,f[s+52>>2]=0,f[s+40>>2]=0,f[s+44>>2]=0,f[s+16>>2]=a,f[s+20>>2]=i);r:if(o[s+24|0]=u[l+24|0],f[s+28>>2]=f[l+28>>2],o[s+32|0]=u[l+32|0],i=f[l+44>>2],f[s+40>>2]=f[l+40>>2],f[s+44>>2]=i,i=f[l+52>>2],f[s+48>>2]=f[l+48>>2],f[s+52>>2]=i,f[s+56>>2]=f[l+56>>2],i=f[l+12>>2],f[s+8>>2]=f[l+8>>2],f[s+12>>2]=i,i=f[l+20>>2],f[s+16>>2]=f[l+16>>2],f[s+20>>2]=i,f[s+60>>2]=f[l+60>>2],(a=f[l>>2])?(n=0,(i=f[s>>2])&&(Ot(n=i,i=f[a>>2],f[a+4>>2]-i|0,0),n=1)):(f[s>>2]=0,n=1),n){o[s+84|0]=u[l+84|0],f[s+80>>2]=f[l+80>>2],(0|s)!=(0|l)&&Qe(s+68|0,f[l+68>>2],f[l+72>>2]);i:{n:{if(b=f[l+88>>2]){if(i=br(40),a=f[b>>2],f[i+16>>2]=0,f[i+8>>2]=0,f[i+12>>2]=0,f[i>>2]=a,n=f[b+12>>2]-f[b+8>>2]|0){if((0|n)<0)break i;a=br(n),f[i+8>>2]=a,f[i+12>>2]=a,f[i+16>>2]=n+a,n=f[b+8>>2],(0|(c=f[b+12>>2]-n|0))>0&&(a=ge(a,n,c)+c|0),f[i+12>>2]=a}if(a=f[b+36>>2],f[i+32>>2]=f[b+32>>2],f[i+36>>2]=a,a=f[b+28>>2],f[i+24>>2]=f[b+24>>2],f[i+28>>2]=a,n=f[s+88>>2],f[s+88>>2]=i,n)break n;break r}if(n=f[s+88>>2],f[s+88>>2]=0,!n)break r}(i=f[n+8>>2])&&(f[n+12>>2]=i,ee(i)),ee(n);break r}ii(),E()}break t}}if(i=f[f[e+36>>2]+(_<<2)>>2],!(0|_i[f[f[i>>2]+24>>2]](i,y)))break e}if(k=(0|r)>(0|(_=_+1|0)),(0|_)==(0|r))break}return I=t+16|0,1&(-1^k)},function(e,t){e|=0,e=0;e:switch(0|(t|=0)){case 0:return e=br(20),f[e+12>>2]=-1,f[e+16>>2]=0,f[e+4>>2]=0,f[e+8>>2]=0,f[e>>2]=1948,0|e;case 1:return e=br(24),f[e+12>>2]=-1,f[e+16>>2]=0,f[e+4>>2]=0,f[e+8>>2]=0,f[e>>2]=1948,f[e+20>>2]=0,f[e>>2]=2164,0|e;case 2:return e=br(48),f[e+12>>2]=-1,f[e+16>>2]=0,f[e+4>>2]=0,f[e+8>>2]=0,f[e>>2]=1948,f[e+20>>2]=0,f[e>>2]=2164,f[e+32>>2]=0,f[e+36>>2]=0,f[e+28>>2]=-1,f[e+24>>2]=1140,f[e>>2]=7976,f[e+40>>2]=0,f[e+44>>2]=0,0|e;case 3:e=br(32),f[e+12>>2]=-1,f[e+16>>2]=0,f[e+4>>2]=0,f[e+8>>2]=0,f[e>>2]=1948,f[e+20>>2]=0,f[e>>2]=2164,f[e+28>>2]=-1,f[e+24>>2]=1032,f[e>>2]=5840}return 0|e},nr,fr,_r,function(e,t){return t|=0,0|_i[f[f[(e|=0)>>2]+48>>2]](e,f[t+4>>2]-f[t>>2]>>2)},function(e,t,r){e|=0,t|=0;var i,n,a=0,s=0,c=0,u=0,l=0,b=0,A=0;e:if(!((0|(a=i=f[12+(r|=0)>>2]))<=(0|(s=f[r+20>>2]))&(n=f[r+8>>2])>>>0<=(c=f[r+16>>2])>>>0|(0|a)<(0|s))){if(l=f[r>>2],b=o[l+c|0],a=s,a=(u=c+1|0)?a:a+1|0,f[r+16>>2]=u,f[r+20>>2]=a,-2!=(0|b)){if((0|a)>=(0|i)&u>>>0>=n>>>0|(0|a)>(0|i))break e;if(a=o[u+l|0],s=(c=c+2|0)>>>0<2?s+1|0:s,f[r+16>>2]=c,f[r+20>>2]=s,(a-4&255)>>>0<251)break e;s=0|_i[f[f[e>>2]+40>>2]](e,b,a),a=f[e+20>>2],f[e+20>>2]=s,a&&_i[f[f[a>>2]+4>>2]](a)}(!(a=f[e+20>>2])||0|_i[f[f[e>>2]+28>>2]](e,a))&&(A=0|_i[f[f[e>>2]+36>>2]](e,t,r))}return 0|A},ae,function(e,t,r){e|=0,t|=0;var i,n=0,a=0,s=0,c=0,u=0,l=0,b=0,A=0,p=0,d=0;if(I=i=I-48|0,1==(0|(r|=0))){s=f[e+4>>2],e=f[e+12>>2],f[i+40>>2]=0,f[i+32>>2]=0,f[i+36>>2]=0,f[i+24>>2]=0,f[i+28>>2]=0,f[i+16>>2]=0,f[i+20>>2]=0,f[i+8>>2]=0,f[i+12>>2]=0,a=i+8|0;e:if(-2!=(0|t)){if(A=f[f[f[s+4>>2]+8>>2]+(e<<2)>>2],1==(0|_i[f[f[s>>2]+8>>2]](s))){I=b=I-32|0,c=f[f[f[s+4>>2]+8>>2]+(e<<2)>>2];t:{r:{if(!(1!=(0|_i[f[f[s>>2]+8>>2]](s))|t-1>>>0>5||!(l=0|_i[f[f[s>>2]+36>>2]](s))|!(u=0|_i[f[f[s>>2]+44>>2]](s,e))))if(r=0|_i[f[f[s>>2]+40>>2]](s,e)){e=f[s+44>>2],f[b+12>>2]=r,f[b+8>>2]=e,f[b+20>>2]=u,f[b+16>>2]=u+12,s=b+8|0,e=0;i:{n:switch(t-1|0){case 0:if(e=br(60),f[e+4>>2]=c,f[e>>2]=2988,c=f[a+8>>2],u=f[a+12>>2],l=f[a+16>>2],n=f[a+20>>2],r=f[a>>2],t=f[a+4>>2],f[e+40>>2]=0,f[e+32>>2]=0,f[e+36>>2]=0,f[e+24>>2]=l,f[e+28>>2]=n,f[e+16>>2]=c,f[e+20>>2]=u,f[e+8>>2]=r,f[e+12>>2]=t,t=f[a+24>>2],n=f[a+28>>2]-t|0){if((0|n)<0)break r;r=br(n),f[e+32>>2]=r,f[e+40>>2]=r+(n>>2<<2),p=e,d=ge(r,t,n)+n|0,f[p+36>>2]=d}t=f[s+4>>2],f[e+44>>2]=f[s>>2],f[e+48>>2]=t,t=f[s+12>>2],f[e+52>>2]=f[s+8>>2],f[e+56>>2]=t,f[e>>2]=2280;break i;case 3:if(e=br(112),f[e+4>>2]=c,f[e>>2]=2988,c=f[a+8>>2],u=f[a+12>>2],l=f[a+16>>2],n=f[a+20>>2],r=f[a>>2],t=f[a+4>>2],f[e+40>>2]=0,f[e+32>>2]=0,f[e+36>>2]=0,f[e+24>>2]=l,f[e+28>>2]=n,f[e+16>>2]=c,f[e+20>>2]=u,f[e+8>>2]=r,f[e+12>>2]=t,t=f[a+24>>2],n=f[a+28>>2]-t|0){if((0|n)<0)break r;r=br(n),f[e+32>>2]=r,f[e+40>>2]=r+(n>>2<<2),p=e,d=ge(r,t,n)+n|0,f[p+36>>2]=d}t=f[s+4>>2],f[e+44>>2]=f[s>>2],f[e+48>>2]=t,t=f[s+12>>2],f[e+52>>2]=f[s+8>>2],f[e+56>>2]=t,f[e+60>>2]=0,f[e+64>>2]=0,f[e>>2]=3044,f[e+68>>2]=0,f[e+72>>2]=0,f[e+76>>2]=0,f[e+80>>2]=0,f[e+84>>2]=0,f[e+88>>2]=0,f[e+92>>2]=0,f[e+96>>2]=0,f[e+100>>2]=0,f[e+104>>2]=0,f[e+108>>2]=0;break i;case 4:if(e=br(104),f[e+4>>2]=c,f[e>>2]=2988,c=f[a+8>>2],u=f[a+12>>2],l=f[a+16>>2],n=f[a+20>>2],r=f[a>>2],t=f[a+4>>2],f[e+40>>2]=0,f[e+32>>2]=0,f[e+36>>2]=0,f[e+24>>2]=l,f[e+28>>2]=n,f[e+16>>2]=c,f[e+20>>2]=u,f[e+8>>2]=r,f[e+12>>2]=t,t=f[a+24>>2],n=f[a+28>>2]-t|0){if((0|n)<0)break r;r=br(n),f[e+32>>2]=r,f[e+40>>2]=r+(n>>2<<2),p=e,d=ge(r,t,n)+n|0,f[p+36>>2]=d}t=f[s+4>>2],f[e+44>>2]=f[s>>2],f[e+48>>2]=t,r=f[s+8>>2],t=f[s+12>>2],f[e+84>>2]=0,f[e+76>>2]=0,f[e+80>>2]=0,f[e+60>>2]=0,f[e+64>>2]=0,f[e>>2]=3292,f[e+52>>2]=r,f[e+56>>2]=t,t=f[s+4>>2],f[e+88>>2]=f[s>>2],f[e+92>>2]=t,t=f[s+12>>2],f[e+96>>2]=f[s+8>>2],f[e+100>>2]=t;break i;case 5:break n;default:break i}e=br(128),f[e+4>>2]=c,f[e>>2]=2988,c=f[a+8>>2],u=f[a+12>>2],l=f[a+16>>2],n=f[a+20>>2],r=f[a>>2],t=f[a+4>>2],f[e+40>>2]=0,f[e+32>>2]=0,f[e+36>>2]=0,f[e+24>>2]=l,f[e+28>>2]=n,f[e+16>>2]=c,f[e+20>>2]=u,f[e+8>>2]=r,f[e+12>>2]=t;n:{o:{if(r=f[a+28>>2]-f[a+24>>2]|0){if((0|r)<0)break o;t=br(r),f[e+32>>2]=t,f[e+36>>2]=t,f[e+40>>2]=t+(r>>2<<2),r=f[a+24>>2],(0|(n=f[a+28>>2]-r|0))>0&&(t=ge(t,r,n)+n|0),f[e+36>>2]=t}f[e>>2]=2932,t=f[s+4>>2],f[e+44>>2]=f[s>>2],f[e+48>>2]=t,t=f[s+12>>2],f[e+52>>2]=f[s+8>>2],f[e+56>>2]=t,f[(t=e- -64|0)>>2]=0,f[t+4>>2]=0,f[e+60>>2]=4156,f[e>>2]=3528,t=f[s+4>>2],f[e+72>>2]=f[s>>2],f[e+76>>2]=t,t=f[s+12>>2],f[e+80>>2]=f[s+8>>2],f[e+84>>2]=t,f[e+104>>2]=1065353216,f[e+108>>2]=-1,f[e+96>>2]=-1,f[e+100>>2]=-1,f[e+88>>2]=1,f[e+92>>2]=-1,f[e+60>>2]=3764,f[e+112>>2]=0,f[e+116>>2]=0,o[e+117|0]=0,o[e+118|0]=0,o[e+119|0]=0,o[e+120|0]=0,o[e+121|0]=0,o[e+122|0]=0,o[e+123|0]=0,o[e+124|0]=0;break n}ii(),E()}}n=e}else{e=f[s+44>>2],f[b+12>>2]=l,f[b+8>>2]=e,f[b+20>>2]=u,f[b+16>>2]=u+12,s=b+8|0,e=0;i:{n:switch(t-1|0){case 0:if(e=br(60),f[e+4>>2]=c,f[e>>2]=2988,c=f[a+8>>2],u=f[a+12>>2],l=f[a+16>>2],n=f[a+20>>2],r=f[a>>2],t=f[a+4>>2],f[e+40>>2]=0,f[e+32>>2]=0,f[e+36>>2]=0,f[e+24>>2]=l,f[e+28>>2]=n,f[e+16>>2]=c,f[e+20>>2]=u,f[e+8>>2]=r,f[e+12>>2]=t,t=f[a+24>>2],n=f[a+28>>2]-t|0){if((0|n)<0)break r;r=br(n),f[e+32>>2]=r,f[e+40>>2]=r+(n>>2<<2),p=e,d=ge(r,t,n)+n|0,f[p+36>>2]=d}t=f[s+4>>2],f[e+44>>2]=f[s>>2],f[e+48>>2]=t,t=f[s+12>>2],f[e+52>>2]=f[s+8>>2],f[e+56>>2]=t,f[e>>2]=4184;break i;case 3:if(e=br(112),f[e+4>>2]=c,f[e>>2]=2988,c=f[a+8>>2],u=f[a+12>>2],l=f[a+16>>2],n=f[a+20>>2],r=f[a>>2],t=f[a+4>>2],f[e+40>>2]=0,f[e+32>>2]=0,f[e+36>>2]=0,f[e+24>>2]=l,f[e+28>>2]=n,f[e+16>>2]=c,f[e+20>>2]=u,f[e+8>>2]=r,f[e+12>>2]=t,t=f[a+24>>2],n=f[a+28>>2]-t|0){if((0|n)<0)break r;r=br(n),f[e+32>>2]=r,f[e+40>>2]=r+(n>>2<<2),p=e,d=ge(r,t,n)+n|0,f[p+36>>2]=d}t=f[s+4>>2],f[e+44>>2]=f[s>>2],f[e+48>>2]=t,t=f[s+12>>2],f[e+52>>2]=f[s+8>>2],f[e+56>>2]=t,f[e+60>>2]=0,f[e+64>>2]=0,f[e>>2]=4608,f[e+68>>2]=0,f[e+72>>2]=0,f[e+76>>2]=0,f[e+80>>2]=0,f[e+84>>2]=0,f[e+88>>2]=0,f[e+92>>2]=0,f[e+96>>2]=0,f[e+100>>2]=0,f[e+104>>2]=0,f[e+108>>2]=0;break i;case 4:if(e=br(104),f[e+4>>2]=c,f[e>>2]=2988,c=f[a+8>>2],u=f[a+12>>2],l=f[a+16>>2],n=f[a+20>>2],r=f[a>>2],t=f[a+4>>2],f[e+40>>2]=0,f[e+32>>2]=0,f[e+36>>2]=0,f[e+24>>2]=l,f[e+28>>2]=n,f[e+16>>2]=c,f[e+20>>2]=u,f[e+8>>2]=r,f[e+12>>2]=t,t=f[a+24>>2],n=f[a+28>>2]-t|0){if((0|n)<0)break r;r=br(n),f[e+32>>2]=r,f[e+40>>2]=r+(n>>2<<2),p=e,d=ge(r,t,n)+n|0,f[p+36>>2]=d}t=f[s+4>>2],f[e+44>>2]=f[s>>2],f[e+48>>2]=t,r=f[s+8>>2],t=f[s+12>>2],f[e+84>>2]=0,f[e+76>>2]=0,f[e+80>>2]=0,f[e+60>>2]=0,f[e+64>>2]=0,f[e>>2]=4844,f[e+52>>2]=r,f[e+56>>2]=t,t=f[s+4>>2],f[e+88>>2]=f[s>>2],f[e+92>>2]=t,t=f[s+12>>2],f[e+96>>2]=f[s+8>>2],f[e+100>>2]=t;break i;case 5:break n;default:break i}e=br(128),f[e+4>>2]=c,f[e>>2]=2988,c=f[a+8>>2],u=f[a+12>>2],l=f[a+16>>2],n=f[a+20>>2],r=f[a>>2],t=f[a+4>>2],f[e+40>>2]=0,f[e+32>>2]=0,f[e+36>>2]=0,f[e+24>>2]=l,f[e+28>>2]=n,f[e+16>>2]=c,f[e+20>>2]=u,f[e+8>>2]=r,f[e+12>>2]=t;n:{o:{if(r=f[a+28>>2]-f[a+24>>2]|0){if((0|r)<0)break o;t=br(r),f[e+32>>2]=t,f[e+36>>2]=t,f[e+40>>2]=t+(r>>2<<2),r=f[a+24>>2],(0|(n=f[a+28>>2]-r|0))>0&&(t=ge(t,r,n)+n|0),f[e+36>>2]=t}f[e>>2]=4552,t=f[s+4>>2],f[e+44>>2]=f[s>>2],f[e+48>>2]=t,t=f[s+12>>2],f[e+52>>2]=f[s+8>>2],f[e+56>>2]=t,f[(t=e- -64|0)>>2]=0,f[t+4>>2]=0,f[e+60>>2]=5652,f[e>>2]=5068,t=f[s+4>>2],f[e+72>>2]=f[s>>2],f[e+76>>2]=t,t=f[s+12>>2],f[e+80>>2]=f[s+8>>2],f[e+84>>2]=t,f[e+104>>2]=1065353216,f[e+108>>2]=-1,f[e+96>>2]=-1,f[e+100>>2]=-1,f[e+88>>2]=1,f[e+92>>2]=-1,f[e+60>>2]=5288,f[e+112>>2]=0,f[e+116>>2]=0,o[e+117|0]=0,o[e+118|0]=0,o[e+119|0]=0,o[e+120|0]=0,o[e+121|0]=0,o[e+122|0]=0,o[e+123|0]=0,o[e+124|0]=0;break n}ii(),E()}}n=e}I=b+32|0;break t}ii(),E()}if(n)break e}n=br(44),f[n+4>>2]=A,f[n>>2]=2988,c=f[a+8>>2],u=f[a+12>>2],l=f[a+16>>2],r=f[a+20>>2],t=f[a>>2],e=f[a+4>>2],f[n+40>>2]=0,f[n+32>>2]=0,f[n+36>>2]=0,f[n+24>>2]=l,f[n+28>>2]=r,f[n+16>>2]=c,f[n+20>>2]=u,f[n+8>>2]=t,f[n+12>>2]=e;t:{if(e=f[a+24>>2],r=f[a+28>>2]-e|0){if((0|r)<0)break t;t=br(r),f[n+32>>2]=t,f[n+40>>2]=t+(r>>2<<2),p=n,d=ge(t,e,r)+r|0,f[p+36>>2]=d}f[n>>2]=5680;break e}ii(),E()}(e=f[i+32>>2])&&(f[i+36>>2]=e,ee(e))}return I=i+48|0,0|n},function(e){return o[f[8+(e|=0)>>2]+24|0]},function(e,t){t|=0;var r,i=0,n=0,s=0,c=0,u=0,l=0,b=0,A=0,p=0,d=0,_=0,h=0;r=e|=0;e:{t:{r:{i:{n:{o:{a:{f:switch(A=f[e+8>>2],f[A+28>>2]-1|0){case 4:break r;case 5:break i;case 2:break n;case 3:break o;case 0:break a;case 1:break f;default:break e}if(n=br((0|(i=o[A+24|0]))>=0?i:-1),e=f[r+16>>2],l=f[e+80>>2]?f[f[e>>2]>>2]+f[e+48>>2]|0:0,!t)break t;if((0|i)>0){for(A=-4&i,d=3&i,s=i-1>>>0<3;;){if(e=0,u=0,!s)for(;b=l+(c<<2)|0,o[e+n|0]=f[b>>2],o[(1|e)+n|0]=f[b+4>>2],o[(2|e)+n|0]=f[b+8>>2],o[(3|e)+n|0]=f[b+12>>2],e=e+4|0,c=c+4|0,(0|A)!=(0|(u=u+4|0)););if(u=0,d)for(;o[e+n|0]=f[l+(c<<2)>>2],e=e+1|0,c=c+1|0,(0|d)!=(0|(u=u+1|0)););if(ge(f[f[f[r+8>>2]+64>>2]>>2]+_|0,n,i),_=i+_|0,(0|(p=p+1|0))==(0|t))break}break t}if(ge(f[f[A+64>>2]>>2],n,i),1==(0|t))break t;if(l=1&(s=t-1|0),e=0,2!=(0|t))for(t=-2&s;ge((e=e+i|0)+f[f[f[r+8>>2]+64>>2]>>2]|0,n,i),ge((e=e+i|0)+f[f[f[r+8>>2]+64>>2]>>2]|0,n,i),(0|t)!=(0|(c=c+2|0)););if(!l)break t;ge(f[f[f[r+8>>2]+64>>2]>>2]+(e+i|0)|0,n,i);break t}if(n=br((0|(i=o[A+24|0]))>=0?i:-1),e=f[r+16>>2],l=f[e+80>>2]?f[f[e>>2]>>2]+f[e+48>>2]|0:0,!t)break t;if((0|i)>0){for(A=-4&i,d=3&i,s=i-1>>>0<3;;){if(e=0,u=0,!s)for(;b=l+(c<<2)|0,o[e+n|0]=f[b>>2],o[(1|e)+n|0]=f[b+4>>2],o[(2|e)+n|0]=f[b+8>>2],o[(3|e)+n|0]=f[b+12>>2],e=e+4|0,c=c+4|0,(0|A)!=(0|(u=u+4|0)););if(u=0,d)for(;o[e+n|0]=f[l+(c<<2)>>2],e=e+1|0,c=c+1|0,(0|d)!=(0|(u=u+1|0)););if(ge(f[f[f[r+8>>2]+64>>2]>>2]+_|0,n,i),_=i+_|0,(0|(p=p+1|0))==(0|t))break}break t}if(ge(f[f[A+64>>2]>>2],n,i),1==(0|t))break t;if(l=1&(s=t-1|0),e=0,2!=(0|t))for(t=-2&s;ge((e=e+i|0)+f[f[f[r+8>>2]+64>>2]>>2]|0,n,i),ge((e=e+i|0)+f[f[f[r+8>>2]+64>>2]>>2]|0,n,i),(0|t)!=(0|(c=c+2|0)););if(!l)break t;ge(f[f[f[r+8>>2]+64>>2]>>2]+(e+i|0)|0,n,i);break t}if(n=br((e=(s=o[A+24|0])+s|0)>>>0<s>>>0?-1:e),e=f[r+16>>2],l=f[e+80>>2]?f[f[e>>2]>>2]+f[e+48>>2]|0:0,!t)break t;if(i=s<<1,(0|s)>0){for(A=-4&s,d=3&s,s=s-1>>>0<3;;){if(e=0,u=0,!s)for(;b=l+(c<<2)|0,a[(p=e<<1)+n>>1]=f[b>>2],a[(2|p)+n>>1]=f[b+4>>2],a[(4|p)+n>>1]=f[b+8>>2],a[(6|p)+n>>1]=f[b+12>>2],e=e+4|0,c=c+4|0,(0|A)!=(0|(u=u+4|0)););if(u=0,d)for(;a[(e<<1)+n>>1]=f[l+(c<<2)>>2],e=e+1|0,c=c+1|0,(0|d)!=(0|(u=u+1|0)););if(ge(f[f[f[r+8>>2]+64>>2]>>2]+h|0,n,i),h=i+h|0,(0|(_=_+1|0))==(0|t))break}break t}if(ge(f[f[A+64>>2]>>2],n,i),1==(0|t))break t;if(l=1&(s=t-1|0),e=0,2!=(0|t))for(t=-2&s;ge((e=e+i|0)+f[f[f[r+8>>2]+64>>2]>>2]|0,n,i),ge((e=e+i|0)+f[f[f[r+8>>2]+64>>2]>>2]|0,n,i),(0|t)!=(0|(c=c+2|0)););if(!l)break t;ge(f[f[f[r+8>>2]+64>>2]>>2]+(e+i|0)|0,n,i);break t}if(n=br((e=(s=o[A+24|0])+s|0)>>>0<s>>>0?-1:e),e=f[r+16>>2],l=f[e+80>>2]?f[f[e>>2]>>2]+f[e+48>>2]|0:0,!t)break t;if(i=s<<1,(0|s)>0){for(A=-4&s,d=3&s,s=s-1>>>0<3;;){if(e=0,u=0,!s)for(;b=l+(c<<2)|0,a[(p=e<<1)+n>>1]=f[b>>2],a[(2|p)+n>>1]=f[b+4>>2],a[(4|p)+n>>1]=f[b+8>>2],a[(6|p)+n>>1]=f[b+12>>2],e=e+4|0,c=c+4|0,(0|A)!=(0|(u=u+4|0)););if(u=0,d)for(;a[(e<<1)+n>>1]=f[l+(c<<2)>>2],e=e+1|0,c=c+1|0,(0|d)!=(0|(u=u+1|0)););if(ge(f[f[f[r+8>>2]+64>>2]>>2]+h|0,n,i),h=i+h|0,(0|(_=_+1|0))==(0|t))break}break t}if(ge(f[f[A+64>>2]>>2],n,i),1==(0|t))break t;if(l=1&(s=t-1|0),e=0,2!=(0|t))for(t=-2&s;ge((e=e+i|0)+f[f[f[r+8>>2]+64>>2]>>2]|0,n,i),ge((e=e+i|0)+f[f[f[r+8>>2]+64>>2]>>2]|0,n,i),(0|t)!=(0|(c=c+2|0)););if(!l)break t;ge(f[f[f[r+8>>2]+64>>2]>>2]+(e+i|0)|0,n,i);break t}if(i=(s=o[A+24|0])<<2,n=br((0|s)!=(1073741823&s)?-1:i),e=f[r+16>>2],l=f[e+80>>2]?f[f[e>>2]>>2]+f[e+48>>2]|0:0,!t)break t;if((0|s)>0){for(A=-4&s,d=3&s,s=s-1>>>0<3;;){if(e=0,u=0,!s)for(;b=l+(c<<2)|0,f[(p=e<<2)+n>>2]=f[b>>2],f[(4|p)+n>>2]=f[b+4>>2],f[(8|p)+n>>2]=f[b+8>>2],f[(12|p)+n>>2]=f[b+12>>2],e=e+4|0,c=c+4|0,(0|A)!=(0|(u=u+4|0)););if(u=0,d)for(;f[(e<<2)+n>>2]=f[l+(c<<2)>>2],e=e+1|0,c=c+1|0,(0|d)!=(0|(u=u+1|0)););if(ge(f[f[f[r+8>>2]+64>>2]>>2]+h|0,n,i),h=i+h|0,(0|(_=_+1|0))==(0|t))break}break t}if(ge(f[f[A+64>>2]>>2],n,i),1==(0|t))break t;if(l=1&(s=t-1|0),e=0,2!=(0|t))for(t=-2&s;ge((e=e+i|0)+f[f[f[r+8>>2]+64>>2]>>2]|0,n,i),ge((e=e+i|0)+f[f[f[r+8>>2]+64>>2]>>2]|0,n,i),(0|t)!=(0|(c=c+2|0)););if(!l)break t;ge(f[f[f[r+8>>2]+64>>2]>>2]+(e+i|0)|0,n,i);break t}if(i=(s=o[A+24|0])<<2,n=br((0|s)!=(1073741823&s)?-1:i),e=f[r+16>>2],l=f[e+80>>2]?f[f[e>>2]>>2]+f[e+48>>2]|0:0,t)if((0|s)>0)for(A=-4&s,d=3&s,s=s-1>>>0<3;;){if(e=0,u=0,!s)for(;b=l+(c<<2)|0,f[(p=e<<2)+n>>2]=f[b>>2],f[(4|p)+n>>2]=f[b+4>>2],f[(8|p)+n>>2]=f[b+8>>2],f[(12|p)+n>>2]=f[b+12>>2],e=e+4|0,c=c+4|0,(0|A)!=(0|(u=u+4|0)););if(u=0,d)for(;f[(e<<2)+n>>2]=f[l+(c<<2)>>2],e=e+1|0,c=c+1|0,(0|d)!=(0|(u=u+1|0)););if(ge(f[f[f[r+8>>2]+64>>2]>>2]+h|0,n,i),h=i+h|0,(0|(_=_+1|0))==(0|t))break}else if(ge(f[f[A+64>>2]>>2],n,i),1!=(0|t)){if(l=1&(s=t-1|0),e=0,2!=(0|t))for(t=-2&s;ge((e=e+i|0)+f[f[f[r+8>>2]+64>>2]>>2]|0,n,i),ge((e=e+i|0)+f[f[f[r+8>>2]+64>>2]>>2]|0,n,i),(0|t)!=(0|(c=c+2|0)););l&&ge(f[f[f[r+8>>2]+64>>2]>>2]+(e+i|0)|0,n,i)}}ee(n),n=1}return 0|n},function(e){var t;return f[(e|=0)>>2]=2988,(t=f[e+32>>2])&&(f[e+36>>2]=t,ee(t)),0|e},wr,qr,Yr,mr,ei,Zr,Jr,ei,qr,function(e,t){e|=0;var r,i,n,o=0,a=0,s=0,c=0,l=0,b=0;return i=a=f[12+(t|=0)>>2],s=o=f[t+20>>2],o=(r=(c=f[t+16>>2])+4|0)>>>0<4?o+1|0:o,(n=f[t+8>>2])>>>0<r>>>0&(0|o)>=(0|a)|(0|o)>(0|a)||(l=f[t>>2],a=u[0|(a=l+c|0)]|u[a+1|0]<<8|u[a+2|0]<<16|u[a+3|0]<<24,f[t+16>>2]=r,f[t+20>>2]=o,o=s,c=s=c+8|0,s=o=s>>>0<8?o+1|0:o,c>>>0>n>>>0&(0|o)>=(0|i)|(0|o)>(0|i)||(o=u[0|(o=r+l|0)]|u[o+1|0]<<8|u[o+2|0]<<16|u[o+3|0]<<24,f[t+16>>2]=c,f[t+20>>2]=s,(0|o)<(0|a)||(f[e+16>>2]=o,f[e+12>>2]=a,!(t=(o>>31)-((a>>31)+(o>>>0<a>>>0)|0)|0)&(o=o-a|0)>>>0>2147483646|t||(b=1,t=o+1|0,f[e+20>>2]=t,o=t>>>1|0,f[e+24>>2]=o,f[e+28>>2]=0-o,1&t||(f[e+24>>2]=o-1))))),0|b},function(e,t,r,i,n,o){t|=0,r|=0,i|=0,n|=0,o|=0;var a,s,c,u=0,l=0,b=0,A=0,p=0,_=0,h=0,k=0,m=0,y=0,v=0,g=0;if(f[8+(e|=0)>>2]=n,p=f[(i=e+32|0)>>2],(o=f[e+36>>2]-p>>2)>>>0<n>>>0?(st(i,n-o|0),p=f[i>>2],i=f[e+8>>2]):(n>>>0<o>>>0&&(f[e+36>>2]=(n<<2)+p),i=n),c=f[e+52>>2],a=f[e+48>>2],o=0,_=Ye(br(_=(1073741823&n)!=(0|n)?-1:n<<2),0,_),!((0|i)<=0)){for(;(0|(u=f[(i=o<<2)+_>>2]))>(0|(l=f[e+16>>2]))?f[i+p>>2]=l:(i=i+p|0,l=f[e+12>>2],f[i>>2]=(0|l)>(0|u)?l:u),(0|(i=f[e+8>>2]))>(0|(o=o+1|0)););if(!((0|i)<=0))for(o=0;;){i=(u=o<<2)+r|0,u=f[t+u>>2]+f[u+p>>2]|0,f[i>>2]=u;e:{if((0|u)>f[e+16>>2])u=u-f[e+20>>2]|0;else{if((0|u)>=f[e+12>>2])break e;u=u+f[e+20>>2]|0}f[i>>2]=u}if(!((0|(i=f[e+8>>2]))>(0|(o=o+1|0))))break}}if(o=f[e+56>>2],s=f[o>>2],(0|(o=f[o+4>>2]-s|0))>=5)for(m=(0|(o>>=2))>2?o:2,y=o>>>0>1?o:1,v=-2&n,g=1&n,p=1;;){e:{t:{if((0|p)!=(0|y)){if(k=d(n,p),-1==(0|(o=f[(p<<2)+s>>2]))|f[f[a>>2]+(o>>>3&536870908)>>2]>>>o&1)break t;if(-1==(0|(o=f[f[f[a+64>>2]+12>>2]+(o<<2)>>2])))break t;if(l=f[c>>2],u=f[a+28>>2],(0|(A=f[l+(f[u+(o<<2)>>2]<<2)>>2]))>=(0|p))break t;if((0|(b=f[l+(f[u+((((b=o+1|0)>>>0)%3|0?b:o-2|0)<<2)>>2]<<2)>>2]))>=(0|p))break t;if((0|(o=f[l+(f[u+(o+((o>>>0)%3|0?-1:2)<<2)>>2]<<2)>>2]))>=(0|p))break t;if(!((0|n)<=0)){if(u=d(n,o),l=d(n,b),A=d(n,A),o=0,h=0,1!=(0|n))for(;f[_+(o<<2)>>2]=(f[(o+u<<2)+r>>2]+f[(o+l<<2)+r>>2]|0)-f[(o+A<<2)+r>>2],f[_+((b=1|o)<<2)>>2]=(f[(u+b<<2)+r>>2]+f[(l+b<<2)+r>>2]|0)-f[(A+b<<2)+r>>2],o=o+2|0,(0|v)!=(0|(h=h+2|0)););g&&(f[_+(o<<2)>>2]=(f[(o+u<<2)+r>>2]+f[(o+l<<2)+r>>2]|0)-f[(o+A<<2)+r>>2])}if((0|i)<=0)break e;for(l=f[e+32>>2],o=0;(0|(u=f[(i=o<<2)+_>>2]))>(0|(A=f[e+16>>2]))?f[i+l>>2]=A:(i=i+l|0,A=f[e+12>>2],f[i>>2]=(0|A)>(0|u)?A:u),(0|(i=f[e+8>>2]))>(0|(o=o+1|0)););if(o=0,(0|i)<=0)break e;for(A=(i=k<<2)+r|0,b=t+i|0;;){i=(u=o<<2)+A|0,u=f[u+b>>2]+f[u+l>>2]|0,f[i>>2]=u;r:{if((0|u)>f[e+16>>2])u=u-f[e+20>>2]|0;else{if((0|u)>=f[e+12>>2])break r;u=u+f[e+20>>2]|0}f[i>>2]=u}if(!((0|(i=f[e+8>>2]))>(0|(o=o+1|0))))break}break e}ci(),E()}if(!((0|i)<=0)){for(A=(d(p-1|0,n)<<2)+r|0,l=f[e+32>>2],o=0;(0|(u=f[(i=o<<2)+A>>2]))>(0|(b=f[e+16>>2]))?f[i+l>>2]=b:(i=i+l|0,b=f[e+12>>2],f[i>>2]=(0|b)>(0|u)?b:u),(0|(i=f[e+8>>2]))>(0|(o=o+1|0)););if(o=0,!((0|i)<=0))for(A=(i=k<<2)+r|0,b=t+i|0;;){i=(u=o<<2)+A|0,u=f[u+b>>2]+f[u+l>>2]|0,f[i>>2]=u;t:{if((0|u)>f[e+16>>2])u=u-f[e+20>>2]|0;else{if((0|u)>=f[e+12>>2])break t;u=u+f[e+20>>2]|0}f[i>>2]=u}if(!((0|(i=f[e+8>>2]))>(0|(o=o+1|0))))break}}}if((0|m)==(0|(p=p+1|0)))break}return ee(_),1},ai,ai,function(e){var t=0;return f[(e|=0)>>2]=3044,(t=f[e+96>>2])&&ee(t),(t=f[e+84>>2])&&ee(t),(t=f[e+72>>2])&&ee(t),(t=f[e+60>>2])&&ee(t),f[e>>2]=2988,(t=f[e+32>>2])&&(f[e+36>>2]=t,ee(t)),0|e},function(e){var t=0;f[(e|=0)>>2]=3044,(t=f[e+96>>2])&&ee(t),(t=f[e+84>>2])&&ee(t),(t=f[e+72>>2])&&ee(t),(t=f[e+60>>2])&&ee(t),f[e>>2]=2988,(t=f[e+32>>2])&&(f[e+36>>2]=t,ee(t)),ee(e)},$r,mr,fe,function(e,t,r,i,n,o){t|=0,r|=0,i|=0,n|=0,o|=0;var a,s,c,u,l=0,b=0,A=0,p=0,_=0,h=0,k=0,m=0,y=0,v=0,g=0,w=0,T=0,B=0,x=0,R=0,N=0,C=0,D=0,M=0,G=0,U=0,V=0,S=0,F=0;I=a=I+-64|0,f[8+(e|=0)>>2]=n,l=f[(o=e+32|0)>>2];e:{if((i=f[e+36>>2]-l>>2)>>>0<n>>>0)st(o,n-i|0),f[a+56>>2]=0,f[a+60>>2]=0,f[a+48>>2]=0,f[a+52>>2]=0,f[a+40>>2]=0,f[a+44>>2]=0,f[a+32>>2]=0,f[a+36>>2]=0,f[a+24>>2]=0,f[a+28>>2]=0,f[a+16>>2]=0,f[a+20>>2]=0,f[a>>2]=0;else if(i>>>0>n>>>0&&(f[e+36>>2]=l+(n<<2)),f[a+56>>2]=0,f[a+60>>2]=0,f[a+48>>2]=0,f[a+52>>2]=0,f[a+40>>2]=0,f[a+44>>2]=0,f[a+32>>2]=0,f[a+36>>2]=0,f[a+24>>2]=0,f[a+28>>2]=0,f[a+16>>2]=0,f[a+20>>2]=0,f[a>>2]=0,i=0,!n)break e;ve(a+16|0,n,a),b=f[a+28>>2],i=f[a+32>>2]}f[a>>2]=0;e:if((i=i-b>>2)>>>0>=n>>>0){if(i>>>0<=n>>>0)break e;f[a+32>>2]=(n<<2)+b}else ve(a+16|12,n-i|0,a);f[a>>2]=0,o=f[a+40>>2];e:if((i=f[a+44>>2]-o>>2)>>>0>=n>>>0){if(i>>>0<=n>>>0)break e;f[a+44>>2]=o+(n<<2)}else ve(a+40|0,n-i|0,a);f[a>>2]=0,o=f[a+52>>2];e:if((i=f[a+56>>2]-o>>2)>>>0>=n>>>0){if(i>>>0<=n>>>0)break e;f[a+56>>2]=o+(n<<2)}else ve(a+52|0,n-i|0,a);if(b=0,!(f[e+8>>2]<=0)){for(A=f[e+32>>2],l=f[a+16>>2];(0|(o=f[(i=b<<2)+l>>2]))>(0|(h=f[e+16>>2]))?f[i+A>>2]=h:(i=i+A|0,h=f[e+12>>2],f[i>>2]=(0|h)>(0|o)?h:o),(0|(b=b+1|0))<(0|(i=f[e+8>>2])););if(!((0|i)<=0))for(i=0;;){o=(l=i<<2)+r|0,l=f[t+l>>2]+f[l+A>>2]|0,f[o>>2]=l;e:{if((0|l)>f[e+16>>2])l=l-f[e+20>>2]|0;else{if((0|l)>=f[e+12>>2])break e;l=l+f[e+20>>2]|0}f[o>>2]=l}if(!((0|(i=i+1|0))<f[e+8>>2]))break}}u=f[e+52>>2],s=f[e+48>>2],c=br(16),f[(i=c)>>2]=0,f[i+4>>2]=0,f[i+8>>2]=0,f[i+12>>2]=0,f[a+8>>2]=0,f[a>>2]=0,f[a+4>>2]=0;e:{if(n){if(n>>>0>=1073741824)break e;B=br(i=n<<2),f[a>>2]=B,f[a+8>>2]=i+B,Ye(B,0,i)}y=1,i=f[e+56>>2],N=f[i>>2];t:if(!((0|(i=f[i+4>>2]-N|0))<5))for(G=(0|(i>>=2))>2?i:2,U=i>>>0>1?i:1,C=-2&n,D=1&n,V=-4&n,M=3&n,x=n-1|0,S=n<<2,h=1;;){r:{i:{n:{o:{if((0|h)!=(0|U)){i=((o=f[(h<<2)+N>>2])>>>0)%3|0;a:{f:if(-1!=(0|o)){A=0,R=0!=(0|i)|-1!=(0|(l=o+2|0)),k=1,m=1<<(v=i?o-1|0:l),g=v>>>5|0,F=f[s>>2],i=o;s:{for(;;){if(!(f[(i>>>3&536870908)+F>>2]>>>i&1||-1==(0|(l=f[f[f[s+64>>2]+12>>2]+(i<<2)>>2]))||(p=f[u>>2],b=f[s+28>>2],(0|(y=f[p+(f[b+(l<<2)>>2]<<2)>>2]))>=(0|h)||(0|(_=f[p+(f[b+((((_=l+1|0)>>>0)%3|0?_:l-2|0)<<2)>>2]<<2)>>2]))>=(0|h)||(0|(b=f[p+(f[b+(l+((l>>>0)%3|0?-1:2)<<2)>>2]<<2)>>2]))>=(0|h)))){if(n){if(l=f[(a+16|0)+d(A,12)>>2],p=d(n,b),_=d(n,_),y=d(n,y),b=0,T=0,x)for(;f[l+(b<<2)>>2]=(f[(b+p<<2)+r>>2]+f[(b+_<<2)+r>>2]|0)-f[(b+y<<2)+r>>2],f[l+((w=1|b)<<2)>>2]=(f[(p+w<<2)+r>>2]+f[(_+w<<2)+r>>2]|0)-f[(y+w<<2)+r>>2],b=b+2|0,(0|C)!=(0|(T=T+2|0)););D&&(f[l+(b<<2)>>2]=(f[(b+p<<2)+r>>2]+f[(b+_<<2)+r>>2]|0)-f[(b+y<<2)+r>>2])}if(l=4,4==(0|(A=A+1|0)))break s}c:if(1&k){if(b=i-2|0,l=i+1|0,i=-1,-1==(0|(l=(l>>>0)%3|0?l:b))|f[f[s>>2]+(l>>>3&536870908)>>2]>>>l&1)break c;if(-1==(0|(l=f[f[f[s+64>>2]+12>>2]+(l<<2)>>2])))break c;i=((i=l+1|0)>>>0)%3|0?i:l-2|0}else{if((i>>>0)%3|0)b=i-1|0;else if(b=i+2|0,i=-1,-1==(0|b))break c;i=-1,f[f[s>>2]+(b>>>3&536870908)>>2]>>>b&1||-1!=(0|(l=f[f[f[s+64>>2]+12>>2]+(b<<2)>>2]))&&(i=(l>>>0)%3|0?l-1|0:l+2|0)}c:if((0|i)!=(0|o)){if(!(1&(1^k)|-1!=(0|i))){if(!R|m&f[f[s>>2]+(g<<2)>>2])break c;if(-1==(0|(i=f[f[f[s+64>>2]+12>>2]+(v<<2)>>2])))break c;k=0,i=(i>>>0)%3|0?i-1|0:i+2|0}if(-1!=(0|i))continue}break}if((0|(l=A))<=0)break f}for(n&&Ye(f[a>>2],0,S),w=((i=l-1|0)<<2)+c|0,T=i=d(i,12)+e|0,R=f[i- -64>>2],y=0,k=0,i=0;;){if(o=f[w>>2],f[w>>2]=o+1,o>>>0>=R>>>0)break t;if(!(f[f[T+60>>2]+(o>>>3&536870908)>>2]>>>o&1)&&(i=i+1|0,n)){if(A=f[a>>2],p=f[(a+16|0)+d(k,12)>>2],v=0,b=0,o=0,x>>>0>=3)for(;f[(m=(_=b<<2)+A|0)>>2]=f[m>>2]+f[p+_>>2],f[(g=(m=4|_)+A|0)>>2]=f[g>>2]+f[p+m>>2],f[(g=(m=8|_)+A|0)>>2]=f[g>>2]+f[p+m>>2],f[(m=(_|=12)+A|0)>>2]=f[m>>2]+f[p+_>>2],b=b+4|0,(0|V)!=(0|(o=o+4|0)););if(M)for(;f[(_=(o=b<<2)+A|0)>>2]=f[_>>2]+f[o+p>>2],b=b+1|0,(0|M)!=(0|(v=v+1|0)););}if((0|(k=k+1|0))==(0|l))break}if(o=k=d(n,h),!i)break a;if(!n)break i;if(o=f[a>>2],b=0,l=0,x)break o;break n}o=d(n,h)}if(f[e+8>>2]<=0)break r;for(k=(d(h-1|0,n)<<2)+r|0,A=f[e+32>>2],b=0;(0|(l=f[(i=b<<2)+k>>2]))>(0|(p=f[e+16>>2]))?f[i+A>>2]=p:(i=i+A|0,p=f[e+12>>2],f[i>>2]=(0|p)>(0|l)?p:l),(0|(b=b+1|0))<(0|(l=f[e+8>>2])););if(i=0,(0|l)<=0)break r;for(b=(o<<=2)+r|0,k=t+o|0;;){o=(l=i<<2)+b|0,l=f[l+k>>2]+f[l+A>>2]|0,f[o>>2]=l;a:{if((0|l)>f[e+16>>2])l=l-f[e+20>>2]|0;else{if((0|l)>=f[e+12>>2])break a;l=l+f[e+20>>2]|0}f[o>>2]=l}if(!((0|(i=i+1|0))<f[e+8>>2]))break}break r}ci(),E()}for(;f[(p=(A=b<<2)+o|0)>>2]=f[p>>2]/(0|i),f[(A=o+(4|A)|0)>>2]=f[A>>2]/(0|i),b=b+2|0,(0|C)!=(0|(l=l+2|0)););}D&&(f[(o=o+(b<<2)|0)>>2]=f[o>>2]/(0|i))}if(!(f[e+8>>2]<=0)){for(A=f[e+32>>2],b=0;(0|(o=f[(i=b<<2)+B>>2]))>(0|(l=f[e+16>>2]))?f[i+A>>2]=l:(i=i+A|0,l=f[e+12>>2],f[i>>2]=(0|l)>(0|o)?l:o),(0|(b=b+1|0))<(0|(o=f[e+8>>2])););if(i=0,!((0|o)<=0))for(b=(o=k<<2)+r|0,k=t+o|0;;){o=(l=i<<2)+b|0,l=f[l+k>>2]+f[l+A>>2]|0,f[o>>2]=l;i:{if((0|l)>f[e+16>>2])l=l-f[e+20>>2]|0;else{if((0|l)>=f[e+12>>2])break i;l=l+f[e+20>>2]|0}f[o>>2]=l}if(!((0|(i=i+1|0))<f[e+8>>2]))break}}}if(y=1,(0|G)==(0|(h=h+1|0)))break}return(e=f[a>>2])&&ee(e),ee(c),(e=f[a+52>>2])&&(f[a+56>>2]=e,ee(e)),(e=f[a+40>>2])&&(f[a+44>>2]=e,ee(e)),(e=f[a+28>>2])&&(f[a+32>>2]=e,ee(e)),(e=f[a+16>>2])&&(f[a+20>>2]=e,ee(e)),I=a- -64|0,0|y}ii(),E()},function(e){var t=0;return f[(e|=0)>>2]=3292,(t=f[e+76>>2])&&ee(t),f[e>>2]=2988,(t=f[e+32>>2])&&(f[e+36>>2]=t,ee(t)),0|e},function(e){var t=0;f[(e|=0)>>2]=3292,(t=f[e+76>>2])&&ee(t),f[e>>2]=2988,(t=f[e+32>>2])&&(f[e+36>>2]=t,ee(t)),ee(e)},Kr,hr,qr,Jr,yr,ke,function(e,t,r,i,n,a){e|=0,t|=0,r|=0,i|=0,a|=0;var s=0,c=0,l=0,b=0,A=0,p=0,d=0,_=0,h=0,k=0,m=0,y=0,v=0,g=0,w=0,T=0,B=0,x=0,R=0,N=0,D=0,M=0,G=0,U=0,V=0,S=0,F=0,W=0,j=0,O=0,Z=0,Y=0,z=0,J=0,Q=0,L=0,X=0,H=0,q=0,$=0;if(2==(0|(n|=0))){f[e+8>>2]=2,f[e- -64>>2]=a,n=f[(i=e+32|0)>>2],(s=(a=f[e+36>>2]-n|0)>>2)>>>0<=1?st(i,2-s|0):8!=(0|a)&&(f[e+36>>2]=n+8);e:if(i=f[e+56>>2],(0|(a=(n=f[i+4>>2])-(i=f[i>>2])|0))<=0)a=0;else{if((0|i)!=(0|n))for(d=e+60|0,X=(0|(F=a>>2))>1?F:1,a=1;;){I=b=I-80|0,n=-1,s=-1,-1!=(0|(i=f[(m<<2)+i>>2]))&&(n=((n=i+1|0)>>>0)%3|0?n:i-2|0,s=i-1|0,(i>>>0)%3|0||(s=i+2|0)),l=f[d+36>>2],i=f[l>>2];t:{r:{i:{n:{if(l=f[l+4>>2]-i>>2,c=n<<2,n=f[f[d+32>>2]+28>>2],!(l>>>0<=(A=f[c+n>>2])>>>0||(n=f[n+(s<<2)>>2])>>>0>=l>>>0)){o:{if(!((0|(s=f[i+(n<<2)>>2]))>=(0|m)|(0|(l=f[i+(A<<2)>>2]))>=(0|m))){if(T=f[4+(i=(s<<3)+r|0)>>2],v=f[4+(n=(l<<3)+r|0)>>2],!((0|(x=f[i>>2]))!=(0|(G=f[n>>2]))|(0|v)!=(0|T))){f[d+8>>2]=G,f[d+12>>2]=v;break o}if(i=f[f[d+4>>2]+(m<<2)>>2],f[b+72>>2]=0,f[b+76>>2]=0,f[(n=b- -64|0)>>2]=0,f[n+4>>2]=0,f[b+56>>2]=0,f[b+60>>2]=0,n=f[d>>2],u[n+84|0]||(i=f[f[n+68>>2]+(i<<2)>>2]),P(n,i,o[n+24|0],b+56|0),i=f[f[d+4>>2]+(l<<2)>>2],f[b+48>>2]=0,f[b+52>>2]=0,f[b+40>>2]=0,f[b+44>>2]=0,f[b+32>>2]=0,f[b+36>>2]=0,n=f[d>>2],u[n+84|0]||(i=f[f[n+68>>2]+(i<<2)>>2]),P(n,i,o[n+24|0],b+32|0),i=f[f[d+4>>2]+(s<<2)>>2],f[b+24>>2]=0,f[b+28>>2]=0,f[b+16>>2]=0,f[b+20>>2]=0,f[b+8>>2]=0,f[b+12>>2]=0,n=f[d>>2],u[n+84|0]||(i=f[f[n+68>>2]+(i<<2)>>2]),P(n,i,o[n+24|0],b+8|0),W=f[b+44>>2],i=Jt(h=(i=f[b+16>>2])-(n=U=f[b+40>>2])|0,A=f[b+20>>2]-(W+(i>>>0<n>>>0)|0)|0,h,A),n=C,_=i,j=f[b+36>>2],s=Jt(g=(i=f[b+8>>2])-(s=V=f[b+32>>2])|0,c=f[b+12>>2]-(j+(i>>>0<s>>>0)|0)|0,g,c),n=C+n|0,n=(i=_+s|0)>>>0<s>>>0?n+1|0:n,_=i,O=f[b+52>>2],y=Jt(k=(i=f[b+24>>2])-(s=S=f[b+48>>2])|0,p=f[b+28>>2]-(O+(i>>>0<s>>>0)|0)|0,k,p),s=C+n|0,w=i=_+y|0,i|(y=i>>>0<y>>>0?s+1|0:s)){if(i=Jt((i=_=f[b+64>>2])-U|0,(Y=f[b+68>>2])-((i>>>0<U>>>0)+W|0)|0,h,A),n=C,i=(s=i)+(l=Jt((i=z=f[b+56>>2])-V|0,(J=f[b+60>>2])-((i>>>0<V>>>0)+j|0)|0,g,c))|0,s=C+n|0,s=i>>>0<l>>>0?s+1|0:s,i=(n=i)+(l=Jt((i=Q=f[b+72>>2])-S|0,(L=f[b+76>>2])-((i>>>0<S>>>0)+O|0)|0,k,p))|0,n=C+s|0,R=i,B=i>>>0<l>>>0?n+1|0:n,s=(i=p>>31)+p|0,s=(n=i+k|0)>>>0<i>>>0?s+1|0:s,n^=i,l=i^=s,s=(i=A>>31)+A|0,D=i^(N=i+h|0),N=i^=i>>>0>N>>>0?s+1|0:s,Z=0,s=(i=c>>31)+c|0,s=(M=i+g|0)>>>0<i>>>0?s+1|0:s,H=n,M^=i,(n=Ee(-1,2147483647,(n=(0|l)==(0|(i=(s=(0|N)==(0|(i^=s))&D>>>0>M>>>0|i>>>0<N>>>0)?N:i))&n>>>0>(D=s?D:M)>>>0|i>>>0<l>>>0)?H:D,n?l:i)>>>0<R>>>0)&(0|(i=C))<=(0|B)|(0|i)<(0|B))break t;if(l=1,i=0,n=_,h=Yt(Jt(h,A,R,B),C,w,y),s=C+W|0,s=Y-((n>>>0<(A=h+U|0)>>>0)+(s=A>>>0<h>>>0?s+1|0:s)|0)|0,s=Jt(n=n-A|0,s,n,s),h=C,n=z,_=s,c=Yt(Jt(g,c,R,B),C,w,y),s=C+j|0,s=J-((n>>>0<(A=c+V|0)>>>0)+(s=c>>>0>A>>>0?s+1|0:s)|0)|0,A=Jt(n=n-A|0,s,n,s),n=C+h|0,A=n=(s=_+A|0)>>>0<A>>>0?n+1|0:n,n=Q,_=s,p=Yt(Jt(k,p,R,B),C,w,y),s=C+O|0,s=L-((n>>>0<(c=p+S|0)>>>0)+(s=c>>>0<p>>>0?s+1|0:s)|0)|0,c=Jt(n=n-c|0,s,n,s),s=C+A|0,A=Jt(n=_+c|0,n>>>0<c>>>0?s+1|0:s,w,y),c=n=C,!n&A>>>0<=1)break n;for(p=A,n=c;s=i<<1|l>>>31,l<<=1,i=s,h=!n&p>>>0>7|0!=(0|n),p=(3&n)<<30|p>>>2,n=n>>>2|0,h;);break i}}if((0|l)<(0|m))i=l<<1;else{if((0|m)<=0){f[d+8>>2]=0,f[d+12>>2]=0;break o}i=(m<<1)-2|0}i=(i<<2)+r|0,f[d+8>>2]=f[i>>2],f[d+12>>2]=f[i+4>>2]}Z=1;break t}ci(),E()}if(i=c,(l=A)-1|0)break r}for(;n=Ee(A,c,l,i)+l|0,s=i+C|0,n=Jt(l=(1&(s=n>>>0<l>>>0?s+1|0:s))<<31|n>>>1,i=s>>>1|0,l,i),(0|c)==(0|(s=C))&n>>>0>A>>>0|s>>>0>c>>>0;);}(A=f[d+20>>2])&&(n=A-1|0,p=f[f[d+16>>2]+(n>>>3&536870908)>>2],f[d+20>>2]=n,s=Jt(R,B,h=T-(s=v)|0,g=(T>>31)-((c=s>>31)+(s>>>0>T>>>0)|0)|0),k=C,c=(v=Jt(v,c,w,y))+s|0,s=C+k|0,s=c>>>0<v>>>0?s+1|0:s,_=c,x=c=Jt(l,i,k=x-(c=G)|0,T=(x>>31)-((v=c>>31)+(c>>>0>x>>>0)|0)|0),c=_+(p=(n=p>>>n&1)?0-c|0:c)|0,_=s,s=C,s=_+(n?0-(s+(0!=(0|x))|0)|0:s)|0,q=d,$=Yt(c,c>>>0<p>>>0?s+1|0:s,w,y),f[q+12>>2]=$,s=Jt(k,T,R,B),p=C,c=(k=Jt(w,y,G,v))+s|0,s=C+p|0,s=c>>>0<k>>>0?s+1|0:s,_=c,i=Jt(l,i,h,g),l=_+(c=n?i:0-i|0)|0,_=s,s=C,n=_+(n?s:0-((0!=(0|i))+s|0)|0)|0,q=d,$=Yt(l,l>>>0<c>>>0?n+1|0:n,w,y),f[q+8>>2]=$),Z=0!=(0|A)}if(I=b+80|0,!Z)break e;if(!(f[e+8>>2]<=0)){for(s=f[e+32>>2],i=0;(0|(a=f[68+((n=i<<2)+e|0)>>2]))>(0|(l=f[e+16>>2]))?f[n+s>>2]=l:(n=n+s|0,l=f[e+12>>2],f[n>>2]=(0|l)>(0|a)?l:a),(0|(i=i+1|0))<(0|(a=f[e+8>>2])););if(n=0,!((0|a)<=0))for(l=(i=m<<3)+r|0,A=t+i|0;;){i=(a=n<<2)+l|0,a=f[a+A>>2]+f[a+s>>2]|0,f[i>>2]=a;t:{if((0|a)>f[e+16>>2])a=a-f[e+20>>2]|0;else{if((0|a)>=f[e+12>>2])break t;a=a+f[e+20>>2]|0}f[i>>2]=a}if(!((0|(n=n+1|0))<f[e+8>>2]))break}}if(a=(0|F)>(0|(m=m+1|0)),(0|m)==(0|X))break e;if(n=f[e+56>>2],i=f[n>>2],!(f[n+4>>2]-i>>2>>>0>m>>>0))break}ci(),E()}e=1^a}else e=0;return 1&e},function(e){var t;return f[(e|=0)>>2]=3528,f[e>>2]=2988,(t=f[e+32>>2])&&(f[e+36>>2]=t,ee(t)),0|e},function(e){var t;f[(e|=0)>>2]=3528,f[e>>2]=2988,(t=f[e+32>>2])&&(f[e+36>>2]=t,ee(t)),ee(e)},ri,ir,qr,Jr,vr,Pe,function(e,t,r,i,n,o){t|=0,r|=0,i|=0,n|=0,o|=0;var a,s=0,c=0,u=0,l=0,b=0,A=0,p=0,d=0;I=a=I-32|0,f[68+(e|=0)>>2]=o,n=f[e+56>>2],i=f[n>>2],o=f[n+4>>2],f[a+24>>2]=0,f[a+16>>2]=0,f[a+20>>2]=0;e:if(!((0|(o=o-i|0))<=0)){if((0|(i=f[n>>2]))!=f[n+4>>2])for(A=e+112|0,p=e+60|0,d=(n=o>>>2|0)>>>0>1?n:1;;){if(Y(p,f[(l<<2)+i>>2],a+16|0),i=(n=f[a+20>>2])>>31,s=(o=f[a+16>>2])>>31,c=(u=f[a+24>>2])>>31,s=(c^=c+u)+((i^i+n)+(s^o+s)|0)|0,i=0,(i=s>>>0<c>>>0?1:i)|s?(o=Yt(Jt(c=f[e+108>>2],b=c>>31,o,o>>31),C,s,i),f[a+16>>2]=o,i=Yt(Jt(c,b,n,n>>31),C,s,i),f[a+20>>2]=i,i=(n=(n=i)+(i>>=31)^i)+((i=o>>31)+o^i)|0,f[a+24>>2]=(0|u)>=0?c-i:i-c):f[a+16>>2]=f[e+108>>2],i=Wt(A),o=f[a+16>>2],i?(f[a+24>>2]=0-f[a+24>>2],n=0-f[a+20>>2]|0,f[a+20>>2]=n,o=0-o|0,f[a+16>>2]=o):n=f[a+20>>2],(0|o)>=0?(o=(i=f[e+108>>2])+f[a+24>>2]|0,i=i+n|0):((0|n)<0?(i=(o=f[a+24>>2])>>31,i^=i+o):(i=(o=f[a+24>>2])>>31,i=f[e+100>>2]-(i^i+o)|0),(0|o)<0?o=(o=n)+(n>>=31)^n:(o=n,n>>=31,o=f[e+100>>2]-(o+n^n)|0)),n=f[e+100>>2],i|o?(0|n)!=(0|o)|i?o|(s=(0|i)!=(0|n))?i||(0|(u=f[e+108>>2]))>=(0|o)?s||(0|(s=f[e+108>>2]))<=(0|o)?(0|n)!=(0|o)||(0|(n=f[e+108>>2]))<=(0|i)?o||(o=0,(0|(n=f[e+108>>2]))>=(0|i)||(i=(n<<1)-i|0)):i=(n<<1)-i|0:o=(s<<1)-o|0:(o=(u<<1)-o|0,i=0):o=i:i=o:i=o=n,f[a+12>>2]=o,f[a+8>>2]=i,!(f[e+8>>2]<=0)){for(s=f[e+32>>2],o=0;(0|(n=f[e+16>>2]))<(0|i)?f[s+(o<<2)>>2]=n:(n=s+(o<<2)|0,u=f[e+12>>2],f[n>>2]=(0|u)>(0|i)?u:i),(0|(o=o+1|0))<(0|(n=f[e+8>>2]));)i=f[(a+8|0)+(o<<2)>>2];if(i=0,!((0|n)<=0))for(u=(n=l<<3)+r|0,c=t+n|0;;){n=(o=i<<2)+u|0,o=f[o+c>>2]+f[o+s>>2]|0,f[n>>2]=o;t:{if((0|o)>f[e+16>>2])o=o-f[e+20>>2]|0;else{if((0|o)>=f[e+12>>2])break t;o=o+f[e+20>>2]|0}f[n>>2]=o}if(!((0|(i=i+1|0))<f[e+8>>2]))break}}if((0|d)==(0|(l=l+1|0)))break e;if(n=f[e+56>>2],i=f[n>>2],!(f[n+4>>2]-i>>2>>>0>l>>>0))break}ci(),E()}return I=a+32|0,1},Hr,ni,dr,Wr,Y,ai,wr,qr,mr,function(e,t,r,i,n,o){t|=0,r|=0,i|=0,n|=0,o|=0;var a,s,c,u=0,l=0,b=0,A=0,p=0,_=0,h=0,k=0,m=0,y=0,v=0,g=0;if(f[8+(e|=0)>>2]=n,p=f[(i=e+32|0)>>2],(o=f[e+36>>2]-p>>2)>>>0<n>>>0?(st(i,n-o|0),p=f[i>>2],i=f[e+8>>2]):(n>>>0<o>>>0&&(f[e+36>>2]=(n<<2)+p),i=n),c=f[e+52>>2],a=f[e+48>>2],o=0,h=Ye(br(h=(1073741823&n)!=(0|n)?-1:n<<2),0,h),!((0|i)<=0)){for(;(0|(u=f[(i=o<<2)+h>>2]))>(0|(b=f[e+16>>2]))?f[i+p>>2]=b:(i=i+p|0,b=f[e+12>>2],f[i>>2]=(0|b)>(0|u)?b:u),(0|(i=f[e+8>>2]))>(0|(o=o+1|0)););if(!((0|i)<=0))for(o=0;;){i=(u=o<<2)+r|0,u=f[t+u>>2]+f[u+p>>2]|0,f[i>>2]=u;e:{if((0|u)>f[e+16>>2])l=u-f[e+20>>2]|0;else{if((0|u)>=f[e+12>>2])break e;l=u+f[e+20>>2]|0}f[i>>2]=l}if(!((0|(i=f[e+8>>2]))>(0|(o=o+1|0))))break}}if(o=f[e+56>>2],s=f[o>>2],(0|(o=f[o+4>>2]-s|0))>=5)for(m=(0|(o>>=2))>2?o:2,y=o>>>0>1?o:1,v=-2&n,g=1&n,p=1;;){e:{t:{if((0|p)!=(0|y)){if(k=d(n,p),-1==(0|(o=f[(p<<2)+s>>2])))break t;if(-1==(0|(o=f[f[a+12>>2]+(o<<2)>>2])))break t;b=f[c>>2],u=f[a>>2],A=f[b+(f[u+(o<<2)>>2]<<2)>>2],l=-1!=(0|(l=((l=o+1|0)>>>0)%3|0?l:o-2|0))?f[u+(l<<2)>>2]:-1;r:{if((o>>>0)%3|0)o=o-1|0;else if(_=-1,-1==(0|(o=o+2|0)))break r;_=f[u+(o<<2)>>2]}if((0|A)>=(0|p))break t;if((0|(o=f[(l<<2)+b>>2]))>=(0|p))break t;if((0|(u=f[b+(_<<2)>>2]))>=(0|p))break t;if(!((0|n)<=0)){if(u=d(n,u),b=d(n,o),A=d(n,A),o=0,_=0,1!=(0|n))for(;f[h+(o<<2)>>2]=(f[(o+u<<2)+r>>2]+f[(o+b<<2)+r>>2]|0)-f[(o+A<<2)+r>>2],f[h+((l=1|o)<<2)>>2]=(f[(u+l<<2)+r>>2]+f[(b+l<<2)+r>>2]|0)-f[(l+A<<2)+r>>2],o=o+2|0,(0|v)!=(0|(_=_+2|0)););g&&(f[h+(o<<2)>>2]=(f[(o+u<<2)+r>>2]+f[(o+b<<2)+r>>2]|0)-f[(o+A<<2)+r>>2])}if((0|i)<=0)break e;for(b=f[e+32>>2],o=0;(0|(u=f[(i=o<<2)+h>>2]))>(0|(A=f[e+16>>2]))?f[i+b>>2]=A:(i=i+b|0,A=f[e+12>>2],f[i>>2]=(0|A)>(0|u)?A:u),(0|(i=f[e+8>>2]))>(0|(o=o+1|0)););if(o=0,(0|i)<=0)break e;for(A=(i=k<<2)+r|0,l=t+i|0;;){i=(u=o<<2)+A|0,u=f[u+l>>2]+f[u+b>>2]|0,f[i>>2]=u;r:{if((0|u)>f[e+16>>2])_=u-f[e+20>>2]|0;else{if((0|u)>=f[e+12>>2])break r;_=u+f[e+20>>2]|0}f[i>>2]=_}if(!((0|(i=f[e+8>>2]))>(0|(o=o+1|0))))break}break e}ci(),E()}if(!((0|i)<=0)){for(A=(d(p-1|0,n)<<2)+r|0,b=f[e+32>>2],o=0;(0|(u=f[(i=o<<2)+A>>2]))>(0|(l=f[e+16>>2]))?f[i+b>>2]=l:(i=i+b|0,l=f[e+12>>2],f[i>>2]=(0|l)>(0|u)?l:u),(0|(i=f[e+8>>2]))>(0|(o=o+1|0)););if(o=0,!((0|i)<=0))for(A=(i=k<<2)+r|0,l=t+i|0;;){i=(u=o<<2)+A|0,u=f[u+l>>2]+f[u+b>>2]|0,f[i>>2]=u;t:{if((0|u)>f[e+16>>2])_=u-f[e+20>>2]|0;else{if((0|u)>=f[e+12>>2])break t;_=u+f[e+20>>2]|0}f[i>>2]=_}if(!((0|(i=f[e+8>>2]))>(0|(o=o+1|0))))break}}}if((0|m)==(0|(p=p+1|0)))break}return ee(h),1},ai,function(e){var t=0;return f[(e|=0)>>2]=4608,(t=f[e+96>>2])&&ee(t),(t=f[e+84>>2])&&ee(t),(t=f[e+72>>2])&&ee(t),(t=f[e+60>>2])&&ee(t),f[e>>2]=2988,(t=f[e+32>>2])&&(f[e+36>>2]=t,ee(t)),0|e},function(e){var t=0;f[(e|=0)>>2]=4608,(t=f[e+96>>2])&&ee(t),(t=f[e+84>>2])&&ee(t),(t=f[e+72>>2])&&ee(t),(t=f[e+60>>2])&&ee(t),f[e>>2]=2988,(t=f[e+32>>2])&&(f[e+36>>2]=t,ee(t)),ee(e)},$r,mr,fe,function(e,t,r,i,n,o){t|=0,r|=0,i|=0,n|=0,o|=0;var a,s,c,u,l=0,b=0,A=0,p=0,_=0,h=0,k=0,m=0,y=0,v=0,g=0,w=0,T=0,B=0,x=0,R=0,N=0,C=0,D=0,M=0,G=0,U=0,V=0,S=0;I=a=I+-64|0,f[8+(e|=0)>>2]=n,l=f[(o=e+32|0)>>2];e:{if((i=f[e+36>>2]-l>>2)>>>0<n>>>0)st(o,n-i|0),f[a+56>>2]=0,f[a+60>>2]=0,f[a+48>>2]=0,f[a+52>>2]=0,f[a+40>>2]=0,f[a+44>>2]=0,f[a+32>>2]=0,f[a+36>>2]=0,f[a+24>>2]=0,f[a+28>>2]=0,f[a+16>>2]=0,f[a+20>>2]=0,f[a>>2]=0;else if(i>>>0>n>>>0&&(f[e+36>>2]=l+(n<<2)),f[a+56>>2]=0,f[a+60>>2]=0,f[a+48>>2]=0,f[a+52>>2]=0,f[a+40>>2]=0,f[a+44>>2]=0,f[a+32>>2]=0,f[a+36>>2]=0,f[a+24>>2]=0,f[a+28>>2]=0,f[a+16>>2]=0,f[a+20>>2]=0,f[a>>2]=0,i=0,!n)break e;ve(a+16|0,n,a),b=f[a+28>>2],i=f[a+32>>2]}f[a>>2]=0;e:if((i=i-b>>2)>>>0>=n>>>0){if(i>>>0<=n>>>0)break e;f[a+32>>2]=(n<<2)+b}else ve(a+16|12,n-i|0,a);f[a>>2]=0,o=f[a+40>>2];e:if((i=f[a+44>>2]-o>>2)>>>0>=n>>>0){if(i>>>0<=n>>>0)break e;f[a+44>>2]=o+(n<<2)}else ve(a+40|0,n-i|0,a);f[a>>2]=0,o=f[a+52>>2];e:if((i=f[a+56>>2]-o>>2)>>>0>=n>>>0){if(i>>>0<=n>>>0)break e;f[a+56>>2]=o+(n<<2)}else ve(a+52|0,n-i|0,a);if(b=0,!(f[e+8>>2]<=0)){for(p=f[e+32>>2],l=f[a+16>>2];(0|(o=f[(i=b<<2)+l>>2]))>(0|(k=f[e+16>>2]))?f[i+p>>2]=k:(i=i+p|0,k=f[e+12>>2],f[i>>2]=(0|k)>(0|o)?k:o),(0|(b=b+1|0))<(0|(i=f[e+8>>2])););if(!((0|i)<=0))for(i=0;;){o=(l=i<<2)+r|0,l=f[t+l>>2]+f[l+p>>2]|0,f[o>>2]=l;e:{if((0|l)>f[e+16>>2])A=l-f[e+20>>2]|0;else{if((0|l)>=f[e+12>>2])break e;A=l+f[e+20>>2]|0}f[o>>2]=A}if(!((0|(i=i+1|0))<f[e+8>>2]))break}}u=f[e+52>>2],c=f[e+48>>2],s=br(16),f[(i=s)>>2]=0,f[i+4>>2]=0,f[i+8>>2]=0,f[i+12>>2]=0,f[a+8>>2]=0,f[a>>2]=0,f[a+4>>2]=0;e:{if(n){if(n>>>0>=1073741824)break e;B=br(i=n<<2),f[a>>2]=B,f[a+8>>2]=i+B,Ye(B,0,i)}g=1,i=f[e+56>>2],N=f[i>>2];t:if(!((0|(i=f[i+4>>2]-N|0))<5))for(G=(0|(i>>=2))>2?i:2,U=i>>>0>1?i:1,C=-2&n,D=1&n,V=-4&n,M=3&n,x=n-1|0,S=n<<2,k=1;;){r:{i:{n:{o:{if((0|k)!=(0|U)){i=((o=f[(k<<2)+N>>2])>>>0)%3|0;a:{f:if(-1!=(0|o)){p=0,R=0!=(0|i)|-1!=(0|(l=o+2|0)),v=(w=f[c+12>>2])+((i?o-1|0:l)<<2)|0,m=1,i=o;s:{for(;;){if(-1!=(0|(l=f[w+(i<<2)>>2]))){_=-1,g=f[u>>2],h=f[c>>2],b=g+(f[h+(l<<2)>>2]<<2)|0,-1!=(0|(y=((y=l+1|0)>>>0)%3|0?y:l-2|0))&&(_=f[h+(y<<2)>>2]),y=f[b>>2];c:{if((l>>>0)%3|0)b=l-1|0;else if(A=-1,-1==(0|(b=l+2|0)))break c;A=f[h+(b<<2)>>2]}if(!((0|k)<=(0|y)||(0|(b=f[g+(_<<2)>>2]))>=(0|k)||(0|(_=f[g+(A<<2)>>2]))>=(0|k))){if(l=f[(a+16|0)+d(p,12)>>2],n){if(_=d(n,_),h=d(n,b),g=d(n,y),b=0,A=0,x)for(;f[l+(b<<2)>>2]=(f[(b+_<<2)+r>>2]+f[(b+h<<2)+r>>2]|0)-f[(b+g<<2)+r>>2],f[l+((y=1|b)<<2)>>2]=(f[(_+y<<2)+r>>2]+f[(h+y<<2)+r>>2]|0)-f[(y+g<<2)+r>>2],b=b+2|0,(0|C)!=(0|(A=A+2|0)););D&&(f[l+(b<<2)>>2]=(f[(b+_<<2)+r>>2]+f[(b+h<<2)+r>>2]|0)-f[(b+g<<2)+r>>2])}if(l=4,4==(0|(p=p+1|0)))break s}}c:if(1&m){if(A=-1,-1==(0|(i=((b=i+1|0)>>>0)%3|0?b:i-2|0)))break c;if(A=-1,-1==(0|(i=f[w+(i<<2)>>2])))break c;A=((l=i+1|0)>>>0)%3|0?l:i-2|0}else{if((i>>>0)%3|0)b=i-1|0;else if(A=-1,-1==(0|(b=i+2|0)))break c;A=-1,-1!=(0|(i=f[w+(b<<2)>>2]))&&(A=i-1|0,(i>>>0)%3|0||(A=i+2|0))}c:if((0|o)!=(0|(i=A))){if(!(1&(1^m)|-1!=(0|i))){if(!R)break c;if(-1==(0|(i=f[v>>2])))break c;m=0,i=(i>>>0)%3|0?i-1|0:i+2|0}if(-1!=(0|i))continue}break}if((0|(l=p))<=0)break f}for(n&&Ye(f[a>>2],0,S),y=((i=l-1|0)<<2)+s|0,A=i=d(i,12)+e|0,R=f[i- -64>>2],g=0,m=0,i=0;;){if(o=f[y>>2],f[y>>2]=o+1,o>>>0>=R>>>0)break t;if(!(f[f[A+60>>2]+(o>>>3&536870908)>>2]>>>o&1)&&(i=i+1|0,n)){if(p=f[a>>2],w=f[(a+16|0)+d(m,12)>>2],_=0,b=0,o=0,x>>>0>=3)for(;f[(v=(h=b<<2)+p|0)>>2]=f[v>>2]+f[h+w>>2],f[(T=(v=4|h)+p|0)>>2]=f[T>>2]+f[w+v>>2],f[(T=(v=8|h)+p|0)>>2]=f[T>>2]+f[w+v>>2],f[(v=(h|=12)+p|0)>>2]=f[v>>2]+f[h+w>>2],b=b+4|0,(0|V)!=(0|(o=o+4|0)););if(M)for(;f[(h=(o=b<<2)+p|0)>>2]=f[h>>2]+f[o+w>>2],b=b+1|0,(0|M)!=(0|(_=_+1|0)););}if((0|(m=m+1|0))==(0|l))break}if(o=m=d(n,k),!i)break a;if(!n)break i;if(o=f[a>>2],b=0,l=0,x)break o;break n}o=d(n,k)}if(f[e+8>>2]<=0)break r;for(m=(d(k-1|0,n)<<2)+r|0,p=f[e+32>>2],b=0;(0|(l=f[(i=b<<2)+m>>2]))>(0|(_=f[e+16>>2]))?f[i+p>>2]=_:(i=i+p|0,_=f[e+12>>2],f[i>>2]=(0|_)>(0|l)?_:l),(0|(b=b+1|0))<(0|(l=f[e+8>>2])););if(i=0,(0|l)<=0)break r;for(b=(o<<=2)+r|0,m=t+o|0;;){o=(l=i<<2)+b|0,l=f[l+m>>2]+f[l+p>>2]|0,f[o>>2]=l;a:{if((0|l)>f[e+16>>2])A=l-f[e+20>>2]|0;else{if((0|l)>=f[e+12>>2])break a;A=l+f[e+20>>2]|0}f[o>>2]=A}if(!((0|(i=i+1|0))<f[e+8>>2]))break}break r}ci(),E()}for(;f[(_=(p=b<<2)+o|0)>>2]=f[_>>2]/(0|i),f[(p=o+(4|p)|0)>>2]=f[p>>2]/(0|i),b=b+2|0,(0|C)!=(0|(l=l+2|0)););}D&&(f[(o=o+(b<<2)|0)>>2]=f[o>>2]/(0|i))}if(!(f[e+8>>2]<=0)){for(p=f[e+32>>2],b=0;(0|(o=f[(i=b<<2)+B>>2]))>(0|(l=f[e+16>>2]))?f[i+p>>2]=l:(i=i+p|0,l=f[e+12>>2],f[i>>2]=(0|l)>(0|o)?l:o),(0|(b=b+1|0))<(0|(o=f[e+8>>2])););if(i=0,!((0|o)<=0))for(b=(o=m<<2)+r|0,m=t+o|0;;){o=(l=i<<2)+b|0,l=f[l+m>>2]+f[l+p>>2]|0,f[o>>2]=l;i:{if((0|l)>f[e+16>>2])A=l-f[e+20>>2]|0;else{if((0|l)>=f[e+12>>2])break i;A=l+f[e+20>>2]|0}f[o>>2]=A}if(!((0|(i=i+1|0))<f[e+8>>2]))break}}}if(g=1,(0|G)==(0|(k=k+1|0)))break}return(e=f[a>>2])&&ee(e),ee(s),(e=f[a+52>>2])&&(f[a+56>>2]=e,ee(e)),(e=f[a+40>>2])&&(f[a+44>>2]=e,ee(e)),(e=f[a+28>>2])&&(f[a+32>>2]=e,ee(e)),(e=f[a+16>>2])&&(f[a+20>>2]=e,ee(e)),I=a- -64|0,0|g}ii(),E()},function(e){var t=0;return f[(e|=0)>>2]=4844,(t=f[e+76>>2])&&ee(t),f[e>>2]=2988,(t=f[e+32>>2])&&(f[e+36>>2]=t,ee(t)),0|e},function(e){var t=0;f[(e|=0)>>2]=4844,(t=f[e+76>>2])&&ee(t),f[e>>2]=2988,(t=f[e+32>>2])&&(f[e+36>>2]=t,ee(t)),ee(e)},Kr,hr,qr,Jr,yr,ke,function(e,t,r,i,n,a){e|=0,t|=0,r|=0,i|=0,a|=0;var s=0,c=0,l=0,b=0,A=0,p=0,d=0,_=0,h=0,k=0,m=0,y=0,v=0,g=0,w=0,T=0,B=0,x=0,R=0,N=0,D=0,M=0,G=0,U=0,V=0,S=0,F=0,W=0,j=0,O=0,Z=0,Y=0,z=0,J=0,Q=0,L=0,X=0,H=0,q=0;if(2==(0|(n|=0))){f[e+8>>2]=2,f[e- -64>>2]=a,n=f[(i=e+32|0)>>2],(s=(a=f[e+36>>2]-n|0)>>2)>>>0<=1?st(i,2-s|0):8!=(0|a)&&(f[e+36>>2]=n+8);e:if(i=f[e+56>>2],(0|(a=(n=f[i+4>>2])-(i=f[i>>2])|0))<=0)a=0;else{if((0|i)!=(0|n))for(d=e+60|0,X=(0|(S=a>>2))>1?S:1,a=1;;){if(I=l=I-80|0,n=-1,-1==(0|(s=f[(k<<2)+i>>2]))||(c=f[d+32>>2],-1!=(0|(i=((i=s+1|0)>>>0)%3|0?i:s-2|0))&&(n=f[f[c>>2]+(i<<2)>>2]),i=-1,-1!=(0|(s=s+((s>>>0)%3|0?-1:2)|0))&&(i=f[f[c>>2]+(s<<2)>>2]),c=f[d+36>>2],s=f[c>>2],(c=f[c+4>>2]-s>>2)>>>0<=n>>>0|i>>>0>=c>>>0))ci(),E();else{c=f[s+(n<<2)>>2];t:{r:{i:{n:{o:{if(!((0|(s=f[s+(i<<2)>>2]))>=(0|k)|(0|c)>=(0|k))){if(B=f[4+(i=(s<<3)+r|0)>>2],y=f[4+(n=(c<<3)+r|0)>>2],!((0|(g=f[i>>2]))!=(0|(G=f[n>>2]))|(0|y)!=(0|B))){f[d+8>>2]=G,f[d+12>>2]=y;break o}if(i=f[f[d+4>>2]+(k<<2)>>2],f[l+72>>2]=0,f[l+76>>2]=0,f[(n=l- -64|0)>>2]=0,f[n+4>>2]=0,f[l+56>>2]=0,f[l+60>>2]=0,n=f[d>>2],u[n+84|0]||(i=f[f[n+68>>2]+(i<<2)>>2]),P(n,i,o[n+24|0],l+56|0),i=f[f[d+4>>2]+(c<<2)>>2],f[l+48>>2]=0,f[l+52>>2]=0,f[l+40>>2]=0,f[l+44>>2]=0,f[l+32>>2]=0,f[l+36>>2]=0,n=f[d>>2],u[n+84|0]||(i=f[f[n+68>>2]+(i<<2)>>2]),P(n,i,o[n+24|0],l+32|0),n=f[f[d+4>>2]+(s<<2)>>2],f[l+24>>2]=0,f[l+28>>2]=0,f[l+16>>2]=0,f[l+20>>2]=0,f[l+8>>2]=0,f[l+12>>2]=0,i=f[d>>2],u[i+84|0]||(n=f[f[i+68>>2]+(n<<2)>>2]),P(i,n,o[i+24|0],l+8|0),F=f[l+44>>2],i=Jt(_=(i=f[l+16>>2])-(n=x=f[l+40>>2])|0,A=f[l+20>>2]-(F+(i>>>0<n>>>0)|0)|0,_,A),n=C,h=i,W=f[l+36>>2],s=Jt(w=(i=f[l+8>>2])-(s=U=f[l+32>>2])|0,b=f[l+12>>2]-(W+(i>>>0<s>>>0)|0)|0,w,b),n=C+n|0,n=(i=h+s|0)>>>0<s>>>0?n+1|0:n,h=i,j=f[l+52>>2],m=Jt(v=(i=f[l+24>>2])-(s=V=f[l+48>>2])|0,p=f[l+28>>2]-(j+(i>>>0<s>>>0)|0)|0,v,p),s=C+n|0,T=i=h+m|0,i|(m=i>>>0<m>>>0?s+1|0:s)){if(i=Jt((i=Z=f[l+64>>2])-x|0,(Y=f[l+68>>2])-((i>>>0<x>>>0)+F|0)|0,_,A),n=C,i=(s=i)+(c=Jt((i=z=f[l+56>>2])-U|0,(J=f[l+60>>2])-((i>>>0<U>>>0)+W|0)|0,w,b))|0,s=C+n|0,s=i>>>0<c>>>0?s+1|0:s,i=(n=i)+(c=Jt((i=Q=f[l+72>>2])-V|0,(L=f[l+76>>2])-((i>>>0<V>>>0)+j|0)|0,v,p))|0,n=C+s|0,N=i,R=i>>>0<c>>>0?n+1|0:n,s=(i=p>>31)+p|0,c=(n=i+v|0)^i,O=i^=s=n>>>0<i>>>0?s+1|0:s,n=(i=A>>31)+A|0,D=(s=i+_|0)^i,h=i^=s>>>0<i>>>0?n+1|0:n,n=0,s=(i=b>>31)+b|0,s=(M=i+w|0)>>>0<i>>>0?s+1|0:s,M^=i,(s=Ee(-1,2147483647,(s=(0|O)==(0|(i=(s=(0|h)==(0|(i^=s))&D>>>0>M>>>0|i>>>0<h>>>0)?h:i))&c>>>0>(D=s?D:M)>>>0|i>>>0<O>>>0)?c:D,s?O:i)>>>0<N>>>0)&(0|(i=C))<=(0|R)|(0|i)<(0|R))break t;if(c=1,i=0,n=Z,_=Yt(Jt(_,A,N,R),C,T,m),s=C+F|0,s=Y-((n>>>0<(A=_+x|0)>>>0)+(s=A>>>0<_>>>0?s+1|0:s)|0)|0,s=Jt(n=n-A|0,s,n,s),_=C,n=z,h=s,b=Yt(Jt(w,b,N,R),C,T,m),s=C+W|0,s=J-((n>>>0<(A=b+U|0)>>>0)+(s=b>>>0>A>>>0?s+1|0:s)|0)|0,A=Jt(n=n-A|0,s,n,s),n=C+_|0,A=n=(s=h+A|0)>>>0<A>>>0?n+1|0:n,n=Q,h=s,p=Yt(Jt(v,p,N,R),C,T,m),s=C+j|0,s=L-((n>>>0<(b=p+V|0)>>>0)+(s=b>>>0<p>>>0?s+1|0:s)|0)|0,b=Jt(n=n-b|0,s,n,s),s=C+A|0,A=Jt(n=h+b|0,n>>>0<b>>>0?s+1|0:s,T,m),b=n=C,!n&A>>>0<=1)break n;for(p=A,n=b;s=i<<1|c>>>31,c<<=1,i=s,_=!n&p>>>0>7|0!=(0|n),p=(3&n)<<30|p>>>2,n=n>>>2|0,_;);break i}}if((0|c)<(0|k))i=c<<1;else{if((0|k)<=0){f[d+8>>2]=0,f[d+12>>2]=0;break o}i=(k<<1)-2|0}i=(i<<2)+r|0,f[d+8>>2]=f[i>>2],f[d+12>>2]=f[i+4>>2]}n=1;break t}if(i=b,(c=A)-1|0)break r}for(;s=Ee(A,b,c,i)+c|0,n=i+C|0,n=Jt(c=(1&(n=s>>>0<c>>>0?n+1|0:n))<<31|s>>>1,i=n>>>1|0,c,i),(0|b)==(0|(s=C))&n>>>0>A>>>0|s>>>0>b>>>0;);}(A=f[d+20>>2])&&(n=A-1|0,p=f[f[d+16>>2]+(n>>>3&536870908)>>2],f[d+20>>2]=n,s=Jt(N,R,_=B-(s=y)|0,w=(B>>31)-((b=s>>31)+(s>>>0>B>>>0)|0)|0),v=C,b=(y=Jt(y,b,T,m))+s|0,s=C+v|0,s=b>>>0<y>>>0?s+1|0:s,h=b,g=b=Jt(c,i,v=g-(b=G)|0,B=(g>>31)-((y=b>>31)+(b>>>0>g>>>0)|0)|0),p=h+(x=(n=b=p>>>n&1)?0-g|0:g)|0,h=s,s=C,n=h+(n?0-(s+(0!=(0|g))|0)|0:s)|0,H=d,q=Yt(p,p>>>0<x>>>0?n+1|0:n,T,m),f[H+12>>2]=q,n=Jt(v,B,N,R),s=C,p=Jt(T,m,G,y),s=C+s|0,s=(n=p+n|0)>>>0<p>>>0?s+1|0:s,i=Jt(c,i,_,w),c=(p=b?i:0-i|0)+n|0,n=C,n=(b?n:0-((0!=(0|i))+n|0)|0)+s|0,H=d,q=Yt(c,c>>>0<p>>>0?n+1|0:n,T,m),f[H+8>>2]=q),n=0!=(0|A)}I=l+80|0}if(!n)break e;if(!(f[e+8>>2]<=0)){for(s=f[e+32>>2],i=0;(0|(a=f[68+((n=i<<2)+e|0)>>2]))>(0|(c=f[e+16>>2]))?f[n+s>>2]=c:(n=n+s|0,c=f[e+12>>2],f[n>>2]=(0|c)>(0|a)?c:a),(0|(i=i+1|0))<(0|(a=f[e+8>>2])););if(n=0,!((0|a)<=0))for(c=(i=k<<3)+r|0,A=t+i|0;;){i=(a=n<<2)+c|0,a=f[a+A>>2]+f[a+s>>2]|0,f[i>>2]=a;t:{if((0|a)>f[e+16>>2])a=a-f[e+20>>2]|0;else{if((0|a)>=f[e+12>>2])break t;a=a+f[e+20>>2]|0}f[i>>2]=a}if(!((0|(n=n+1|0))<f[e+8>>2]))break}}if(a=(0|S)>(0|(k=k+1|0)),(0|k)==(0|X))break e;if(n=f[e+56>>2],i=f[n>>2],!(f[n+4>>2]-i>>2>>>0>k>>>0))break}ci(),E()}e=1^a}else e=0;return 1&e},function(e){var t;return f[(e|=0)>>2]=5068,f[e>>2]=2988,(t=f[e+32>>2])&&(f[e+36>>2]=t,ee(t)),0|e},function(e){var t;f[(e|=0)>>2]=5068,f[e>>2]=2988,(t=f[e+32>>2])&&(f[e+36>>2]=t,ee(t)),ee(e)},ri,ir,qr,Jr,vr,Pe,function(e,t,r,i,n,o){t|=0,r|=0,i|=0,n|=0,o|=0;var a,s=0,c=0,u=0,l=0,b=0,A=0,p=0,d=0;I=a=I-32|0,f[68+(e|=0)>>2]=o,n=f[e+56>>2],i=f[n>>2],o=f[n+4>>2],f[a+24>>2]=0,f[a+16>>2]=0,f[a+20>>2]=0;e:if(!((0|(o=o-i|0))<=0)){if((0|(i=f[n>>2]))!=f[n+4>>2])for(A=e+112|0,p=e+60|0,d=(n=o>>>2|0)>>>0>1?n:1;;){if($(p,f[(l<<2)+i>>2],a+16|0),i=(n=f[a+20>>2])>>31,s=(o=f[a+16>>2])>>31,c=(u=f[a+24>>2])>>31,s=(c^=c+u)+((i^i+n)+(s^o+s)|0)|0,i=0,(i=s>>>0<c>>>0?1:i)|s?(o=Yt(Jt(c=f[e+108>>2],b=c>>31,o,o>>31),C,s,i),f[a+16>>2]=o,i=Yt(Jt(c,b,n,n>>31),C,s,i),f[a+20>>2]=i,i=(n=(n=i)+(i>>=31)^i)+((i=o>>31)+o^i)|0,f[a+24>>2]=(0|u)>=0?c-i:i-c):f[a+16>>2]=f[e+108>>2],i=Wt(A),o=f[a+16>>2],i?(f[a+24>>2]=0-f[a+24>>2],n=0-f[a+20>>2]|0,f[a+20>>2]=n,o=0-o|0,f[a+16>>2]=o):n=f[a+20>>2],(0|o)>=0?(o=(i=f[e+108>>2])+f[a+24>>2]|0,i=i+n|0):((0|n)<0?(i=(o=f[a+24>>2])>>31,i^=i+o):(i=(o=f[a+24>>2])>>31,i=f[e+100>>2]-(i^i+o)|0),(0|o)<0?o=(o=n)+(n>>=31)^n:(o=n,n>>=31,o=f[e+100>>2]-(o+n^n)|0)),n=f[e+100>>2],i|o?(0|n)!=(0|o)|i?o|(s=(0|i)!=(0|n))?i||(0|(u=f[e+108>>2]))>=(0|o)?s||(0|(s=f[e+108>>2]))<=(0|o)?(0|n)!=(0|o)||(0|(n=f[e+108>>2]))<=(0|i)?o||(o=0,(0|(n=f[e+108>>2]))>=(0|i)||(i=(n<<1)-i|0)):i=(n<<1)-i|0:o=(s<<1)-o|0:(o=(u<<1)-o|0,i=0):o=i:i=o:i=o=n,f[a+12>>2]=o,f[a+8>>2]=i,!(f[e+8>>2]<=0)){for(s=f[e+32>>2],o=0;(0|(n=f[e+16>>2]))<(0|i)?f[s+(o<<2)>>2]=n:(n=s+(o<<2)|0,u=f[e+12>>2],f[n>>2]=(0|u)>(0|i)?u:i),(0|(o=o+1|0))<(0|(n=f[e+8>>2]));)i=f[(a+8|0)+(o<<2)>>2];if(i=0,!((0|n)<=0))for(u=(n=l<<3)+r|0,c=t+n|0;;){n=(o=i<<2)+u|0,o=f[o+c>>2]+f[o+s>>2]|0,f[n>>2]=o;t:{if((0|o)>f[e+16>>2])o=o-f[e+20>>2]|0;else{if((0|o)>=f[e+12>>2])break t;o=o+f[e+20>>2]|0}f[n>>2]=o}if(!((0|(i=i+1|0))<f[e+8>>2]))break}}if((0|d)==(0|(l=l+1|0)))break e;if(n=f[e+56>>2],i=f[n>>2],!(f[n+4>>2]-i>>2>>>0>l>>>0))break}ci(),E()}return I=a+32|0,1},Hr,ni,dr,Wr,$,ai,wr,ei,qr,function(e,t,r,i,n,o){t|=0,r|=0,i|=0,n|=0,o|=0;var a,s=0,c=0,u=0,l=0,b=0,A=0,p=0,d=0,_=0;if(f[8+(e|=0)>>2]=n,u=f[(o=e+32|0)>>2],(c=f[e+36>>2]-u>>2)>>>0<n>>>0?(st(o,n-c|0),u=f[o>>2],o=f[e+8>>2]):(n>>>0<c>>>0&&(f[e+36>>2]=(n<<2)+u),o=n),c=0,a=Ye(br(s=(1073741823&n)!=(0|n)?-1:n<<2),0,s),!((0|o)<=0)){for(;(0|(s=f[(o=c<<2)+a>>2]))>(0|(l=f[e+16>>2]))?f[o+u>>2]=l:(o=o+u|0,l=f[e+12>>2],f[o>>2]=(0|l)>(0|s)?l:s),(0|(o=f[e+8>>2]))>(0|(c=c+1|0)););if(!((0|o)<=0))for(c=0;;){o=(s=c<<2)+r|0,s=f[t+s>>2]+f[s+u>>2]|0,f[o>>2]=s;e:{if((0|s)>f[e+16>>2])s=s-f[e+20>>2]|0;else{if((0|s)>=f[e+12>>2])break e;s=s+f[e+20>>2]|0}f[o>>2]=s}if(!((0|(o=f[e+8>>2]))>(0|(c=c+1|0))))break}}if(!((0|i)<=(0|n)|(0|o)<=0))for(d=0-n<<2,u=n;;){if(!((0|o)<=0)){for(_=(p=(A=u<<2)+r|0)+d|0,l=f[e+32>>2],c=0;(0|(s=f[(o=c<<2)+_>>2]))>(0|(b=f[e+16>>2]))?f[o+l>>2]=b:(o=o+l|0,b=f[e+12>>2],f[o>>2]=(0|b)>(0|s)?b:s),(0|(o=f[e+8>>2]))>(0|(c=c+1|0)););if(c=0,!((0|o)<=0))for(A=t+A|0;;){o=(s=c<<2)+p|0,s=f[s+A>>2]+f[s+l>>2]|0,f[o>>2]=s;e:{if((0|s)>f[e+16>>2])s=s-f[e+20>>2]|0;else{if((0|s)>=f[e+12>>2])break e;s=s+f[e+20>>2]|0}f[o>>2]=s}if(!((0|(o=f[e+8>>2]))>(0|(c=c+1|0))))break}}if(!((0|(u=n+u|0))<(0|i)))break}return ee(a),1},nr,fr,function(e,t,r){t|=0,r|=0;var i=0;return f[4+(e|=0)>>2]=t,t=f[f[f[t+4>>2]+8>>2]+(r<<2)>>2],f[e+12>>2]=r,f[e+8>>2]=t,e=f[e+8>>2],3==u[e+24|0]&&(i=9==f[e+28>>2]),0|i},function(e,t,r){return t|=0,r|=0,u[f[4+(e|=0)>>2]+36|0]>=2&&(t=0,!It(e+24|0,tt(e),r))||(t=Ft(e+24|0,f[e+16>>2])),0|t},Ir,function(e,t,r){e|=0,t|=0;var i,n=0,a=0,s=0,c=0,u=0,l=0,b=0;I=i=I-32|0;e:if(3==(0|(r|=0))&&(r=f[e+4>>2],e=f[e+12>>2],f[i+24>>2]=-1,f[i+16>>2]=-1,f[i+20>>2]=1065353216,f[i+8>>2]=-1,f[i+12>>2]=-1,-2!=(0|t))){if(b=f[f[f[r+4>>2]+8>>2]+(e<<2)>>2],1==(0|_i[f[f[r>>2]+8>>2]](r))){l=f[f[f[r+4>>2]+8>>2]+(e<<2)>>2];t:{r:if(!(1!=(0|_i[f[f[r>>2]+8>>2]](r))|t-1>>>0>5||!(c=0|_i[f[f[r>>2]+36>>2]](r))|!(a=0|_i[f[f[r>>2]+44>>2]](r,e)))){if(s=a+12|0,u=0|_i[f[f[r>>2]+40>>2]](r,e),r=f[r+44>>2],u){if(6!=(0|t))break r;e=br(112),f[e+4>>2]=l,t=f[i+12>>2],f[e+8>>2]=f[i+8>>2],f[e+12>>2]=t,t=f[i+20>>2],f[e+16>>2]=f[i+16>>2],f[e+20>>2]=t,f[e+24>>2]=f[i+24>>2],f[e+40>>2]=a,f[e+36>>2]=s,f[e+32>>2]=u,f[e+28>>2]=r,f[e+68>>2]=a,f[e- -64>>2]=s,f[e+60>>2]=u,f[e+56>>2]=r,f[e+48>>2]=0,f[e+52>>2]=0,f[e>>2]=5956,f[e+88>>2]=1065353216,f[e+92>>2]=-1,f[e+80>>2]=-1,f[e+84>>2]=-1,f[e+72>>2]=1,f[e+76>>2]=-1,f[e+44>>2]=6520,f[(t=e+96|0)>>2]=0,f[t+4>>2]=0,o[t+5|0]=0,o[t+6|0]=0,o[t+7|0]=0,o[t+8|0]=0,o[t+9|0]=0,o[t+10|0]=0,o[t+11|0]=0,o[t+12|0]=0;break t}6==(0|t)&&(n=br(112),f[n+4>>2]=l,e=f[i+12>>2],f[n+8>>2]=f[i+8>>2],f[n+12>>2]=e,e=f[i+20>>2],f[n+16>>2]=f[i+16>>2],f[n+20>>2]=e,f[n+24>>2]=f[i+24>>2],f[n+40>>2]=a,f[n+36>>2]=s,f[n+32>>2]=c,f[n+28>>2]=r,f[n+68>>2]=a,f[n- -64>>2]=s,f[n+60>>2]=c,f[n+56>>2]=r,f[n+48>>2]=0,f[n+52>>2]=0,f[n>>2]=6960,f[n+88>>2]=1065353216,f[n+92>>2]=-1,f[n+80>>2]=-1,f[n+84>>2]=-1,f[n+72>>2]=1,f[n+76>>2]=-1,f[n+44>>2]=7380,f[(e=n+96|0)>>2]=0,f[e+4>>2]=0,o[e+5|0]=0,o[e+6|0]=0,o[e+7|0]=0,o[e+8|0]=0,o[e+9|0]=0,o[e+10|0]=0,o[e+11|0]=0,o[e+12|0]=0)}e=n}if(n=e,e)break e}n=br(28),f[n+4>>2]=b,e=f[i+12>>2],f[n+8>>2]=f[i+8>>2],f[n+12>>2]=e,e=f[i+20>>2],f[n+16>>2]=f[i+16>>2],f[n+20>>2]=e,f[n+24>>2]=f[i+24>>2],f[n>>2]=7792}return I=i+32|0,0|n},ti,function(e,t){return 0|Me(24+(e|=0)|0,tt(e),f[e+8>>2])},function(e){return f[(e|=0)>>2]=5956,0|e},function(e){f[(e|=0)>>2]=5956,ee(e)},ri,Yr,or,qr,Jr,gr,qr,function(e){return 3},Le,function(e,t,r,i,n,o){t|=0,r|=0,i|=0,n|=0,o|=0;var a,s=0,c=0,u=0,l=0,b=0,p=0,d=0,h=0,k=0;I=a=I-48|0,(i=f[8+(e|=0)>>2])-31>>>0>=4294967267&&(f[e+76>>2]=i,i=-2-(n=-1<<i)|0,f[e+84>>2]=i,f[e+80>>2]=-1^n,f[e+92>>2]=(0|i)/2,A[e+88>>2]=_(2)/_(0|i)),f[e+52>>2]=o,n=f[e+40>>2],i=f[n>>2],s=f[n+4>>2],o=0,f[a+16>>2]=0,f[a+8>>2]=0,f[a+12>>2]=0;e:if(!((0|(s=s-i|0))<=0)){if((0|(i=f[n>>2]))!=f[n+4>>2])for(p=e+8|0,d=e+96|0,h=e+44|0,k=(n=s>>>2|0)>>>0>1?n:1;;){if(Y(h,f[(o<<2)+i>>2],a+8|0),i=(n=f[a+12>>2])>>31,c=(s=f[a+8>>2])>>31,u=(l=f[a+16>>2])>>31,c=(u^=u+l)+((i^i+n)+(c^s+c)|0)|0,i=0,(i=c>>>0<u>>>0?1:i)|c?(s=Yt(Jt(u=f[e+92>>2],b=u>>31,s,s>>31),C,c,i),f[a+8>>2]=s,i=Yt(Jt(u,b,n,n>>31),C,c,i),f[a+12>>2]=i,i=(n=(n=i)+(i>>=31)^i)+((i=s>>31)+s^i)|0,f[a+16>>2]=(0|l)>=0?u-i:i-u):f[a+8>>2]=f[e+92>>2],i=Wt(d),n=f[a+8>>2],i?(f[a+16>>2]=0-f[a+16>>2],s=0-f[a+12>>2]|0,f[a+12>>2]=s,n=0-n|0,f[a+8>>2]=n):s=f[a+12>>2],(0|n)>=0?(i=(n=f[e+92>>2])+f[a+16>>2]|0,n=n+s|0):((0|s)<0?(n=(i=f[a+16>>2])>>31,n^=i+n):(n=(i=f[a+16>>2])>>31,n=f[e+84>>2]-(n^i+n)|0),(0|i)<0?(i=s>>31,i^=i+s):(i=s>>31,i=f[e+84>>2]-(i+s^i)|0)),s=f[e+84>>2],i|n?(0|i)!=(0|s)|n?i|(c=(0|n)!=(0|s))?n||(0|(l=f[e+92>>2]))>=(0|i)?c||(0|(c=f[e+92>>2]))<=(0|i)?(0|i)!=(0|s)||(0|(s=f[e+92>>2]))<=(0|n)?i||(i=0,(0|(s=f[e+92>>2]))>=(0|n)||(n=(s<<1)-n|0)):n=(s<<1)-n|0:i=(c<<1)-i|0:(i=(l<<1)-i|0,n=0):i=n:n=i:n=i=s,l=f[4+(c=(s=o<<3)+t|0)>>2],c=f[c>>2],f[a+36>>2]=i,f[a+32>>2]=n,f[a+24>>2]=c,f[a+28>>2]=l,pe(a+40|0,p,a+32|0,a+24|0),f[(i=r+s|0)>>2]=f[a+40>>2],f[i+4>>2]=f[a+44>>2],(0|k)==(0|(o=o+1|0)))break e;if(n=f[e+40>>2],i=f[n>>2],!(f[n+4>>2]-i>>2>>>0>o>>>0))break}ci(),E()}return I=a+48|0,1},Hr,ni,dr,Wr,Y,function(e){return f[(e|=0)>>2]=6960,0|e},function(e){f[(e|=0)>>2]=6960,ee(e)},ri,or,qr,Jr,gr,Le,function(e,t,r,i,n,o){t|=0,r|=0,i|=0,n|=0,o|=0;var a,s=0,c=0,u=0,l=0,b=0,p=0,d=0,h=0,k=0;I=a=I-48|0,(i=f[8+(e|=0)>>2])-31>>>0>=4294967267&&(f[e+76>>2]=i,i=-2-(n=-1<<i)|0,f[e+84>>2]=i,f[e+80>>2]=-1^n,f[e+92>>2]=(0|i)/2,A[e+88>>2]=_(2)/_(0|i)),f[e+52>>2]=o,n=f[e+40>>2],i=f[n>>2],s=f[n+4>>2],o=0,f[a+16>>2]=0,f[a+8>>2]=0,f[a+12>>2]=0;e:if(!((0|(s=s-i|0))<=0)){if((0|(i=f[n>>2]))!=f[n+4>>2])for(p=e+8|0,d=e+96|0,h=e+44|0,k=(n=s>>>2|0)>>>0>1?n:1;;){if($(h,f[(o<<2)+i>>2],a+8|0),i=(n=f[a+12>>2])>>31,c=(s=f[a+8>>2])>>31,u=(l=f[a+16>>2])>>31,c=(u^=u+l)+((i^i+n)+(c^s+c)|0)|0,i=0,(i=c>>>0<u>>>0?1:i)|c?(s=Yt(Jt(u=f[e+92>>2],b=u>>31,s,s>>31),C,c,i),f[a+8>>2]=s,i=Yt(Jt(u,b,n,n>>31),C,c,i),f[a+12>>2]=i,i=(n=(n=i)+(i>>=31)^i)+((i=s>>31)+s^i)|0,f[a+16>>2]=(0|l)>=0?u-i:i-u):f[a+8>>2]=f[e+92>>2],i=Wt(d),n=f[a+8>>2],i?(f[a+16>>2]=0-f[a+16>>2],s=0-f[a+12>>2]|0,f[a+12>>2]=s,n=0-n|0,f[a+8>>2]=n):s=f[a+12>>2],(0|n)>=0?(i=(n=f[e+92>>2])+f[a+16>>2]|0,n=n+s|0):((0|s)<0?(n=(i=f[a+16>>2])>>31,n^=i+n):(n=(i=f[a+16>>2])>>31,n=f[e+84>>2]-(n^i+n)|0),(0|i)<0?(i=s>>31,i^=i+s):(i=s>>31,i=f[e+84>>2]-(i+s^i)|0)),s=f[e+84>>2],i|n?(0|i)!=(0|s)|n?i|(c=(0|n)!=(0|s))?n||(0|(l=f[e+92>>2]))>=(0|i)?c||(0|(c=f[e+92>>2]))<=(0|i)?(0|i)!=(0|s)||(0|(s=f[e+92>>2]))<=(0|n)?i||(i=0,(0|(s=f[e+92>>2]))>=(0|n)||(n=(s<<1)-n|0)):n=(s<<1)-n|0:i=(c<<1)-i|0:(i=(l<<1)-i|0,n=0):i=n:n=i:n=i=s,l=f[4+(c=(s=o<<3)+t|0)>>2],c=f[c>>2],f[a+36>>2]=i,f[a+32>>2]=n,f[a+24>>2]=c,f[a+28>>2]=l,pe(a+40|0,p,a+32|0,a+24|0),f[(i=r+s|0)>>2]=f[a+40>>2],f[i+4>>2]=f[a+44>>2],(0|k)==(0|(o=o+1|0)))break e;if(n=f[e+40>>2],i=f[n>>2],!(f[n+4>>2]-i>>2>>>0>o>>>0))break}ci(),E()}return I=a+48|0,1},Hr,ni,dr,Wr,$,Hr,ni,ei,qr,ei,Zr,Jr,function(e,t){e|=0;var r,i,n,o,a=0,s=0,c=0,l=0;return r=f[12+(t|=0)>>2],c=a=f[t+20>>2],a=(s=(i=f[t+16>>2])+4|0)>>>0<4?a+1|0:a,o=s,(n=f[t+8>>2])>>>0<s>>>0&(0|a)>=(0|r)|(0|a)>(0|r)||(s=i+f[t>>2]|0,s=u[0|s]|u[s+1|0]<<8|u[s+2|0]<<16|u[s+3|0]<<24,f[t+16>>2]=o,f[t+20>>2]=a,a=c,(c=i+8|0)>>>0>n>>>0&(0|(a=c>>>0<8?a+1|0:a))>=(0|r)|(0|a)>(0|r)||(f[t+16>>2]=c,f[t+20>>2]=a,1&s&&((t=31^k(s))-30>>>0<4294967267||(l=1,f[e+8>>2]=t+1,t=-2-(a=-2<<t)|0,f[e+16>>2]=t,f[e+12>>2]=-1^a,f[e+24>>2]=(0|t)/2,A[e+20>>2]=_(2)/_(0|t))))),0|l},function(e,t,r,i,n,o){e|=0,t|=0,r|=0,i|=0,o|=0;var a=0,s=0,c=0,u=0,l=0,b=0,A=0,p=0;if(I=o=I-32|0,s=Ye(br(s=(1073741823&(n|=0))!=(0|n)?-1:n<<2),0,s),a=f[t>>2],c=f[t+4>>2],l=f[s+4>>2],f[o+16>>2]=f[s>>2],f[o+20>>2]=l,f[o+8>>2]=a,f[o+12>>2]=c,pe(o+24|0,c=e+8|0,o+16|0,o+8|0),f[r>>2]=f[o+24>>2],f[r+4>>2]=f[o+28>>2],(0|i)>(0|n))for(l=0-n<<2,e=n;A=f[(u=(a=e<<2)+t|0)>>2],u=f[u+4>>2],p=f[4+(b=(a=r+a|0)+l|0)>>2],f[o+16>>2]=f[b>>2],f[o+20>>2]=p,f[o+8>>2]=A,f[o+12>>2]=u,pe(o+24|0,c,o+16|0,o+8|0),f[a>>2]=f[o+24>>2],f[a+4>>2]=f[o+28>>2],(0|i)>(0|(e=e+n|0)););return ee(s),I=o+32|0,1},function(e){var t=0;return f[24+(e|=0)>>2]=1140,f[e>>2]=7976,(t=f[e+32>>2])&&(f[e+36>>2]=t,ee(t)),f[e>>2]=2164,t=f[e+20>>2],f[e+20>>2]=0,t&&_i[f[f[t>>2]+4>>2]](t),f[e>>2]=1948,t=f[e+16>>2],f[e+16>>2]=0,t&&Zt(t),0|e},function(e){var t=0;f[24+(e|=0)>>2]=1140,f[e>>2]=7976,(t=f[e+32>>2])&&(f[e+36>>2]=t,ee(t)),f[e>>2]=2164,t=f[e+20>>2],f[e+20>>2]=0,t&&_i[f[f[t>>2]+4>>2]](t),f[e>>2]=1948,t=f[e+16>>2],f[e+16>>2]=0,t&&Zt(t),ee(e)},function(e,t,r){var i;return t|=0,r|=0,f[4+(e|=0)>>2]=t,i=f[f[f[t+4>>2]+8>>2]+(r<<2)>>2],f[e+12>>2]=r,f[e+8>>2]=i,9==f[f[f[f[t+4>>2]+8>>2]+(r<<2)>>2]+28>>2]|0},function(e,t,r){return t|=0,u[f[4+(e|=0)>>2]+36|0]>=2&&(t=0,!(0|_i[f[f[e>>2]+52>>2]](e)))||(t=Ft(e+24|0,f[e+16>>2])),0|t},Ir,function(e,t){return t|=0,0|_i[f[f[(e|=0)>>2]+56>>2]](e,t)},function(e){return 0|Ce(24+(e|=0)|0,tt(e)||f[e+8>>2],f[f[e+4>>2]+32>>2])},function(e,t){return 0|Be(24+(e|=0)|0,tt(e),f[e+8>>2])},function(e){var t,r=0,i=0;if(f[(e|=0)>>2]=10064,(r=f[e+20>>2])&&(f[e+24>>2]=r,ee(r)),t=f[e+8>>2]){if((0|(i=f[e+12>>2]))==(0|t))r=t;else{for(;r=f[(i=i-4|0)>>2],f[i>>2]=0,r&&_i[f[f[r>>2]+4>>2]](r),(0|t)!=(0|i););r=f[e+8>>2]}f[e+12>>2]=t,ee(r)}return 0|e},ai,qr,qr,function(e){return f[44+(e|=0)>>2]?0|_i[f[f[e>>2]+48>>2]](e):0},function(e){var t=0,r=0,i=0,n=0,o=0,a=0,s=0,c=0,l=0,b=0;e:{if(t=f[32+(e|=0)>>2],o=f[t+8>>2],n=0,!((0|(a=f[t+12>>2]))<=(0|(i=f[t+20>>2]))&(s=o)>>>0<=(o=f[t+16>>2])>>>0|(0|i)>(0|a))){s=u[o+f[t>>2]|0],i=(a=o+1|0)?i:i+1|0,f[t+16>>2]=a,f[t+20>>2]=i;t:if(s){for(;;){if(0|_i[f[f[e>>2]+16>>2]](e,r)){if((0|s)!=(0|(r=r+1|0)))continue;break t}break}return 0}if((0|(r=f[e+8>>2]))!=(0|(i=f[e+12>>2])))for(;;){if(t=f[r>>2],!(0|_i[f[f[t>>2]+8>>2]](t,e,f[e+4>>2])))break e;if((0|i)==(0|(r=r+4|0)))break}if(s){for(r=0;;){if(t=f[f[e+8>>2]+(r<<2)>>2],!(0|_i[f[f[t>>2]+12>>2]](t,f[e+32>>2])))break e;if((0|s)==(0|(r=r+1|0)))break}if(s)for(o=e+20|0;;){if(r=0,t=f[(a=c<<2)+f[e+8>>2]>>2],(0|(i=0|_i[f[f[t>>2]+24>>2]](t)))>0)for(;t=f[f[e+8>>2]+a>>2],b=0|_i[f[f[t>>2]+20>>2]](t,r),n=f[e+20>>2],b>>>0<(l=f[e+24>>2]-n>>2)>>>0||((t=b+1|0)>>>0>l>>>0?(st(o,t-l|0),n=f[o>>2]):t>>>0>=l>>>0||(f[e+24>>2]=(t<<2)+n)),f[(b<<2)+n>>2]=c,(0|i)!=(0|(r=r+1|0)););if((0|s)==(0|(c=c+1|0)))break}}n=0,0|_i[f[f[e>>2]+28>>2]](e)&&(n=0|_i[f[f[e>>2]+32>>2]](e))}return 0|n}return 0},function(e){var t,r=0,i=0;if((0|(r=f[8+(e|=0)>>2]))==(0|(t=f[e+12>>2])))return 1;for(;i=f[r>>2],(i=0|_i[f[f[i>>2]+16>>2]](i,f[e+32>>2]))&&(0|t)!=(0|(r=r+4|0)););return 0|i},qr,ei,Jr,Jr,function(e){var t,r=0,i=0;if(f[(e|=0)>>2]=8204,r=f[e+48>>2],f[e+48>>2]=0,r&&_i[f[f[r>>2]+4>>2]](r),f[e>>2]=10064,(r=f[e+20>>2])&&(f[e+24>>2]=r,ee(r)),t=f[e+8>>2]){if((0|(i=f[e+12>>2]))==(0|t))r=t;else{for(;r=f[(i=i-4|0)>>2],f[i>>2]=0,r&&_i[f[f[r>>2]+4>>2]](r),(0|t)!=(0|i););r=f[e+8>>2]}f[e+12>>2]=t,ee(r)}return 0|e},function(e){var t,r=0,i=0;if(f[(e|=0)>>2]=8204,r=f[e+48>>2],f[e+48>>2]=0,r&&_i[f[f[r>>2]+4>>2]](r),f[e>>2]=10064,(r=f[e+20>>2])&&(f[e+24>>2]=r,ee(r)),t=f[e+8>>2]){if((0|(i=f[e+12>>2]))==(0|t))r=t;else{for(;r=f[(i=i-4|0)>>2],f[i>>2]=0,r&&_i[f[f[r>>2]+4>>2]](r),(0|t)!=(0|i););r=f[e+8>>2]}f[e+12>>2]=t,ee(r)}ee(e)},function(e){var t,r=0,i=0,n=0,s=0;if(i=f[32+(e|=0)>>2],t=f[i+16>>2],n=f[i+12>>2],r=f[i+20>>2],b[i+8>>2]>t>>>0&(0|n)>=(0|r)|(0|r)<(0|n)){s=u[t+f[i>>2]|0],r=(n=t+1|0)?r:r+1|0,f[i+16>>2]=n,f[i+20>>2]=r,i=f[e+48>>2],f[e+48>>2]=0,i&&_i[f[f[i>>2]+4>>2]](i);e:{t:{r:{i:switch(0|s){case 0:i=br(384),f[i>>2]=8312,Ye(i+4|0,0,80),f[i+96>>2]=0,f[i+100>>2]=0,f[i+92>>2]=-1,f[i+84>>2]=-1,f[i+88>>2]=-1,f[i+104>>2]=0,f[i+108>>2]=0,f[i+112>>2]=0,f[i+116>>2]=0,f[i+120>>2]=0,f[i+124>>2]=0,f[i+128>>2]=0,f[i+132>>2]=0,f[i+136>>2]=0,f[i+140>>2]=0,f[i+144>>2]=0,f[i+148>>2]=0,f[i+156>>2]=0,f[i+160>>2]=0,f[i+152>>2]=1065353216,f[i+164>>2]=0,f[i+168>>2]=0,f[i+172>>2]=0,f[i+176>>2]=0,f[i+180>>2]=0,f[i+184>>2]=0,f[i+188>>2]=0,f[i+192>>2]=0,f[i+196>>2]=0,f[i+200>>2]=0,f[i+204>>2]=0,f[i+208>>2]=0,f[i+212>>2]=-1,f[i+216>>2]=0,f[i+220>>2]=0,f[i+224>>2]=0,a[38+(r=i+232|0)>>1]=0,f[r>>2]=0,f[r+8>>2]=0,f[r+12>>2]=0,f[r+16>>2]=0,f[r+20>>2]=0,f[r+24>>2]=0,f[r+28>>2]=0,o[r+29|0]=0,o[r+30|0]=0,o[r+31|0]=0,o[r+32|0]=0,o[r+33|0]=0,o[r+34|0]=0,o[r+35|0]=0,o[r+36|0]=0,a[38+(r=i+272|0)>>1]=0,f[r>>2]=0,f[r+8>>2]=0,f[r+12>>2]=0,f[r+16>>2]=0,f[r+20>>2]=0,f[r+24>>2]=0,f[r+28>>2]=0,o[r+29|0]=0,o[r+30|0]=0,o[r+31|0]=0,o[r+32|0]=0,o[r+33|0]=0,o[r+34|0]=0,o[r+35|0]=0,o[r+36|0]=0,f[(r=i+312|0)>>2]=0,f[r+4>>2]=0,o[r+5|0]=0,o[r+6|0]=0,o[r+7|0]=0,o[r+8|0]=0,o[r+9|0]=0,o[r+10|0]=0,o[r+11|0]=0,o[r+12|0]=0,a[38+(r=i+328|0)>>1]=0,f[r>>2]=0,f[r+8>>2]=0,f[r+12>>2]=0,f[r+16>>2]=0,f[r+20>>2]=0,f[r+24>>2]=0,f[r+28>>2]=0,o[r+29|0]=0,o[r+30|0]=0,o[r+31|0]=0,o[r+32|0]=0,o[r+33|0]=0,o[r+34|0]=0,o[r+35|0]=0,o[r+36|0]=0,f[i+376>>2]=0,f[i+368>>2]=0,f[i+372>>2]=0;break r;case 2:break i;default:break t}i=br(440),f[i>>2]=8364,Ye(i+4|0,0,80),f[i+96>>2]=0,f[i+100>>2]=0,f[i+92>>2]=-1,f[i+84>>2]=-1,f[i+88>>2]=-1,f[i+104>>2]=0,f[i+108>>2]=0,f[i+112>>2]=0,f[i+116>>2]=0,f[i+120>>2]=0,f[i+124>>2]=0,f[i+128>>2]=0,f[i+132>>2]=0,f[i+136>>2]=0,f[i+140>>2]=0,f[i+144>>2]=0,f[i+148>>2]=0,f[i+156>>2]=0,f[i+160>>2]=0,f[i+152>>2]=1065353216,f[i+164>>2]=0,f[i+168>>2]=0,f[i+172>>2]=0,f[i+176>>2]=0,f[i+180>>2]=0,f[i+184>>2]=0,f[i+188>>2]=0,f[i+192>>2]=0,f[i+196>>2]=0,f[i+200>>2]=0,f[i+204>>2]=0,f[i+208>>2]=0,f[i+212>>2]=-1,f[i+216>>2]=0,f[i+220>>2]=0,f[i+224>>2]=0,a[38+(r=i+232|0)>>1]=0,f[r>>2]=0,f[r+8>>2]=0,f[r+12>>2]=0,f[r+16>>2]=0,f[r+20>>2]=0,f[r+24>>2]=0,f[r+28>>2]=0,o[r+29|0]=0,o[r+30|0]=0,o[r+31|0]=0,o[r+32|0]=0,o[r+33|0]=0,o[r+34|0]=0,o[r+35|0]=0,o[r+36|0]=0,a[38+(r=i+272|0)>>1]=0,f[r>>2]=0,f[r+8>>2]=0,f[r+12>>2]=0,f[r+16>>2]=0,f[r+20>>2]=0,f[r+24>>2]=0,f[r+28>>2]=0,o[r+29|0]=0,o[r+30|0]=0,o[r+31|0]=0,o[r+32|0]=0,o[r+33|0]=0,o[r+34|0]=0,o[r+35|0]=0,o[r+36|0]=0,f[(r=i+312|0)>>2]=0,f[r+4>>2]=0,o[r+5|0]=0,o[r+6|0]=0,o[r+7|0]=0,o[r+8|0]=0,o[r+9|0]=0,o[r+10|0]=0,o[r+11|0]=0,o[r+12|0]=0,a[38+(r=i+328|0)>>1]=0,f[r>>2]=0,f[r+8>>2]=0,f[r+12>>2]=0,f[r+16>>2]=0,f[r+20>>2]=0,f[r+24>>2]=0,f[r+28>>2]=0,o[r+29|0]=0,o[r+30|0]=0,o[r+31|0]=0,o[r+32|0]=0,o[r+33|0]=0,o[r+34|0]=0,o[r+35|0]=0,o[r+36|0]=0,f[i+392>>2]=0,f[i+396>>2]=0,f[i+384>>2]=0,f[i+388>>2]=0,f[i+376>>2]=0,f[i+380>>2]=0,f[i+368>>2]=0,f[i+372>>2]=0,f[i+416>>2]=0,f[i+420>>2]=0,f[i+408>>2]=2,f[i+412>>2]=7,f[i+400>>2]=-1,f[i+404>>2]=-1,f[i+424>>2]=0,f[i+428>>2]=0,f[i+432>>2]=0,f[i+436>>2]=0}if(r=f[e+48>>2],f[e+48>>2]=i,!r)break e;_i[f[f[r>>2]+4>>2]](r)}if(!(i=f[e+48>>2]))return 0}e=0|_i[f[f[i>>2]+8>>2]](i,e)}else e=0;return 0|e},function(e,t){return t|=0,e=f[48+(e|=0)>>2],0|_i[f[f[e>>2]+20>>2]](e,t)},function(e){return e=f[48+(e|=0)>>2],0|_i[f[f[e>>2]+28>>2]](e)},function(e){return e=f[48+(e|=0)>>2],0|_i[f[f[e>>2]+36>>2]](e)},function(e,t){return t|=0,e=f[48+(e|=0)>>2],0|_i[f[f[e>>2]+12>>2]](e,t)},function(e,t){return t|=0,e=f[48+(e|=0)>>2],0|_i[f[f[e>>2]+16>>2]](e,t)},function(e){return e=f[48+(e|=0)>>2],0|_i[f[f[e>>2]+24>>2]](e)},we,function(e){ee(we(e|=0))},Ur,it,ot,S,function(e){var t,r=0,i=0,n=0,s=0,c=0,A=0,p=0,_=0,h=0,k=0,m=0,y=0,v=0,g=0,w=0,T=0,B=0,x=0,R=0,N=0,C=0,D=0,M=0,G=0,U=0,V=0,S=0,F=0,W=0;if(I=t=I+-64|0,f[132+(e|=0)>>2]=0,f[e+148>>2]){if(r=f[e+144>>2])for(;s=f[r>>2],ee(r),r=s,s;);if(r=0,f[e+144>>2]=0,s=f[e+140>>2]){if(s-1>>>0>=3)for(p=-4&s;f[(i=r<<2)+f[e+136>>2]>>2]=0,f[f[e+136>>2]+(4|i)>>2]=0,f[f[e+136>>2]+(8|i)>>2]=0,f[f[e+136>>2]+(12|i)>>2]=0,r=r+4|0,(0|p)!=(0|(n=n+4|0)););if(s&=3)for(;f[f[e+136>>2]+(r<<2)>>2]=0,r=r+1|0,(0|s)!=(0|(v=v+1|0)););}f[e+148>>2]=0}if(Tt(1,t+60|0,f[f[e+4>>2]+32>>2])&&(f[e+156>>2]=f[t+60>>2],Tt(1,t+56|0,f[f[e+4>>2]+32>>2])&&!((n=f[t+56>>2])>>>0>1431655765|b[e+156>>2]>d(n,3)>>>0)&&(s=f[f[e+4>>2]+32>>2],i=f[s+8>>2],!((0|(v=f[s+12>>2]))<=(0|(r=f[s+20>>2]))&(c=i)>>>0<=(i=f[s+16>>2])>>>0|(0|r)>(0|v))&&(v=u[i+f[s>>2]|0],r=(i=i+1|0)?r:r+1|0,f[s+16>>2]=i,f[s+20>>2]=r,Tt(1,t+52|0,s)&&!((y=f[t+52>>2])>>>0>n>>>0|n>>>0>y+((y>>>0)/3|0)>>>0)&&Tt(1,t+48|0,f[f[e+4>>2]+32>>2])&&!((s=f[t+48>>2])>>>0>y>>>0)&&(f[e+28>>2]=f[e+24>>2],yt(i=br(88)),r=f[e+8>>2],f[e+8>>2]=i,(!r||(Mt(r),f[e+8>>2]))&&(f[e+164>>2]=f[e+160>>2],Dt(e+160|0,n),f[e+176>>2]=f[e+172>>2],Dt(e+172|0,n),f[e- -64>>2]=0,f[e+92>>2]=-1,f[e+84>>2]=-1,f[e+88>>2]=-1,f[e+40>>2]=f[e+36>>2],f[e+52>>2]=f[e+48>>2],f[e+76>>2]=f[e+72>>2],Ut(V=e+216|0),q(V,v),et(f[e+8>>2],n,s+f[e+156>>2]|0)&&(r=f[e+156>>2],o[t+8|0]=1,Je(e+120|0,r+s|0,t+8|0),-1!=(0|be(e,f[f[e+4>>2]+32>>2]))))))))){mt(s=e+232|0,e),f[e+372>>2]=v,a[38+(g=t+8|0)>>1]=0,f[g>>2]=0,f[g+8>>2]=0,f[g+12>>2]=0,f[g+16>>2]=0,f[g+20>>2]=0,f[g+24>>2]=0,f[g+28>>2]=0,o[g+29|0]=0,o[g+30|0]=0,o[g+31|0]=0,o[g+32|0]=0,o[g+33|0]=0,o[g+34|0]=0,o[g+35|0]=0,o[g+36|0]=0,r=0,I=v=I-16|0,n=f[s+4>>2],f[s+40>>2]=f[s>>2],f[s+44>>2]=n,n=f[s+36>>2],f[s+72>>2]=f[s+32>>2],f[s+76>>2]=n,i=f[s+28>>2],f[(n=s- -64|0)>>2]=f[s+24>>2],f[n+4>>2]=i,n=f[s+20>>2],f[s+56>>2]=f[s+16>>2],f[s+60>>2]=n,n=f[s+12>>2],f[s+48>>2]=f[s+8>>2],f[s+52>>2]=n,Kt(s+40|0,1,v+8|0)&&(n=f[s+44>>2],f[s>>2]=f[s+40>>2],f[s+4>>2]=n,n=f[s+76>>2],f[s+32>>2]=f[s+72>>2],f[s+36>>2]=n,n=f[s+68>>2],f[s+24>>2]=f[s+64>>2],f[s+28>>2]=n,p=i=f[s+60>>2],n=f[s+56>>2],f[s+16>>2]=n,f[s+20>>2]=i,c=f[s+52>>2],i=f[s+48>>2],f[s+8>>2]=i,f[s+12>>2]=c,A=i-n|0,(0|(k=f[v+12>>2]))==(0|(c=c-((i>>>0<n>>>0)+p|0)|0))&A>>>0>=(i=f[v+8>>2])>>>0|c>>>0>k>>>0)&&(c=i+n|0,n=p+k|0,f[s+16>>2]=c,f[s+20>>2]=i>>>0>c>>>0?n+1|0:n,Ie(s+80|0,s)&&Xe(s)&&(r=f[s+4>>2],f[g>>2]=f[s>>2],f[g+4>>2]=r,r=f[s+36>>2],f[g+32>>2]=f[s+32>>2],f[g+36>>2]=r,r=f[s+28>>2],f[g+24>>2]=f[s+24>>2],f[g+28>>2]=r,r=f[s+20>>2],f[g+16>>2]=f[s+16>>2],f[g+20>>2]=r,r=f[s+12>>2],f[g+8>>2]=f[s+8>>2],f[g+12>>2]=r,r=1)),I=v+16|0;e:if(r){n=0,s=0,r=0,v=0,I=k=I-96|0,f[k+72>>2]=0,f[k+64>>2]=0,f[k+68>>2]=0,f[k+48>>2]=0,f[k+52>>2]=0,f[k+40>>2]=0,f[k+44>>2]=0,f[k+56>>2]=1065353216,f[k+32>>2]=0,f[k+24>>2]=0,f[k+28>>2]=0,_=1,p=e,R=f[e+124>>2];t:{r:{i:{n:{o:{a:{f:{s:if(!((0|y)<=0)){for(S=f[p+216>>2]!=f[p+220>>2];;){B=(c=B)+1|0;c:{u:{l:{b:{A:{p:{d:{_:{h:{k:{m:if(u[p+308|0]){y:{if(!((e=(A=f[p+296>>2])+((i=f[p+304>>2])>>>3|0)|0)>>>0>=(m=f[p+300>>2])>>>0)&&(h=u[0|e],e=i+1|0,f[p+304>>2]=e,h>>>(7&i)&1))switch((w=A+(h=e>>>3|0)|0)>>>0>=m>>>0?(i=e,e=0):(w=u[0|w],i=i+2|0,f[p+304>>2]=i,h=i>>>3|0,e=w>>>(7&e)&1),(A=A+h|0)>>>0<m>>>0?(A=u[0|A],f[p+304>>2]=i+1,i=A>>>(7&i)<<1&2):i=0,(e=(e|i)<<1)-1|0){case 0:case 2:case 4:break i;case 5:break k;case 1:case 3:break y;default:break m}if((0|r)==(0|s)){i=-1;break f}h=-1,A=f[p+8>>2],w=f[A+24>>2],e=-1,-1!=(0|(i=f[(x=s-4|0)>>2]))&&(e=-1,-1!=(0|(_=((_=i+1|0)>>>0)%3|0?_:i-2|0))&&(e=f[f[A>>2]+(_<<2)>>2])),-1!=(0|(n=f[w+(e<<2)>>2]))&&(h=((_=n+1|0)>>>0)%3|0?_:n-2|0),n=f[A+12>>2],_=(c=d(c,3))+1|0,f[n+(i<<2)>>2]=_,f[(C=_<<2)+n>>2]=i,m=c+2|0,f[n+(h<<2)>>2]=m,f[(D=m<<2)+n>>2]=h,_=-1,n=-1;v:if(-1!=(0|i)){if((i>>>0)%3|0)i=i-1|0;else if(n=-1,-1==(0|(i=i+2|0)))break v;n=f[f[A>>2]+(i<<2)>>2]}if(-1!=(0|h)&&-1!=(0|(i=((i=h+1|0)>>>0)%3|0?i:h-2|0))&&(_=f[f[A>>2]+(i<<2)>>2]),i=-1,(0|e)==(0|n)|(0|e)==(0|_))break f;i=f[A>>2],f[i+(c<<2)>>2]=e,f[i+C>>2]=_,f[i+D>>2]=n,-1!=(0|n)&&(f[w+(n<<2)>>2]=m),n=f[p+120>>2]+(e>>>3&536870908)|0,i=f[n>>2],F=n,W=xr(e)&i,f[F>>2]=W,f[x>>2]=c,n=r;break c}if((0|r)==(0|s)){i=-1;break f}if(n=f[p+8>>2],i=f[n+12>>2],C=(h=(A=d(c,3))+((w=5==(1|e))?2:1)|0)<<2,e=f[(D=s-4|0)>>2],f[i+C>>2]=e,f[i+(e<<2)>>2]=h,At(n+24|0),i=-1,x=f[p+8>>2],m=f[x+24>>2],(0|R)<f[x+28>>2]-m>>2)break f;if(i=f[x>>2],x=((n=f[n+28>>2]-f[n+24>>2]|0)>>2)-1|0,f[i+C>>2]=x,n&&(f[m+(x<<2)>>2]=h),h=w?A:A+2|0,w=i+(A+w<<2)|0,-1!=(0|e)){y:{v:{if((e>>>0)%3|0)n=e-1|0;else if(-1==(0|(n=e+2|0)))break v;if(n=f[i+(n<<2)>>2],f[i+(h<<2)>>2]=n,-1==(0|n))break y;f[m+(n<<2)>>2]=h;break y}f[i+(h<<2)>>2]=-1}n=-1,-1!=(0|(e=((h=e+1|0)>>>0)%3|0?h:e-2|0))&&(n=f[i+(e<<2)>>2])}else f[i+(h<<2)>>2]=-1,n=-1;f[w>>2]=n,f[D>>2]=A,n=r;break h}if((0|r)==(0|s)){i=-1;break f}m=f[(e=s-4|0)>>2],f[k+68>>2]=e;m:if(h=f[k+44>>2])if((A=Er(h)>>>0>1)?h>>>0>(n=c)>>>0||(n=(c>>>0)%(h>>>0)|0):n=c&h+2147483647,i=f[f[k+40>>2]+(n<<2)>>2])if(i=f[i>>2]){y:{if(!A){for(A=h-1|0;;){v:{if((0|(h=f[i+4>>2]))!=(0|c)){if((A&h)==(0|n))break v;s=e;break m}if((0|c)==f[i+8>>2])break y}if(!(i=f[i>>2]))break}s=e;break m}for(;;){v:{if((0|(A=f[i+4>>2]))!=(0|c)){if(A>>>0>=h>>>0&&(A=(A>>>0)%(h>>>0)|0),(0|n)==(0|A))break v;s=e;break m}if((0|c)==f[i+8>>2])break y}if(!(i=f[i>>2]))break}s=e;break m}if((0|e)==(0|N)){if((s=1+(n=(e=N-r|0)>>2)|0)>>>0>=1073741824)break d;if(T=e>>1,s=n>>>0<536870911?s>>>0>T>>>0?s:T:1073741823){if(s>>>0>=1073741824)break r;T=br(s<<2)}else T=0;f[(n=T+(n<<2)|0)>>2]=f[i+12>>2],N=(s<<2)+T|0,s=n+4|0,(0|e)>0&&ge(T,r,e),f[k+72>>2]=N,f[k+68>>2]=s,f[k+64>>2]=T,r&&ee(r)}else f[e>>2]=f[i+12>>2],f[k+68>>2]=s}else s=e;else s=e;else s=e;if((0|s)==(0|T))break _;if(n=-1==(0|(e=f[(C=s-4|0)>>2])),r=f[p+8>>2],!n&-1!=f[f[r+12>>2]+(e<<2)>>2])break _;if(A=f[r+12>>2],-1!=(0|m)&-1!=f[A+(m<<2)>>2])break _;if(x=(c=d(c,3))+2|0,f[A+(e<<2)>>2]=x,f[(w=x<<2)+A>>2]=e,i=c+1|0,f[A+(m<<2)>>2]=i,f[(D=i<<2)+A>>2]=m,n)break p;if((e>>>0)%3|0){_=e-1|0;break b}if(-1!=(0|(_=e+2|0)))break b;h=f[r>>2],n=-1;break l}if(At((h=f[p+8>>2])+24|0),i=-1,A=f[p+8>>2],e=d(c,3),x=(h=(m=f[h+28>>2]-f[h+24>>2]|0)>>2)-1|0,f[f[A>>2]+(e<<2)>>2]=x,At(A+24|0),w=e+1|0,f[f[A>>2]+(w<<2)>>2]=(f[A+28>>2]-f[A+24>>2]>>2)-1,At((A=f[p+8>>2])+24|0),C=e+2|0,f[f[A>>2]+(C<<2)>>2]=(f[A+28>>2]-f[A+24>>2]>>2)-1,D=f[p+8>>2],A=f[D+24>>2],(0|R)<f[D+28>>2]-A>>2)break f;k:{if(m){if(f[A+(x<<2)>>2]=e,i=0,-4!=(0|m)&&(f[A+(h<<2)>>2]=w,-1==(0|(i=h+1|0))))break k}else f[A+(h<<2)>>2]=w,i=1;f[A+(i<<2)>>2]=C}if((0|s)==(0|N)){if((s=1+(i=(r=s-n|0)>>2)|0)>>>0>=1073741824)break A;if(T=r>>1,s=i>>>0<536870911?s>>>0>T>>>0?s:T:1073741823){if(s>>>0>=1073741824)break r;T=br(s<<2)}else T=0;f[(i=T+(i<<2)|0)>>2]=e,N=(s<<2)+T|0,s=i+4|0,(0|r)>0&&ge(T,n,r),f[k+72>>2]=N,f[k+68>>2]=s,f[k+64>>2]=T,n&&ee(n),n=r=T}else f[s>>2]=e,s=s+4|0,f[k+68>>2]=s}if((0|(i=f[p+40>>2]))==f[p+36>>2])break c;for(c=y+(-1^c)|0,A=s-4|0;;){if((e=f[i-8>>2])>>>0>c>>>0)break _;if((0|e)!=(0|c))break c;if(h=u[i-4|0],i=f[(e=i-12|0)>>2],f[p+40>>2]=e,(0|i)<0)break _;e=f[A>>2],f[k+20>>2]=y+(-1^i),i=k+20|0,f[k+88>>2]=i,te(k,k+40|0,i,k+88|0),w=f[k>>2];h:if(1&h){if(i=-1,-1==(0|e))break h;i=((i=e+1|0)>>>0)%3|0?i:e-2|0}else i=-1,-1!=(0|e)&&(i=e-1|0,(e>>>0)%3|0||(i=e+2|0));if(f[w+12>>2]=i,(0|(i=f[p+40>>2]))==f[p+36>>2])break}break c}if(i=-1,1&_)break f;break s}ii(),E()}n=-1,h=f[r>>2],f[h+(c<<2)>>2]=-1,i=-1;break u}ii(),E()}h=f[r>>2],n=f[h+(_<<2)>>2]}f[(c<<2)+h>>2]=n,i=-1,-1!=(0|(e=((_=e+1|0)>>>0)%3|0?_:e-2|0))&&(i=f[(e<<2)+h>>2])}if(f[h+D>>2]=i,-1!=(0|m)){u:{l:{if((m>>>0)%3|0)i=m-1|0;else if(-1==(0|(i=m+2|0)))break l;if(e=f[(i<<2)+h>>2],f[h+w>>2]=e,-1==(0|e))break u;f[f[r+24>>2]+(e<<2)>>2]=x;break u}f[h+w>>2]=-1}_=-1,i=-1,-1!=(0|(e=((e=m+1|0)>>>0)%3|0?e:m-2|0))&&(_=f[(e<<2)+h>>2],i=e)}else f[h+w>>2]=-1,_=-1,i=-1;e=(r=f[r+24>>2])+(_<<2)|0,-1!=(0|n)&&(f[r+(n<<2)>>2]=f[e>>2]);u:if(-1!=(0|i))for(;;){if(f[(i<<2)+h>>2]=n,-1==(0|(r=((r=i+1|0)>>>0)%3|0?r:i-2|0)))break u;if(-1==(0|(r=f[A+(r<<2)>>2])))break u;if(-1==(0|(i=((i=r+1|0)>>>0)%3|0?i:r-2|0)))break}f[e>>2]=-1;u:if(!S){if((0|M)==(0|G)){l:{if((e=1+(i=(r=G-v|0)>>2)|0)>>>0<1073741824){if(n=r>>1,n=i>>>0<536870911?e>>>0>n>>>0?e:n:1073741823){if(n>>>0>=1073741824)break l;e=br(n<<2)}else e=0;f[(i=e+(i<<2)|0)>>2]=_,G=e+(n<<2)|0,M=i+4|0,(0|r)>0&&ge(e,v,r),f[k+32>>2]=G,f[k+28>>2]=M,f[k+24>>2]=e,v&&ee(v),v=e;break u}ii(),E()}break r}f[M>>2]=_,M=M+4|0,f[k+28>>2]=M}f[C>>2]=c,n=r=T}if(_=(0|y)>(0|B),(0|y)==(0|B))break}B=y}if(i=-1,_=f[p+8>>2],!((0|R)<f[_+28>>2]-f[_+24>>2]>>2)){if((0|s)!=(0|T)){for(e=p+60|0,w=p+312|0;;){m=f[(s=s-4|0)>>2],f[k+68>>2]=s;s:if(Wt(w)){if(R=f[p+8>>2],N=f[R>>2],((f[R+4>>2]-N>>2>>>0)/3|0)<=(0|B))break f;if(r=-1,n=-1,y=f[R+24>>2],c=-1,-1!=(0|m)&&(c=-1,-1!=(0|(A=((A=m+1|0)>>>0)%3|0?A:m-2|0))&&(c=f[N+(A<<2)>>2])),-1!=(0|(c=f[y+((A=c)<<2)>>2]))&&-1!=(0|(c=((_=c+1|0)>>>0)%3|0?_:c-2|0))&&(-1!=(0|(r=((r=c+1|0)>>>0)%3|0?r:c-2|0))&&(n=f[N+(r<<2)>>2]),r=c),_=-1,h=-1,c=-1,-1!=(0|(y=f[y+(n<<2)>>2]))&&(c=-1,-1!=(0|(y=((G=y+1|0)>>>0)%3|0?G:y-2|0))&&(-1!=(0|(c=((c=y+1|0)>>>0)%3|0?c:y-2|0))&&(h=f[N+(c<<2)>>2]),c=y)),R=f[R+12>>2],y=d(B,3),f[R+(G=y<<2)>>2]=m,f[R+(m<<2)>>2]=y,f[(x=(m=y+1|0)<<2)+R>>2]=r,f[R+(r<<2)>>2]=m,f[(S=(r=y+2|0)<<2)+R>>2]=c,f[R+(c<<2)>>2]=r,f[N+G>>2]=n,f[(c=N+x|0)>>2]=h,f[(h=N+S|0)>>2]=A,A=m>>>0<y>>>0?-1:n,n=f[p+120>>2],R=f[(N=(A>>>3&536870908)+n|0)>>2],F=N,W=xr(A)&R,f[F>>2]=W,_=-1!=(0|m)?f[c>>2]:_,A=f[(c=n+(_>>>3&536870908)|0)>>2],F=c,W=xr(_)&A,f[F>>2]=W,_=-1,_=-1!=(0|r)?f[h>>2]:_,n=f[(r=n+(_>>>3&536870908)|0)>>2],F=r,W=xr(_)&n,f[F>>2]=W,(0|(_=f[p+64>>2]))==(r=f[p+68>>2])<<5){if((_+1|0)<0)break a;at(e,r=_>>>0<=1073741822?(r<<=6)>>>0<(n=_+32&-32)>>>0?n:r:2147483647),_=f[p+64>>2]}if(B=B+1|0,f[p+64>>2]=_+1,r=f[p+60>>2]+(_>>>3&536870908)|0,f[r>>2]=f[r>>2]|1<<_,(0|(r=f[p+76>>2]))!=f[p+80>>2]){f[r>>2]=y,f[p+76>>2]=r+4;break s}if((r=1+(_=(c=r-(n=f[p+72>>2])|0)>>2)|0)>>>0>=1073741824)break o;if(A=c>>1,A=_>>>0<536870911?r>>>0>A>>>0?r:A:1073741823){if(A>>>0>=1073741824)break r;r=br(A<<2)}else r=0;if(f[(_=r+(_<<2)|0)>>2]=y,(0|c)>0&&ge(r,n,c),f[p+80>>2]=r+(A<<2),f[p+76>>2]=_+4,f[p+72>>2]=r,!n)break s;ee(n)}else{if((0|(r=f[p+64>>2]))==(n=f[p+68>>2])<<5){if((r+1|0)<0)break a;at(e,r=r>>>0<=1073741822?(r=r+32&-32)>>>0>(n<<=6)>>>0?r:n:2147483647),r=f[p+64>>2]}if(f[p+64>>2]=r+1,n=f[p+60>>2]+(r>>>3&536870908)|0,c=f[n>>2],F=n,W=xr(r)&c,f[F>>2]=W,(0|(r=f[p+76>>2]))==f[p+80>>2]){if((r=1+(A=(c=r-(n=f[p+72>>2])|0)>>2)|0)>>>0>=1073741824)break o;if(y=c>>1,y=A>>>0<536870911?r>>>0>y>>>0?r:y:1073741823){if(y>>>0>=1073741824)break n;r=br(y<<2)}else r=0;f[(A=r+(A<<2)|0)>>2]=m,(0|c)>0&&ge(r,n,c),f[p+80>>2]=r+(y<<2),f[p+76>>2]=A+4,f[p+72>>2]=r,n&&ee(n)}else f[r>>2]=m,f[p+76>>2]=r+4}if((0|s)==(0|T))break}_=f[p+8>>2]}if(((f[_+4>>2]-f[_>>2]>>2>>>0)/3|0)==(0|B))if(B=f[_+24>>2],i=f[_+28>>2]-B>>2,(0|v)!=(0|M))for(n=v;;){if(e=f[n>>2],-1==f[(h=((s=i-1|0)<<2)+B|0)>>2])for(;s=i-2|0,i=i-1|0,-1==f[(h=(s<<2)+B|0)>>2];);if(e>>>0<=s>>>0){if(f[k>>2]=_,B=f[h>>2],o[k+12|0]=1,f[k+8>>2]=B,f[k+4>>2]=B,-1!=(0|B))for(;f[f[_>>2]+(B<<2)>>2]=e,Fe(k),_=f[p+8>>2],-1!=(0|(B=f[k+8>>2])););r=(B=f[_+24>>2])+(s<<2)|0,-1!=(0|e)&&(f[(e<<2)+B>>2]=f[r>>2]),f[r>>2]=-1,r=1<<e,e=(c=f[p+120>>2])+(e>>>3&536870908)|0,c=c+(s>>>3&536870908)|0,s=1<<s,f[c>>2]&s?r|=f[e>>2]:r=f[e>>2]&(-1^r),f[e>>2]=r,f[c>>2]=f[c>>2]&(-1^s),i=i-1|0}if((0|M)==(0|(n=n+4|0)))break}else v=M}}if(v&&ee(v),s=f[k+48>>2])for(;e=f[s>>2],ee(s),s=e,e;);e=f[k+40>>2],f[k+40>>2]=0,e&&ee(e),T&&(f[k+68>>2]=T,ee(T)),I=k+96|0;break t}ii(),E()}ii(),E()}Lt(1326)}E()}Lt(1326),E()}if(-1!=(0|i)){s=(e=f[g+16>>2])+f[g>>2]|0,r=(r=f[g+8>>2])-e|0,e=f[f[p+4>>2]+32>>2],a[e+38>>1]=l[e+38>>1],f[e>>2]=s,f[e+16>>2]=0,f[e+20>>2]=0,f[e+8>>2]=r,f[e+12>>2]=0;t:if(f[p+216>>2]!=f[p+220>>2]&&(e=f[p+8>>2],f[e+4>>2]!=f[e>>2])){for(r=0;;){if(le(p,r)){if(r=r+3|0,e=f[p+8>>2],r>>>0<f[e+4>>2]-f[e>>2]>>2>>>0)continue;break t}break}break e}if(u[p+308|0]&&(o[p+308|0]=0,s=f[p+292>>2],e=0,n=(e=(r=f[p+304>>2]+7|0)>>>0<7?1:e)>>>3|0,e=(r=e<<29|r>>>3)+f[p+288>>2]|0,n=s+n|0,f[p+288>>2]=e,f[p+292>>2]=e>>>0<r>>>0?n+1|0:n),(0|(r=f[p+216>>2]))!=f[p+220>>2])for(;;){if(De(4+((e=d(U,144))+r|0)|0,f[p+8>>2]),v=f[V>>2],(0|(r=f[132+(s=e+v|0)>>2]))!=(0|(s=f[s+136>>2])))for(;Ue(4+(e+v|0)|0,f[r>>2]),v=f[V>>2],(0|s)!=(0|(r=r+4|0)););if(re(4+(e+v|0)|0),U=U+1|0,r=f[p+216>>2],!(U>>>0<(f[p+220>>2]-r|0)/144>>>0))break}if(e=f[p+8>>2],pt(p+184|0,f[e+28>>2]-f[e+24>>2]>>2),(0|(v=f[p+216>>2]))!=f[p+220>>2])for(r=0;e=d(r,144)+v|0,s=f[e+60>>2]-f[e+56>>2]>>2,n=e+104|0,e=f[p+8>>2],pt(n,(0|(e=f[e+28>>2]-f[e+24>>2]>>2))>(0|s)?e:s),r=r+1|0,v=f[p+216>>2],r>>>0<(f[p+220>>2]-v|0)/144>>>0;);U=Z(p,i)}}}return I=t- -64|0,0|U},qr,Yr,Pr,he,function(e){ee(he(e|=0))},Ur,it,ot,S,function(e){var t,r=0,i=0,n=0,s=0,c=0,A=0,p=0,_=0,h=0,k=0,m=0,y=0,v=0,g=0,w=0,T=0,B=0,x=0,R=0,N=0,C=0,M=0,G=0,U=0,V=0,S=0,F=0,W=0,j=0,O=0,P=0;if(I=t=I+-64|0,f[132+(e|=0)>>2]=0,f[e+148>>2]){if(r=f[e+144>>2])for(;p=f[r>>2],ee(r),r=p;);if(r=0,f[e+144>>2]=0,p=f[e+140>>2]){if(p-1>>>0>=3)for(g=-4&p;f[(A=r<<2)+f[e+136>>2]>>2]=0,f[f[e+136>>2]+(4|A)>>2]=0,f[f[e+136>>2]+(8|A)>>2]=0,f[f[e+136>>2]+(12|A)>>2]=0,r=r+4|0,(0|g)!=(0|(k=k+4|0)););if(p&=3)for(;f[f[e+136>>2]+(r<<2)>>2]=0,r=r+1|0,(0|p)!=(0|(i=i+1|0)););}f[e+148>>2]=0}e:{if(Tt(1,t+60|0,f[f[e+4>>2]+32>>2])&&(f[e+156>>2]=f[t+60>>2],Tt(1,t+56|0,f[f[e+4>>2]+32>>2])&&!((i=f[t+56>>2])>>>0>1431655765|b[e+156>>2]>d(i,3)>>>0)&&(p=f[f[e+4>>2]+32>>2],A=f[p+8>>2],!((0|(g=f[p+12>>2]))<=(0|(r=f[p+20>>2]))&(n=A)>>>0<=(A=f[p+16>>2])>>>0|(0|r)>(0|g))&&(g=u[A+f[p>>2]|0],r=(A=A+1|0)?r:r+1|0,f[p+16>>2]=A,f[p+20>>2]=r,Tt(1,t+52|0,p)&&!((x=f[t+52>>2])>>>0>i>>>0|i>>>0>x+((x>>>0)/3|0)>>>0)&&Tt(1,t+48|0,f[f[e+4>>2]+32>>2])&&!((r=f[t+48>>2])>>>0>x>>>0)&&(f[e+28>>2]=f[e+24>>2],yt(A=br(88)),p=f[e+8>>2],f[e+8>>2]=A,(!p||(Mt(p),f[e+8>>2]))&&(f[e+164>>2]=f[e+160>>2],Dt(e+160|0,i),f[e+176>>2]=f[e+172>>2],Dt(e+172|0,i),f[e- -64>>2]=0,f[e+92>>2]=-1,f[e+84>>2]=-1,f[e+88>>2]=-1,f[e+40>>2]=f[e+36>>2],f[e+52>>2]=f[e+48>>2],f[e+76>>2]=f[e+72>>2],Ut(F=e+216|0),q(F,g),et(f[e+8>>2],i,r+f[e+156>>2]|0)&&(p=f[e+156>>2],o[t+8|0]=1,Je(e+120|0,r+p|0,t+8|0),-1!=(0|be(e,f[f[e+4>>2]+32>>2]))))))))){mt(c=e+232|0,e),O=e,P=0|_i[f[f[e>>2]+36>>2]](e),f[O+380>>2]=P,f[e+372>>2]=g,f[e+384>>2]=r+f[e+156>>2],a[38+(r=t+8|0)>>1]=0,f[r>>2]=0,f[r+8>>2]=0,f[r+12>>2]=0,f[r+16>>2]=0,f[r+20>>2]=0,f[r+24>>2]=0,f[r+28>>2]=0,o[r+29|0]=0,o[r+30|0]=0,o[r+31|0]=0,o[r+32|0]=0,o[r+33|0]=0,o[r+34|0]=0,o[r+35|0]=0,o[r+36|0]=0,W=r,g=r,A=0,I=s=I-16|0;t:if(Ie(c+80|0,c)&&Xe(c)&&(r=f[c+4>>2],f[g>>2]=f[c>>2],f[g+4>>2]=r,r=f[c+36>>2],f[g+32>>2]=f[c+32>>2],f[g+36>>2]=r,r=f[c+28>>2],f[g+24>>2]=f[c+24>>2],f[g+28>>2]=r,r=f[c+20>>2],f[g+16>>2]=f[c+16>>2],f[g+20>>2]=r,r=f[c+12>>2],f[g+8>>2]=f[c+8>>2],f[g+12>>2]=r,f[c+176>>2]=2,f[c+180>>2]=7,!((0|(r=f[c+152>>2]))<0))){if(f[s+12>>2]=0,A=2,k=f[c+156>>2],(p=f[c+160>>2]-k>>2)>>>0<r>>>0?(ve(c+156|0,r-p|0,s+12|0),A=f[c+176>>2],i=f[c+180>>2]):(i=7,r>>>0>=p>>>0||(f[c+160>>2]=k+(r<<2))),p=c+184|0,(i=1+(i-A|0)|0)>>>0>(k=((r=f[c+188>>2])-(A=f[c+184>>2])|0)/12|0)>>>0){if((r=i-k|0)>>>0<=((n=f[p+8>>2])-(A=f[p+4>>2])|0)/12>>>0)r&&(A=Ye(A,0,r=d((d(r,12)-12>>>0)/12|0,12)+12|0)+r|0),f[p+4>>2]=A;else{r:{i:{n:{if((i=(w=(A-(k=f[p>>2])|0)/12|0)+r|0)>>>0<357913942){if(T=(n=(n-k|0)/12|0)<<1,n=n>>>0<178956970?i>>>0>T>>>0?i:T:357913941){if(n>>>0>=357913942)break n;_=br(d(n,12))}if(w=(r=Ye(i=d(w,12)+_|0,0,w=d((d(r,12)-12>>>0)/12|0,12)+12|0))+w|0,_=d(n,12)+_|0,(0|A)==(0|k))break i;for(;A=A-12|0,f[(i=i-12|0)>>2]=f[A>>2],f[i+4>>2]=f[A+4>>2],f[i+8>>2]=f[A+8>>2],f[A+8>>2]=0,f[A>>2]=0,f[A+4>>2]=0,(0|A)!=(0|k););if(f[p+8>>2]=_,r=f[p+4>>2],f[p+4>>2]=w,A=f[p>>2],f[p>>2]=i,(0|r)==(0|A))break r;for(;(k=f[(i=r-12|0)>>2])&&(f[r-8>>2]=k,ee(k)),(0|(r=i))!=(0|A););break r}break e}Lt(1326),E()}f[p+8>>2]=_,f[p+4>>2]=w,f[p>>2]=r}A&&ee(A)}i=f[c+188>>2]}else if(i>>>0>=k>>>0)i=r;else{if((0|r)!=(0|(i=A+d(i,12)|0)))for(;(k=f[(A=r-12|0)>>2])&&(f[r-8>>2]=k,ee(k)),(0|(r=A))!=(0|i););f[c+188>>2]=i}if(_=c+196|0,r=(i-(A=f[c+184>>2])|0)/12|0,n=f[c+196>>2],r>>>0>(k=f[c+200>>2]-n>>2)>>>0?(st(_,r-k|0),A=f[c+184>>2],i=f[c+188>>2]):r>>>0>=k>>>0||(f[c+200>>2]=n+(r<<2)),(0|i)!=(0|A)){for(r=0;;){if(Tt(1,s+8|0,g)&&(A=f[s+8>>2],i=f[c+148>>2],!(A>>>0>(f[i+4>>2]-f[i>>2]>>2>>>0)/3>>>0))){if(A&&(i=f[p>>2],T=d(r,12),n=f[(k=i+T|0)>>2],(w=f[k+4>>2]-n>>2)>>>0<A>>>0?(st(k,A-w|0),i=f[p>>2]):A>>>0>=w>>>0||(f[k+4>>2]=n+(A<<2)),D(A,1,g,f[i+T>>2]),f[f[_>>2]+(r<<2)>>2]=A),A=1,(r=r+1|0)>>>0<(f[c+188>>2]-f[c+184>>2]|0)/12>>>0)continue;break t}break}A=0}else A=1}I=s+16|0;t:if(A){i=0,r=0,A=0,T=0,p=0,g=0,k=0,w=0,I=y=I-96|0,f[y+72>>2]=0,f[y+64>>2]=0,f[y+68>>2]=0,f[y+48>>2]=0,f[y+52>>2]=0,f[y+40>>2]=0,f[y+44>>2]=0,f[y+56>>2]=1065353216,f[y+32>>2]=0,f[y+24>>2]=0,f[y+28>>2]=0,_=1,c=e,M=f[e+124>>2];r:{i:{n:{o:if(!((0|x)<=0)){U=c+232|0,j=f[c+216>>2]!=f[c+220>>2];a:{for(;;){k=(e=k)+1|0;f:{s:{c:{if(-1!=(0|(n=f[c+404>>2]))){if(s=-1,h=f[c+428>>2]+(n<<2)|0,n=(m=f[h>>2])-1|0,f[h>>2]=n,(0|m)<=0)break n;if(h=f[f[f[c+416>>2]+d(f[c+404>>2],12)>>2]+(n<<2)>>2],n=f[8928+(h<<2)>>2],f[c+400>>2]=n,!h){if((0|i)==(0|p))break n;n=-1,_=f[c+8>>2],B=f[_+24>>2],r=-1,-1!=(0|(s=f[(R=i-4|0)>>2]))&&(r=-1,-1!=(0|(m=((m=s+1|0)>>>0)%3|0?m:s-2|0))&&(r=f[f[_>>2]+(m<<2)>>2])),-1!=(0|(h=f[B+(r<<2)>>2]))&&(n=((n=h+1|0)>>>0)%3|0?n:h-2|0),m=f[_+12>>2],e=(h=d(e,3))+1|0,f[m+(s<<2)>>2]=e,f[(C=e<<2)+m>>2]=s,v=h+2|0,f[m+(n<<2)>>2]=v,f[(G=v<<2)+m>>2]=n,m=-1,e=-1;u:if(-1!=(0|s)){if((s>>>0)%3|0)s=s-1|0;else if(e=-1,-1==(0|(s=s+2|0)))break u;e=f[f[_>>2]+(s<<2)>>2]}if(-1!=(0|n)&&-1!=(0|(s=((s=n+1|0)>>>0)%3|0?s:n-2|0))&&(m=f[f[_>>2]+(s<<2)>>2]),s=-1,(0|e)==(0|r)|(0|r)==(0|m))break n;s=f[_>>2],f[s+(h<<2)>>2]=r,f[s+C>>2]=m,f[s+G>>2]=e,-1!=(0|e)&&(f[B+(e<<2)>>2]=v),e=f[c+120>>2]+(r>>>3&536870908)|0,s=f[e>>2],O=e,P=xr(r)&s,f[O>>2]=P,f[R>>2]=h,r=p,me(U,h);break f}u:switch(n-1|0){case 2:case 4:if((0|i)==(0|p))break n;if(n=f[c+8>>2],s=f[n+12>>2],R=(B=((v=3==(0|h))?2:1)+(h=d(e,3))|0)<<2,r=f[(C=i-4|0)>>2],f[s+R>>2]=r,f[s+(r<<2)>>2]=B,At(n+24|0),s=-1,i=f[c+8>>2],m=f[i+24>>2],(0|M)<f[i+28>>2]-m>>2)break n;if(i=f[i>>2],n=((s=f[n+28>>2]-f[n+24>>2]|0)>>2)-1|0,f[i+R>>2]=n,s&&(f[m+(n<<2)>>2]=B),s=v?h:h+2|0,B=i+(h+v<<2)|0,-1!=(0|r)){l:{b:{if((r>>>0)%3|0)n=r-1|0;else if(-1==(0|(n=r+2|0)))break b;if(n=f[i+(n<<2)>>2],f[i+(s<<2)>>2]=n,-1==(0|n))break l;f[m+(n<<2)>>2]=s;break l}f[i+(s<<2)>>2]=-1}r=((n=r+1|0)>>>0)%3|0?n:r-2|0,n=-1,-1!=(0|r)&&(n=f[i+(r<<2)>>2])}else f[i+(s<<2)>>2]=-1,n=-1;f[B>>2]=n,f[C>>2]=h,r=p;break s;case 6:break c;case 0:break u;default:break n}if((0|r)==(0|i))break n;m=f[(A=i-4|0)>>2],f[y+68>>2]=A;u:if((v=f[y+44>>2])&&(s=f[y+40>>2],n=e&v+2147483647,(B=Er(v)>>>0>1)&&(n=e,e>>>0<v>>>0||(n=(e>>>0)%(v>>>0)|0)),(s=f[s+((h=n)<<2)>>2])&&(s=f[s>>2]))){l:{if(!B){for(n=v-1|0;;){b:{if((0|(v=f[s+4>>2]))!=(0|e)){if((0|h)==(n&v))break b;break u}if((0|e)==f[s+8>>2])break l}if(!(s=f[s>>2]))break}break u}for(;;){b:{if((0|(n=f[s+4>>2]))!=(0|e)){if(n>>>0>=v>>>0&&(n=(n>>>0)%(v>>>0)|0),(0|n)==(0|h))break b;break u}if((0|e)==f[s+8>>2])break l}if(!(s=f[s>>2]))break}break u}if((0|A)==(0|N)){if((p=1+(n=(i=N-r|0)>>2)|0)>>>0>=1073741824)break e;if(A=i>>1,A=n>>>0<536870911?A>>>0<p>>>0?p:A:1073741823){if(A>>>0>=1073741824)break i;p=br(A<<2)}else p=0;f[(n=p+(n<<2)|0)>>2]=f[s+12>>2],N=(A<<2)+p|0,A=n+4|0,(0|i)>0&&ge(p,r,i),f[y+72>>2]=N,f[y+68>>2]=A,f[y+64>>2]=p,r&&ee(r),r=p}else f[A>>2]=f[s+12>>2],f[y+68>>2]=i,A=i}if((0|r)==(0|A))break a;if(s=-1==(0|(i=f[(C=A-4|0)>>2])),h=f[c+8>>2],!s&-1!=f[f[h+12>>2]+(i<<2)>>2])break a;if(v=f[h+12>>2],-1!=(0|m)&-1!=f[v+(m<<2)>>2])break a;R=(B=d(e,3))+2|0,f[v+(i<<2)>>2]=R,f[(e=R<<2)+v>>2]=i,_=B+1|0,f[v+(m<<2)>>2]=_,f[v+(G=_<<2)>>2]=m;u:{l:{b:{if(!s){if((i>>>0)%3|0){n=i-1|0;break b}if(-1!=(0|(n=i+2|0)))break b;_=f[h>>2],n=-1;break l}n=-1,_=f[h>>2],f[_+(B<<2)>>2]=-1,s=-1;break u}_=f[h>>2],n=f[_+(n<<2)>>2]}f[(B<<2)+_>>2]=n,i=((s=i+1|0)>>>0)%3|0?s:i-2|0,s=-1,-1!=(0|i)&&(s=f[(i<<2)+_>>2])}if(f[_+G>>2]=s,-1!=(0|m)){u:{l:{if((m>>>0)%3|0)s=m-1|0;else if(-1==(0|(s=m+2|0)))break l;if(i=e+_|0,e=f[(s<<2)+_>>2],f[i>>2]=e,-1==(0|e))break u;f[f[h+24>>2]+(e<<2)>>2]=R;break u}f[e+_>>2]=-1}s=-1,i=-1,-1!=(0|(e=((e=m+1|0)>>>0)%3|0?e:m-2|0))&&(s=e,i=f[(e<<2)+_>>2])}else f[e+_>>2]=-1,s=-1,i=-1;R=(e=f[c+388>>2])+(m=n<<2)|0,G=e,e=i<<2,f[R>>2]=f[R>>2]+f[G+e>>2],e=(h=f[h+24>>2])+e|0,-1!=(0|n)&&(f[h+m>>2]=f[e>>2]);u:if(-1!=(0|s))for(;;){if(f[(s<<2)+_>>2]=n,-1==(0|(s=((h=s+1|0)>>>0)%3|0?h:s-2|0)))break u;if(-1==(0|(s=f[v+(s<<2)>>2])))break u;if(-1==(0|(s=((h=s+1|0)>>>0)%3|0?h:s-2|0)))break}f[e>>2]=-1;u:if(!j){if((0|w)==(0|V)){l:{if((g=1+(_=(e=V-T|0)>>2)|0)>>>0<1073741824){if(s=e>>1,s=_>>>0<536870911?s>>>0<g>>>0?g:s:1073741823){if(s>>>0>=1073741824)break l;g=br(s<<2)}else g=0;f[(_=g+(_<<2)|0)>>2]=i,V=(s<<2)+g|0,w=_+4|0,(0|e)>0&&ge(g,T,e),f[y+32>>2]=V,f[y+28>>2]=w,f[y+24>>2]=g,T&&ee(T),T=g;break u}break e}break i}f[w>>2]=i,w=w+4|0,f[y+28>>2]=w}f[C>>2]=B,i=A,me(U,B);break f}f[c+400>>2]=7}if(At((h=f[c+8>>2])+24|0),s=-1,n=f[c+8>>2],A=d(e,3),B=(h=(m=f[h+28>>2]-f[h+24>>2]|0)>>2)-1|0,f[f[n>>2]+(A<<2)>>2]=B,At(n+24|0),v=A+1|0,f[f[n>>2]+(v<<2)>>2]=(f[n+28>>2]-f[n+24>>2]>>2)-1,At((n=f[c+8>>2])+24|0),R=A+2|0,f[f[n>>2]+(R<<2)>>2]=(f[n+28>>2]-f[n+24>>2]>>2)-1,C=f[c+8>>2],n=f[C+24>>2],(0|M)<f[C+28>>2]-n>>2)break n;c:{if(m){if(f[n+(B<<2)>>2]=A,s=0,-4!=(0|m)&&(f[n+(h<<2)>>2]=v,-1==(0|(s=h+1|0))))break c}else f[n+(h<<2)>>2]=v,s=1;f[n+(s<<2)>>2]=R}if((0|i)==(0|N)){if((r=1+(n=(i=N-p|0)>>2)|0)>>>0>=1073741824)break e;if(s=i>>1,s=n>>>0<536870911?r>>>0>s>>>0?r:s:1073741823){if(s>>>0>=1073741824)break i;r=br(s<<2)}else r=0;f[(n=r+(n<<2)|0)>>2]=A,N=(s<<2)+r|0,A=n+4|0,(0|i)>0&&ge(r,p,i),f[y+72>>2]=N,f[y+68>>2]=A,f[y+64>>2]=r,p&&ee(p),p=r}else f[i>>2]=A,A=i+4|0,f[y+68>>2]=A}me(U,f[A-4>>2]);s:if((0|(s=f[c+40>>2]))!=f[c+36>>2])for(n=x+(-1^e)|0,h=A-4|0;;){if((e=f[s-8>>2])>>>0>n>>>0)break a;if((0|e)!=(0|n))break s;if(m=u[s-4|0],i=f[(e=s-12|0)>>2],f[c+40>>2]=e,(0|i)<0)break a;e=f[h>>2],f[y+20>>2]=x+(-1^i),i=y+20|0,f[y+88>>2]=i,te(y,y+40|0,i,y+88|0),s=f[y>>2];c:if(1&m){if(i=-1,-1==(0|e))break c;i=((i=e+1|0)>>>0)%3|0?i:e-2|0}else i=-1,-1!=(0|e)&&(i=e-1|0,(e>>>0)%3|0||(i=e+2|0));if(f[s+12>>2]=i,(0|(s=f[c+40>>2]))==f[c+36>>2])break}i=A}if(_=(0|k)<(0|x),(0|k)==(0|x))break}k=x;break o}if(s=-1,1&_)break n}if(s=-1,i=f[c+8>>2],!((0|M)<f[i+28>>2]-f[i+24>>2]>>2)){if((0|A)!=(0|p)){for(x=c+60|0,B=c+312|0;;){h=f[(A=A-4|0)>>2],f[y+68>>2]=A;o:if(Wt(B)){if(v=f[c+8>>2],m=f[v>>2],((f[v+4>>2]-m>>2>>>0)/3|0)<=(0|k))break n;if(r=-1,e=-1,n=f[v+24>>2],i=-1,-1!=(0|h)&&(i=-1,-1!=(0|(T=((T=h+1|0)>>>0)%3|0?T:h-2|0))&&(i=f[m+(T<<2)>>2])),-1!=(0|(i=f[n+((T=i)<<2)>>2]))&&-1!=(0|(i=((_=i+1|0)>>>0)%3|0?_:i-2|0))&&(-1!=(0|(r=((r=i+1|0)>>>0)%3|0?r:i-2|0))&&(e=f[m+(r<<2)>>2]),r=i),N=-1,_=-1,i=-1,-1!=(0|(n=f[n+(e<<2)>>2]))&&(i=-1,-1!=(0|(n=((M=n+1|0)>>>0)%3|0?M:n-2|0))&&(_=n,i=-1!=(0|(i=((i=n+1|0)>>>0)%3|0?i:n-2|0))?f[m+(i<<2)>>2]:-1)),n=f[v+12>>2],v=d(k,3),f[n+(M=v<<2)>>2]=h,f[n+(h<<2)>>2]=v,f[(U=(h=v+1|0)<<2)+n>>2]=r,f[n+(r<<2)>>2]=h,f[(V=(r=v+2|0)<<2)+n>>2]=_,f[n+(_<<2)>>2]=r,f[m+M>>2]=e,f[(_=m+U|0)>>2]=i,f[(i=m+V|0)>>2]=T,n=h>>>0<v>>>0?-1:e,e=f[c+120>>2],m=f[(T=(n>>>3&536870908)+e|0)>>2],O=T,P=xr(n)&m,f[O>>2]=P,N=-1!=(0|h)?f[_>>2]:N,n=f[(_=e+(N>>>3&536870908)|0)>>2],O=_,P=xr(N)&n,f[O>>2]=P,n=-1,n=-1!=(0|r)?f[i>>2]:n,r=f[(e=e+(n>>>3&536870908)|0)>>2],O=e,P=xr(n)&r,f[O>>2]=P,(0|(n=f[c+64>>2]))==(e=f[c+68>>2])<<5){if((n+1|0)<0)break e;at(x,e=n>>>0<=1073741822?(e<<=6)>>>0<(r=n+32&-32)>>>0?r:e:2147483647),n=f[c+64>>2]}if(k=k+1|0,f[c+64>>2]=n+1,e=f[c+60>>2]+(n>>>3&536870908)|0,f[e>>2]=f[e>>2]|1<<n,(0|(e=f[c+76>>2]))!=f[c+80>>2]){f[e>>2]=v,f[c+76>>2]=e+4;break o}if((e=1+(n=(i=e-(r=f[c+72>>2])|0)>>2)|0)>>>0>=1073741824)break e;if(_=i>>1,_=n>>>0<536870911?e>>>0>_>>>0?e:_:1073741823){if(_>>>0>=1073741824)break i;e=br(_<<2)}else e=0;if(f[(n=e+(n<<2)|0)>>2]=v,(0|i)>0&&ge(e,r,i),f[c+80>>2]=e+(_<<2),f[c+76>>2]=n+4,f[c+72>>2]=e,!r)break o;ee(r)}else{if((0|(i=f[c+64>>2]))==(e=f[c+68>>2])<<5){if((i+1|0)<0)break e;at(x,e=i>>>0<=1073741822?(e<<=6)>>>0<(r=i+32&-32)>>>0?r:e:2147483647),i=f[c+64>>2]}if(f[c+64>>2]=i+1,e=f[c+60>>2]+(i>>>3&536870908)|0,r=f[e>>2],O=e,P=xr(i)&r,f[O>>2]=P,(0|(e=f[c+76>>2]))==f[c+80>>2]){if((e=1+(n=(i=e-(r=f[c+72>>2])|0)>>2)|0)>>>0>=1073741824)break e;if(_=i>>1,_=n>>>0<536870911?e>>>0>_>>>0?e:_:1073741823){if(_>>>0>=1073741824)break i;e=br(_<<2)}else e=0;f[(n=e+(n<<2)|0)>>2]=h,(0|i)>0&&ge(e,r,i),f[c+80>>2]=e+(_<<2),f[c+76>>2]=n+4,f[c+72>>2]=e,r&&ee(r)}else f[e>>2]=h,f[c+76>>2]=e+4}if((0|A)==(0|p))break}i=f[c+8>>2]}if(((f[i+4>>2]-f[i>>2]>>2>>>0)/3|0)==(0|k))if(n=f[i+24>>2],s=f[i+28>>2]-n>>2,(0|g)!=(0|w))for(e=g;;){if(r=f[e>>2],-1==f[(_=((A=s-1|0)<<2)+n|0)>>2])for(;A=s-2|0,s=s-1|0,-1==f[(_=(A<<2)+n|0)>>2];);if(r>>>0<=A>>>0){if(f[y>>2]=i,n=f[_>>2],o[y+12|0]=1,f[y+8>>2]=n,f[y+4>>2]=n,-1!=(0|n))for(;f[f[i>>2]+(n<<2)>>2]=r,Fe(y),i=f[c+8>>2],-1!=(0|(n=f[y+8>>2])););k=(n=f[i+24>>2])+(A<<2)|0,-1!=(0|r)&&(f[(r<<2)+n>>2]=f[k>>2]),f[k>>2]=-1,k=1<<r,r=(x=f[c+120>>2])+(r>>>3&536870908)|0,x=x+(A>>>3&536870908)|0,A=1<<A,f[x>>2]&A?k|=f[r>>2]:k=f[r>>2]&(-1^k),f[r>>2]=k,f[x>>2]=f[x>>2]&(-1^A),s=s-1|0}if((0|w)==(0|(e=e+4|0)))break}else g=w}}if(g&&ee(g),e=f[y+48>>2])for(;r=f[e>>2],ee(e),e=r;);e=f[y+40>>2],f[y+40>>2]=0,e&&ee(e),p&&(f[y+68>>2]=p,ee(p)),I=y+96|0;break r}Lt(1326),E()}if(-1!=(0|s)){r=(e=f[W+16>>2])+f[W>>2]|0,p=(p=f[W+8>>2])-e|0,e=f[f[c+4>>2]+32>>2],a[e+38>>1]=l[e+38>>1],f[e>>2]=r,f[e+16>>2]=0,f[e+20>>2]=0,f[e+8>>2]=p,f[e+12>>2]=0;r:if(f[c+216>>2]!=f[c+220>>2]&&(e=f[c+8>>2],f[e+4>>2]!=f[e>>2])){for(r=0;;){if(le(c,r)){if(r=r+3|0,e=f[c+8>>2],r>>>0<f[e+4>>2]-f[e>>2]>>2>>>0)continue;break r}break}break t}if(u[c+308|0]&&(o[c+308|0]=0,r=f[c+292>>2],e=0,i=(e=(p=f[c+304>>2]+7|0)>>>0<7?1:e)>>>3|0,e=(p=e<<29|p>>>3)+f[c+288>>2]|0,r=r+i|0,f[c+288>>2]=e,f[c+292>>2]=e>>>0<p>>>0?r+1|0:r),(0|(r=f[c+216>>2]))!=f[c+220>>2])for(;;){if(De(4+((e=d(S,144))+r|0)|0,f[c+8>>2]),i=f[F>>2],(0|(r=f[132+(p=e+i|0)>>2]))!=(0|(p=f[p+136>>2])))for(;Ue(4+(e+i|0)|0,f[r>>2]),i=f[F>>2],(0|p)!=(0|(r=r+4|0)););if(re(4+(e+i|0)|0),S=S+1|0,r=f[c+216>>2],!(S>>>0<(f[c+220>>2]-r|0)/144>>>0))break}if(e=f[c+8>>2],pt(c+184|0,f[e+28>>2]-f[e+24>>2]>>2),(0|(i=f[c+216>>2]))!=f[c+220>>2])for(r=0;e=d(r,144)+i|0,p=f[e+60>>2]-f[e+56>>2]>>2,i=e+104|0,e=f[c+8>>2],pt(i,(0|(e=f[e+28>>2]-f[e+24>>2]>>2))>(0|p)?e:p),r=r+1|0,i=f[c+216>>2],r>>>0<(f[c+220>>2]-i|0)/144>>>0;);S=Z(c,s)}}}return I=t- -64|0,0|S}ii(),E()},qr,Yr,Pr,ar,function(e){var t=0;f[(e|=0)>>2]=8652,(t=f[e+48>>2])&&(f[e+52>>2]=t,ee(t)),f[e>>2]=8904,(t=f[e+36>>2])&&ee(t),(t=f[e+24>>2])&&ee(t),ee(e)},ht,function(e){var t=0;return f[(e|=0)>>2]=8904,(t=f[e+36>>2])&&ee(t),(t=f[e+24>>2])&&ee(t),0|e},function(e){var t=0;f[(e|=0)>>2]=8904,(t=f[e+36>>2])&&ee(t),(t=f[e+24>>2])&&ee(t),ee(e)},function(e){var t=0;return f[8+(e|=0)>>2]=9168,f[e>>2]=8956,(t=f[e+96>>2])&&(f[e+100>>2]=t,ee(t)),(t=f[e+80>>2])&&(f[e+84>>2]=t,ee(t)),(t=f[e+68>>2])&&(f[e+72>>2]=t,ee(t)),(t=f[e+56>>2])&&(f[e+60>>2]=t,ee(t)),f[e+8>>2]=9404,(t=f[e+44>>2])&&ee(t),(t=f[e+32>>2])&&ee(t),0|e},function(e){var t=0;f[8+(e|=0)>>2]=9168,f[e>>2]=8956,(t=f[e+96>>2])&&(f[e+100>>2]=t,ee(t)),(t=f[e+80>>2])&&(f[e+84>>2]=t,ee(t)),(t=f[e+68>>2])&&(f[e+72>>2]=t,ee(t)),(t=f[e+56>>2])&&(f[e+60>>2]=t,ee(t)),f[e+8>>2]=9404,(t=f[e+44>>2])&&ee(t),(t=f[e+32>>2])&&ee(t),ee(e)},function(e,t){t|=0;var r,i,n,a=0,s=0,c=0,u=0,l=0,b=0,A=0,p=0;if(i=f[12+(e|=0)>>2],a=f[e+108>>2],c=f[a+80>>2],o[t+84|0]=0,u=f[t+68>>2],(s=f[t+72>>2]-u>>2)>>>0<c>>>0?(ve(t+68|0,c-s|0,9156),a=f[e+108>>2],c=f[a+80>>2]):c>>>0>=s>>>0||(f[t+72>>2]=u+(c<<2)),r=f[a+96>>2],!(a=f[a+100>>2]-r|0))return 1;n=(a=(0|a)/12|0)>>>0>1?a:1,a=0;e:{for(;;){if(1431655765==(0|a))break e;if(s=f[i>>2]+(d(a,3)<<2)|0,-1==(0|(b=f[s>>2])))break e;if(u=d(a,12)+r|0,(l=f[u>>2])>>>0>=c>>>0)break e;if(p=f[f[e+112>>2]+12>>2],(A=f[p+(b<<2)>>2])>>>0>=c>>>0)break e;if(b=f[t+68>>2],f[b+(l<<2)>>2]=A,-1==(0|(l=f[s+4>>2])))break e;if((A=f[u+4>>2])>>>0>=c>>>0)break e;if((l=f[(l<<2)+p>>2])>>>0>=c>>>0)break e;if(f[b+(A<<2)>>2]=l,-1==(0|(s=f[s+8>>2])))break e;if((u=f[u+8>>2])>>>0>=c>>>0)break e;if((s=f[(s<<2)+p>>2])>>>0>=c>>>0)break e;if(f[b+(u<<2)>>2]=s,(0|n)==(0|(a=a+1|0)))break}return 1}return 0},function(e){var t,r=0,i=0,n=0,o=0,a=0,s=0;I=t=I-16|0,r=f[4+(e|=0)>>2],n=f[r>>2];e:{if(i=f[e+12>>2],!((o=(i=f[i+28>>2]-f[i+24>>2]|0)>>2)>>>0<=f[r+8>>2]-n>>2>>>0)){if((0|i)<0)break e;a=f[r+4>>2],s=(i=br(i))+(o<<2)|0,a=(o=a-n|0)+i|0,(0|o)>0&&ge(i,n,o),f[r+8>>2]=s,f[r+4>>2]=a,f[r>>2]=i,n&&ee(n)}r=f[e+12>>2],n=f[r+28>>2],r=f[r+24>>2],f[t+12>>2]=0,r=n-r>>2,o=f[(i=e+96|0)>>2],r>>>0>(n=f[e+100>>2]-o>>2)>>>0?ve(i,r-n|0,t+12|0):r>>>0>=n>>>0||(f[e+100>>2]=o+(r<<2)),o=e+8|0;t:if(r=f[e+116>>2]){if((0|(i=f[r>>2]))==f[r+4>>2]){n=1;break t}for(r=0;;){if(!(n=O(o,f[(r<<2)+i>>2])))break t;if(a=f[e+116>>2],i=f[a>>2],!((r=r+1|0)>>>0<f[a+4>>2]-i>>2>>>0))break}}else if(n=1,e=f[e+12>>2],!((e=f[e+4>>2]-f[e>>2]>>2)>>>0<3))for(e=(e>>>0)/3|0,r=0;;){if(!(n=O(o,d(r,3))))break t;if((0|e)==(0|(r=r+1|0)))break}return I=t+16|0,0|n}Lt(1326),E()},function(e){var t=0;return f[(e|=0)>>2]=9168,(t=f[e+88>>2])&&(f[e+92>>2]=t,ee(t)),(t=f[e+72>>2])&&(f[e+76>>2]=t,ee(t)),(t=f[e+60>>2])&&(f[e- -64>>2]=t,ee(t)),(t=f[e+48>>2])&&(f[e+52>>2]=t,ee(t)),f[e>>2]=9404,(t=f[e+36>>2])&&ee(t),(t=f[e+24>>2])&&ee(t),0|e},function(e){var t=0;f[(e|=0)>>2]=9168,(t=f[e+88>>2])&&(f[e+92>>2]=t,ee(t)),(t=f[e+72>>2])&&(f[e+76>>2]=t,ee(t)),(t=f[e+60>>2])&&(f[e- -64>>2]=t,ee(t)),(t=f[e+48>>2])&&(f[e+52>>2]=t,ee(t)),f[e>>2]=9404,(t=f[e+36>>2])&&ee(t),(t=f[e+24>>2])&&ee(t),ee(e)},function(e,t,r){t|=0,r|=0;var i,n=0;I=i=I-16|0,f[4+(e|=0)>>2]=t,n=f[t>>2],t=f[t+4>>2],o[i+15|0]=0,Je(e+24|0,(t-n>>2>>>0)/3|0,i+15|0),t=f[e+4>>2],n=f[t+28>>2],t=f[t+24>>2],o[i+14|0]=0,Je(e+36|0,n-t>>2,i+14|0),t=f[r+12>>2],f[e+16>>2]=f[r+8>>2],f[e+20>>2]=t,t=f[r+4>>2],f[e+8>>2]=f[r>>2],f[e+12>>2]=t,I=i+16|0},function(e){var t=0;return f[(e|=0)>>2]=9404,(t=f[e+36>>2])&&ee(t),(t=f[e+24>>2])&&ee(t),0|e},function(e){var t=0;f[(e|=0)>>2]=9404,(t=f[e+36>>2])&&ee(t),(t=f[e+24>>2])&&ee(t),ee(e)},function(e){var t=0;return f[8+(e|=0)>>2]=9588,f[e>>2]=9424,(t=f[e+56>>2])&&(f[e+60>>2]=t,ee(t)),f[e+8>>2]=9404,(t=f[e+44>>2])&&ee(t),(t=f[e+32>>2])&&ee(t),0|e},function(e){var t=0;f[8+(e|=0)>>2]=9588,f[e>>2]=9424,(t=f[e+56>>2])&&(f[e+60>>2]=t,ee(t)),f[e+8>>2]=9404,(t=f[e+44>>2])&&ee(t),(t=f[e+32>>2])&&ee(t),ee(e)},function(e,t){t|=0;var r,i,n,a=0,s=0,c=0,u=0,l=0,b=0,A=0,p=0;if(i=f[12+(e|=0)>>2],a=f[e+68>>2],c=f[a+80>>2],o[t+84|0]=0,u=f[t+68>>2],(s=f[t+72>>2]-u>>2)>>>0<c>>>0?(ve(t+68|0,c-s|0,9156),a=f[e+68>>2],c=f[a+80>>2]):c>>>0>=s>>>0||(f[t+72>>2]=u+(c<<2)),r=f[a+96>>2],!(a=f[a+100>>2]-r|0))return 1;n=(a=(0|a)/12|0)>>>0>1?a:1,a=0;e:{for(;;){if(1431655765==(0|a))break e;if(s=f[i>>2]+(d(a,3)<<2)|0,-1==(0|(b=f[s>>2])))break e;if(u=d(a,12)+r|0,(l=f[u>>2])>>>0>=c>>>0)break e;if(p=f[f[e+72>>2]+12>>2],(A=f[p+(b<<2)>>2])>>>0>=c>>>0)break e;if(b=f[t+68>>2],f[b+(l<<2)>>2]=A,-1==(0|(l=f[s+4>>2])))break e;if((A=f[u+4>>2])>>>0>=c>>>0)break e;if((l=f[(l<<2)+p>>2])>>>0>=c>>>0)break e;if(f[b+(A<<2)>>2]=l,-1==(0|(s=f[s+8>>2])))break e;if((u=f[u+8>>2])>>>0>=c>>>0)break e;if((s=f[(s<<2)+p>>2])>>>0>=c>>>0)break e;if(f[b+(u<<2)>>2]=s,(0|n)==(0|(a=a+1|0)))break}return 1}return 0},function(e){var t=0,r=0,i=0,n=0,o=0,a=0;t=f[4+(e|=0)>>2],i=f[t>>2];e:{if(r=f[e+12>>2],!((n=(r=f[r+28>>2]-f[r+24>>2]|0)>>2)>>>0<=f[t+8>>2]-i>>2>>>0)){if((0|r)<0)break e;o=f[t+4>>2],a=(r=br(r))+(n<<2)|0,o=(n=o-i|0)+r|0,(0|n)>0&&ge(r,i,n),f[t+8>>2]=a,f[t+4>>2]=o,f[t>>2]=r,i&&ee(i)}n=e+8|0;t:if(t=f[e+76>>2]){if((0|(i=f[t>>2]))==f[t+4>>2])return 1;for(t=0;;){if(!(r=oe(n,f[(t<<2)+i>>2])))break t;if(o=f[e+76>>2],i=f[o>>2],!((t=t+1|0)>>>0<f[o+4>>2]-i>>2>>>0))break}}else if(r=1,e=f[e+12>>2],!((e=f[e+4>>2]-f[e>>2]>>2)>>>0<3))for(e=(e>>>0)/3|0,t=0;;){if(!(r=oe(n,d(t,3))))break t;if((0|e)==(0|(t=t+1|0)))break}return 0|r}Lt(1326),E()},function(e){var t=0;return f[(e|=0)>>2]=9588,(t=f[e+48>>2])&&(f[e+52>>2]=t,ee(t)),f[e>>2]=9404,(t=f[e+36>>2])&&ee(t),(t=f[e+24>>2])&&ee(t),0|e},function(e){var t=0;f[(e|=0)>>2]=9588,(t=f[e+48>>2])&&(f[e+52>>2]=t,ee(t)),f[e>>2]=9404,(t=f[e+36>>2])&&ee(t),(t=f[e+24>>2])&&ee(t),ee(e)},function(e){var t=0;return f[8+(e|=0)>>2]=8652,f[e>>2]=9716,(t=f[e+56>>2])&&(f[e+60>>2]=t,ee(t)),f[e+8>>2]=8904,(t=f[e+44>>2])&&ee(t),(t=f[e+32>>2])&&ee(t),0|e},function(e){var t=0;f[8+(e|=0)>>2]=8652,f[e>>2]=9716,(t=f[e+56>>2])&&(f[e+60>>2]=t,ee(t)),f[e+8>>2]=8904,(t=f[e+44>>2])&&ee(t),(t=f[e+32>>2])&&ee(t),ee(e)},function(e,t){t|=0;var r,i,n,a=0,s=0,c=0,u=0,l=0,b=0,A=0,p=0;if(b=f[12+(e|=0)>>2],a=f[e+68>>2],c=f[a+80>>2],o[t+84|0]=0,l=f[t+68>>2],(s=f[t+72>>2]-l>>2)>>>0<c>>>0?(ve(t+68|0,c-s|0,9156),a=f[e+68>>2],c=f[a+80>>2]):c>>>0>=s>>>0||(f[t+72>>2]=l+(c<<2)),r=f[a+96>>2],!(a=f[a+100>>2]-r|0))return 1;i=(a=(0|a)/12|0)>>>0>1?a:1,n=f[b+28>>2],a=0;e:{for(;;){if(s=(d(a,3)<<2)+n|0,-1==(0|(l=f[s>>2])))break e;if(b=d(a,12)+r|0,(A=f[b>>2])>>>0>=c>>>0)break e;if(u=l<<2,l=f[f[e+72>>2]+12>>2],(u=f[u+l>>2])>>>0>=c>>>0)break e;if(p=A<<2,A=f[t+68>>2],f[p+A>>2]=u,-1==(0|(u=f[s+4>>2])))break e;if((p=f[b+4>>2])>>>0>=c>>>0)break e;if((u=f[l+(u<<2)>>2])>>>0>=c>>>0)break e;if(f[A+(p<<2)>>2]=u,-1==(0|(s=f[s+8>>2])))break e;if((b=f[b+8>>2])>>>0>=c>>>0)break e;if((s=f[l+(s<<2)>>2])>>>0>=c>>>0)break e;if(f[A+(b<<2)>>2]=s,(0|i)==(0|(a=a+1|0)))break}return 1}return 0},function(e){var t=0,r=0,i=0,n=0,o=0,a=0;t=f[4+(e|=0)>>2],i=f[t>>2];e:{if(r=f[e+12>>2],!((n=(r=f[r+56>>2]-f[r+52>>2]|0)>>2)>>>0<=f[t+8>>2]-i>>2>>>0)){if((0|r)<0)break e;o=f[t+4>>2],a=(r=br(r))+(n<<2)|0,o=(n=o-i|0)+r|0,(0|n)>0&&ge(r,i,n),f[t+8>>2]=a,f[t+4>>2]=o,f[t>>2]=r,i&&ee(i)}n=e+8|0;t:if(t=f[e+76>>2]){if((0|(i=f[t>>2]))==f[t+4>>2])return 1;for(t=0;;){if(!(r=ie(n,f[(t<<2)+i>>2])))break t;if(o=f[e+76>>2],i=f[o>>2],!((t=t+1|0)>>>0<f[o+4>>2]-i>>2>>>0))break}}else if(r=1,e=f[f[e+12>>2]+64>>2],!((e=f[e+4>>2]-f[e>>2]>>2)>>>0<3))for(e=(e>>>0)/3|0,t=0;;){if(!(r=ie(n,d(t,3))))break t;if((0|e)==(0|(t=t+1|0)))break}return 0|r}Lt(1326),E()},function(e){var t,r=0,i=0;if(f[(e|=0)>>2]=10064,(r=f[e+20>>2])&&(f[e+24>>2]=r,ee(r)),t=f[e+8>>2]){if((0|(i=f[e+12>>2]))==(0|t))r=t;else{for(;r=f[(i=i-4|0)>>2],f[i>>2]=0,r&&_i[f[f[r>>2]+4>>2]](r),(0|t)!=(0|i););r=f[e+8>>2]}f[e+12>>2]=t,ee(r)}ee(e)},function(e,t){e|=0,t|=0;var r=0,i=0,n=0,o=0,a=0,s=0;o=br(64),r=br(12),f[r+8>>2]=f[f[e+4>>2]+80>>2],f[r>>2]=1e4,f[r+4>>2]=0,o=jt(o,r);e:{if((0|t)<0)r=o;else{if(s=e+8|0,!((0|(a=(r=f[e+12>>2])-(n=f[e+8>>2])>>2))>(0|t)))if(i=t+1|0,t>>>0>=a>>>0)Ze(s,i-a|0);else if(!(i>>>0>=a>>>0)){if((0|(n=n+(i<<2)|0))!=(0|r))for(;i=f[(r=r-4|0)>>2],f[r>>2]=0,i&&_i[f[f[i>>2]+4>>2]](i),(0|r)!=(0|n););f[e+12>>2]=n}if(e=f[s>>2]+(t<<2)|0,r=f[e>>2],f[e>>2]=o,!r)break e}_i[f[f[r>>2]+4>>2]](r)}return(-1^t)>>>31|0},function(e){var t,r=0,i=0,n=0,o=0,a=0,s=0,c=0,A=0,p=0,_=0,h=0,k=0,m=0;I=t=I-32|0;e:if(Bt(1,t+28|0,f[32+(e|=0)>>2])&&Bt(1,t+24|0,f[e+32>>2])&&!((p=f[t+28>>2])>>>0>1431655765||(n=f[e+32>>2],o=Yt(o=(r=A=f[n+8>>2])-(i=f[n+16>>2])|0,(a=f[n+12>>2])-((k=r>>>0<i>>>0)+(r=f[n+20>>2])|0)|0,3,0),!C&o>>>0<p>>>0||(m=f[t+24>>2],o=Jt(p,0,3,0),!C&o>>>0<m>>>0|(0|r)>=(0|a)&i>>>0>=A>>>0|(0|r)>(0|a))))){a=u[i+f[n>>2]|0],o=(A=i+1|0)?r:r+1|0,f[n+16>>2]=A,f[n+20>>2]=o;t:{if(a){r:if(m>>>0<=255){if(!p)break t;if(f[t+16>>2]=0,f[t+8>>2]=0,f[t+12>>2]=0,(0|o)>=(0|(r=i=f[n+12>>2]))&A>>>0>=(s=f[n+8>>2])>>>0|(0|r)<(0|o))break r;for(;;){if(a=f[n>>2],_=u[a+A|0],r=o,r=(c=A+1|0)?r:r+1|0,f[n+16>>2]=c,f[n+20>>2]=r,f[t+8>>2]=_,s>>>0<=c>>>0&(0|r)>=(0|i)|(0|r)>(0|i))break r;if(_=u[a+c|0],r=o,r=(c=A+2|0)>>>0<2?r+1|0:r,f[n+16>>2]=c,f[n+20>>2]=r,f[t+12>>2]=_,s>>>0<=c>>>0&(0|r)>=(0|i)|(0|r)>(0|i))break r;if(r=u[a+c|0],o=(i=A+3|0)>>>0<3?o+1|0:o,f[n+16>>2]=i,f[n+20>>2]=o,f[t+16>>2]=r,rt(f[e+44>>2]+96|0,t+8|0),(0|p)==(0|(h=h+1|0)))break t;if(n=f[e+32>>2],A=f[(r=n)+16>>2],o=f[r+20>>2],f[t+16>>2]=0,f[t+8>>2]=0,f[t+12>>2]=0,!(A>>>0<(s=f[r+8>>2])>>>0&(0|o)<=(0|(r=i=f[r+12>>2]))|(0|r)>(0|o)))break}}else if(m>>>0<=65535){if(!p)break t;if(f[t+16>>2]=0,f[t+8>>2]=0,f[t+12>>2]=0,a=f[n+12>>2],s=i=i+3|0,i=r=i>>>0<3?r+1|0:r,(c=f[n+8>>2])>>>0<s>>>0&(0|r)>=(0|a)|(0|r)>(0|a))break r;for(;;){if(_=f[n>>2],r=u[0|(r=_+A|0)]|u[r+1|0]<<8,f[n+16>>2]=s,f[n+20>>2]=i,f[t+8>>2]=r,r=o,(i=A+4|0)>>>0>c>>>0&(0|(r=i>>>0<4?r+1|0:r))>=(0|a)|(0|r)>(0|a))break r;if(s=u[0|(s=s+_|0)]|u[s+1|0]<<8,f[n+16>>2]=i,f[n+20>>2]=r,f[t+12>>2]=s,r=o,(o=A+6|0)>>>0>c>>>0&(0|(r=o>>>0<6?r+1|0:r))>=(0|a)|(0|r)>(0|a))break r;if(i=u[0|(i=i+_|0)]|u[i+1|0]<<8,f[n+16>>2]=o,f[n+20>>2]=r,f[t+16>>2]=i,rt(f[e+44>>2]+96|0,t+8|0),(0|p)==(0|(h=h+1|0)))break t;if(n=f[e+32>>2],A=f[(r=n)+16>>2],o=f[r+20>>2],f[t+16>>2]=0,f[t+8>>2]=0,f[t+12>>2]=0,a=f[r+12>>2],c=f[r+8>>2],r=o,s=i=A+2|0,i=r=i>>>0<2?r+1|0:r,!((0|r)<=(0|a)&s>>>0<=c>>>0|(0|r)<(0|a)))break}}else if(b[f[e+44>>2]+80>>2]>2097151||(65535&((a=l[e+36>>1])<<8|a>>>8))>>>0<514){if(!p)break t;if(f[t+16>>2]=0,f[t+8>>2]=0,f[t+12>>2]=0,a=f[n+12>>2],s=i=i+5|0,i=r=i>>>0<5?r+1|0:r,!((c=f[n+8>>2])>>>0<s>>>0&(0|r)>=(0|a)|(0|r)>(0|a)))for(;;){if(_=f[n>>2],r=u[0|(r=_+A|0)]|u[r+1|0]<<8|u[r+2|0]<<16|u[r+3|0]<<24,f[n+16>>2]=s,f[n+20>>2]=i,f[t+8>>2]=r,r=o,k=i=A+8|0,i>>>0>c>>>0&(0|(r=i>>>0<8?r+1|0:r))>=(0|a)|(0|r)>(0|a))break r;if(i=u[0|(i=s+_|0)]|u[i+1|0]<<8|u[i+2|0]<<16|u[i+3|0]<<24,f[n+16>>2]=k,f[n+20>>2]=r,f[t+12>>2]=i,i=r=A+12|0,r>>>0>c>>>0&(0|(o=r>>>0<12?o+1|0:o))>=(0|a)|(0|o)>(0|a))break r;if(r=u[0|(r=_+k|0)]|u[r+1|0]<<8|u[r+2|0]<<16|u[r+3|0]<<24,f[n+16>>2]=i,f[n+20>>2]=o,f[t+16>>2]=r,rt(f[e+44>>2]+96|0,t+8|0),(0|p)==(0|(h=h+1|0)))break t;if(n=f[e+32>>2],A=f[(r=n)+16>>2],o=f[r+20>>2],f[t+16>>2]=0,f[t+8>>2]=0,f[t+12>>2]=0,a=f[r+12>>2],c=f[r+8>>2],r=o,s=i=A+4|0,i=r=i>>>0<4?r+1|0:r,!((0|r)<=(0|a)&s>>>0<=c>>>0|(0|r)<(0|a)))break}}else{if(!p)break t;if(f[t+16>>2]=0,f[t+8>>2]=0,f[t+12>>2]=0,!Bt(1,t+4|0,n))break r;for(;;){if(f[t+8>>2]=f[t+4>>2],!Bt(1,t+4|0,f[e+32>>2]))break r;if(f[t+12>>2]=f[t+4>>2],!Bt(1,t+4|0,f[e+32>>2]))break r;if(f[t+16>>2]=f[t+4>>2],rt(f[e+44>>2]+96|0,t+8|0),(0|p)==(0|(h=h+1|0)))break t;if(o=f[e+32>>2],f[t+16>>2]=0,f[t+8>>2]=0,f[t+12>>2]=0,!Bt(1,t+4|0,o))break}}h=0;break e}n=0,I=r=I-32|0,f[r+24>>2]=0,f[r+16>>2]=0,f[r+20>>2]=0;r:{i:{if(o=d(p,3)){if(o>>>0>=1073741824)break i;n=br(i=d(p,12)),f[r+16>>2]=n,Ye(n,0,i)}n:{if(!(o=D(o,1,f[e+32>>2],n))|!p){if(!n)break n}else for(a=0,i=0;k=s,c=(s=f[(A=(i<<2)+n|0)>>2])>>>1|0,s=k+(1&s?0-c|0:c)|0,f[r>>2]=s,_=(c=f[A+4>>2])>>>1|0,s=s+(1&c?0-_|0:_)|0,f[r+4>>2]=s,c=(A=f[A+8>>2])>>>1|0,s=s+(1&A?0-c|0:c)|0,f[r+8>>2]=s,rt(f[e+44>>2]+96|0,r),i=i+3|0,(0|(a=a+1|0))!=(0|p););ee(n)}I=r+32|0;break r}ii(),E()}if(!o)break e}f[f[e+4>>2]+80>>2]=m,h=1}return I=t+32|0,0|h},Hr,ni,function(e,t){return o[84+(t|=0)|0]=1,f[t+72>>2]=f[t+68>>2],1},function(e){var t=0,r=0,i=0,n=0,o=0;e:{if(!((0|(t=f[8+(e|=0)>>2]))<0||(r=f[e+4>>2],n=f[r>>2],(i=f[r+4>>2]-n>>2)>>>0<t>>>0?(st(r,t-i|0),o=f[e+8>>2]):(o=t,t>>>0>=i>>>0||(f[r+4>>2]=n+(t<<2),o=t)),(0|(i=o))<=0)))for(e=f[e+4>>2],r=f[e>>2],n=f[e+4>>2]-r>>2,e=0;;){if((0|e)==(0|n))break e;if(f[r+(e<<2)>>2]=e,(0|i)==(0|(e=e+1|0)))break}return(-1^t)>>>31|0}ci(),E()},ai,ei,qr,function(e){var t=0;return f[(e|=0)>>2]=10272,(t=f[e+96>>2])&&(f[e+100>>2]=t,ee(t)),(t=f[e+84>>2])&&(f[e+88>>2]=t,ee(t)),ft(e),0|e},function(e){var t=0;f[(e|=0)>>2]=10272,(t=f[e+96>>2])&&(f[e+100>>2]=t,ee(t)),(t=f[e+84>>2])&&(f[e+88>>2]=t,ee(t)),ft(e),ee(e)},function(e,t,r){var i=0,n=0,o=0,a=0,s=0,c=0,u=0,l=0;if(ce(e|=0,t|=0,r|=0),r=f[e+84>>2],!((0|(i=f[e+88>>2]-r>>2))>(0|t))){if((t=t+1|0)>>>0>i>>>0){e:if((i=t-i|0)>>>0<=(n=f[e+92>>2])-(r=f[e+88>>2])>>2>>>0){if(i){if(t=r,a=1+((o=(i<<2)-4|0)>>>2|0)&7)for(;f[t>>2]=1,t=t+4|0,(0|a)!=(0|(s=s+1|0)););if(r=(i<<2)+r|0,!(o>>>0<28))for(;f[t+24>>2]=1,f[t+28>>2]=1,f[t+16>>2]=1,f[t+20>>2]=1,f[t+8>>2]=1,f[t+12>>2]=1,f[t>>2]=1,f[t+4>>2]=1,(0|r)!=(0|(t=t+32|0)););}f[e+88>>2]=r}else{t:{if((t=(r=(u=r-(o=f[e+84>>2])|0)>>2)+i|0)>>>0<1073741824){if(c=(n=n-o|0)>>1,n=n>>2>>>0<536870911?t>>>0>c>>>0?t:c:1073741823){if(n>>>0>=1073741824)break t;a=br(n<<2)}if(t=r=(r<<2)+a|0,l=1+((c=(i<<=2)-4|0)>>>2|0)&7)for(t=r;f[t>>2]=1,t=t+4|0,(0|l)!=(0|(s=s+1|0)););if(r=r+i|0,c>>>0>=28)for(;f[t+24>>2]=1,f[t+28>>2]=1,f[t+16>>2]=1,f[t+20>>2]=1,f[t+8>>2]=1,f[t+12>>2]=1,f[t>>2]=1,f[t+4>>2]=1,(0|r)!=(0|(t=t+32|0)););(0|u)>0&&ge(a,o,u),f[e+92>>2]=(n<<2)+a,f[e+88>>2]=r,f[e+84>>2]=a,o&&ee(o);break e}ii(),E()}Lt(1326),E()}return}t>>>0>=i>>>0||(f[e+88>>2]=r+(t<<2))}},function(e,t){var r=0,i=0;K(e|=0,t|=0),(0|t)<0||(r=f[e+88>>2])-(i=f[e+84>>2])>>2<=(0|t)||((r=r-(i=4+(t=i+(t<<2)|0)|0)|0)&&je(t,i,r),f[e+88>>2]=t+r)},ft,function(e){ee(ft(e|=0))},ce,K,Hr,ni,function(e){return 1273},function(e){ee(pr(e|=0))},Yr,function(e){pr(e|=0),ee(e)},Hr,ni,di,di,function(e,t,r){r|=0;var i,n=0,o=0,a=0,s=0;if(I=i=I+-64|0,n=1,!Ct(e|=0,t|=0,0)&&(n=0,t)){I=n=I+-64|0,o=f[t>>2],a=f[o-4>>2],s=f[o-8>>2],f[n+20>>2]=0,f[n+16>>2]=11220,f[n+12>>2]=t,f[n+8>>2]=11268,o=0,Ye(n+24|0,0,39),t=t+s|0;e:if(Ct(a,11268,0))f[n+56>>2]=1,_i[f[f[a>>2]+20>>2]](a,n+8|0,t,t,1,0),o=1==f[n+32>>2]?t:0;else{_i[f[f[a>>2]+24>>2]](a,n+8|0,t,1,0);t:switch(f[n+44>>2]){case 0:o=1==f[n+48>>2]&&1==f[n+36>>2]&&1==f[n+40>>2]?f[n+28>>2]:0;break e;case 1:break t;default:break e}1!=f[n+32>>2]&&f[n+48>>2]|1!=f[n+36>>2]|1!=f[n+40>>2]||(o=f[n+24>>2])}I=n- -64|0,n=0,o&&(Ye(4|(t=i+8|0),0,52),f[i+56>>2]=1,f[i+20>>2]=-1,f[i+16>>2]=e,f[i+8>>2]=o,_i[f[f[o>>2]+28>>2]](o,t,f[r>>2],1),1==(0|(e=f[i+32>>2]))&&(f[r>>2]=f[i+24>>2]),n=1==(0|e))}return I=i- -64|0,0|n},function(e,t,r,i,n,o){r|=0,i|=0,n|=0,o|=0,Ct(e|=0,f[8+(t|=0)>>2],o)&&_t(t,r,i,n)},function(e,t,r,i,n){if(r|=0,i|=0,n|=0,Ct(e|=0,f[8+(t|=0)>>2],n))1==f[t+28>>2]|f[t+4>>2]!=(0|r)||(f[t+28>>2]=i);else e:if(Ct(e,f[t>>2],n)){if(!(f[t+16>>2]!=(0|r)&f[t+20>>2]!=(0|r))){if(1!=(0|i))break e;return void(f[t+32>>2]=1)}f[t+20>>2]=r,f[t+32>>2]=i,f[t+40>>2]=f[t+40>>2]+1,1!=f[t+36>>2]|2!=f[t+24>>2]||(o[t+54|0]=1),f[t+44>>2]=4}},function(e,t,r,i){r|=0,i|=0,Ct(e|=0,f[8+(t|=0)>>2],0)&&Qt(t,r,i)},ni,function(e,t,r,i,n,o){r|=0,i|=0,n|=0,o|=0,Ct(e|=0,f[8+(t|=0)>>2],o)?_t(t,r,i,n):(e=f[e+8>>2],_i[f[f[e>>2]+20>>2]](e,t,r,i,n,o))},function(e,t,r,i,n){if(r|=0,i|=0,n|=0,Ct(e|=0,f[8+(t|=0)>>2],n))1==f[t+28>>2]|f[t+4>>2]!=(0|r)||(f[t+28>>2]=i);else e:{if(Ct(e,f[t>>2],n)){if(!(f[t+16>>2]!=(0|r)&f[t+20>>2]!=(0|r))){if(1!=(0|i))break e;return void(f[t+32>>2]=1)}f[t+32>>2]=i;t:if(4!=f[t+44>>2]){if(a[t+52>>1]=0,e=f[e+8>>2],_i[f[f[e>>2]+20>>2]](e,t,r,r,1,n),u[t+53|0]){if(f[t+44>>2]=3,!u[t+52|0])break t;break e}f[t+44>>2]=4}if(f[t+20>>2]=r,f[t+40>>2]=f[t+40>>2]+1,1!=f[t+36>>2]|2!=f[t+24>>2])break e;return void(o[t+54|0]=1)}e=f[e+8>>2],_i[f[f[e>>2]+24>>2]](e,t,r,i,n)}},function(e,t,r,i){r|=0,i|=0,Ct(e|=0,f[8+(t|=0)>>2],0)?Qt(t,r,i):(e=f[e+8>>2],_i[f[f[e>>2]+28>>2]](e,t,r,i))}]);function hi(){return i.byteLength/65536|0}return{g:function(){},h:_i,i:Xr,j:function(){var e;return e=br(40),a[e+38>>1]=0,f[e>>2]=0,f[e+8>>2]=0,f[e+12>>2]=0,f[e+16>>2]=0,f[e+20>>2]=0,f[e+24>>2]=0,f[e+28>>2]=0,o[e+29|0]=0,o[e+30|0]=0,o[e+31|0]=0,o[e+32|0]=0,o[e+33|0]=0,o[e+34|0]=0,o[e+35|0]=0,o[e+36|0]=0,0|e},k:function(e,t,r){t|=0,r|=0,f[16+(e|=0)>>2]=0,f[e+20>>2]=0,f[e>>2]=t,f[e+8>>2]=r,f[e+12>>2]=0},l:Xr,m:function(){var e,t;return t=br(40),f[t>>2]=-1,f[16+(e=t+8|0)>>2]=0,f[e+20>>2]=0,f[e+8>>2]=0,f[e>>2]=0,f[e+4>>2]=0,f[e+24>>2]=0,f[e+28>>2]=0,0|t},n:Qr,o:function(e){var t=0;(e|=0)&&((t=f[e+8>>2])&&(f[e+12>>2]=t,ee(t)),ee(e))},p:function(){return 0|qt(br(64))},q:Xr,r:function(){var e;return qt(e=br(96)),f[e+64>>2]=0,f[e+68>>2]=0,f[e+88>>2]=0,f[e+72>>2]=0,f[e+76>>2]=0,o[e+77|0]=0,o[e+78|0]=0,o[e+79|0]=0,o[e+80|0]=0,o[e+81|0]=0,o[e+82|0]=0,o[e+83|0]=0,o[e+84|0]=0,0|e},s:jr,t:function(e){return f[88+(e|=0)>>2]},u:function(e){return f[56+(e|=0)>>2]},v:Wr,w:function(e){return o[24+(e|=0)|0]},x:function(e){return u[32+(e|=0)|0]},y:function(e){return f[40+(e|=0)>>2]},z:function(e){return f[48+(e|=0)>>2]},A:function(e){return f[60+(e|=0)>>2]},B:Zt,C:function(){var e;return e=br(24),f[e+8>>2]=0,f[e+12>>2]=0,f[e+4>>2]=-1,f[e>>2]=1140,f[e+16>>2]=0,f[e+20>>2]=0,0|e},D:Rr,E:Yr,F:function(e,t){return t|=0,_(A[f[8+(e|=0)>>2]+(t<<2)>>2])},G:function(e){return _(A[20+(e|=0)>>2])},H:Gr,I:function(){var e;return e=br(8),f[e+4>>2]=-1,f[e>>2]=1032,0|e},J:Rr,K:Yr,L:Gr,M:function(){return 0|Dr(br(84))},N:Mr,O:jr,P:Gr,Q:function(){var e;return Dr(e=br(108)),f[e+84>>2]=0,f[e+88>>2]=0,f[e>>2]=10272,f[e+92>>2]=0,f[e+96>>2]=0,f[e+100>>2]=0,f[e+104>>2]=0,0|e},R:function(e){return(f[100+(e|=0)>>2]-f[e+96>>2]|0)/12|0},S:Mr,T:jr,U:Gr,V:function(){var e,t;return e=br(24),f[e+4>>2]=0,f[e+8>>2]=0,f[(t=e+16|0)>>2]=0,f[t+4>>2]=0,f[e>>2]=e+4,f[e+12>>2]=t,0|e},W:function(e){(e|=0)&&(rr(e+12|0,f[e+16>>2]),ur(e,f[e+4>>2]),ee(e))},X:Qr,Y:function(e){return 0|!f[(e|=0)>>2]},Z:function(e){return 0|(o[15+(e|=0)|0]<0?f[e+4>>2]:e+4|0)},_:function(e){(e|=0)&&(o[e+15|0]<0&&ee(f[e+4>>2]),ee(e))},$:Tr,aa:function(e,t){return t|=0,_(A[f[(e|=0)>>2]+(t<<2)>>2])},ba:Sr,ca:Br,da:Tr,ea:function(e,t){return t|=0,o[f[(e|=0)>>2]+t|0]},fa:Fr,ga:Br,ha:Tr,ia:function(e,t){return t|=0,u[f[(e|=0)>>2]+t|0]},ja:Fr,ka:Br,la:Tr,ma:function(e,t){return t|=0,a[f[(e|=0)>>2]+(t<<1)>>1]},na:Vr,oa:Br,pa:Tr,qa:function(e,t){return t|=0,l[f[(e|=0)>>2]+(t<<1)>>1]},ra:Vr,sa:Br,ta:Tr,ua:Nr,va:Sr,wa:Br,xa:Tr,ya:Nr,za:Sr,Aa:Br,Ba:function(){var e;return e=br(28),f[e>>2]=0,f[e+4>>2]=0,f[e+24>>2]=0,f[e+16>>2]=0,f[e+20>>2]=0,f[e+8>>2]=0,f[e+12>>2]=0,0|e},Ca:function(e,t,r){e|=0,t|=0;var i,n=0,a=0,s=0,c=0,l=0,b=0,A=0;if(I=i=I-16|0,(n=Nt(r|=0))>>>0<4294967280){e:{if(n>>>0>=11)e=br(a=n+16&-16),f[i+8>>2]=-2147483648|a,f[i>>2]=e,f[i+4>>2]=n;else if(o[i+11|0]=n,e=i,!n)break e;ge(e,r,n)}o[e+n|0]=0,n=(r=u[i+11|0])<<24>>24,a=f[i>>2],e=0;e:if(t=f[t+4>>2]){for(e=r,e=(r=(0|n)<0)?f[i+4>>2]:e,b=r?a:i;;){t:{r:{i:{if(l=(A=(r=(s=(r=u[t+27|0])<<24>>24<0)?f[t+20>>2]:r)>>>0<e>>>0)?r:e){c=t+16|0;n:{if(!(c=xt(b,s=s?f[c>>2]:c,l))){if(e>>>0>=r>>>0)break n;break t}if((0|c)<0)break t}if(!(r=xt(s,b,l)))break i;if((0|r)<0)break r;e=1;break e}if(e>>>0<r>>>0)break t}if(!A){e=1;break e}}t=t+4|0}if(!(t=f[t>>2]))break}e=0}(0|n)<0&&ee(a),I=i+16|0}else oi(),E();return 0|e},Da:function(e,t,r){e|=0,t|=0,r|=0;var i,n=0,a=0;if(I=i=I-16|0,f[i+12>>2]=0,(n=Nt(r))>>>0<4294967280){e:{if(n>>>0>=11)e=br(a=n+16&-16),f[i+8>>2]=-2147483648|a,f[i>>2]=e,f[i+4>>2]=n;else if(o[i+11|0]=n,e=i,!n)break e;ge(e,r,n)}o[e+n|0]=0,(0|(e=Ke(t,i)))!=(t+4|0)&&4==((t=f[e+32>>2])-(e=f[e+28>>2])|0)&&(f[i+12>>2]=u[0|e]|u[e+1|0]<<8|u[e+2|0]<<16|u[e+3|0]<<24),e=f[i+12>>2],o[i+11|0]<0&&ee(f[i>>2]),I=i+16|0}else oi(),E();return 0|e},Ea:function(e,t,r,i){e|=0,t|=0,i|=0;var n=0,a=0,s=0;if(I=e=I-32|0,(n=Nt(r|=0))>>>0<4294967280){e:{if(n>>>0>=11)a=br(s=n+16&-16),f[e+24>>2]=-2147483648|s,f[e+16>>2]=a,f[e+20>>2]=n;else if(o[e+27|0]=n,a=e+16|0,!n)break e;ge(a,r,n)}o[n+a|0]=0,f[e+8>>2]=0,f[e>>2]=0,f[e+4>>2]=0,(0|(r=Ke(t,e+16|0)))!=(t+4|0)&&(0|(t=f[r+28>>2]))!=(0|(a=f[r+32>>2]))&&(3&(t=a-t|0)||((n=t>>>2|0)>>>0>(s=(a=f[e+4>>2])-(t=f[e>>2])>>2)>>>0?(st(e,n-s|0),t=f[e>>2],a=f[e+4>>2]):n>>>0>=s>>>0||(a=(n<<2)+t|0,f[e+4>>2]=a),(0|t)==(0|a)?(ci(),E()):ge(n=t,t=f[r+28>>2],f[r+32>>2]-t|0))),(t=f[i>>2])&&(f[i+4>>2]=t,ee(t)),f[i>>2]=f[e>>2],f[i+4>>2]=f[e+4>>2],f[i+8>>2]=f[e+8>>2],o[e+27|0]<0&&ee(f[e+16>>2]),I=e+32|0}else oi(),E()},Fa:function(e,t,r){e|=0,t|=0,r|=0;var i=0,n=0,a=0,s=0;if(I=e=I-32|0,f[e+24>>2]=0,f[e+28>>2]=0,(i=Nt(r))>>>0<4294967280){e:{if(i>>>0>=11)n=br(a=i+16&-16),f[e+16>>2]=-2147483648|a,f[e+8>>2]=n,f[e+12>>2]=i;else if(o[e+19|0]=i,n=e+8|0,!i)break e;ge(n,r,i)}o[i+n|0]=0,(0|(r=t+4|0))!=(0|(t=Ke(t,e+8|0)))&&8==((r=f[t+32>>2])-(t=f[t+28>>2])|0)&&(r=u[t+4|0]|u[t+5|0]<<8|u[t+6|0]<<16|u[t+7|0]<<24,f[e+24>>2]=u[0|t]|u[t+1|0]<<8|u[t+2|0]<<16|u[t+3|0]<<24,f[e+28>>2]=r),s=p[e+24>>3],o[e+19|0]<0&&ee(f[e+8>>2]),I=e+32|0}else oi(),E();return+s},Ga:function(e,t,r){e|=0,t|=0;var i,n=0,a=0,s=0;if(I=i=I-16|0,(n=Nt(r|=0))>>>0<4294967280){e:{if(n>>>0>=11)a=br(s=n+16&-16),f[i+8>>2]=-2147483648|s,f[i>>2]=a,f[i+4>>2]=n;else if(o[i+11|0]=n,a=i,!n)break e;ge(a,r,n)}o[n+a|0]=0,r=Xt(t,i,a=e+16|0),t=o[e+27|0],e=f[e+16>>2],o[i+11|0]<0&&ee(f[i>>2]),I=i+16|0,e=r?(0|t)<0?e:a:0}else oi(),E();return 0|e},Ha:function(e,t){return f[8+(t|=0)>>2]},Ia:function(e,t,r){t|=0;var i,n=0,a=0,s=0,c=0,u=0,l=0,b=0;i=r|=0;e:if(f[12+(n=e|=0)>>2]!=(0|t)){if(e=t,(0|(t=f[n+4>>2]))!=(0|(r=f[n>>2])))for(;a=t-12|0,o[t-1|0]<0&&ee(f[a>>2]),(0|r)!=(0|(t=a)););if(f[n+12>>2]=e,f[n+4>>2]=r,(0|(t=f[e>>2]))!=(0|(l=e+4|0)))for(;;){if(f[n+8>>2]==(0|r)){c=0;t:{r:{i:{if((r=1+(s=((a=f[n+4>>2])-(e=f[n>>2])|0)/12|0)|0)>>>0<357913942){if(b=(u=(f[n+8>>2]-e|0)/12|0)<<1,r=u>>>0<178956970?r>>>0>b>>>0?r:b:357913941){if(r>>>0>=357913942)break i;c=br(d(r,12))}if(u=d(r,12),r=d(s,12)+c|0,o[t+27|0]>=0?(s=f[t+20>>2],f[r>>2]=f[t+16>>2],f[r+4>>2]=s,f[r+8>>2]=f[t+24>>2]):(Vt(r,f[t+16>>2],f[t+20>>2]),a=f[n+4>>2],e=f[n>>2]),c=c+u|0,s=r+12|0,(0|e)==(0|a))break r;for(;u=f[4+(a=a-12|0)>>2],f[(r=r-12|0)>>2]=f[a>>2],f[r+4>>2]=u,f[r+8>>2]=f[a+8>>2],f[a>>2]=0,f[a+4>>2]=0,f[a+8>>2]=0,(0|e)!=(0|a););if(f[n+8>>2]=c,e=f[n+4>>2],f[n+4>>2]=s,a=f[n>>2],f[n>>2]=r,(0|e)==(0|a))break t;for(;r=e-12|0,o[e-1|0]<0&&ee(f[r>>2]),e=r,(0|r)!=(0|a););break t}ii(),E()}Lt(1326),E()}f[n+8>>2]=c,f[n+4>>2]=s,f[n>>2]=r}a&&ee(a)}else o[t+27|0]>=0?(e=f[t+20>>2],f[r>>2]=f[t+16>>2],f[r+4>>2]=e,f[r+8>>2]=f[t+24>>2]):Vt(r,f[t+16>>2],f[t+20>>2]),f[n+4>>2]=r+12;t:if(r=f[t+4>>2])for(;e=r,r=f[r>>2];);else{if(e=f[t+8>>2],f[e>>2]==(0|t))break t;for(t=t+8|0;t=(r=f[t>>2])+8|0,e=f[r+8>>2],(0|r)!=f[e>>2];);}if((0|e)==(0|l))break e;r=f[n+4>>2],t=e}}return r=0,(0|i)<0||(e=f[n>>2],(f[n+4>>2]-e|0)/12>>>0<=i>>>0||(e=e+d(i,12)|0,r=o[e+11|0]<0?f[e>>2]:e)),0|r},Ja:function(e){var t=0,r=0,i=0;if(e|=0){if(o[e+27|0]<0&&ee(f[e+16>>2]),t=f[e>>2]){if((0|(r=f[e+4>>2]))==(0|t))i=t;else{for(;i=r-12|0,o[r-1|0]<0&&ee(f[i>>2]),(0|(r=i))!=(0|t););i=f[e>>2]}f[e+4>>2]=t,ee(i)}ee(e)}},Ka:function(){var e,t;return e=br(40),f[e+4>>2]=0,f[e+8>>2]=0,f[e>>2]=e+4,f[(t=e+16|0)>>2]=0,f[t+4>>2]=0,f[e+24>>2]=0,f[e+28>>2]=0,f[e+12>>2]=t,f[e+32>>2]=0,f[e+36>>2]=0,0|e},La:function(e,t,r,i){e|=0,t|=0,r|=0,i|=0;var n,s=0;I=i=I+-64|0,a[i+46>>1]=0,f[i+8>>2]=0,f[i+16>>2]=0,f[i+20>>2]=0,f[i+24>>2]=0,f[i+28>>2]=0,f[i+32>>2]=0,f[i+36>>2]=0,o[i+37|0]=0,o[i+38|0]=0,o[i+39|0]=0,o[i+40|0]=0,o[i+41|0]=0,o[i+42|0]=0,o[i+43|0]=0,o[i+44|0]=0,f[i+24>>2]=0,f[i+28>>2]=0,f[i+8>>2]=t,f[i+16>>2]=r,f[i+20>>2]=0,We(t=i+48|0),f[e+24>>2]=f[i+48>>2];e:if((0|t)!=(0|(n=e+24|0)))if(t=i+48|4,r=(s=u[i+63|0])<<24>>24,o[11+(e=e+28|0)|0]>=0){if((0|r)>=0){r=f[t+4>>2],f[e>>2]=f[t>>2],f[e+4>>2]=r,f[e+8>>2]=f[t+8>>2];break e}tr(e,f[i+52>>2],f[i+56>>2])}else zt(e,(e=(0|r)<0)?f[i+52>>2]:t,e?f[i+56>>2]:s);return o[i+63|0]<0&&ee(f[i+52>>2]),I=i- -64|0,0|n},Ma:function(e,t,r,i){e|=0,t|=0,r|=0,i|=0;var n,s=0,c=0;I=n=I+-64|0,a[38+(s=n+8|0)>>1]=0,f[s>>2]=0,f[s+8>>2]=0,f[s+12>>2]=0,f[s+16>>2]=0,f[s+20>>2]=0,f[s+24>>2]=0,f[s+28>>2]=0,o[s+29|0]=0,o[s+30|0]=0,o[s+31|0]=0,o[s+32|0]=0,o[s+33|0]=0,o[s+34|0]=0,o[s+35|0]=0,o[s+36|0]=0,f[s+16>>2]=0,f[s+20>>2]=0,f[s>>2]=t,f[s+8>>2]=r,f[s+12>>2]=0,G(t=n+48|0,e,s,i),f[e+24>>2]=f[n+48>>2];e:if((0|(r=e+24|0))!=(0|t))if(s=n+48|4,i=(t=u[n+63|0])<<24>>24,o[11+(c=e+28|0)|0]>=0){if((0|i)>=0){e=f[s+4>>2],f[c>>2]=f[s>>2],f[c+4>>2]=e,f[c+8>>2]=f[s+8>>2];break e}tr(c,f[n+52>>2],f[n+56>>2])}else zt(c,(e=(0|i)<0)?f[n+52>>2]:s,e?f[n+56>>2]:t);return o[n+63|0]<0&&ee(f[n+52>>2]),I=n- -64|0,0|r},Na:function(e,t,r){return 0|sr(t|=0,r|=0)},Oa:function(e,t,r){e|=0,t|=0;var i=0,n=0,a=0;if(I=e=I-32|0,(i=Nt(r|=0))>>>0<4294967280){e:{if(i>>>0>=11)n=br(a=i+16&-16),f[e+24>>2]=-2147483648|a,f[e+16>>2]=n,f[e+20>>2]=i;else if(o[e+27|0]=i,n=e+16|0,!i)break e;ge(n,r,i)}o[i+n|0]=0,o[e+4|0]=0,f[e>>2]=1701667182,o[e+11|0]=4,r=-1,(i=f[t+4>>2])&&(r=-1,(i=Oe(i,e,e+16|0))&&(r=Ht(t,f[i+24>>2]))),t=r,o[e+11|0]<0&&ee(f[e>>2]),o[e+27|0]<0&&ee(f[e+16>>2]),I=e+32|0}else oi(),E();return 0|t},Pa:function(e,t,r,i){e|=0,t|=0,i|=0;var n,a=0,s=0;I=n=I-32|0;e:{t:{if((a=Nt(r|=0))>>>0<4294967280){r:{if(a>>>0>=11)e=br(s=a+16&-16),f[n+24>>2]=-2147483648|s,f[n+16>>2]=e,f[n+20>>2]=a;else if(o[n+27|0]=a,e=n+16|0,!a)break r;ge(e,r,a)}if(o[e+a|0]=0,(r=Nt(i))>>>0>=4294967280)break t;r:{if(r>>>0>=11)e=br(a=r+16&-16),f[n+8>>2]=-2147483648|a,f[n>>2]=e,f[n+4>>2]=r;else if(o[n+11|0]=r,e=n,!r)break r;ge(e,i,r)}o[e+r|0]=0,e=-1,(r=f[t+4>>2])&&(e=-1,(r=Oe(r,n+16|0,n))&&(e=Ht(t,f[r+24>>2]))),o[n+11|0]<0&&ee(f[n>>2]),o[n+27|0]<0&&ee(f[n+16>>2]),I=n+32|0;break e}oi(),E()}oi(),E()}return 0|e},Qa:function(e,t,r){return r|=0,f[f[8+(t|=0)>>2]+(r<<2)>>2]},Ra:function(e,t,r){e|=0,r|=0;var i=0,n=0;i=(e=f[12+(t|=0)>>2])-(t=f[t+8>>2])|0,e=0;e:if(i){i=(e=i>>2)>>>0>1?e:1,e=0;t:{for(;;){if(n=f[t+(e<<2)>>2],f[n+60>>2]==(0|r))break t;if((0|i)==(0|(e=e+1|0)))break}e=0;break e}e=-1==(0|e)?0:n}return 0|e},Sa:function(e,t){return f[4+(t|=0)>>2]},Ta:function(e,t,r){e|=0,r|=0;var i,n=0;if((i=f[4+(t|=0)>>2])&&!((0|(t=f[f[f[t+8>>2]+(r<<2)>>2]+60>>2]))<0)&&(0|(e=f[i+24>>2]))!=(0|(r=f[i+28>>2])))e:{for(;;){if(n=f[e>>2],(0|t)==f[n+24>>2])break e;if((0|r)==(0|(e=e+4|0)))break}n=0}return 0|n},Ua:function(e,t,r,i){var n,o;return e|=0,r|=0,i|=0,I=e=I-16|0,t=f[96+(t|=0)>>2],f[e+8>>2]=0,f[e>>2]=0,f[e+4>>2]=0,o=(r=ge(n=br(12),t+d(r,12)|0,12))+12|0,(t=f[i>>2])&&(f[i+4>>2]=t,ee(t)),f[i+8>>2]=r+12,f[i+4>>2]=o,f[i>>2]=n,I=e+16|0,1},Va:function(e,t,r){e|=0,t|=0;var i,n,a,s,c,l,b=0,A=0,p=0,_=0,h=0,k=0,m=0,y=0,v=0,g=0,w=0,T=0,B=0,x=0,R=0,N=0,C=0,D=0,M=0,G=0,U=0,V=0,S=0,F=0,W=0,j=0,O=0;l=r|=0,r=0,I=n=I-96|0,Ye(i=n+16|0,0,76),f[n+92>>2]=-1,f[n+8>>2]=0,f[n>>2]=0,f[n+4>>2]=0,I=a=I-16|0,f[i+68>>2]=0,f[i+72>>2]=0,f[i>>2]=t,I=s=I-16|0,c=t,e=f[t+20>>2],(f[t+24>>2]-e|0)<=0||-1!=(0|(e=f[e>>2]))&&(r=f[f[t+8>>2]+(e<<2)>>2]);e:{t:{if(r){e=f[c+100>>2],p=f[c+96>>2],f[s+8>>2]=0,f[s>>2]=0,f[s+4>>2]=0,t=(0|(h=e-p|0))/12|0;r:if(h){if(t>>>0>=357913942)break t;if(b=br(h),f[s>>2]=b,f[s+8>>2]=b+d(t,12),e=0,h=Ye(k=b,0,b=d((h-12>>>0)/12|0,12)+12|0),f[s+4>>2]=b+h,u[r+84|0]){if(b=1&(r=t>>>0>1?t:1),t>>>0>=2)for(k=-2&r;r=d(e,12),y=f[4+(t=r+p|0)>>2],v=f[t>>2],f[8+(r=r+h|0)>>2]=f[t+8>>2],f[r>>2]=v,f[r+4>>2]=y,r=d(1|e,12),y=f[8+(t=r+p|0)>>2],v=f[t+4>>2],f[(r=r+h|0)>>2]=f[t>>2],f[r+4>>2]=v,f[r+8>>2]=y,e=e+2|0,(0|k)!=(0|(A=A+2|0)););if(!b)break r;t=d(e,12),r=f[4+(e=t+p|0)>>2],A=f[e>>2],f[8+(t=t+h|0)>>2]=f[e+8>>2],f[t>>2]=A,f[t+4>>2]=r}else for(b=t>>>0>1?t:1,e=f[r+68>>2];r=d(A,12),k=f[e+(f[(t=r+p|0)>>2]<<2)>>2],y=f[e+(f[t+4>>2]<<2)>>2],f[8+(r=r+h|0)>>2]=f[e+(f[t+8>>2]<<2)>>2],f[r+4>>2]=y,f[r>>2]=k,(0|b)!=(0|(A=A+1|0)););}if(I=G=I-16|0,b=br(88),f[b>>2]=0,f[b+4>>2]=0,f[b+56>>2]=0,f[b+48>>2]=0,f[b+52>>2]=0,f[b+40>>2]=0,f[b+44>>2]=0,f[b+32>>2]=0,f[b+36>>2]=0,f[b+24>>2]=0,f[b+28>>2]=0,f[b+16>>2]=0,f[b+20>>2]=0,f[b+8>>2]=0,f[b+12>>2]=0,f[(e=b- -64|0)>>2]=0,f[e+4>>2]=0,f[b+72>>2]=0,f[b+76>>2]=0,f[b+80>>2]=0,f[b+84>>2]=0,f[b+60>>2]=b,I=D=I-16|0,f[b+80>>2]=0,f[b+84>>2]=0,e=f[b+76>>2],f[b+76>>2]=0,e&&ee(e),f[b+68>>2]=0,f[b+72>>2]=0,e=f[(t=b- -64|0)>>2],f[t>>2]=0,e&&ee(e),A=f[s>>2],t=f[s+4>>2]-A|0,e=d(y=(0|t)/12|0,3),r=f[b>>2],e>>>0>(p=f[b+4>>2]-r>>2)>>>0?(st(b,e-p|0),A=f[s>>2],y=(0|(t=f[s+4>>2]-A|0))/12|0,r=f[b>>2]):e>>>0>=p>>>0||(f[b+4>>2]=(e<<2)+r),t)for(h=y>>>0>1?y:1,e=0;t=(p=d(e,12))+r|0,p=p+A|0,f[t>>2]=f[p>>2],f[t+4>>2]=f[p+4>>2],f[t+8>>2]=f[p+8>>2],(0|h)!=(0|(e=e+1|0)););f[D+12>>2]=-1,I=p=I-48|0;r:{i:{n:{if(N=D+12|0){if(w=(t=(k=f[b+4>>2])-(v=f[b>>2])|0)>>2,r=f[b+12>>2],w>>>0>(e=f[b+16>>2]-r>>2)>>>0?(ve(b+12|0,w-e|0,10260),w=(t=(k=f[b+4>>2])-(v=f[b>>2])|0)>>2):e>>>0<=w>>>0||(f[b+16>>2]=r+(w<<2)),r=0,f[p+40>>2]=0,f[p+32>>2]=0,f[p+36>>2]=0,t){o:{if((0|t)>=0)for(r=br(t),f[p+36>>2]=r,f[p+32>>2]=r,f[p+40>>2]=(w<<2)+r,e=r,t=0;;){if((h=f[(t<<2)+v>>2])>>>0<(e=e-r>>2)>>>0||(f[p+16>>2]=0,(A=h+1|0)>>>0>e>>>0?(ve(p+32|0,A-e|0,p+16|0),v=f[b>>2],k=f[b+4>>2],r=f[p+32>>2]):e>>>0<=A>>>0||(f[p+36>>2]=(A<<2)+r)),f[(e=(h<<2)+r|0)>>2]=f[e>>2]+1,(t=t+1|0)>>>0>=(w=(e=k-v|0)>>2)>>>0)break o;e=f[p+36>>2]}break n}if(f[p+24>>2]=0,f[p+16>>2]=0,f[p+20>>2]=0,e){if(w>>>0>=536870912)break i;e=br(t=e<<1),f[p+16>>2]=e,A=e+(w<<3)|0,f[p+24>>2]=A,Ye(e,255,t),f[p+20>>2]=A}}else f[p+24>>2]=0,f[p+16>>2]=0,f[p+20>>2]=0;if(k=0,f[p+8>>2]=0,f[p>>2]=0,f[p+4>>2]=0,h=(e=f[p+36>>2]-r|0)>>2,e){if((0|e)<0)break i;if(B=br(e),f[p>>2]=B,f[p+8>>2]=(h<<2)+B,t=e,e=Ye(B,0,e),f[p+4>>2]=t+e,y=3&(A=h>>>0>1?h:1),t=0,A-1>>>0>=3)for(T=-4&A;f[(A=_<<2)+e>>2]=t,C=4|A,t=f[r+A>>2]+t|0,f[C+e>>2]=t,R=8|A,t=t+f[r+C>>2]|0,f[R+e>>2]=t,A|=12,t=t+f[r+R>>2]|0,f[A+e>>2]=t,t=t+f[r+A>>2]|0,_=_+4|0,(0|T)!=(0|(m=m+4|0)););if(y)for(;f[(A=_<<2)+e>>2]=t,_=_+1|0,t=f[r+A>>2]+t|0,(0|y)!=(0|(g=g+1|0)););}if(w)for(C=f[b+12>>2];;){t=(U=k<<2)+v|0,m=-1,-1!=(0|(e=((A=k+1|0)>>>0)%3|0?A:k-2|0))&&(m=f[(e<<2)+v>>2]),e=f[t>>2];o:{a:{if(!((k>>>0)%3|0)){if(g=-1,-1!=(0|(t=k+2|0))&&(g=f[(t<<2)+v>>2]),!((0|e)==(0|m)|(0|e)==(0|g))&(0|m)!=(0|g))break a;f[b+40>>2]=f[b+40>>2]+1,A=k+3|0;break o}g=f[t-4>>2]}a:{f:if(!((0|(R=f[(t=g<<2)+r>>2]))<=0))for(y=f[p+16>>2],t=f[t+B>>2],_=0;;){if(-1==(0|(x=f[(T=y+(t<<3)|0)>>2])))break f;if((0|m)==(0|x)&&(0|(x=-1!=(0|(T=f[T+4>>2]))?f[(T<<2)+v>>2]:-1))!=(0|e)){for(;e=t,!((0|R)<=(0|(_=_+1|0))||(x=y+(e<<3)|0,S=f[(V=y+((t=e+1|0)<<3)|0)>>2],f[x>>2]=S,f[x+4>>2]=f[V+4>>2],-1==(0|S))););if(f[y+(e<<3)>>2]=-1,-1==(0|T))break f;f[C+U>>2]=T,f[C+(T<<2)>>2]=k;break a}if(t=t+1|0,(0|R)==(0|(_=_+1|0)))break}if(!((0|(y=f[(e=m<<2)+r>>2]))<=0))for(m=f[p+16>>2],t=f[e+B>>2],_=0;;){if(-1==f[(e=m+(t<<3)|0)>>2]){f[e>>2]=g,f[e+4>>2]=k;break a}if(t=t+1|0,(0|y)==(0|(_=_+1|0)))break}}}if(!(w>>>0>(k=A)>>>0))break}f[N>>2]=h,B&&ee(B),(e=f[p+16>>2])&&(f[p+20>>2]=e,ee(e)),(e=f[p+32>>2])&&(f[p+36>>2]=e,ee(e))}if(I=p+48|0,C=0!=(0|N)){if(I=m=I-32|0,g=f[b>>2],e=f[b+4>>2],f[m+24>>2]=0,f[m+16>>2]=0,f[m+20>>2]=0,t=e-g|0){if((0|t)<0)break i;r=br((A=1+(_=(t>>=2)-1>>>5|0)|0)<<2),f[m+24>>2]=A,f[m+16>>2]=r,f[m+20>>2]=t,f[r+((t>>>0<33?0:_)<<2)>>2]=0,_=Ye(_=r,0,r=t>>>5<<2),(t&=31)&&(f[(r=r+_|0)>>2]=f[r>>2]&(-1>>>32-t^-1))}for(f[m+8>>2]=0,f[m>>2]=0;;){if(w=0,A=0,(0|e)!=(0|g)){for(;;){r=f[m+16>>2];o:if(!(f[r+(A>>>3&536870908)>>2]>>>A&1)){for(_=f[m>>2],f[m+4>>2]=_,t=f[b+12>>2],e=A;h=e,!(-1==(0|(e=((p=e+1|0)>>>0)%3|0?p:e-2|0))||-1==(0|(e=f[t+(e<<2)>>2]))||(0|A)==(0|(e=((p=e+1|0)>>>0)%3|0?p:e-2|0))|-1==(0|e)||f[(e>>>3&536870908)+r>>2]>>>e&1););t=_,y=h;a:{f:{for(;;){if(f[(e=(y>>>3&536870908)+r|0)>>2]=f[e>>2]|1<<y,p=((e=y+1|0)>>>0)%3|0?e:y-2|0,T=(v=((R=(y>>>0)%3|0)?-1:2)+y|0)<<2,(0|t)!=(0|_))if(N=f[(p<<2)+g>>2],B=f[b+12>>2],e=t,-1==(0|v))for(;;){if((0|N)==f[e>>2]&&(k=-1,v=-1,-1!=(0|(r=f[e+4>>2]))))break f;if((0|_)==(0|(e=e+8|0)))break}else for(x=B+T|0;;){if((0|N)==f[e>>2]&&(0|(r=f[e+4>>2]))!=(0|(k=f[x>>2]))){if(_=-1,e=-1,-1==(0|r))break a;break f}if((0|_)==(0|(e=e+8|0)))break}if(v=f[g+T>>2],f[m+8>>2]==(0|_)){if((e=1+(_=(r=_-t|0)>>3)|0)>>>0>=536870912)break i;if(k=r>>2,k=_>>>0<268435455?e>>>0>k>>>0?e:k:536870911){if(k>>>0>=536870912)break n;e=br(k<<3)}else e=0;f[(_=e+(_<<3)|0)>>2]=v,f[_+4>>2]=p,_=_+8|0,(0|r)>0&&ge(e,t,r),f[m+8>>2]=e+(k<<3),f[m+4>>2]=_,f[m>>2]=e,t&&ee(t)}else f[_>>2]=v,f[_+4>>2]=p,_=_+8|0,f[m+4>>2]=_;s:{if(R)e=y-1|0;else if(-1==(0|(e=y+2|0)))break s;if(-1!=(0|(e=f[f[b+12>>2]+(e<<2)>>2]))&&!((0|h)==(0|(y=e+((e>>>0)%3|0?-1:2)|0))|-1==(0|y))){g=f[b>>2],t=f[m>>2],r=f[m+16>>2];continue}}break}g=f[b>>2];break o}_=r,e=f[B+(r<<2)>>2]}-1!=(0|k)&&(f[B+(k<<2)>>2]=-1),-1!=(0|e)&&(f[f[b+12>>2]+(e<<2)>>2]=-1),e=f[b+12>>2],f[e+(v<<2)>>2]=-1,f[e+(_<<2)>>2]=-1,w=1}if(!((A=A+1|0)>>>0<(e=f[b+4>>2])-g>>2>>>0))break}if(w)continue}break}(e=f[m>>2])&&ee(e),(e=f[m+16>>2])&&ee(e),A=0,v=0,w=0,I=h=(I=m+32|0)-32|0,e=f[D+12>>2],f[b+36>>2]=e,g=b+24|0,r=f[b+24>>2];o:{if((t=f[b+28>>2]-r>>2)>>>0<e>>>0)ve(g,e-t|0,10260),f[h+24>>2]=0,f[h+16>>2]=0,f[h+20>>2]=0;else if(e>>>0<t>>>0&&(f[b+28>>2]=r+(e<<2)),f[h+24>>2]=0,f[h+16>>2]=0,f[h+20>>2]=0,!e)break o;if((0|e)<0)break i;A=br((r=1+(t=e-1>>>5|0)|0)<<2),f[h+24>>2]=r,f[h+16>>2]=A,f[h+20>>2]=e,f[((e>>>0<33?0:t)<<2)+A>>2]=0,r=Ye(A,0,t=e>>>5<<2),(_=31&e)&&(f[(t=t+r|0)>>2]=f[t>>2]&(-1>>>32-_^-1))}if(k=f[b>>2],y=f[b+4>>2],f[h+8>>2]=0,f[h>>2]=0,f[h+4>>2]=0,t=y-k|0){if((0|t)<0)break i;if(m=br((_=1+(r=(t>>=2)-1>>>5|0)|0)<<2),f[h+8>>2]=_,f[h>>2]=m,f[h+4>>2]=t,f[((t>>>0<33?0:r)<<2)+m>>2]=0,_=Ye(m,0,r=t>>>5<<2),(p=31&t)&&(f[(r=r+_|0)>>2]=f[r>>2]&(-1>>>32-p^-1)),!(t>>>0<3)){for(;;){if(T=d(v,3),t=f[(_=(T<<2)+k|0)>>2],r=-1,-1!=(0|(p=T+1|0))&&(r=f[(p<<2)+k>>2]),(0|t)!=(0|r)&&(0|(p=t))!=(0|(t=f[_+8>>2]))&&(B=0,(0|t)!=(0|r))){for(;;){if(!(f[((_=B+T|0)>>>3&536870908)+m>>2]>>>_&1)){if(y=(r=1<<(t=f[(_<<2)+k>>2]))&f[((m=t>>>5|0)<<2)+A>>2]){if((0|(r=f[b+28>>2]))==f[b+32>>2]){if((r=1+(m=(p=r-(A=f[g>>2])|0)>>2)|0)>>>0>=1073741824)break i;if(k=p>>1,k=m>>>0<536870911?r>>>0>k>>>0?r:k:1073741823){if(k>>>0>=1073741824)break n;r=br(k<<2)}else r=0;f[(m=r+(m<<2)|0)>>2]=-1,(0|p)>0&&ge(r,A,p),f[b+32>>2]=r+(k<<2),f[b+28>>2]=m+4,f[b+24>>2]=r,A&&ee(A)}else f[r>>2]=-1,f[b+28>>2]=r+4;if((0|(r=f[b+52>>2]))==f[b+56>>2]){if((r=1+(m=(p=r-(A=f[b+48>>2])|0)>>2)|0)>>>0>=1073741824)break i;if(k=p>>1,k=m>>>0<536870911?r>>>0>k>>>0?r:k:1073741823){if(k>>>0>=1073741824)break n;r=br(k<<2)}else r=0;f[(m=r+(m<<2)|0)>>2]=t,(0|p)>0&&ge(r,A,p),f[b+56>>2]=r+(k<<2),f[b+52>>2]=m+4,f[b+48>>2]=r,A&&ee(A)}else f[r>>2]=t,f[b+52>>2]=r+4;if((0|(r=f[h+20>>2]))==(t=f[h+24>>2])<<5){if((r+1|0)<0)break i;at(A=h+16|0,t=r>>>0<=1073741822?(t<<=6)>>>0<(r=r+32&-32)>>>0?r:t:2147483647),r=f[h+20>>2]}f[h+20>>2]=r+1,t=f[h+16>>2]+(r>>>3&536870908)|0,A=f[t>>2],j=t,O=xr(r)&A,f[j>>2]=O,r=1<<e,m=e>>>5|0,t=e,e=e+1|0}p=e,A=f[h+16>>2],f[(e=A+(m<<2)|0)>>2]=f[e>>2]|r,R=f[b+24>>2]+(t<<2)|0,N=f[b+12>>2],k=f[b>>2],m=f[h>>2],e=_;o:{a:{f:{s:{c:{u:{for(;;){if(-1==(0|e))break u;if(f[(r=(e>>>3&536870908)+m|0)>>2]=f[r>>2]|1<<e,f[R>>2]=e,y&&(f[(e<<2)+k>>2]=t),r=-1,-1!=(0|(e=((x=e+1|0)>>>0)%3|0?x:e-2|0))&&(r=-1,-1!=(0|(e=f[N+(e<<2)>>2]))&&(r=((r=e+1|0)>>>0)%3|0?r:e-2|0)),(0|_)==(0|(e=r)))break}if(-1!=(0|_))break o;e=1;break c}if((_>>>0)%3|0)e=_-1|0;else if(-1==(0|(e=_+2|0)))break s}if(-1!=(0|(e=f[N+(e<<2)>>2]))){if(!((e>>>0)%3|0))break f;e=e-1|0,k=f[b>>2],m=f[h>>2];break a}}k=f[b>>2],m=f[h>>2];break o}if(k=f[b>>2],m=f[h>>2],-1==(0|(e=e+2|0)))break o}for(r=f[b+12>>2];;){if(f[(_=(e>>>3&536870908)+m|0)>>2]=f[_>>2]|1<<e,y&&(f[(e<<2)+k>>2]=t),(e>>>0)%3|0)e=e-1|0;else if(-1==(0|(e=e+2|0)))break o;if(-1==(0|(e=f[r+(e<<2)>>2])))break o;if(-1==(0|(e=e+((e>>>0)%3|0?-1:2)|0)))break}}e=p}if(3==(0|(B=B+1|0)))break}k=f[b>>2],y=f[b+4>>2]}if(!((v=v+1|0)>>>0<(y-k>>2>>>0)/3>>>0))break}A=f[h+16>>2]}}if(f[b+44>>2]=0,e=f[h+20>>2])for(t=31&e,_=(e>>>3&536870908)+A|0,e=0,r=A;f[r>>2]>>>e&1||(w=w+1|0,f[b+44>>2]=w),(0|_)!=(0|(r=((p=31==(0|e))<<2)+r|0))|(0|(e=p?0:e+1|0))!=(0|t););(e=f[h>>2])&&(ee(e),A=f[h+16>>2]),A&&ee(A),I=h+32|0}I=D+16|0,C||(f[G+8>>2]=0,Mt(b),b=0),I=G+16|0,e=b;break r}Lt(1326),E()}ii(),E()}(t=f[s>>2])&&(f[s+4>>2]=t,ee(t))}else e=0;I=s+16|0;break e}ii(),E()}if(t=f[i+4>>2],f[i+4>>2]=e,t&&(Mt(t),e=f[i+4>>2]),e)if(e=f[c+100>>2],t=f[c+96>>2],o[a+12|0]=0,Je(i+56|0,(e-t|0)/12|0,a+12|0),(0|(e=f[c+100>>2]))!=(0|(t=f[c+96>>2])))for(;;){if(!(f[f[i+56>>2]+(M>>>3&536870908)>>2]>>>M&1)){if(ne(i,0,e=d(M,3)),t=f[i+8>>2],r=f[i+12>>2],ne(i,1,e+1|0),_=f[i+20>>2],A=f[i+24>>2],ne(i,2,e+2|0),e=(_=A-_>>2)>>>0>(r=(t=r-t|0)>>2)>>>0,r=f[i+36>>2]-f[i+32>>2]>>2>>>0>(e?_:r)>>>0?2:e?1:t?0:-1,f[i+68>>2]<=0||(f[a+12>>2]=f[i+76>>2],f[a+8>>2]=n,ut(a+8|0,a+12|0),(0|(e=f[44+((r<<2)+i|0)>>2]))<0?e=-1:(t=(e>>>0)/3|0,e=f[(f[f[i>>2]+96>>2]+d(t,12)|0)+(e-d(t,3)<<2)>>2]),f[a+12>>2]=e,f[a+8>>2]=n,ut(a+8|0,a+12|0),t=f[i+72>>2],f[i+72>>2]=t+2,1&t&&(f[a+12>>2]=e,f[a+8>>2]=n,ut(a+8|0,a+12|0),f[i+72>>2]=f[i+72>>2]+1)),I=t=I-16|0,f[i+68>>2]=f[i+68>>2]+1,e=d(r,12)+i|0,!((0|(_=f[e+12>>2]-f[e+8>>2]|0))<=0)){e=-1,A=((r=f[44+((r<<2)+i|0)>>2])>>>0)/3|0,p=(h=-1==(0|r))?-1:A,b=f[i+56>>2]+(p>>>3&536870908)|0,f[b>>2]=f[b>>2]|1<<p,f[i+72>>2]=f[i+72>>2]+1,f[t+12>>2]=(0|r)>=0?f[(f[f[i>>2]+96>>2]+d(A,12)|0)+((r>>>0)%3<<2)>>2]:-1,f[t+8>>2]=n,ut(t+8|0,t+12|0);e:if(h)f[t+12>>2]=-1,f[t+8>>2]=n,ut(t+8|0,t+12|0);else{if((0|(p=((p=r+1|0)>>>0)%3|0?p:r-2|0))>=0?(h=(p>>>0)/3|0,b=f[(f[f[i>>2]+96>>2]+d(h,12)|0)+(p-d(h,3)<<2)>>2]):b=-1,f[t+12>>2]=b,f[t+8>>2]=n,ut(t+8|0,t+12|0),(0|(A=r+(r-d(A,3)|0?-1:2)|0))<0)break e;e=(A>>>0)/3|0,e=f[(f[f[i>>2]+96>>2]+d(e,12)|0)+(A-d(e,3)<<2)>>2]}if(f[i+76>>2]=e,f[t+12>>2]=e,f[t+8>>2]=n,e=-1,ut(t+8|0,t+12|0),e=-1!=(0|r)?f[f[f[i+4>>2]+12>>2]+(r<<2)>>2]:e,!(_>>>0<=7))for(h=(r=_>>>2|0)>>>0>1?r:1,r=1;;){_=e,p=(e>>>0)/3|0,e=-1==(0|e)?-1:p,A=f[i+56>>2]+(e>>>3&536870908)|0,f[A>>2]=f[A>>2]|1<<e,f[i+72>>2]=f[i+72>>2]+1,e=-1,e=(0|_)>=0?f[(f[f[i>>2]+96>>2]+d(p,12)|0)+((_>>>0)%3<<2)>>2]:e,f[i+76>>2]=e,f[t+12>>2]=e,f[t+8>>2]=n,ut(t+8|0,t+12|0);e:{t:{if(1&r){if(A=-1,-1==(0|_))break e;if((0|_)!=(0|d(p,3))){e=_-1|0;break t}e=_+2|0}else{if(A=-1,-1==(0|_))break e;e=((e=_+1|0)>>>0)%3|0?e:_-2|0}if(A=-1,-1==(0|e))break e}A=f[f[f[i+4>>2]+12>>2]+(e<<2)>>2]}if(e=A,(0|h)==(0|(r=r+1|0)))break}}I=t+16|0,t=f[c+96>>2],e=f[c+100>>2]}if(F=1,!((M=M+1|0)>>>0<(e-t|0)/12>>>0))break}else F=1;return I=a+16|0,F?((e=f[l>>2])&&(f[l+4>>2]=e,ee(e)),f[l>>2]=f[n>>2],f[l+4>>2]=f[n+4>>2],f[l+8>>2]=f[n+8>>2],W=f[n+84>>2]):(e=f[n>>2])&&(f[n+4>>2]=e,ee(e)),(e=f[n+72>>2])&&ee(e),(e=f[n+48>>2])&&(f[n+52>>2]=e,ee(e)),(e=f[n+36>>2])&&(f[n+40>>2]=e,ee(e)),(e=f[n+24>>2])&&(f[n+28>>2]=e,ee(e)),e=f[n+20>>2],f[n+20>>2]=0,e&&Mt(e),I=n+96|0,0|W},Wa:function(e,t,r,i){e|=0,r|=0,i|=0;var n=0,o=0,s=0;if(!(b[80+(t|=0)>>2]>65535||(o=f[t+96>>2],t=f[t+100>>2]-o|0,s=(0|(n=d(e=(0|t)/12|0,6)))==(0|r),!t|(0|r)!=(0|n))))for(s=1,n=e>>>0>1?e:1,e=0;t=d(e,6)+i|0,r=d(e,12)+o|0,a[t>>1]=f[r>>2],a[t+2>>1]=f[r+4>>2],a[t+4>>1]=f[r+8>>2],(0|n)!=(0|(e=e+1|0)););return 0|s},Xa:function(e,t,r,i){e|=0,r|=0,i|=0;var n,o=0,a=0,s=0;if(n=f[96+(t|=0)>>2],!((0|(t=f[t+100>>2]-n|0))!=(0|r)|!t))for(s=(e=(0|r)/12|0)>>>0>1?e:1,e=0;a=(o=d(e,12))+i|0,o=o+n|0,f[a>>2]=f[o>>2],f[a+4>>2]=f[o+4>>2],f[a+8>>2]=f[o+8>>2],(0|s)!=(0|(e=e+1|0)););return(0|t)==(0|r)|0},Ya:function(e,t,r,i){e|=0,r|=0,i|=0;var n=0,a=0,s=0;I=e=I-32|0,n=o[24+(t|=0)|0],a=f[2563],f[e+24>>2]=f[2562],f[e+28>>2]=a,a=f[2561],f[e+16>>2]=f[2560],f[e+20>>2]=a;e:{t:{if(r=V(t,r,n,e+16|0)){if(f[e+8>>2]=0,f[e>>2]=0,f[e+4>>2]=0,t=0,n){if((0|n)<0)break t;s=ge(t=br(n<<=2),e+16|0,n)+n|0}(n=f[i>>2])&&(f[i+4>>2]=n,ee(n)),f[i+8>>2]=s,f[i+4>>2]=s,f[i>>2]=t}I=e+32|0;break e}ii(),E()}return 0|r},Za:function(e,t,r,i){e|=0,r|=0,i|=0;var n,a,s=0,c=0,l=0,b=0,p=0,_=0,h=0,k=0,m=0,y=0,v=0;e=0,I=n=I-16|0,a=f[80+(t|=0)>>2],s=o[r+24|0],f[n+8>>2]=0,f[n>>2]=0,f[n+4>>2]=0;e:{t:{if(s){if((0|s)<0)break t;if(e=br(t=s<<2),f[n>>2]=e,l=e+t|0,f[n+8>>2]=l,_=1+((b=t-4|0)>>>2|0)&7)for(t=e;f[t>>2]=-1073741824,t=t+4|0,(0|_)!=(0|(c=c+1|0)););else t=e;if(b>>>0>=28)for(;f[t+24>>2]=-1073741824,f[t+28>>2]=-1073741824,f[t+16>>2]=-1073741824,f[t+20>>2]=-1073741824,f[t+8>>2]=-1073741824,f[t+12>>2]=-1073741824,f[t>>2]=-1073741824,f[t+4>>2]=-1073741824,(0|l)!=(0|(t=t+32|0)););f[n+4>>2]=l}t=d(s,a),l=f[i>>2],t>>>0>(c=f[i+4>>2]-l>>2)>>>0?st(i,t-c|0):t>>>0>=c>>>0||(f[i+4>>2]=l+(t<<2));r:if(a)if(p=1,(0|s)<=0)for(t=0;;){if(!V(r,u[r+84|0]?t:f[f[r+68>>2]+(t<<2)>>2],o[r+24|0],e))break r;if(p=a>>>0>(t=t+1|0)>>>0,(0|t)==(0|a))break}else{for(y=-4&s,_=3&s,c=0,v=s-1>>>0<3;;){if(V(r,u[r+84|0]?h:f[f[r+68>>2]+(h<<2)>>2],o[r+24|0],e)){if(m=f[i>>2],k=0,s=f[n>>2],t=0,p=0,!v)for(;b=t<<2,A[(l=m+(c<<2)|0)>>2]=A[b+s>>2],A[l+4>>2]=A[(4|b)+s>>2],A[l+8>>2]=A[(8|b)+s>>2],A[l+12>>2]=A[(12|b)+s>>2],t=t+4|0,c=c+4|0,(0|y)!=(0|(p=p+4|0)););if(_)for(;A[m+(c<<2)>>2]=A[(t<<2)+s>>2],t=t+1|0,c=c+1|0,(0|_)!=(0|(k=k+1|0)););if(p=(h=h+1|0)>>>0<a>>>0,(0|a)!=(0|h))continue}break}e=f[n>>2]}e&&ee(e),I=n+16|0,e=1&(-1^p);break e}ii(),E()}return 0|e},_a:_e,$a:function(e,t,r,i){e|=0,r|=0,i|=0;var n,a,s,c=0,l=0,b=0,A=0,p=0,_=0,h=0;I=n=I-16|0,a=f[80+(t|=0)>>2],s=u[r+24|0],c=d(a,t=s<<24>>24);e:{t:{r:{if(!(1==(0|(e=f[r+28>>2]))|2==(0|e))|!u[r+84|0]){if(f[n+8>>2]=0,f[n>>2]=0,f[n+4>>2]=0,t){if((0|t)<0)break r;l=br(t),f[n>>2]=l,e=t+l|0,f[n+8>>2]=e,Ye(l,0,t),f[n+4>>2]=e}i:if((p=(e=f[i+4>>2])-(A=f[i>>2])|0)>>>0<c>>>0){if((_=c-p|0)>>>0<=(h=f[i+8>>2])-e>>>0){_&&(e=Ye(e,0,_)+_|0),f[i+4>>2]=e;break i}if((0|c)<0)break t;if(h=(e=h-A|0)<<1,(e=e>>>0<1073741823?c>>>0>h>>>0?c:h:2147483647)&&(b=br(e)),Ye(b+p|0,0,_),(0|p)>0&&ge(b,A,p),f[i+8>>2]=e+b,f[i+4>>2]=c+b,f[i>>2]=b,!A)break i;ee(A)}else c>>>0>=p>>>0||(f[i+4>>2]=c+A);i:if(a)if(t){for(A=-2&(e=t-1|0),p=1&e,e=0,t=1,b=0;;){if(c=f[n>>2],W(r,u[r+84|0]?b:f[f[r+68>>2]+(b<<2)>>2],o[r+24|0],c)){o[f[i>>2]+e|0]=u[0|c],t=1,e=e+1|0,l=0;n:{o:switch(s-1|0){default:for(;o[f[i>>2]+e|0]=u[f[n>>2]+t|0],o[1+(f[i>>2]+e|0)|0]=u[1+(f[n>>2]+t|0)|0],t=t+2|0,e=e+2|0,(0|A)!=(0|(l=l+2|0)););break;case 0:break n;case 1:}p&&(o[f[i>>2]+e|0]=u[f[n>>2]+t|0],e=e+1|0)}if(t=a>>>0>(b=b+1|0)>>>0,(0|b)!=(0|a))continue}break}l=f[n>>2]}else for(e=0,t=1;;){if(!W(r,u[r+84|0]?e:f[f[r+68>>2]+(e<<2)>>2],o[r+24|0],l))break i;if(t=a>>>0>(e=e+1|0)>>>0,(0|e)==(0|a))break}else t=0;l&&ee(l),e=!t}else{if(e=f[r+48>>2],r=f[f[r>>2]>>2],t=0,f[n+8>>2]=0,f[n>>2]=0,f[n+4>>2]=0,c){if((0|c)<0)break r;t=ge(l=br(c),e+r|0,c)+c|0}(e=f[i>>2])&&(f[i+4>>2]=e,ee(e)),f[i+8>>2]=t,f[i+4>>2]=t,f[i>>2]=l,e=1}I=n+16|0,e&=1;break e}ii(),E()}ii(),E()}return 0|e},ab:function(e,t,r,i){e|=0,r|=0,i|=0;var n,a,s,c=0,l=0,b=0,A=0,p=0,_=0,h=0;I=n=I-16|0,a=f[80+(t|=0)>>2],s=u[r+24|0],c=d(a,t=s<<24>>24);e:{t:{r:{if(!(1==(0|(e=f[r+28>>2]))|2==(0|e))|!u[r+84|0]){if(f[n+8>>2]=0,f[n>>2]=0,f[n+4>>2]=0,t){if((0|t)<0)break r;l=br(t),f[n>>2]=l,e=t+l|0,f[n+8>>2]=e,Ye(l,0,t),f[n+4>>2]=e}i:if((p=(e=f[i+4>>2])-(A=f[i>>2])|0)>>>0<c>>>0){if((_=c-p|0)>>>0<=(h=f[i+8>>2])-e>>>0){_&&(e=Ye(e,0,_)+_|0),f[i+4>>2]=e;break i}if((0|c)<0)break t;if(h=(e=h-A|0)<<1,(e=e>>>0<1073741823?c>>>0>h>>>0?c:h:2147483647)&&(b=br(e)),Ye(b+p|0,0,_),(0|p)>0&&ge(b,A,p),f[i+8>>2]=e+b,f[i+4>>2]=c+b,f[i>>2]=b,!A)break i;ee(A)}else c>>>0>=p>>>0||(f[i+4>>2]=c+A);i:if(a)if(t){for(A=-2&(e=t-1|0),p=1&e,e=0,t=1,b=0;;){if(c=f[n>>2],j(r,u[r+84|0]?b:f[f[r+68>>2]+(b<<2)>>2],o[r+24|0],c)){o[f[i>>2]+e|0]=u[0|c],t=1,e=e+1|0,l=0;n:{o:switch(s-1|0){default:for(;o[f[i>>2]+e|0]=u[f[n>>2]+t|0],o[1+(f[i>>2]+e|0)|0]=u[1+(f[n>>2]+t|0)|0],t=t+2|0,e=e+2|0,(0|A)!=(0|(l=l+2|0)););break;case 0:break n;case 1:}p&&(o[f[i>>2]+e|0]=u[f[n>>2]+t|0],e=e+1|0)}if(t=a>>>0>(b=b+1|0)>>>0,(0|b)!=(0|a))continue}break}l=f[n>>2]}else for(e=0,t=1;;){if(!j(r,u[r+84|0]?e:f[f[r+68>>2]+(e<<2)>>2],o[r+24|0],l))break i;if(t=a>>>0>(e=e+1|0)>>>0,(0|e)==(0|a))break}else t=0;l&&ee(l),e=!t}else{if(e=f[r+48>>2],r=f[f[r>>2]>>2],t=0,f[n+8>>2]=0,f[n>>2]=0,f[n+4>>2]=0,c){if((0|c)<0)break r;t=ge(l=br(c),e+r|0,c)+c|0}(e=f[i>>2])&&(f[i+4>>2]=e,ee(e)),f[i+8>>2]=t,f[i+4>>2]=t,f[i>>2]=l,e=1}I=n+16|0,e&=1;break e}ii(),E()}ii(),E()}return 0|e},bb:function(e,t,r,i){e|=0,r|=0,i|=0;var n,s=0,c=0,b=0,A=0,p=0,_=0,h=0,k=0,m=0,y=0,v=0,g=0;I=n=I-16|0,A=f[80+(t|=0)>>2],e=o[r+24|0],s=d(A,e);e:{t:{if(!(3==(0|(t=f[r+28>>2]))|4==(0|t))|!u[r+84|0]){if(f[n+8>>2]=0,f[n>>2]=0,f[n+4>>2]=0,e){if((0|e)<0)break t;b=br(t=e<<1),f[n>>2]=b,c=t+b|0,f[n+8>>2]=c,Ye(b,0,t),f[n+4>>2]=c}c=f[i>>2],(t=f[i+4>>2]-c>>1)>>>0<s>>>0?bt(i,s-t|0):t>>>0<=s>>>0||(f[i+4>>2]=c+(s<<1));r:if(A)if(e){for(v=-4&e,m=3&e,g=e-1>>>0<3,t=1,s=0;;){if(z(r,u[r+84|0]?s:f[f[r+68>>2]+(s<<2)>>2],o[r+24|0],b)){if(y=f[i>>2],k=0,c=f[n>>2],e=0,t=0,!g)for(;h=e<<1,a[(_=(p<<1)+y|0)>>1]=l[c+h>>1],a[_+2>>1]=l[c+(2|h)>>1],a[_+4>>1]=l[c+(4|h)>>1],a[_+6>>1]=l[c+(6|h)>>1],e=e+4|0,p=p+4|0,(0|v)!=(0|(t=t+4|0)););if(m)for(;a[(p<<1)+y>>1]=l[c+(e<<1)>>1],e=e+1|0,p=p+1|0,(0|(k=k+1|0))!=(0|m););if(t=A>>>0>(s=s+1|0)>>>0,(0|s)!=(0|A))continue}break}b=f[n>>2]}else for(e=0,t=1;;){if(!z(r,u[r+84|0]?e:f[f[r+68>>2]+(e<<2)>>2],o[r+24|0],b))break r;if(t=A>>>0>(e=e+1|0)>>>0,(0|e)==(0|A))break}else t=0;b&&ee(b),e=1^t}else{if(b=f[r+48>>2],A=f[f[r>>2]>>2],t=0,f[n+8>>2]=0,f[n>>2]=0,f[n+4>>2]=0,r=0,e=s<<1){if((0|e)<0)break t;p=(t=ge(r=br(e),b+A|0,e))+e|0,t=t+(e>>1<<1)|0}(e=f[i>>2])&&(f[i+4>>2]=e,ee(e)),f[i+8>>2]=t,f[i+4>>2]=p,f[i>>2]=r,e=1}I=n+16|0,e&=1;break e}ii(),E()}return 0|e},cb:function(e,t,r,i){e|=0,r|=0,i|=0;var n,s=0,c=0,b=0,A=0,p=0,_=0,h=0,k=0,m=0,y=0,v=0,g=0;I=n=I-16|0,A=f[80+(t|=0)>>2],e=o[r+24|0],s=d(A,e);e:{t:{if(!(3==(0|(t=f[r+28>>2]))|4==(0|t))|!u[r+84|0]){if(f[n+8>>2]=0,f[n>>2]=0,f[n+4>>2]=0,e){if((0|e)<0)break t;b=br(t=e<<1),f[n>>2]=b,c=t+b|0,f[n+8>>2]=c,Ye(b,0,t),f[n+4>>2]=c}c=f[i>>2],(t=f[i+4>>2]-c>>1)>>>0<s>>>0?bt(i,s-t|0):t>>>0<=s>>>0||(f[i+4>>2]=c+(s<<1));r:if(A)if(e){for(v=-4&e,m=3&e,g=e-1>>>0<3,t=1,s=0;;){if(J(r,u[r+84|0]?s:f[f[r+68>>2]+(s<<2)>>2],o[r+24|0],b)){if(y=f[i>>2],k=0,c=f[n>>2],e=0,t=0,!g)for(;h=e<<1,a[(_=(p<<1)+y|0)>>1]=l[c+h>>1],a[_+2>>1]=l[c+(2|h)>>1],a[_+4>>1]=l[c+(4|h)>>1],a[_+6>>1]=l[c+(6|h)>>1],e=e+4|0,p=p+4|0,(0|v)!=(0|(t=t+4|0)););if(m)for(;a[(p<<1)+y>>1]=l[c+(e<<1)>>1],e=e+1|0,p=p+1|0,(0|(k=k+1|0))!=(0|m););if(t=A>>>0>(s=s+1|0)>>>0,(0|s)!=(0|A))continue}break}b=f[n>>2]}else for(e=0,t=1;;){if(!J(r,u[r+84|0]?e:f[f[r+68>>2]+(e<<2)>>2],o[r+24|0],b))break r;if(t=A>>>0>(e=e+1|0)>>>0,(0|e)==(0|A))break}else t=0;b&&ee(b),e=1^t}else{if(b=f[r+48>>2],A=f[f[r>>2]>>2],t=0,f[n+8>>2]=0,f[n>>2]=0,f[n+4>>2]=0,r=0,e=s<<1){if((0|e)<0)break t;p=(t=ge(r=br(e),b+A|0,e))+e|0,t=t+(e>>1<<1)|0}(e=f[i>>2])&&(f[i+4>>2]=e,ee(e)),f[i+8>>2]=t,f[i+4>>2]=p,f[i>>2]=r,e=1}I=n+16|0,e&=1;break e}ii(),E()}return 0|e},db:_e,eb:function(e,t,r,i){e|=0,r|=0,i|=0;var n,a=0,s=0,c=0,l=0,b=0,A=0,p=0,_=0,h=0,k=0,m=0,y=0;I=n=I-16|0,l=f[80+(t|=0)>>2],e=o[r+24|0],a=d(l,e);e:{t:{if(!(5==(0|(t=f[r+28>>2]))|6==(0|t))|!u[r+84|0]){if(f[n+8>>2]=0,f[n>>2]=0,f[n+4>>2]=0,e){if((0|e)<0)break t;c=br(t=e<<2),f[n>>2]=c,s=t+c|0,f[n+8>>2]=s,Ye(c,0,t),f[n+4>>2]=s}s=f[i>>2],(t=f[i+4>>2]-s>>2)>>>0<a>>>0?st(i,a-t|0):t>>>0<=a>>>0||(f[i+4>>2]=s+(a<<2));r:if(l)if(e){for(m=-4&e,h=3&e,y=e-1>>>0<3,t=1,a=0;;){if(X(r,u[r+84|0]?a:f[f[r+68>>2]+(a<<2)>>2],o[r+24|0],c)){if(k=f[i>>2],_=0,s=f[n>>2],e=0,t=0,!y)for(;p=e<<2,f[(A=(b<<2)+k|0)>>2]=f[s+p>>2],f[A+4>>2]=f[s+(4|p)>>2],f[A+8>>2]=f[s+(8|p)>>2],f[A+12>>2]=f[s+(12|p)>>2],e=e+4|0,b=b+4|0,(0|m)!=(0|(t=t+4|0)););if(h)for(;f[(b<<2)+k>>2]=f[s+(e<<2)>>2],e=e+1|0,b=b+1|0,(0|(_=_+1|0))!=(0|h););if(t=l>>>0>(a=a+1|0)>>>0,(0|a)!=(0|l))continue}break}c=f[n>>2]}else for(e=0,t=1;;){if(!X(r,u[r+84|0]?e:f[f[r+68>>2]+(e<<2)>>2],o[r+24|0],c))break r;if(t=l>>>0>(e=e+1|0)>>>0,(0|e)==(0|l))break}else t=0;c&&ee(c),e=1^t}else{if(c=f[r+48>>2],l=f[f[r>>2]>>2],t=0,f[n+8>>2]=0,f[n>>2]=0,f[n+4>>2]=0,r=0,e=a<<2){if((0|e)<0)break t;b=(t=ge(r=br(e),c+l|0,e))+e|0,t=t+(e>>2<<2)|0}(e=f[i>>2])&&(f[i+4>>2]=e,ee(e)),f[i+8>>2]=t,f[i+4>>2]=b,f[i>>2]=r,e=1}I=n+16|0,e&=1;break e}ii(),E()}return 0|e},fb:function(e,t,r,i,n,s){e|=0,t|=0,r|=0,n|=0,s|=0;var c=0,b=0,p=0,_=0,h=0,k=0,m=0,y=0,v=0,g=0,w=0,T=0,B=0,x=0,R=0,N=0,C=0;e:{t:{r:{i:{n:switch((i|=0)-1|0){case 0:e=0,I=k=I-16|0,_=f[t+80>>2],c=o[r+24|0];o:if((0|d(_,c))==(0|n))if((t=1!=f[r+28>>2])|!(e=u[r+84|0])){if(i=0,f[k+8>>2]=0,f[k>>2]=0,f[k+4>>2]=0,c){if((0|c)<0)break i;b=br(c),f[k>>2]=b,Ye(b,0,c)}a:{f:if(_){if(t){if(!c)for(t=0,i=1;;){if(!W(r,255&e?t:f[f[r+68>>2]+(t<<2)>>2],o[r+24|0],b))break f;if(i=_>>>0>(t=t+1|0)>>>0,(0|t)==(0|_))break f;e=u[r+84|0]}for(p=-4&c,h=3&c,t=0,v=c-1>>>0<3,i=1,n=0;;){if(!W(r,255&e?n:f[f[r+68>>2]+(n<<2)>>2],o[r+24|0],b))break f;if(i=0,e=0,m=0,!v)for(;o[0|(c=t+s|0)]=u[e+b|0],o[c+1|0]=u[(1|e)+b|0],o[c+2|0]=u[(2|e)+b|0],o[c+3|0]=u[(3|e)+b|0],e=e+4|0,t=t+4|0,(0|p)!=(0|(m=m+4|0)););if(h)for(;o[t+s|0]=u[e+b|0],e=e+1|0,t=t+1|0,(0|h)!=(0|(i=i+1|0)););if((0|_)==(0|(n=n+1|0)))break;i=n>>>0<_>>>0,e=u[r+84|0]}e=n>>>0>=_>>>0;break a}if(c)for(v=-4&c,h=3&c,t=0,B=c-1>>>0<3;;){if(n=f[f[r>>2]>>2],w=f[r+40>>2],n=ge(b,n+(e=f[r+48>>2]+Jt(w,f[r+44>>2],255&e?i:f[f[r+68>>2]+(i<<2)>>2],0)|0)|0,w),m=0,e=0,p=0,!B)for(;o[0|(c=t+s|0)]=u[e+n|0],o[c+1|0]=u[n+(1|e)|0],o[c+2|0]=u[n+(2|e)|0],o[c+3|0]=u[n+(3|e)|0],e=e+4|0,t=t+4|0,(0|v)!=(0|(p=p+4|0)););if(h)for(;o[t+s|0]=u[e+n|0],e=e+1|0,t=t+1|0,(0|h)!=(0|(m=m+1|0)););if(e=1,(0|_)==(0|(i=i+1|0)))break a;e=u[r+84|0]}if(m=f[r>>2],n=f[r+48>>2],B=f[r+68>>2],s=f[r+44>>2],w=r=f[r+40>>2],t=0,1!=(0|_))for(g=-2&_,T=255&e;c=1|t,h=ge(b,(y=f[m>>2])+(h=Jt(r,s,T?t:f[B+(t<<2)>>2],0)+n|0)|0,w),y=f[m>>2],T||(c=f[B+(c<<2)>>2]),ge(h,(c=Jt(r,s,c,0)+n|0)+y|0,w),t=t+2|0,(0|g)!=(0|(p=p+2|0)););if(!(1&_))break f;c=f[m>>2],255&e||(t=f[B+(t<<2)>>2]),ge(b,(e=Jt(r,s,t,0)+n|0)+c|0,w)}if(e=1^i,!b)break o}ee(b)}else ge(s,f[f[r>>2]>>2]+f[r+48>>2]|0,n),e=1;break r;case 2:e=0,I=m=I-16|0,c=(i=o[r+24|0])<<1,_=f[t+80>>2];o:if((0|d(c,_))==(0|n))if((t=3!=f[r+28>>2])|!(e=u[r+84|0])){if(f[m+8>>2]=0,f[m>>2]=0,f[m+4>>2]=0,i){if((0|i)<0)break i;b=br(c),f[m>>2]=b,Ye(b,0,c)}a:{f:if(_){if(t){if(!i)for(t=0,p=1;;){if(!z(r,255&e?t:f[f[r+68>>2]+(t<<2)>>2],o[r+24|0],b))break f;if(p=_>>>0>(t=t+1|0)>>>0,(0|t)==(0|_))break f;e=u[r+84|0]}for(v=-4&i,k=3&i,t=0,B=i-1>>>0<3,p=1,i=0;;){if(!z(r,255&e?i:f[f[r+68>>2]+(i<<2)>>2],o[r+24|0],b))break f;if(p=0,e=0,n=0,!B)for(;h=e<<1,a[(c=(t<<1)+s|0)>>1]=l[h+b>>1],a[c+2>>1]=l[(2|h)+b>>1],a[c+4>>1]=l[(4|h)+b>>1],a[c+6>>1]=l[(6|h)+b>>1],e=e+4|0,t=t+4|0,(0|v)!=(0|(n=n+4|0)););if(k)for(;a[(t<<1)+s>>1]=l[(e<<1)+b>>1],e=e+1|0,t=t+1|0,(0|k)!=(0|(p=p+1|0)););if((0|_)==(0|(i=i+1|0)))break;p=i>>>0<_>>>0,e=u[r+84|0]}e=i>>>0>=_>>>0;break a}if(v=f[r>>2],c=f[r+48>>2],w=f[r+68>>2],h=f[r+44>>2],T=k=f[r+40>>2],i){for(R=-4&i,x=3&i,t=0,N=255&e,C=i-1>>>0<3,i=0;;){if(p=ge(b,(r=f[v>>2])+(e=Jt(k,h,N?i:f[w+(i<<2)>>2],0)+c|0)|0,T),n=0,e=0,r=0,!C)for(;y=e<<1,a[(g=(t<<1)+s|0)>>1]=l[y+p>>1],a[g+2>>1]=l[p+(2|y)>>1],a[g+4>>1]=l[p+(4|y)>>1],a[g+6>>1]=l[p+(6|y)>>1],e=e+4|0,t=t+4|0,(0|R)!=(0|(r=r+4|0)););if(x)for(;a[(t<<1)+s>>1]=l[p+(e<<1)>>1],e=e+1|0,t=t+1|0,(0|x)!=(0|(n=n+1|0)););if(e=1,(0|_)==(0|(i=i+1|0)))break}break a}if(t=0,1!=(0|_))for(g=-2&_,s=255&e,i=0;r=1|t,n=ge(b,(y=f[v>>2])+(n=Jt(k,h,s?t:f[w+(t<<2)>>2],0)+c|0)|0,T),y=f[v>>2],s||(r=f[w+(r<<2)>>2]),ge(n,(r=Jt(k,h,r,0)+c|0)+y|0,T),t=t+2|0,(0|g)!=(0|(i=i+2|0)););if(!(1&_))break f;r=f[v>>2],255&e||(t=f[w+(t<<2)>>2]),ge(b,(e=Jt(k,h,t,0)+c|0)+r|0,T)}if(e=1^p,!b)break o}ee(b)}else ge(s,f[f[r>>2]>>2]+f[r+48>>2]|0,n),e=1;break t;case 4:e=0,I=m=I-16|0,c=(i=o[r+24|0])<<2,_=f[t+80>>2];o:if((0|d(c,_))==(0|n))if((t=5!=f[r+28>>2])|!(e=u[r+84|0])){if(f[m+8>>2]=0,f[m>>2]=0,f[m+4>>2]=0,i){if((0|i)<0)break i;b=br(c),f[m>>2]=b,Ye(b,0,c)}a:{f:if(_){if(t){if(!i)for(t=0,p=1;;){if(!L(r,255&e?t:f[f[r+68>>2]+(t<<2)>>2],o[r+24|0],b))break f;if(p=_>>>0>(t=t+1|0)>>>0,(0|t)==(0|_))break f;e=u[r+84|0]}for(v=-4&i,k=3&i,t=0,B=i-1>>>0<3,p=1,i=0;;){if(!L(r,255&e?i:f[f[r+68>>2]+(i<<2)>>2],o[r+24|0],b))break f;if(p=0,e=0,n=0,!B)for(;h=e<<2,f[(c=(t<<2)+s|0)>>2]=f[h+b>>2],f[c+4>>2]=f[(4|h)+b>>2],f[c+8>>2]=f[(8|h)+b>>2],f[c+12>>2]=f[(12|h)+b>>2],e=e+4|0,t=t+4|0,(0|v)!=(0|(n=n+4|0)););if(k)for(;f[(t<<2)+s>>2]=f[(e<<2)+b>>2],e=e+1|0,t=t+1|0,(0|k)!=(0|(p=p+1|0)););if((0|_)==(0|(i=i+1|0)))break;p=i>>>0<_>>>0,e=u[r+84|0]}e=i>>>0>=_>>>0;break a}if(v=f[r>>2],c=f[r+48>>2],w=f[r+68>>2],h=f[r+44>>2],T=k=f[r+40>>2],i){for(R=-4&i,x=3&i,t=0,N=255&e,C=i-1>>>0<3,i=0;;){if(p=ge(b,(r=f[v>>2])+(e=Jt(k,h,N?i:f[w+(i<<2)>>2],0)+c|0)|0,T),n=0,e=0,r=0,!C)for(;y=e<<2,f[(g=(t<<2)+s|0)>>2]=f[y+p>>2],f[g+4>>2]=f[p+(4|y)>>2],f[g+8>>2]=f[p+(8|y)>>2],f[g+12>>2]=f[p+(12|y)>>2],e=e+4|0,t=t+4|0,(0|R)!=(0|(r=r+4|0)););if(x)for(;f[(t<<2)+s>>2]=f[p+(e<<2)>>2],e=e+1|0,t=t+1|0,(0|x)!=(0|(n=n+1|0)););if(e=1,(0|_)==(0|(i=i+1|0)))break}break a}if(t=0,1!=(0|_))for(g=-2&_,s=255&e,i=0;r=1|t,n=ge(b,(y=f[v>>2])+(n=Jt(k,h,s?t:f[w+(t<<2)>>2],0)+c|0)|0,T),y=f[v>>2],s||(r=f[w+(r<<2)>>2]),ge(n,(r=Jt(k,h,r,0)+c|0)+y|0,T),t=t+2|0,(0|g)!=(0|(i=i+2|0)););if(!(1&_))break f;r=f[v>>2],255&e||(t=f[w+(t<<2)>>2]),ge(b,(e=Jt(k,h,t,0)+c|0)+r|0,T)}if(e=1^p,!b)break o}ee(b)}else ge(s,f[f[r>>2]>>2]+f[r+48>>2]|0,n),e=1;break t;case 1:e=0,I=k=I-16|0,_=f[t+80>>2],c=o[r+24|0];o:if((0|d(_,c))==(0|n))if((t=2!=f[r+28>>2])|!(e=u[r+84|0])){if(i=0,f[k+8>>2]=0,f[k>>2]=0,f[k+4>>2]=0,c){if((0|c)<0)break i;b=br(c),f[k>>2]=b,Ye(b,0,c)}a:{f:if(_){if(t){if(!c)for(t=0,i=1;;){if(!j(r,255&e?t:f[f[r+68>>2]+(t<<2)>>2],o[r+24|0],b))break f;if(i=_>>>0>(t=t+1|0)>>>0,(0|t)==(0|_))break f;e=u[r+84|0]}for(p=-4&c,h=3&c,t=0,v=c-1>>>0<3,i=1,n=0;;){if(!j(r,255&e?n:f[f[r+68>>2]+(n<<2)>>2],o[r+24|0],b))break f;if(i=0,e=0,m=0,!v)for(;o[0|(c=t+s|0)]=u[e+b|0],o[c+1|0]=u[(1|e)+b|0],o[c+2|0]=u[(2|e)+b|0],o[c+3|0]=u[(3|e)+b|0],e=e+4|0,t=t+4|0,(0|p)!=(0|(m=m+4|0)););if(h)for(;o[t+s|0]=u[e+b|0],e=e+1|0,t=t+1|0,(0|h)!=(0|(i=i+1|0)););if((0|_)==(0|(n=n+1|0)))break;i=n>>>0<_>>>0,e=u[r+84|0]}e=n>>>0>=_>>>0;break a}if(c)for(v=-4&c,h=3&c,t=0,B=c-1>>>0<3;;){if(n=f[f[r>>2]>>2],w=f[r+40>>2],n=ge(b,n+(e=f[r+48>>2]+Jt(w,f[r+44>>2],255&e?i:f[f[r+68>>2]+(i<<2)>>2],0)|0)|0,w),m=0,e=0,p=0,!B)for(;o[0|(c=t+s|0)]=u[e+n|0],o[c+1|0]=u[n+(1|e)|0],o[c+2|0]=u[n+(2|e)|0],o[c+3|0]=u[n+(3|e)|0],e=e+4|0,t=t+4|0,(0|v)!=(0|(p=p+4|0)););if(h)for(;o[t+s|0]=u[e+n|0],e=e+1|0,t=t+1|0,(0|h)!=(0|(m=m+1|0)););if(e=1,(0|_)==(0|(i=i+1|0)))break a;e=u[r+84|0]}if(m=f[r>>2],n=f[r+48>>2],B=f[r+68>>2],s=f[r+44>>2],w=r=f[r+40>>2],t=0,1!=(0|_))for(g=-2&_,T=255&e;c=1|t,h=ge(b,(y=f[m>>2])+(h=Jt(r,s,T?t:f[B+(t<<2)>>2],0)+n|0)|0,w),y=f[m>>2],T||(c=f[B+(c<<2)>>2]),ge(h,(c=Jt(r,s,c,0)+n|0)+y|0,w),t=t+2|0,(0|g)!=(0|(p=p+2|0)););if(!(1&_))break f;c=f[m>>2],255&e||(t=f[B+(t<<2)>>2]),ge(b,(e=Jt(r,s,t,0)+n|0)+c|0,w)}if(e=1^i,!b)break o}ee(b)}else ge(s,f[f[r>>2]>>2]+f[r+48>>2]|0,n),e=1;break r;case 3:e=0,I=m=I-16|0,c=(i=o[r+24|0])<<1,_=f[t+80>>2];o:if((0|d(c,_))==(0|n))if((t=4!=f[r+28>>2])|!(e=u[r+84|0])){if(f[m+8>>2]=0,f[m>>2]=0,f[m+4>>2]=0,i){if((0|i)<0)break i;b=br(c),f[m>>2]=b,Ye(b,0,c)}a:{f:if(_){if(t){if(!i)for(t=0,p=1;;){if(!J(r,255&e?t:f[f[r+68>>2]+(t<<2)>>2],o[r+24|0],b))break f;if(p=_>>>0>(t=t+1|0)>>>0,(0|t)==(0|_))break f;e=u[r+84|0]}for(v=-4&i,k=3&i,t=0,B=i-1>>>0<3,p=1,i=0;;){if(!J(r,255&e?i:f[f[r+68>>2]+(i<<2)>>2],o[r+24|0],b))break f;if(p=0,e=0,n=0,!B)for(;h=e<<1,a[(c=(t<<1)+s|0)>>1]=l[h+b>>1],a[c+2>>1]=l[(2|h)+b>>1],a[c+4>>1]=l[(4|h)+b>>1],a[c+6>>1]=l[(6|h)+b>>1],e=e+4|0,t=t+4|0,(0|v)!=(0|(n=n+4|0)););if(k)for(;a[(t<<1)+s>>1]=l[(e<<1)+b>>1],e=e+1|0,t=t+1|0,(0|k)!=(0|(p=p+1|0)););if((0|_)==(0|(i=i+1|0)))break;p=i>>>0<_>>>0,e=u[r+84|0]}e=i>>>0>=_>>>0;break a}if(v=f[r>>2],c=f[r+48>>2],w=f[r+68>>2],h=f[r+44>>2],T=k=f[r+40>>2],i){for(R=-4&i,x=3&i,t=0,N=255&e,C=i-1>>>0<3,i=0;;){if(p=ge(b,(r=f[v>>2])+(e=Jt(k,h,N?i:f[w+(i<<2)>>2],0)+c|0)|0,T),n=0,e=0,r=0,!C)for(;y=e<<1,a[(g=(t<<1)+s|0)>>1]=l[y+p>>1],a[g+2>>1]=l[p+(2|y)>>1],a[g+4>>1]=l[p+(4|y)>>1],a[g+6>>1]=l[p+(6|y)>>1],e=e+4|0,t=t+4|0,(0|R)!=(0|(r=r+4|0)););if(x)for(;a[(t<<1)+s>>1]=l[p+(e<<1)>>1],e=e+1|0,t=t+1|0,(0|x)!=(0|(n=n+1|0)););if(e=1,(0|_)==(0|(i=i+1|0)))break}break a}if(t=0,1!=(0|_))for(g=-2&_,s=255&e,i=0;r=1|t,n=ge(b,(y=f[v>>2])+(n=Jt(k,h,s?t:f[w+(t<<2)>>2],0)+c|0)|0,T),y=f[v>>2],s||(r=f[w+(r<<2)>>2]),ge(n,(r=Jt(k,h,r,0)+c|0)+y|0,T),t=t+2|0,(0|g)!=(0|(i=i+2|0)););if(!(1&_))break f;r=f[v>>2],255&e||(t=f[w+(t<<2)>>2]),ge(b,(e=Jt(k,h,t,0)+c|0)+r|0,T)}if(e=1^p,!b)break o}ee(b)}else ge(s,f[f[r>>2]>>2]+f[r+48>>2]|0,n),e=1;break t;case 5:e=0,I=m=I-16|0,c=(i=o[r+24|0])<<2,_=f[t+80>>2];o:if((0|d(c,_))==(0|n))if((t=6!=f[r+28>>2])|!(e=u[r+84|0])){if(f[m+8>>2]=0,f[m>>2]=0,f[m+4>>2]=0,i){if((0|i)<0)break i;b=br(c),f[m>>2]=b,Ye(b,0,c)}a:{f:if(_){if(t){if(!i)for(t=0,p=1;;){if(!X(r,255&e?t:f[f[r+68>>2]+(t<<2)>>2],o[r+24|0],b))break f;if(p=_>>>0>(t=t+1|0)>>>0,(0|t)==(0|_))break f;e=u[r+84|0]}for(v=-4&i,k=3&i,t=0,B=i-1>>>0<3,p=1,i=0;;){if(!X(r,255&e?i:f[f[r+68>>2]+(i<<2)>>2],o[r+24|0],b))break f;if(p=0,e=0,n=0,!B)for(;h=e<<2,f[(c=(t<<2)+s|0)>>2]=f[h+b>>2],f[c+4>>2]=f[(4|h)+b>>2],f[c+8>>2]=f[(8|h)+b>>2],f[c+12>>2]=f[(12|h)+b>>2],e=e+4|0,t=t+4|0,(0|v)!=(0|(n=n+4|0)););if(k)for(;f[(t<<2)+s>>2]=f[(e<<2)+b>>2],e=e+1|0,t=t+1|0,(0|k)!=(0|(p=p+1|0)););if((0|_)==(0|(i=i+1|0)))break;p=i>>>0<_>>>0,e=u[r+84|0]}e=i>>>0>=_>>>0;break a}if(v=f[r>>2],c=f[r+48>>2],w=f[r+68>>2],h=f[r+44>>2],T=k=f[r+40>>2],i){for(R=-4&i,x=3&i,t=0,N=255&e,C=i-1>>>0<3,i=0;;){if(p=ge(b,(r=f[v>>2])+(e=Jt(k,h,N?i:f[w+(i<<2)>>2],0)+c|0)|0,T),n=0,e=0,r=0,!C)for(;y=e<<2,f[(g=(t<<2)+s|0)>>2]=f[y+p>>2],f[g+4>>2]=f[p+(4|y)>>2],f[g+8>>2]=f[p+(8|y)>>2],f[g+12>>2]=f[p+(12|y)>>2],e=e+4|0,t=t+4|0,(0|R)!=(0|(r=r+4|0)););if(x)for(;f[(t<<2)+s>>2]=f[p+(e<<2)>>2],e=e+1|0,t=t+1|0,(0|x)!=(0|(n=n+1|0)););if(e=1,(0|_)==(0|(i=i+1|0)))break}break a}if(t=0,1!=(0|_))for(g=-2&_,s=255&e,i=0;r=1|t,n=ge(b,(y=f[v>>2])+(n=Jt(k,h,s?t:f[w+(t<<2)>>2],0)+c|0)|0,T),y=f[v>>2],s||(r=f[w+(r<<2)>>2]),ge(n,(r=Jt(k,h,r,0)+c|0)+y|0,T),t=t+2|0,(0|g)!=(0|(i=i+2|0)););if(!(1&_))break f;r=f[v>>2],255&e||(t=f[w+(t<<2)>>2]),ge(b,(e=Jt(k,h,t,0)+c|0)+r|0,T)}if(e=1^p,!b)break o}ee(b)}else ge(s,f[f[r>>2]>>2]+f[r+48>>2]|0,n),e=1;break t;case 8:break n;default:break e}e=0,I=v=I-16|0,i=(h=o[r+24|0])<<2,_=f[t+80>>2];n:if((0|d(i,_))==(0|n)){n=f[r+28>>2],f[v+8>>2]=0,f[v>>2]=0,f[v+4>>2]=0,t=0;o:{a:{f:{if(h){if((0|h)<0)break f;if(t=br(i),f[v>>2]=t,c=(h<<2)+t|0,f[v+8>>2]=c,k=1+((i=i-4|0)>>>2|0)&7)for(e=t;f[e>>2]=-1073741824,e=e+4|0,(0|k)!=(0|(b=b+1|0)););else e=t;if(!(i>>>0<28))for(;f[e+24>>2]=-1073741824,f[e+28>>2]=-1073741824,f[e+16>>2]=-1073741824,f[e+20>>2]=-1073741824,f[e+8>>2]=-1073741824,f[e+12>>2]=-1073741824,f[e>>2]=-1073741824,f[e+4>>2]=-1073741824,(0|c)!=(0|(e=e+32|0)););}if(!_)break a;if(9==(0|n)){if(e=0,B=f[r>>2],i=f[r+48>>2],T=f[r+68>>2],g=u[r+84|0],n=f[r+44>>2],y=c=f[r+40>>2],(0|h)<=0){if(1!=(0|_))for(h=-2&_,r=0;s=1|e,b=ge(t,(k=f[B>>2])+(b=Jt(c,n,g?e:f[T+(e<<2)>>2],0)+i|0)|0,y),k=f[B>>2],g||(s=f[T+(s<<2)>>2]),ge(b,(s=Jt(c,n,s,0)+i|0)+k|0,y),e=e+2|0,(0|h)!=(0|(r=r+2|0)););if(!(1&_))break a;r=f[B>>2],g||(e=f[T+(e<<2)>>2]),ge(t,(e=Jt(c,n,e,0)+i|0)+r|0,y);break a}for(N=-4&h,x=3&h,b=0,C=h-1>>>0<3;;){if(r=ge(t,(r=f[B>>2])+(e=Jt(c,n,g?p:f[T+(p<<2)>>2],0)+i|0)|0,y),k=0,e=0,R=0,!C)for(;m=e<<2,A[(h=(b<<2)+s|0)>>2]=A[m+r>>2],A[h+4>>2]=A[r+(4|m)>>2],A[h+8>>2]=A[r+(8|m)>>2],A[h+12>>2]=A[r+(12|m)>>2],e=e+4|0,b=b+4|0,(0|N)!=(0|(R=R+4|0)););if(x)for(;A[(b<<2)+s>>2]=A[r+(e<<2)>>2],e=e+1|0,b=b+1|0,(0|x)!=(0|(k=k+1|0)););if(e=1,(0|_)==(0|(p=p+1|0)))break}break o}if(m=1,(0|h)<=0){for(e=0;;){if(!V(r,u[r+84|0]?e:f[f[r+68>>2]+(e<<2)>>2],o[r+24|0],t))break a;if(m=_>>>0>(e=e+1|0)>>>0,(0|e)==(0|_))break}break a}for(B=-4&h,c=3&h,b=0,h=h-1>>>0<3;;){if(!V(r,u[r+84|0]?p:f[f[r+68>>2]+(p<<2)>>2],o[r+24|0],t))break a;if(m=0,e=0,k=0,!h)for(;n=e<<2,A[(i=(b<<2)+s|0)>>2]=A[n+t>>2],A[i+4>>2]=A[(4|n)+t>>2],A[i+8>>2]=A[(8|n)+t>>2],A[i+12>>2]=A[(12|n)+t>>2],e=e+4|0,b=b+4|0,(0|B)!=(0|(k=k+4|0)););if(c)for(;A[(b<<2)+s>>2]=A[(e<<2)+t>>2],e=e+1|0,b=b+1|0,(0|c)!=(0|(m=m+1|0)););if(m=_>>>0>(p=p+1|0)>>>0,(0|p)==(0|_))break}e=p>>>0>=_>>>0;break o}ii(),E()}if(e=1^m,!t)break n}ee(t)}I=v+16|0,b=1&e;break e}ii(),E()}I=k+16|0,b=1&e;break e}I=m+16|0,b=1&e}return 0|b},gb:function(e,t){e|=0,t|=0;var r,i=0,n=0,a=0,s=0,c=0,l=0,A=0,p=0,d=0,_=0,h=0,k=0,m=0,y=0,v=0,g=0,w=0,T=0,B=0;I=r=I-16|0,f[r+12>>2]=t,t=br(32),f[r>>2]=t,f[r+4>>2]=24,f[r+8>>2]=-2147483616,o[t+24|0]=0,n=u[1308]|u[1309]<<8|u[1310]<<16|u[1311]<<24,i=u[1304]|u[1305]<<8|u[1306]<<16|u[1307]<<24,o[t+16|0]=i,o[t+17|0]=i>>>8,o[t+18|0]=i>>>16,o[t+19|0]=i>>>24,o[t+20|0]=n,o[t+21|0]=n>>>8,o[t+22|0]=n>>>16,o[t+23|0]=n>>>24,n=u[1300]|u[1301]<<8|u[1302]<<16|u[1303]<<24,i=u[1296]|u[1297]<<8|u[1298]<<16|u[1299]<<24,o[t+8|0]=i,o[t+9|0]=i>>>8,o[t+10|0]=i>>>16,o[t+11|0]=i>>>24,o[t+12|0]=n,o[t+13|0]=n>>>8,o[t+14|0]=n>>>16,o[t+15|0]=n>>>24,n=u[1292]|u[1293]<<8|u[1294]<<16|u[1295]<<24,i=u[1288]|u[1289]<<8|u[1290]<<16|u[1291]<<24,o[0|t]=i,o[t+1|0]=i>>>8,o[t+2|0]=i>>>16,o[t+3|0]=i>>>24,o[t+4|0]=n,o[t+5|0]=n>>>8,o[t+6|0]=n>>>16,o[t+7|0]=n>>>24,I=l=I-48|0,d=e;e:{if(e=f[(n=e+16|0)>>2]){for(i=f[r+12>>2],t=n;t=(s=(0|i)>f[e+16>>2])?t:e,e=f[(s<<2)+e>>2];);if((0|t)!=(0|n)&&(0|i)>=f[t+16>>2])break e}if(f[4+(e=w=l+24|0)>>2]=0,f[e+8>>2]=0,T=e+4|0,f[e>>2]=T,e=f[r+12>>2],f[(i=l+16|0)>>2]=0,f[i+4>>2]=0,f[l+8>>2]=e,f[l+12>>2]=i,(0|T)!=(0|(t=f[w>>2])))for(_=l+8|4;;){s=t,c=t+16|0,I=y=I-16|0,A=y+12|0,e=y+8|0;t:{r:{i:{n:{o:{a:{f:if((0|(v=_+4|0))!=(0|i))if(a=(t=u[i+27|0])<<24>>24<0,p=(0|(B=(h=u[c+11|0])<<24>>24))<0,m=(k=(t=a?f[i+20>>2]:t)>>>0<(h=p?f[c+4>>2]:h)>>>0)?t:h){if(g=i+16|0,!(g=xt(p=p?f[c>>2]:c,a=a?f[g>>2]:g,m))){if(t>>>0>h>>>0)break f;break a}if((0|g)>=0)break a}else if(t>>>0<=h>>>0)break o;a=f[i>>2];f:{s:if((0|(e=i))!=f[_>>2]){if(a)for(t=a;e=t,t=f[t+4>>2];);else{if(e=i+8|0,(0|i)==f[f[i+8>>2]>>2])for(;e=(t=f[e>>2])+8|0,(0|t)==f[f[t+8>>2]>>2];);e=f[e>>2]}if(t=(p=u[c+11|0])<<24>>24<0,h=(k=u[e+27|0])<<24>>24<0,!((m=(p=t?f[c+4>>2]:p)>>>0<(k=h?f[e+20>>2]:k)>>>0?p:k)&&(v=e+16|0,t=xt(h?f[v>>2]:v,t?f[c>>2]:c,m)))){if(p>>>0>k>>>0)break s;break f}if((0|t)>=0)break f}if(!a){f[A>>2]=i,e=i;break t}f[A>>2]=e,e=e+4|0;break t}e=qe(_,A,c);break t}if(t=xt(a,p,m))break n}if(k)break i;break r}if((0|t)>=0)break r}if(a=f[i+4>>2])for(t=a;e=t,t=f[t>>2];);else if(e=f[i+8>>2],(0|i)!=f[e>>2])for(t=i+8|0;t=(p=f[t>>2])+8|0,e=f[p+8>>2],(0|p)!=f[e>>2];);i:{n:if((0|e)!=(0|v)){if(!((k=(p=(t=(p=u[e+27|0])<<24>>24<0)?f[e+20>>2]:p)>>>0<h>>>0?p:h)&&(m=e+16|0,t=xt((0|B)<0?f[c>>2]:c,t?f[m>>2]:m,k)))){if(p>>>0>h>>>0)break n;break i}if((0|t)>=0)break i}if(!a){f[A>>2]=i,e=i+4|0;break t}f[A>>2]=e;break t}e=qe(_,A,c);break t}f[A>>2]=i,f[e>>2]=i}(e=f[(t=e)>>2])?t=0:(a=(e=br(40))+16|0,o[c+11|0]>=0?(A=f[c+4>>2],f[a>>2]=f[c>>2],f[a+4>>2]=A,f[a+8>>2]=f[c+8>>2]):Vt(a,f[c>>2],f[c+4>>2]),a=e+28|0,o[c+23|0]>=0?(A=f[c+16>>2],f[a>>2]=f[c+12>>2],f[a+4>>2]=A,f[a+8>>2]=f[c+20>>2]):Vt(a,f[c+12>>2],f[c+16>>2]),f[e+8>>2]=f[y+12>>2],f[e>>2]=0,f[e+4>>2]=0,f[t>>2]=e,(a=f[f[_>>2]>>2])?(f[_>>2]=a,t=f[t>>2]):t=e,Te(f[_+4>>2],t),f[_+8>>2]=f[_+8>>2]+1,t=1),o[l+44|0]=t,f[l+40>>2]=e,I=y+16|0;t:if(e=f[s+4>>2])for(;e=f[(t=e)>>2];);else{if(t=f[s+8>>2],(0|s)==f[t>>2])break t;for(e=s+8|0;e=(s=f[e>>2])+8|0,t=f[s+8>>2],(0|s)!=f[t>>2];);}if((0|t)==(0|T))break}t:{if(e=f[n>>2])for(n=d+16|0,s=f[l+8>>2];;){r:{if((0|(t=f[e+16>>2]))>(0|s)){if(t=f[e>>2])break r;n=e;break t}if((0|t)>=(0|s))break t;if(n=e+4|0,!(t=f[e+4>>2]))break t;e=n}n=e,e=t}e=n}(t=f[n>>2])||(t=br(32),f[t+16>>2]=f[l+8>>2],f[t+20>>2]=f[l+12>>2],s=t+24|0,a=f[l+16>>2],f[s>>2]=a,c=f[l+20>>2],f[t+28>>2]=c,c?(f[a+8>>2]=s,f[l+16>>2]=0,f[l+20>>2]=0,f[l+12>>2]=i):f[t+20>>2]=s,f[t+8>>2]=e,f[t>>2]=0,f[t+4>>2]=0,f[n>>2]=t,(e=f[f[d+12>>2]>>2])?(f[d+12>>2]=e,e=f[n>>2]):e=t,Te(f[d+16>>2],e),f[d+20>>2]=f[d+20>>2]+1),Ar(l+8|4,f[l+16>>2]),Ar(w,f[w+4>>2])}if(I=i=(I=d=(I=l+48|0)-48|0)-32|0,(0|(s=(c=i+32|0)-(e=n=i+21|0)|0))<=9&(0|s)<(1-(b[2744]>1)|0)?(f[i+8>>2]=c,e=61):(o[0|e]=49,f[i+8>>2]=e+1,e=0),f[i+12>>2]=e,e=d+8|0,I=a=(I=l=I-16|0)-16|0,(s=(_=f[i+8>>2])-n|0)>>>0<=4294967279){for(s>>>0<=10?(o[e+11|0]=s,i=e):(i=s>>>0>=11?11==(0|(i=(A=s+16&-16)-1|0))?A:i:10,i=br(A=i+1|0),f[e>>2]=i,f[e+8>>2]=-2147483648|A,f[e+4>>2]=s);(0|n)!=(0|_);)o[0|i]=u[0|n],i=i+1|0,n=n+1|0;o[a+15|0]=0,o[0|i]=u[a+15|0],I=a+16|0}else oi(),E();I=l+16|0,I=c,f[d+32>>2]=r;e:{t:{if(e=f[4+(i=t+20|0)>>2])for(a=(n=(t=u[r+11|0])<<24>>24<0)?f[r>>2]:r,s=n?f[r+4>>2]:t,t=i+4|0;;){r:{i:{n:{o:{a:{f:if(_=(l=(n=(c=(n=u[e+27|0])<<24>>24<0)?f[e+20>>2]:n)>>>0<s>>>0)?n:s){if(A=e+16|0,!(A=xt(a,c=c?f[A>>2]:A,_))){if(n>>>0>s>>>0)break f;break a}if((0|A)>=0)break a}else if(n>>>0<=s>>>0)break o;if(n=f[e>>2])break r;break t}if(n=xt(c,a,_))break n}if(l)break i;break e}if((0|n)>=0)break e}if(t=e+4|0,!(n=f[e+4>>2]))break e;e=t}t=e,e=n}e=i+4|0}t=e}(n=f[t>>2])?e=0:(a=(n=br(40))+16|0,s=f[d+32>>2],o[s+11|0]>=0?(c=f[s+4>>2],f[a>>2]=f[s>>2],f[a+4>>2]=c,f[a+8>>2]=f[s+8>>2]):Vt(a,f[s>>2],f[s+4>>2]),f[n+8>>2]=e,f[n>>2]=0,f[n+4>>2]=0,f[n+36>>2]=0,f[n+28>>2]=0,f[n+32>>2]=0,f[t>>2]=n,(e=f[f[i>>2]>>2])?(f[i>>2]=e,e=f[t>>2]):e=n,Te(f[i+4>>2],e),f[i+8>>2]=f[i+8>>2]+1,e=1),o[d+44|0]=e,f[d+40>>2]=n,e=f[d+40>>2],o[e+39|0]<0&&ee(f[e+28>>2]),t=f[d+12>>2],f[e+28>>2]=f[d+8>>2],f[e+32>>2]=t,f[e+36>>2]=f[d+16>>2],I=d+48|0,o[r+11|0]<0&&ee(f[r>>2]),I=r+16|0},hb:function(e,t){e|=0;var r,i,n=0,a=0;a=8+(i=I-32|0)|0,I=r=(I=i)-80|0,e=f[36+(t|=0)>>2],f[r+72>>2]=f[t+32>>2],f[r+76>>2]=e,n=f[t+28>>2],f[(e=r- -64|0)>>2]=f[t+24>>2],f[e+4>>2]=n,e=f[t+20>>2],f[r+56>>2]=f[t+16>>2],f[r+60>>2]=e,e=f[t+12>>2],f[r+48>>2]=f[t+8>>2],f[r+52>>2]=e,e=f[t+4>>2],f[r+40>>2]=f[t>>2],f[r+44>>2]=e,Q(r+8|0,r+40|0,r+24|0);e:if(e=f[r+8>>2]){if(f[a>>2]=e,e=a+4|0,o[r+23|0]>=0){a=f[4+(t=r+8|4)>>2],f[e>>2]=f[t>>2],f[e+4>>2]=a,f[e+8>>2]=f[t+8>>2];break e}if(Vt(e,f[r+12>>2],f[r+16>>2]),o[r+23|0]>=0)break e;ee(f[r+12>>2])}else o[r+23|0]<0&&ee(f[r+12>>2]),(e=u[r+31|0])>>>0>=2?(e=br(32),t=u[1619]|u[1620]<<8,o[e+24|0]=t,o[e+25|0]=t>>>8,t=u[1615]|u[1616]<<8|u[1617]<<16|u[1618]<<24,n=u[1611]|u[1612]<<8|u[1613]<<16|u[1614]<<24,o[e+16|0]=n,o[e+17|0]=n>>>8,o[e+18|0]=n>>>16,o[e+19|0]=n>>>24,o[e+20|0]=t,o[e+21|0]=t>>>8,o[e+22|0]=t>>>16,o[e+23|0]=t>>>24,t=u[1607]|u[1608]<<8|u[1609]<<16|u[1610]<<24,n=u[1603]|u[1604]<<8|u[1605]<<16|u[1606]<<24,o[e+8|0]=n,o[e+9|0]=n>>>8,o[e+10|0]=n>>>16,o[e+11|0]=n>>>24,o[e+12|0]=t,o[e+13|0]=t>>>8,o[e+14|0]=t>>>16,o[e+15|0]=t>>>24,t=u[1599]|u[1600]<<8|u[1601]<<16|u[1602]<<24,n=u[1595]|u[1596]<<8|u[1597]<<16|u[1598]<<24,o[0|e]=n,o[e+1|0]=n>>>8,o[e+2|0]=n>>>16,o[e+3|0]=n>>>24,o[e+4|0]=t,o[e+5|0]=t>>>8,o[e+6|0]=t>>>16,o[e+7|0]=t>>>24,o[e+26|0]=0,f[r+8>>2]=-1,Vt(t=r+8|4,e,26),n=o[r+23|0],f[a>>2]=f[r+8>>2],a=a+4|0,(0|n)>=0?(n=f[t+4>>2],f[a>>2]=f[t>>2],f[a+4>>2]=n,f[a+8>>2]=f[t+8>>2]):Vt(a,f[r+12>>2],f[r+16>>2]),o[r+23|0]<0&&ee(f[r+12>>2]),ee(e)):(f[a>>2]=0,f[a+4>>2]=0,f[a+16>>2]=e,f[a+8>>2]=0,f[a+12>>2]=0);return I=r+80|0,e=f[i+24>>2],o[i+23|0]<0&&ee(f[i+12>>2]),I=i+32|0,0|e},ib:function(e,t,r){e|=0,t|=0,r|=0;var i,n=0,a=0;I=t=I-16|0,We(t),f[e+24>>2]=f[t>>2];e:if((0|(i=e+24|0))!=(0|t))if(r=4|t,n=(a=u[t+15|0])<<24>>24,o[11+(e=e+28|0)|0]>=0){if((0|n)>=0){n=f[r+4>>2],f[e>>2]=f[r>>2],f[e+4>>2]=n,f[e+8>>2]=f[r+8>>2];break e}tr(e,f[t+4>>2],f[t+8>>2])}else zt(e,(e=(0|n)<0)?f[t+4>>2]:r,e?f[t+8>>2]:a);return o[t+15|0]<0&&ee(f[t+4>>2]),I=t+16|0,0|i},jb:function(e,t,r){var i,n,a=0;I=i=I-16|0,G(i,e|=0,t|=0,r|=0),f[e+24>>2]=f[i>>2];e:if((0|(n=e+24|0))!=(0|i))if(t=4|i,r=(a=u[i+15|0])<<24>>24,o[11+(e=e+28|0)|0]>=0){if((0|r)>=0){r=f[t+4>>2],f[e>>2]=f[t>>2],f[e+4>>2]=r,f[e+8>>2]=f[t+8>>2];break e}tr(e,f[i+4>>2],f[i+8>>2])}else zt(e,(e=(0|r)<0)?f[i+4>>2]:t,e?f[i+8>>2]:a);return o[i+15|0]<0&&ee(f[i+4>>2]),I=i+16|0,0|n},kb:function(e){(e|=0)&&(o[e+39|0]<0&&ee(f[e+28>>2]),function e(t,r){r&&(e(t,f[r>>2]),e(t,f[r+4>>2]),Ar(r+20|0,f[r+24>>2]),ee(r))}(e+12|0,f[e+16>>2]),Ar(e,f[e+4>>2]),ee(e))},lb:fi,mb:ui,nb:si,ob:Ai,pb:fi,qb:ui,rb:si,sb:Ai,tb:li,ub:bi,vb:fi,wb:ui,xb:si,yb:ui,zb:si,Ab:Ai,Bb:li,Cb:bi,Db:function(){return 5},Eb:function(){return 6},Fb:function(){return 7},Gb:function(){return 8},Hb:function(){return 9},Ib:function(){return 10},Jb:function(){return 11},Kb:function(){return 12},Lb:ui,Mb:fi,Nb:function(){return-2},Ob:function(){return-3},Pb:function(){return-4},Qb:function(){return-5},Rb:M,Sb:ee}}(e)}(ae)},instantiate:function(e,t){return{then:function(t){var r=new B.Module(e);t({instance:new B.Instance(r)})}}},RuntimeError:Error};w=[],"object"!=typeof B&&L("no native wasm support detected");var x=!1;function R(e,t){e||L("Assertion failed: "+t)}var N,I,C,D,M="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function G(e,t){return e?function(e,t,r){for(var i=t+r,n=t;e[n]&&!(n>=i);)++n;if(n-t>16&&e.subarray&&M)return M.decode(e.subarray(t,n));for(var o="";t<n;){var a=e[t++];if(128&a){var f=63&e[t++];if(192!=(224&a)){var s=63&e[t++];if((a=224==(240&a)?(15&a)<<12|f<<6|s:(7&a)<<18|f<<12|s<<6|63&e[t++])<65536)o+=String.fromCharCode(a);else{var c=a-65536;o+=String.fromCharCode(55296|c>>10,56320|1023&c)}}else o+=String.fromCharCode((31&a)<<6|f)}else o+=String.fromCharCode(a)}return o}(C,e,t):""}function U(e){N=e,s.HEAP8=I=new Int8Array(e),s.HEAP16=new Int16Array(e),s.HEAP32=D=new Int32Array(e),s.HEAPU8=C=new Uint8Array(e),s.HEAPU16=new Uint16Array(e),s.HEAPU32=new Uint32Array(e),s.HEAPF32=new Float32Array(e),s.HEAPF64=new Float64Array(e)}var V,S=s.INITIAL_MEMORY||16777216;(T=s.wasmMemory?s.wasmMemory:new B.Memory({initial:S/65536,maximum:32768}))&&(N=T.buffer),S=N.byteLength,U(N);var F=[],W=[],j=[],O=!1;function Z(e){W.unshift(e)}var P,Y,z=0,J=null,Q=null;function L(e){s.onAbort&&s.onAbort(e),E(e="Aborted("+e+")"),x=!0,e+=". Build with -s ASSERTIONS=1 for more info.";var t=new B.RuntimeError(e);throw f(t),t}function X(e){return e.startsWith("data:application/octet-stream;base64,")}function H(e){return e.startsWith("file://")}function q(e){try{if(e==P&&w)return new Uint8Array(w);var t=ne(e);if(t)return t;if(d)return d(e);throw"both async and sync fetching of the wasm failed"}catch(e){L(e)}}function $(e){for(;e.length>0;){var t=e.shift();if("function"!=typeof t){var r=t.func;"number"==typeof r?void 0===t.arg?ee(r)():ee(r)(t.arg):r(void 0===t.arg?null:t.arg)}else t(s)}}s.preloadedImages={},s.preloadedAudios={},X(P="draco_decoder_gltf.wasm")||(Y=P,P=s.locateFile?s.locateFile(Y,g):g+Y);var K=[];function ee(e){var t=K[e];return t||(e>=K.length&&(K.length=e+1),K[e]=t=V.get(e)),t}function te(e){this.excPtr=e,this.ptr=e-16,this.set_type=function(e){D[this.ptr+4>>2]=e},this.get_type=function(){return D[this.ptr+4>>2]},this.set_destructor=function(e){D[this.ptr+8>>2]=e},this.get_destructor=function(){return D[this.ptr+8>>2]},this.set_refcount=function(e){D[this.ptr>>2]=e},this.set_caught=function(e){e=e?1:0,I[this.ptr+12>>0]=e},this.get_caught=function(){return 0!=I[this.ptr+12>>0]},this.set_rethrown=function(e){e=e?1:0,I[this.ptr+13>>0]=e},this.get_rethrown=function(){return 0!=I[this.ptr+13>>0]},this.init=function(e,t){this.set_type(e),this.set_destructor(t),this.set_refcount(0),this.set_caught(!1),this.set_rethrown(!1)},this.add_ref=function(){var e=D[this.ptr>>2];D[this.ptr>>2]=e+1},this.release_ref=function(){var e=D[this.ptr>>2];return D[this.ptr>>2]=e-1,1===e}}function re(e){try{return T.grow(e-N.byteLength+65535>>>16),U(T.buffer),1}catch(e){}}var ie="function"==typeof atob?atob:function(e){var t,r,i,n,o,a,f="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",s="",c=0;e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{t=f.indexOf(e.charAt(c++))<<2|(n=f.indexOf(e.charAt(c++)))>>4,r=(15&n)<<4|(o=f.indexOf(e.charAt(c++)))>>2,i=(3&o)<<6|(a=f.indexOf(e.charAt(c++))),s+=String.fromCharCode(t),64!==o&&(s+=String.fromCharCode(r)),64!==a&&(s+=String.fromCharCode(i))}while(c<e.length);return s};function ne(e){if(X(e))return function(e){if("boolean"==typeof v&&v){var t=o.from(e,"base64");return new Uint8Array(t.buffer,t.byteOffset,t.byteLength)}try{for(var r=ie(e),i=new Uint8Array(r.length),n=0;n<r.length;++n)i[n]=r.charCodeAt(n);return i}catch(e){throw new Error("Converting base64 string to bytes failed.")}}(e.slice("data:application/octet-stream;base64,".length))}var oe,ae={f:function(e){return Zr(e+16)+16},e:function(e,t,r){throw new te(e).init(t,r),e},b:function(){L("")},c:function(e,t,r){C.copyWithin(e,t,t+r)},d:function(e){var t,r,i=C.length;if((e>>>=0)>2147483648)return!1;for(var n=1;n<=4;n*=2){var o=i*(1+.2/n);if(o=Math.min(o,e+100663296),re(Math.min(2147483648,((t=Math.max(e,o))%(r=65536)>0&&(t+=r-t%r),t))))return!0}return!1},a:T},fe=(function(){var e={a:ae};function t(e,t){var r=e.exports;s.asm=r,V=s.asm.h,Z(s.asm.g),function(e){if(z--,s.monitorRunDependencies&&s.monitorRunDependencies(z),0==z&&(null!==J&&(clearInterval(J),J=null),Q)){var t=Q;Q=null,t()}}()}function r(e){t(e.instance)}function i(t){return function(){if(!w&&(m||y)){if("function"==typeof fetch&&!H(P))return fetch(P,{credentials:"same-origin"}).then((function(e){if(!e.ok)throw"failed to load wasm binary file at '"+P+"'";return e.arrayBuffer()})).catch((function(){return q(P)}));if(p)return new Promise((function(e,t){p(P,(function(t){e(new Uint8Array(t))}),t)}))}return Promise.resolve().then((function(){return q(P)}))}().then((function(t){return B.instantiate(t,e)})).then((function(e){return e})).then(t,(function(e){E("failed to asynchronously prepare wasm: "+e),L(e)}))}if(z++,s.monitorRunDependencies&&s.monitorRunDependencies(z),s.instantiateWasm)try{return s.instantiateWasm(e,t)}catch(e){return E("Module.instantiateWasm callback failed with error: "+e),!1}(w||"function"!=typeof B.instantiateStreaming||X(P)||H(P)||"function"!=typeof fetch?i(r):fetch(P,{credentials:"same-origin"}).then((function(t){return B.instantiateStreaming(t,e).then(r,(function(e){return E("wasm streaming compile failed: "+e),E("falling back to ArrayBuffer instantiation"),i(r)}))}))).catch(f)}(),s.___wasm_call_ctors=function(){return(s.___wasm_call_ctors=s.asm.g).apply(null,arguments)},s._emscripten_bind_VoidPtr___destroy___0=function(){return(fe=s._emscripten_bind_VoidPtr___destroy___0=s.asm.i).apply(null,arguments)}),se=s._emscripten_bind_DecoderBuffer_DecoderBuffer_0=function(){return(se=s._emscripten_bind_DecoderBuffer_DecoderBuffer_0=s.asm.j).apply(null,arguments)},ce=s._emscripten_bind_DecoderBuffer_Init_2=function(){return(ce=s._emscripten_bind_DecoderBuffer_Init_2=s.asm.k).apply(null,arguments)},ue=s._emscripten_bind_DecoderBuffer___destroy___0=function(){return(ue=s._emscripten_bind_DecoderBuffer___destroy___0=s.asm.l).apply(null,arguments)},le=s._emscripten_bind_AttributeTransformData_AttributeTransformData_0=function(){return(le=s._emscripten_bind_AttributeTransformData_AttributeTransformData_0=s.asm.m).apply(null,arguments)},be=s._emscripten_bind_AttributeTransformData_transform_type_0=function(){return(be=s._emscripten_bind_AttributeTransformData_transform_type_0=s.asm.n).apply(null,arguments)},Ae=s._emscripten_bind_AttributeTransformData___destroy___0=function(){return(Ae=s._emscripten_bind_AttributeTransformData___destroy___0=s.asm.o).apply(null,arguments)},pe=s._emscripten_bind_GeometryAttribute_GeometryAttribute_0=function(){return(pe=s._emscripten_bind_GeometryAttribute_GeometryAttribute_0=s.asm.p).apply(null,arguments)},de=s._emscripten_bind_GeometryAttribute___destroy___0=function(){return(de=s._emscripten_bind_GeometryAttribute___destroy___0=s.asm.q).apply(null,arguments)},_e=s._emscripten_bind_PointAttribute_PointAttribute_0=function(){return(_e=s._emscripten_bind_PointAttribute_PointAttribute_0=s.asm.r).apply(null,arguments)},he=s._emscripten_bind_PointAttribute_size_0=function(){return(he=s._emscripten_bind_PointAttribute_size_0=s.asm.s).apply(null,arguments)},ke=s._emscripten_bind_PointAttribute_GetAttributeTransformData_0=function(){return(ke=s._emscripten_bind_PointAttribute_GetAttributeTransformData_0=s.asm.t).apply(null,arguments)},me=s._emscripten_bind_PointAttribute_attribute_type_0=function(){return(me=s._emscripten_bind_PointAttribute_attribute_type_0=s.asm.u).apply(null,arguments)},ye=s._emscripten_bind_PointAttribute_data_type_0=function(){return(ye=s._emscripten_bind_PointAttribute_data_type_0=s.asm.v).apply(null,arguments)},ve=s._emscripten_bind_PointAttribute_num_components_0=function(){return(ve=s._emscripten_bind_PointAttribute_num_components_0=s.asm.w).apply(null,arguments)},ge=s._emscripten_bind_PointAttribute_normalized_0=function(){return(ge=s._emscripten_bind_PointAttribute_normalized_0=s.asm.x).apply(null,arguments)},we=s._emscripten_bind_PointAttribute_byte_stride_0=function(){return(we=s._emscripten_bind_PointAttribute_byte_stride_0=s.asm.y).apply(null,arguments)},Ee=s._emscripten_bind_PointAttribute_byte_offset_0=function(){return(Ee=s._emscripten_bind_PointAttribute_byte_offset_0=s.asm.z).apply(null,arguments)},Te=s._emscripten_bind_PointAttribute_unique_id_0=function(){return(Te=s._emscripten_bind_PointAttribute_unique_id_0=s.asm.A).apply(null,arguments)},Be=s._emscripten_bind_PointAttribute___destroy___0=function(){return(Be=s._emscripten_bind_PointAttribute___destroy___0=s.asm.B).apply(null,arguments)},xe=s._emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0=function(){return(xe=s._emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0=s.asm.C).apply(null,arguments)},Re=s._emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1=function(){return(Re=s._emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1=s.asm.D).apply(null,arguments)},Ne=s._emscripten_bind_AttributeQuantizationTransform_quantization_bits_0=function(){return(Ne=s._emscripten_bind_AttributeQuantizationTransform_quantization_bits_0=s.asm.E).apply(null,arguments)},Ie=s._emscripten_bind_AttributeQuantizationTransform_min_value_1=function(){return(Ie=s._emscripten_bind_AttributeQuantizationTransform_min_value_1=s.asm.F).apply(null,arguments)},Ce=s._emscripten_bind_AttributeQuantizationTransform_range_0=function(){return(Ce=s._emscripten_bind_AttributeQuantizationTransform_range_0=s.asm.G).apply(null,arguments)},De=s._emscripten_bind_AttributeQuantizationTransform___destroy___0=function(){return(De=s._emscripten_bind_AttributeQuantizationTransform___destroy___0=s.asm.H).apply(null,arguments)},Me=s._emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0=function(){return(Me=s._emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0=s.asm.I).apply(null,arguments)},Ge=s._emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1=function(){return(Ge=s._emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1=s.asm.J).apply(null,arguments)},Ue=s._emscripten_bind_AttributeOctahedronTransform_quantization_bits_0=function(){return(Ue=s._emscripten_bind_AttributeOctahedronTransform_quantization_bits_0=s.asm.K).apply(null,arguments)},Ve=s._emscripten_bind_AttributeOctahedronTransform___destroy___0=function(){return(Ve=s._emscripten_bind_AttributeOctahedronTransform___destroy___0=s.asm.L).apply(null,arguments)},Se=s._emscripten_bind_PointCloud_PointCloud_0=function(){return(Se=s._emscripten_bind_PointCloud_PointCloud_0=s.asm.M).apply(null,arguments)},Fe=s._emscripten_bind_PointCloud_num_attributes_0=function(){return(Fe=s._emscripten_bind_PointCloud_num_attributes_0=s.asm.N).apply(null,arguments)},We=s._emscripten_bind_PointCloud_num_points_0=function(){return(We=s._emscripten_bind_PointCloud_num_points_0=s.asm.O).apply(null,arguments)},je=s._emscripten_bind_PointCloud___destroy___0=function(){return(je=s._emscripten_bind_PointCloud___destroy___0=s.asm.P).apply(null,arguments)},Oe=s._emscripten_bind_Mesh_Mesh_0=function(){return(Oe=s._emscripten_bind_Mesh_Mesh_0=s.asm.Q).apply(null,arguments)},Ze=s._emscripten_bind_Mesh_num_faces_0=function(){return(Ze=s._emscripten_bind_Mesh_num_faces_0=s.asm.R).apply(null,arguments)},Pe=s._emscripten_bind_Mesh_num_attributes_0=function(){return(Pe=s._emscripten_bind_Mesh_num_attributes_0=s.asm.S).apply(null,arguments)},Ye=s._emscripten_bind_Mesh_num_points_0=function(){return(Ye=s._emscripten_bind_Mesh_num_points_0=s.asm.T).apply(null,arguments)},ze=s._emscripten_bind_Mesh___destroy___0=function(){return(ze=s._emscripten_bind_Mesh___destroy___0=s.asm.U).apply(null,arguments)},Je=s._emscripten_bind_Metadata_Metadata_0=function(){return(Je=s._emscripten_bind_Metadata_Metadata_0=s.asm.V).apply(null,arguments)},Qe=s._emscripten_bind_Metadata___destroy___0=function(){return(Qe=s._emscripten_bind_Metadata___destroy___0=s.asm.W).apply(null,arguments)},Le=s._emscripten_bind_Status_code_0=function(){return(Le=s._emscripten_bind_Status_code_0=s.asm.X).apply(null,arguments)},Xe=s._emscripten_bind_Status_ok_0=function(){return(Xe=s._emscripten_bind_Status_ok_0=s.asm.Y).apply(null,arguments)},He=s._emscripten_bind_Status_error_msg_0=function(){return(He=s._emscripten_bind_Status_error_msg_0=s.asm.Z).apply(null,arguments)},qe=s._emscripten_bind_Status___destroy___0=function(){return(qe=s._emscripten_bind_Status___destroy___0=s.asm._).apply(null,arguments)},$e=s._emscripten_bind_DracoFloat32Array_DracoFloat32Array_0=function(){return($e=s._emscripten_bind_DracoFloat32Array_DracoFloat32Array_0=s.asm.$).apply(null,arguments)},Ke=s._emscripten_bind_DracoFloat32Array_GetValue_1=function(){return(Ke=s._emscripten_bind_DracoFloat32Array_GetValue_1=s.asm.aa).apply(null,arguments)},et=s._emscripten_bind_DracoFloat32Array_size_0=function(){return(et=s._emscripten_bind_DracoFloat32Array_size_0=s.asm.ba).apply(null,arguments)},tt=s._emscripten_bind_DracoFloat32Array___destroy___0=function(){return(tt=s._emscripten_bind_DracoFloat32Array___destroy___0=s.asm.ca).apply(null,arguments)},rt=s._emscripten_bind_DracoInt8Array_DracoInt8Array_0=function(){return(rt=s._emscripten_bind_DracoInt8Array_DracoInt8Array_0=s.asm.da).apply(null,arguments)},it=s._emscripten_bind_DracoInt8Array_GetValue_1=function(){return(it=s._emscripten_bind_DracoInt8Array_GetValue_1=s.asm.ea).apply(null,arguments)},nt=s._emscripten_bind_DracoInt8Array_size_0=function(){return(nt=s._emscripten_bind_DracoInt8Array_size_0=s.asm.fa).apply(null,arguments)},ot=s._emscripten_bind_DracoInt8Array___destroy___0=function(){return(ot=s._emscripten_bind_DracoInt8Array___destroy___0=s.asm.ga).apply(null,arguments)},at=s._emscripten_bind_DracoUInt8Array_DracoUInt8Array_0=function(){return(at=s._emscripten_bind_DracoUInt8Array_DracoUInt8Array_0=s.asm.ha).apply(null,arguments)},ft=s._emscripten_bind_DracoUInt8Array_GetValue_1=function(){return(ft=s._emscripten_bind_DracoUInt8Array_GetValue_1=s.asm.ia).apply(null,arguments)},st=s._emscripten_bind_DracoUInt8Array_size_0=function(){return(st=s._emscripten_bind_DracoUInt8Array_size_0=s.asm.ja).apply(null,arguments)},ct=s._emscripten_bind_DracoUInt8Array___destroy___0=function(){return(ct=s._emscripten_bind_DracoUInt8Array___destroy___0=s.asm.ka).apply(null,arguments)},ut=s._emscripten_bind_DracoInt16Array_DracoInt16Array_0=function(){return(ut=s._emscripten_bind_DracoInt16Array_DracoInt16Array_0=s.asm.la).apply(null,arguments)},lt=s._emscripten_bind_DracoInt16Array_GetValue_1=function(){return(lt=s._emscripten_bind_DracoInt16Array_GetValue_1=s.asm.ma).apply(null,arguments)},bt=s._emscripten_bind_DracoInt16Array_size_0=function(){return(bt=s._emscripten_bind_DracoInt16Array_size_0=s.asm.na).apply(null,arguments)},At=s._emscripten_bind_DracoInt16Array___destroy___0=function(){return(At=s._emscripten_bind_DracoInt16Array___destroy___0=s.asm.oa).apply(null,arguments)},pt=s._emscripten_bind_DracoUInt16Array_DracoUInt16Array_0=function(){return(pt=s._emscripten_bind_DracoUInt16Array_DracoUInt16Array_0=s.asm.pa).apply(null,arguments)},dt=s._emscripten_bind_DracoUInt16Array_GetValue_1=function(){return(dt=s._emscripten_bind_DracoUInt16Array_GetValue_1=s.asm.qa).apply(null,arguments)},_t=s._emscripten_bind_DracoUInt16Array_size_0=function(){return(_t=s._emscripten_bind_DracoUInt16Array_size_0=s.asm.ra).apply(null,arguments)},ht=s._emscripten_bind_DracoUInt16Array___destroy___0=function(){return(ht=s._emscripten_bind_DracoUInt16Array___destroy___0=s.asm.sa).apply(null,arguments)},kt=s._emscripten_bind_DracoInt32Array_DracoInt32Array_0=function(){return(kt=s._emscripten_bind_DracoInt32Array_DracoInt32Array_0=s.asm.ta).apply(null,arguments)},mt=s._emscripten_bind_DracoInt32Array_GetValue_1=function(){return(mt=s._emscripten_bind_DracoInt32Array_GetValue_1=s.asm.ua).apply(null,arguments)},yt=s._emscripten_bind_DracoInt32Array_size_0=function(){return(yt=s._emscripten_bind_DracoInt32Array_size_0=s.asm.va).apply(null,arguments)},vt=s._emscripten_bind_DracoInt32Array___destroy___0=function(){return(vt=s._emscripten_bind_DracoInt32Array___destroy___0=s.asm.wa).apply(null,arguments)},gt=s._emscripten_bind_DracoUInt32Array_DracoUInt32Array_0=function(){return(gt=s._emscripten_bind_DracoUInt32Array_DracoUInt32Array_0=s.asm.xa).apply(null,arguments)},wt=s._emscripten_bind_DracoUInt32Array_GetValue_1=function(){return(wt=s._emscripten_bind_DracoUInt32Array_GetValue_1=s.asm.ya).apply(null,arguments)},Et=s._emscripten_bind_DracoUInt32Array_size_0=function(){return(Et=s._emscripten_bind_DracoUInt32Array_size_0=s.asm.za).apply(null,arguments)},Tt=s._emscripten_bind_DracoUInt32Array___destroy___0=function(){return(Tt=s._emscripten_bind_DracoUInt32Array___destroy___0=s.asm.Aa).apply(null,arguments)},Bt=s._emscripten_bind_MetadataQuerier_MetadataQuerier_0=function(){return(Bt=s._emscripten_bind_MetadataQuerier_MetadataQuerier_0=s.asm.Ba).apply(null,arguments)},xt=s._emscripten_bind_MetadataQuerier_HasEntry_2=function(){return(xt=s._emscripten_bind_MetadataQuerier_HasEntry_2=s.asm.Ca).apply(null,arguments)},Rt=s._emscripten_bind_MetadataQuerier_GetIntEntry_2=function(){return(Rt=s._emscripten_bind_MetadataQuerier_GetIntEntry_2=s.asm.Da).apply(null,arguments)},Nt=s._emscripten_bind_MetadataQuerier_GetIntEntryArray_3=function(){return(Nt=s._emscripten_bind_MetadataQuerier_GetIntEntryArray_3=s.asm.Ea).apply(null,arguments)},It=s._emscripten_bind_MetadataQuerier_GetDoubleEntry_2=function(){return(It=s._emscripten_bind_MetadataQuerier_GetDoubleEntry_2=s.asm.Fa).apply(null,arguments)},Ct=s._emscripten_bind_MetadataQuerier_GetStringEntry_2=function(){return(Ct=s._emscripten_bind_MetadataQuerier_GetStringEntry_2=s.asm.Ga).apply(null,arguments)},Dt=s._emscripten_bind_MetadataQuerier_NumEntries_1=function(){return(Dt=s._emscripten_bind_MetadataQuerier_NumEntries_1=s.asm.Ha).apply(null,arguments)},Mt=s._emscripten_bind_MetadataQuerier_GetEntryName_2=function(){return(Mt=s._emscripten_bind_MetadataQuerier_GetEntryName_2=s.asm.Ia).apply(null,arguments)},Gt=s._emscripten_bind_MetadataQuerier___destroy___0=function(){return(Gt=s._emscripten_bind_MetadataQuerier___destroy___0=s.asm.Ja).apply(null,arguments)},Ut=s._emscripten_bind_Decoder_Decoder_0=function(){return(Ut=s._emscripten_bind_Decoder_Decoder_0=s.asm.Ka).apply(null,arguments)},Vt=s._emscripten_bind_Decoder_DecodeArrayToPointCloud_3=function(){return(Vt=s._emscripten_bind_Decoder_DecodeArrayToPointCloud_3=s.asm.La).apply(null,arguments)},St=s._emscripten_bind_Decoder_DecodeArrayToMesh_3=function(){return(St=s._emscripten_bind_Decoder_DecodeArrayToMesh_3=s.asm.Ma).apply(null,arguments)},Ft=s._emscripten_bind_Decoder_GetAttributeId_2=function(){return(Ft=s._emscripten_bind_Decoder_GetAttributeId_2=s.asm.Na).apply(null,arguments)},Wt=s._emscripten_bind_Decoder_GetAttributeIdByName_2=function(){return(Wt=s._emscripten_bind_Decoder_GetAttributeIdByName_2=s.asm.Oa).apply(null,arguments)},jt=s._emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3=function(){return(jt=s._emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3=s.asm.Pa).apply(null,arguments)},Ot=s._emscripten_bind_Decoder_GetAttribute_2=function(){return(Ot=s._emscripten_bind_Decoder_GetAttribute_2=s.asm.Qa).apply(null,arguments)},Zt=s._emscripten_bind_Decoder_GetAttributeByUniqueId_2=function(){return(Zt=s._emscripten_bind_Decoder_GetAttributeByUniqueId_2=s.asm.Ra).apply(null,arguments)},Pt=s._emscripten_bind_Decoder_GetMetadata_1=function(){return(Pt=s._emscripten_bind_Decoder_GetMetadata_1=s.asm.Sa).apply(null,arguments)},Yt=s._emscripten_bind_Decoder_GetAttributeMetadata_2=function(){return(Yt=s._emscripten_bind_Decoder_GetAttributeMetadata_2=s.asm.Ta).apply(null,arguments)},zt=s._emscripten_bind_Decoder_GetFaceFromMesh_3=function(){return(zt=s._emscripten_bind_Decoder_GetFaceFromMesh_3=s.asm.Ua).apply(null,arguments)},Jt=s._emscripten_bind_Decoder_GetTriangleStripsFromMesh_2=function(){return(Jt=s._emscripten_bind_Decoder_GetTriangleStripsFromMesh_2=s.asm.Va).apply(null,arguments)},Qt=s._emscripten_bind_Decoder_GetTrianglesUInt16Array_3=function(){return(Qt=s._emscripten_bind_Decoder_GetTrianglesUInt16Array_3=s.asm.Wa).apply(null,arguments)},Lt=s._emscripten_bind_Decoder_GetTrianglesUInt32Array_3=function(){return(Lt=s._emscripten_bind_Decoder_GetTrianglesUInt32Array_3=s.asm.Xa).apply(null,arguments)},Xt=s._emscripten_bind_Decoder_GetAttributeFloat_3=function(){return(Xt=s._emscripten_bind_Decoder_GetAttributeFloat_3=s.asm.Ya).apply(null,arguments)},Ht=s._emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3=function(){return(Ht=s._emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3=s.asm.Za).apply(null,arguments)},qt=s._emscripten_bind_Decoder_GetAttributeIntForAllPoints_3=function(){return(qt=s._emscripten_bind_Decoder_GetAttributeIntForAllPoints_3=s.asm._a).apply(null,arguments)},$t=s._emscripten_bind_Decoder_GetAttributeInt8ForAllPoints_3=function(){return($t=s._emscripten_bind_Decoder_GetAttributeInt8ForAllPoints_3=s.asm.$a).apply(null,arguments)},Kt=s._emscripten_bind_Decoder_GetAttributeUInt8ForAllPoints_3=function(){return(Kt=s._emscripten_bind_Decoder_GetAttributeUInt8ForAllPoints_3=s.asm.ab).apply(null,arguments)},er=s._emscripten_bind_Decoder_GetAttributeInt16ForAllPoints_3=function(){return(er=s._emscripten_bind_Decoder_GetAttributeInt16ForAllPoints_3=s.asm.bb).apply(null,arguments)},tr=s._emscripten_bind_Decoder_GetAttributeUInt16ForAllPoints_3=function(){return(tr=s._emscripten_bind_Decoder_GetAttributeUInt16ForAllPoints_3=s.asm.cb).apply(null,arguments)},rr=s._emscripten_bind_Decoder_GetAttributeInt32ForAllPoints_3=function(){return(rr=s._emscripten_bind_Decoder_GetAttributeInt32ForAllPoints_3=s.asm.db).apply(null,arguments)},ir=s._emscripten_bind_Decoder_GetAttributeUInt32ForAllPoints_3=function(){return(ir=s._emscripten_bind_Decoder_GetAttributeUInt32ForAllPoints_3=s.asm.eb).apply(null,arguments)},nr=s._emscripten_bind_Decoder_GetAttributeDataArrayForAllPoints_5=function(){return(nr=s._emscripten_bind_Decoder_GetAttributeDataArrayForAllPoints_5=s.asm.fb).apply(null,arguments)},or=s._emscripten_bind_Decoder_SkipAttributeTransform_1=function(){return(or=s._emscripten_bind_Decoder_SkipAttributeTransform_1=s.asm.gb).apply(null,arguments)},ar=s._emscripten_bind_Decoder_GetEncodedGeometryType_Deprecated_1=function(){return(ar=s._emscripten_bind_Decoder_GetEncodedGeometryType_Deprecated_1=s.asm.hb).apply(null,arguments)},fr=s._emscripten_bind_Decoder_DecodeBufferToPointCloud_2=function(){return(fr=s._emscripten_bind_Decoder_DecodeBufferToPointCloud_2=s.asm.ib).apply(null,arguments)},sr=s._emscripten_bind_Decoder_DecodeBufferToMesh_2=function(){return(sr=s._emscripten_bind_Decoder_DecodeBufferToMesh_2=s.asm.jb).apply(null,arguments)},cr=s._emscripten_bind_Decoder___destroy___0=function(){return(cr=s._emscripten_bind_Decoder___destroy___0=s.asm.kb).apply(null,arguments)},ur=s._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM=function(){return(ur=s._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM=s.asm.lb).apply(null,arguments)},lr=s._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM=function(){return(lr=s._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM=s.asm.mb).apply(null,arguments)},br=s._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM=function(){return(br=s._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM=s.asm.nb).apply(null,arguments)},Ar=s._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM=function(){return(Ar=s._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM=s.asm.ob).apply(null,arguments)},pr=s._emscripten_enum_draco_GeometryAttribute_Type_INVALID=function(){return(pr=s._emscripten_enum_draco_GeometryAttribute_Type_INVALID=s.asm.pb).apply(null,arguments)},dr=s._emscripten_enum_draco_GeometryAttribute_Type_POSITION=function(){return(dr=s._emscripten_enum_draco_GeometryAttribute_Type_POSITION=s.asm.qb).apply(null,arguments)},_r=s._emscripten_enum_draco_GeometryAttribute_Type_NORMAL=function(){return(_r=s._emscripten_enum_draco_GeometryAttribute_Type_NORMAL=s.asm.rb).apply(null,arguments)},hr=s._emscripten_enum_draco_GeometryAttribute_Type_COLOR=function(){return(hr=s._emscripten_enum_draco_GeometryAttribute_Type_COLOR=s.asm.sb).apply(null,arguments)},kr=s._emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD=function(){return(kr=s._emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD=s.asm.tb).apply(null,arguments)},mr=s._emscripten_enum_draco_GeometryAttribute_Type_GENERIC=function(){return(mr=s._emscripten_enum_draco_GeometryAttribute_Type_GENERIC=s.asm.ub).apply(null,arguments)},yr=s._emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE=function(){return(yr=s._emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE=s.asm.vb).apply(null,arguments)},vr=s._emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD=function(){return(vr=s._emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD=s.asm.wb).apply(null,arguments)},gr=s._emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH=function(){return(gr=s._emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH=s.asm.xb).apply(null,arguments)},wr=s._emscripten_enum_draco_DataType_DT_INVALID=function(){return(wr=s._emscripten_enum_draco_DataType_DT_INVALID=s.asm.yb).apply(null,arguments)},Er=s._emscripten_enum_draco_DataType_DT_INT8=function(){return(Er=s._emscripten_enum_draco_DataType_DT_INT8=s.asm.zb).apply(null,arguments)},Tr=s._emscripten_enum_draco_DataType_DT_UINT8=function(){return(Tr=s._emscripten_enum_draco_DataType_DT_UINT8=s.asm.Ab).apply(null,arguments)},Br=s._emscripten_enum_draco_DataType_DT_INT16=function(){return(Br=s._emscripten_enum_draco_DataType_DT_INT16=s.asm.Bb).apply(null,arguments)},xr=s._emscripten_enum_draco_DataType_DT_UINT16=function(){return(xr=s._emscripten_enum_draco_DataType_DT_UINT16=s.asm.Cb).apply(null,arguments)},Rr=s._emscripten_enum_draco_DataType_DT_INT32=function(){return(Rr=s._emscripten_enum_draco_DataType_DT_INT32=s.asm.Db).apply(null,arguments)},Nr=s._emscripten_enum_draco_DataType_DT_UINT32=function(){return(Nr=s._emscripten_enum_draco_DataType_DT_UINT32=s.asm.Eb).apply(null,arguments)},Ir=s._emscripten_enum_draco_DataType_DT_INT64=function(){return(Ir=s._emscripten_enum_draco_DataType_DT_INT64=s.asm.Fb).apply(null,arguments)},Cr=s._emscripten_enum_draco_DataType_DT_UINT64=function(){return(Cr=s._emscripten_enum_draco_DataType_DT_UINT64=s.asm.Gb).apply(null,arguments)},Dr=s._emscripten_enum_draco_DataType_DT_FLOAT32=function(){return(Dr=s._emscripten_enum_draco_DataType_DT_FLOAT32=s.asm.Hb).apply(null,arguments)},Mr=s._emscripten_enum_draco_DataType_DT_FLOAT64=function(){return(Mr=s._emscripten_enum_draco_DataType_DT_FLOAT64=s.asm.Ib).apply(null,arguments)},Gr=s._emscripten_enum_draco_DataType_DT_BOOL=function(){return(Gr=s._emscripten_enum_draco_DataType_DT_BOOL=s.asm.Jb).apply(null,arguments)},Ur=s._emscripten_enum_draco_DataType_DT_TYPES_COUNT=function(){return(Ur=s._emscripten_enum_draco_DataType_DT_TYPES_COUNT=s.asm.Kb).apply(null,arguments)},Vr=s._emscripten_enum_draco_StatusCode_OK=function(){return(Vr=s._emscripten_enum_draco_StatusCode_OK=s.asm.Lb).apply(null,arguments)},Sr=s._emscripten_enum_draco_StatusCode_DRACO_ERROR=function(){return(Sr=s._emscripten_enum_draco_StatusCode_DRACO_ERROR=s.asm.Mb).apply(null,arguments)},Fr=s._emscripten_enum_draco_StatusCode_IO_ERROR=function(){return(Fr=s._emscripten_enum_draco_StatusCode_IO_ERROR=s.asm.Nb).apply(null,arguments)},Wr=s._emscripten_enum_draco_StatusCode_INVALID_PARAMETER=function(){return(Wr=s._emscripten_enum_draco_StatusCode_INVALID_PARAMETER=s.asm.Ob).apply(null,arguments)},jr=s._emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION=function(){return(jr=s._emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION=s.asm.Pb).apply(null,arguments)},Or=s._emscripten_enum_draco_StatusCode_UNKNOWN_VERSION=function(){return(Or=s._emscripten_enum_draco_StatusCode_UNKNOWN_VERSION=s.asm.Qb).apply(null,arguments)},Zr=s._malloc=function(){return(Zr=s._malloc=s.asm.Rb).apply(null,arguments)};function Pr(e){function r(){oe||(oe=!0,s.calledRun=!0,x||(O=!0,$(W),t(s),s.onRuntimeInitialized&&s.onRuntimeInitialized(),function(){if(s.postRun)for("function"==typeof s.postRun&&(s.postRun=[s.postRun]);s.postRun.length;)e=s.postRun.shift(),j.unshift(e);var e;$(j)}()))}e=e||k,z>0||(function(){if(s.preRun)for("function"==typeof s.preRun&&(s.preRun=[s.preRun]);s.preRun.length;)e=s.preRun.shift(),F.unshift(e);var e;$(F)}(),z>0||(s.setStatus?(s.setStatus("Running..."),setTimeout((function(){setTimeout((function(){s.setStatus("")}),1),r()}),1)):r()))}if(s._free=function(){return(s._free=s.asm.Sb).apply(null,arguments)},Q=function e(){oe||Pr(),oe||(Q=e)},s.run=Pr,s.preInit)for("function"==typeof s.preInit&&(s.preInit=[s.preInit]);s.preInit.length>0;)s.preInit.pop()();function Yr(){}function zr(e){return(e||Yr).__cache__}function Jr(e,t){var r=zr(t),i=r[e];return i||((i=Object.create((t||Yr).prototype)).ptr=e,r[e]=i)}Pr(),Yr.prototype=Object.create(Yr.prototype),Yr.prototype.constructor=Yr,Yr.prototype.__class__=Yr,Yr.__cache__={},s.WrapperObject=Yr,s.getCache=zr,s.wrapPointer=Jr,s.castObject=function(e,t){return Jr(e.ptr,t)},s.NULL=Jr(0),s.destroy=function(e){if(!e.__destroy__)throw"Error: Cannot destroy object. (Did you create it yourself?)";e.__destroy__(),delete zr(e.__class__)[e.ptr]},s.compare=function(e,t){return e.ptr===t.ptr},s.getPointer=function(e){return e.ptr},s.getClass=function(e){return e.__class__};var Qr={buffer:0,size:0,pos:0,temps:[],needed:0,prepare:function(){if(Qr.needed){for(var e=0;e<Qr.temps.length;e++)s._free(Qr.temps[e]);Qr.temps.length=0,s._free(Qr.buffer),Qr.buffer=0,Qr.size+=Qr.needed,Qr.needed=0}Qr.buffer||(Qr.size+=128,Qr.buffer=s._malloc(Qr.size),R(Qr.buffer)),Qr.pos=0},alloc:function(e,t){R(Qr.buffer);var r,i=t.BYTES_PER_ELEMENT,n=e.length*i;return n=n+7&-8,Qr.pos+n>=Qr.size?(R(n>0),Qr.needed+=n,r=s._malloc(n),Qr.temps.push(r)):(r=Qr.buffer+Qr.pos,Qr.pos+=n),r},copy:function(e,t,r){switch(r>>>=0,t.BYTES_PER_ELEMENT){case 2:r>>>=1;break;case 4:r>>>=2;break;case 8:r>>>=3}for(var i=0;i<e.length;i++)t[r+i]=e[i]}};function Lr(e){if("string"==typeof e){var t=(i=e,a=o>0?o:function(e){for(var t=0,r=0;r<e.length;++r){var i=e.charCodeAt(r);i>=55296&&i<=57343&&(i=65536+((1023&i)<<10)|1023&e.charCodeAt(++r)),i<=127?++t:t+=i<=2047?2:i<=65535?3:4}return t}(i)+1,f=new Array(a),s=function(e,t,r,i){if(!(i>0))return 0;for(var n=r,o=r+i-1,a=0;a<e.length;++a){var f=e.charCodeAt(a);if(f>=55296&&f<=57343&&(f=65536+((1023&f)<<10)|1023&e.charCodeAt(++a)),f<=127){if(r>=o)break;t[r++]=f}else if(f<=2047){if(r+1>=o)break;t[r++]=192|f>>6,t[r++]=128|63&f}else if(f<=65535){if(r+2>=o)break;t[r++]=224|f>>12,t[r++]=128|f>>6&63,t[r++]=128|63&f}else{if(r+3>=o)break;t[r++]=240|f>>18,t[r++]=128|f>>12&63,t[r++]=128|f>>6&63,t[r++]=128|63&f}}return t[r]=0,r-n}(i,f,0,f.length),n&&(f.length=s),f),r=Qr.alloc(t,I);return Qr.copy(t,I,r),r}var i,n,o,a,f,s;return e}function Xr(e){if("object"==typeof e){var t=Qr.alloc(e,I);return Qr.copy(e,I,t),t}return e}function Hr(){throw"cannot construct a VoidPtr, no constructor in IDL"}function qr(){this.ptr=se(),zr(qr)[this.ptr]=this}function $r(){this.ptr=le(),zr($r)[this.ptr]=this}function Kr(){this.ptr=pe(),zr(Kr)[this.ptr]=this}function ei(){this.ptr=_e(),zr(ei)[this.ptr]=this}function ti(){this.ptr=xe(),zr(ti)[this.ptr]=this}function ri(){this.ptr=Me(),zr(ri)[this.ptr]=this}function ii(){this.ptr=Se(),zr(ii)[this.ptr]=this}function ni(){this.ptr=Oe(),zr(ni)[this.ptr]=this}function oi(){this.ptr=Je(),zr(oi)[this.ptr]=this}function ai(){throw"cannot construct a Status, no constructor in IDL"}function fi(){this.ptr=$e(),zr(fi)[this.ptr]=this}function si(){this.ptr=rt(),zr(si)[this.ptr]=this}function ci(){this.ptr=at(),zr(ci)[this.ptr]=this}function ui(){this.ptr=ut(),zr(ui)[this.ptr]=this}function li(){this.ptr=pt(),zr(li)[this.ptr]=this}function bi(){this.ptr=kt(),zr(bi)[this.ptr]=this}function Ai(){this.ptr=gt(),zr(Ai)[this.ptr]=this}function pi(){this.ptr=Bt(),zr(pi)[this.ptr]=this}function di(){this.ptr=Ut(),zr(di)[this.ptr]=this}return Hr.prototype=Object.create(Yr.prototype),Hr.prototype.constructor=Hr,Hr.prototype.__class__=Hr,Hr.__cache__={},s.VoidPtr=Hr,Hr.prototype.__destroy__=Hr.prototype.__destroy__=function(){var e=this.ptr;fe(e)},qr.prototype=Object.create(Yr.prototype),qr.prototype.constructor=qr,qr.prototype.__class__=qr,qr.__cache__={},s.DecoderBuffer=qr,qr.prototype.Init=qr.prototype.Init=function(e,t){var r=this.ptr;Qr.prepare(),"object"==typeof e&&(e=Xr(e)),t&&"object"==typeof t&&(t=t.ptr),ce(r,e,t)},qr.prototype.__destroy__=qr.prototype.__destroy__=function(){var e=this.ptr;ue(e)},$r.prototype=Object.create(Yr.prototype),$r.prototype.constructor=$r,$r.prototype.__class__=$r,$r.__cache__={},s.AttributeTransformData=$r,$r.prototype.transform_type=$r.prototype.transform_type=function(){var e=this.ptr;return be(e)},$r.prototype.__destroy__=$r.prototype.__destroy__=function(){var e=this.ptr;Ae(e)},Kr.prototype=Object.create(Yr.prototype),Kr.prototype.constructor=Kr,Kr.prototype.__class__=Kr,Kr.__cache__={},s.GeometryAttribute=Kr,Kr.prototype.__destroy__=Kr.prototype.__destroy__=function(){var e=this.ptr;de(e)},ei.prototype=Object.create(Yr.prototype),ei.prototype.constructor=ei,ei.prototype.__class__=ei,ei.__cache__={},s.PointAttribute=ei,ei.prototype.size=ei.prototype.size=function(){var e=this.ptr;return he(e)},ei.prototype.GetAttributeTransformData=ei.prototype.GetAttributeTransformData=function(){var e=this.ptr;return Jr(ke(e),$r)},ei.prototype.attribute_type=ei.prototype.attribute_type=function(){var e=this.ptr;return me(e)},ei.prototype.data_type=ei.prototype.data_type=function(){var e=this.ptr;return ye(e)},ei.prototype.num_components=ei.prototype.num_components=function(){var e=this.ptr;return ve(e)},ei.prototype.normalized=ei.prototype.normalized=function(){var e=this.ptr;return!!ge(e)},ei.prototype.byte_stride=ei.prototype.byte_stride=function(){var e=this.ptr;return we(e)},ei.prototype.byte_offset=ei.prototype.byte_offset=function(){var e=this.ptr;return Ee(e)},ei.prototype.unique_id=ei.prototype.unique_id=function(){var e=this.ptr;return Te(e)},ei.prototype.__destroy__=ei.prototype.__destroy__=function(){var e=this.ptr;Be(e)},ti.prototype=Object.create(Yr.prototype),ti.prototype.constructor=ti,ti.prototype.__class__=ti,ti.__cache__={},s.AttributeQuantizationTransform=ti,ti.prototype.InitFromAttribute=ti.prototype.InitFromAttribute=function(e){var t=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),!!Re(t,e)},ti.prototype.quantization_bits=ti.prototype.quantization_bits=function(){var e=this.ptr;return Ne(e)},ti.prototype.min_value=ti.prototype.min_value=function(e){var t=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),Ie(t,e)},ti.prototype.range=ti.prototype.range=function(){var e=this.ptr;return Ce(e)},ti.prototype.__destroy__=ti.prototype.__destroy__=function(){var e=this.ptr;De(e)},ri.prototype=Object.create(Yr.prototype),ri.prototype.constructor=ri,ri.prototype.__class__=ri,ri.__cache__={},s.AttributeOctahedronTransform=ri,ri.prototype.InitFromAttribute=ri.prototype.InitFromAttribute=function(e){var t=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),!!Ge(t,e)},ri.prototype.quantization_bits=ri.prototype.quantization_bits=function(){var e=this.ptr;return Ue(e)},ri.prototype.__destroy__=ri.prototype.__destroy__=function(){var e=this.ptr;Ve(e)},ii.prototype=Object.create(Yr.prototype),ii.prototype.constructor=ii,ii.prototype.__class__=ii,ii.__cache__={},s.PointCloud=ii,ii.prototype.num_attributes=ii.prototype.num_attributes=function(){var e=this.ptr;return Fe(e)},ii.prototype.num_points=ii.prototype.num_points=function(){var e=this.ptr;return We(e)},ii.prototype.__destroy__=ii.prototype.__destroy__=function(){var e=this.ptr;je(e)},ni.prototype=Object.create(Yr.prototype),ni.prototype.constructor=ni,ni.prototype.__class__=ni,ni.__cache__={},s.Mesh=ni,ni.prototype.num_faces=ni.prototype.num_faces=function(){var e=this.ptr;return Ze(e)},ni.prototype.num_attributes=ni.prototype.num_attributes=function(){var e=this.ptr;return Pe(e)},ni.prototype.num_points=ni.prototype.num_points=function(){var e=this.ptr;return Ye(e)},ni.prototype.__destroy__=ni.prototype.__destroy__=function(){var e=this.ptr;ze(e)},oi.prototype=Object.create(Yr.prototype),oi.prototype.constructor=oi,oi.prototype.__class__=oi,oi.__cache__={},s.Metadata=oi,oi.prototype.__destroy__=oi.prototype.__destroy__=function(){var e=this.ptr;Qe(e)},ai.prototype=Object.create(Yr.prototype),ai.prototype.constructor=ai,ai.prototype.__class__=ai,ai.__cache__={},s.Status=ai,ai.prototype.code=ai.prototype.code=function(){var e=this.ptr;return Le(e)},ai.prototype.ok=ai.prototype.ok=function(){var e=this.ptr;return!!Xe(e)},ai.prototype.error_msg=ai.prototype.error_msg=function(){var e=this.ptr;return G(He(e))},ai.prototype.__destroy__=ai.prototype.__destroy__=function(){var e=this.ptr;qe(e)},fi.prototype=Object.create(Yr.prototype),fi.prototype.constructor=fi,fi.prototype.__class__=fi,fi.__cache__={},s.DracoFloat32Array=fi,fi.prototype.GetValue=fi.prototype.GetValue=function(e){var t=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),Ke(t,e)},fi.prototype.size=fi.prototype.size=function(){var e=this.ptr;return et(e)},fi.prototype.__destroy__=fi.prototype.__destroy__=function(){var e=this.ptr;tt(e)},si.prototype=Object.create(Yr.prototype),si.prototype.constructor=si,si.prototype.__class__=si,si.__cache__={},s.DracoInt8Array=si,si.prototype.GetValue=si.prototype.GetValue=function(e){var t=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),it(t,e)},si.prototype.size=si.prototype.size=function(){var e=this.ptr;return nt(e)},si.prototype.__destroy__=si.prototype.__destroy__=function(){var e=this.ptr;ot(e)},ci.prototype=Object.create(Yr.prototype),ci.prototype.constructor=ci,ci.prototype.__class__=ci,ci.__cache__={},s.DracoUInt8Array=ci,ci.prototype.GetValue=ci.prototype.GetValue=function(e){var t=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),ft(t,e)},ci.prototype.size=ci.prototype.size=function(){var e=this.ptr;return st(e)},ci.prototype.__destroy__=ci.prototype.__destroy__=function(){var e=this.ptr;ct(e)},ui.prototype=Object.create(Yr.prototype),ui.prototype.constructor=ui,ui.prototype.__class__=ui,ui.__cache__={},s.DracoInt16Array=ui,ui.prototype.GetValue=ui.prototype.GetValue=function(e){var t=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),lt(t,e)},ui.prototype.size=ui.prototype.size=function(){var e=this.ptr;return bt(e)},ui.prototype.__destroy__=ui.prototype.__destroy__=function(){var e=this.ptr;At(e)},li.prototype=Object.create(Yr.prototype),li.prototype.constructor=li,li.prototype.__class__=li,li.__cache__={},s.DracoUInt16Array=li,li.prototype.GetValue=li.prototype.GetValue=function(e){var t=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),dt(t,e)},li.prototype.size=li.prototype.size=function(){var e=this.ptr;return _t(e)},li.prototype.__destroy__=li.prototype.__destroy__=function(){var e=this.ptr;ht(e)},bi.prototype=Object.create(Yr.prototype),bi.prototype.constructor=bi,bi.prototype.__class__=bi,bi.__cache__={},s.DracoInt32Array=bi,bi.prototype.GetValue=bi.prototype.GetValue=function(e){var t=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),mt(t,e)},bi.prototype.size=bi.prototype.size=function(){var e=this.ptr;return yt(e)},bi.prototype.__destroy__=bi.prototype.__destroy__=function(){var e=this.ptr;vt(e)},Ai.prototype=Object.create(Yr.prototype),Ai.prototype.constructor=Ai,Ai.prototype.__class__=Ai,Ai.__cache__={},s.DracoUInt32Array=Ai,Ai.prototype.GetValue=Ai.prototype.GetValue=function(e){var t=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),wt(t,e)},Ai.prototype.size=Ai.prototype.size=function(){var e=this.ptr;return Et(e)},Ai.prototype.__destroy__=Ai.prototype.__destroy__=function(){var e=this.ptr;Tt(e)},pi.prototype=Object.create(Yr.prototype),pi.prototype.constructor=pi,pi.prototype.__class__=pi,pi.__cache__={},s.MetadataQuerier=pi,pi.prototype.HasEntry=pi.prototype.HasEntry=function(e,t){var r=this.ptr;return Qr.prepare(),e&&"object"==typeof e&&(e=e.ptr),t=t&&"object"==typeof t?t.ptr:Lr(t),!!xt(r,e,t)},pi.prototype.GetIntEntry=pi.prototype.GetIntEntry=function(e,t){var r=this.ptr;return Qr.prepare(),e&&"object"==typeof e&&(e=e.ptr),t=t&&"object"==typeof t?t.ptr:Lr(t),Rt(r,e,t)},pi.prototype.GetIntEntryArray=pi.prototype.GetIntEntryArray=function(e,t,r){var i=this.ptr;Qr.prepare(),e&&"object"==typeof e&&(e=e.ptr),t=t&&"object"==typeof t?t.ptr:Lr(t),r&&"object"==typeof r&&(r=r.ptr),Nt(i,e,t,r)},pi.prototype.GetDoubleEntry=pi.prototype.GetDoubleEntry=function(e,t){var r=this.ptr;return Qr.prepare(),e&&"object"==typeof e&&(e=e.ptr),t=t&&"object"==typeof t?t.ptr:Lr(t),It(r,e,t)},pi.prototype.GetStringEntry=pi.prototype.GetStringEntry=function(e,t){var r=this.ptr;return Qr.prepare(),e&&"object"==typeof e&&(e=e.ptr),t=t&&"object"==typeof t?t.ptr:Lr(t),G(Ct(r,e,t))},pi.prototype.NumEntries=pi.prototype.NumEntries=function(e){var t=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),Dt(t,e)},pi.prototype.GetEntryName=pi.prototype.GetEntryName=function(e,t){var r=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),t&&"object"==typeof t&&(t=t.ptr),G(Mt(r,e,t))},pi.prototype.__destroy__=pi.prototype.__destroy__=function(){var e=this.ptr;Gt(e)},di.prototype=Object.create(Yr.prototype),di.prototype.constructor=di,di.prototype.__class__=di,di.__cache__={},s.Decoder=di,di.prototype.DecodeArrayToPointCloud=di.prototype.DecodeArrayToPointCloud=function(e,t,r){var i=this.ptr;return Qr.prepare(),"object"==typeof e&&(e=Xr(e)),t&&"object"==typeof t&&(t=t.ptr),r&&"object"==typeof r&&(r=r.ptr),Jr(Vt(i,e,t,r),ai)},di.prototype.DecodeArrayToMesh=di.prototype.DecodeArrayToMesh=function(e,t,r){var i=this.ptr;return Qr.prepare(),"object"==typeof e&&(e=Xr(e)),t&&"object"==typeof t&&(t=t.ptr),r&&"object"==typeof r&&(r=r.ptr),Jr(St(i,e,t,r),ai)},di.prototype.GetAttributeId=di.prototype.GetAttributeId=function(e,t){var r=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),t&&"object"==typeof t&&(t=t.ptr),Ft(r,e,t)},di.prototype.GetAttributeIdByName=di.prototype.GetAttributeIdByName=function(e,t){var r=this.ptr;return Qr.prepare(),e&&"object"==typeof e&&(e=e.ptr),t=t&&"object"==typeof t?t.ptr:Lr(t),Wt(r,e,t)},di.prototype.GetAttributeIdByMetadataEntry=di.prototype.GetAttributeIdByMetadataEntry=function(e,t,r){var i=this.ptr;return Qr.prepare(),e&&"object"==typeof e&&(e=e.ptr),t=t&&"object"==typeof t?t.ptr:Lr(t),r=r&&"object"==typeof r?r.ptr:Lr(r),jt(i,e,t,r)},di.prototype.GetAttribute=di.prototype.GetAttribute=function(e,t){var r=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),t&&"object"==typeof t&&(t=t.ptr),Jr(Ot(r,e,t),ei)},di.prototype.GetAttributeByUniqueId=di.prototype.GetAttributeByUniqueId=function(e,t){var r=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),t&&"object"==typeof t&&(t=t.ptr),Jr(Zt(r,e,t),ei)},di.prototype.GetMetadata=di.prototype.GetMetadata=function(e){var t=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),Jr(Pt(t,e),oi)},di.prototype.GetAttributeMetadata=di.prototype.GetAttributeMetadata=function(e,t){var r=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),t&&"object"==typeof t&&(t=t.ptr),Jr(Yt(r,e,t),oi)},di.prototype.GetFaceFromMesh=di.prototype.GetFaceFromMesh=function(e,t,r){var i=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),t&&"object"==typeof t&&(t=t.ptr),r&&"object"==typeof r&&(r=r.ptr),!!zt(i,e,t,r)},di.prototype.GetTriangleStripsFromMesh=di.prototype.GetTriangleStripsFromMesh=function(e,t){var r=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),t&&"object"==typeof t&&(t=t.ptr),Jt(r,e,t)},di.prototype.GetTrianglesUInt16Array=di.prototype.GetTrianglesUInt16Array=function(e,t,r){var i=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),t&&"object"==typeof t&&(t=t.ptr),r&&"object"==typeof r&&(r=r.ptr),!!Qt(i,e,t,r)},di.prototype.GetTrianglesUInt32Array=di.prototype.GetTrianglesUInt32Array=function(e,t,r){var i=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),t&&"object"==typeof t&&(t=t.ptr),r&&"object"==typeof r&&(r=r.ptr),!!Lt(i,e,t,r)},di.prototype.GetAttributeFloat=di.prototype.GetAttributeFloat=function(e,t,r){var i=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),t&&"object"==typeof t&&(t=t.ptr),r&&"object"==typeof r&&(r=r.ptr),!!Xt(i,e,t,r)},di.prototype.GetAttributeFloatForAllPoints=di.prototype.GetAttributeFloatForAllPoints=function(e,t,r){var i=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),t&&"object"==typeof t&&(t=t.ptr),r&&"object"==typeof r&&(r=r.ptr),!!Ht(i,e,t,r)},di.prototype.GetAttributeIntForAllPoints=di.prototype.GetAttributeIntForAllPoints=function(e,t,r){var i=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),t&&"object"==typeof t&&(t=t.ptr),r&&"object"==typeof r&&(r=r.ptr),!!qt(i,e,t,r)},di.prototype.GetAttributeInt8ForAllPoints=di.prototype.GetAttributeInt8ForAllPoints=function(e,t,r){var i=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),t&&"object"==typeof t&&(t=t.ptr),r&&"object"==typeof r&&(r=r.ptr),!!$t(i,e,t,r)},di.prototype.GetAttributeUInt8ForAllPoints=di.prototype.GetAttributeUInt8ForAllPoints=function(e,t,r){var i=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),t&&"object"==typeof t&&(t=t.ptr),r&&"object"==typeof r&&(r=r.ptr),!!Kt(i,e,t,r)},di.prototype.GetAttributeInt16ForAllPoints=di.prototype.GetAttributeInt16ForAllPoints=function(e,t,r){var i=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),t&&"object"==typeof t&&(t=t.ptr),r&&"object"==typeof r&&(r=r.ptr),!!er(i,e,t,r)},di.prototype.GetAttributeUInt16ForAllPoints=di.prototype.GetAttributeUInt16ForAllPoints=function(e,t,r){var i=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),t&&"object"==typeof t&&(t=t.ptr),r&&"object"==typeof r&&(r=r.ptr),!!tr(i,e,t,r)},di.prototype.GetAttributeInt32ForAllPoints=di.prototype.GetAttributeInt32ForAllPoints=function(e,t,r){var i=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),t&&"object"==typeof t&&(t=t.ptr),r&&"object"==typeof r&&(r=r.ptr),!!rr(i,e,t,r)},di.prototype.GetAttributeUInt32ForAllPoints=di.prototype.GetAttributeUInt32ForAllPoints=function(e,t,r){var i=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),t&&"object"==typeof t&&(t=t.ptr),r&&"object"==typeof r&&(r=r.ptr),!!ir(i,e,t,r)},di.prototype.GetAttributeDataArrayForAllPoints=di.prototype.GetAttributeDataArrayForAllPoints=function(e,t,r,i,n){var o=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),t&&"object"==typeof t&&(t=t.ptr),r&&"object"==typeof r&&(r=r.ptr),i&&"object"==typeof i&&(i=i.ptr),n&&"object"==typeof n&&(n=n.ptr),!!nr(o,e,t,r,i,n)},di.prototype.SkipAttributeTransform=di.prototype.SkipAttributeTransform=function(e){var t=this.ptr;e&&"object"==typeof e&&(e=e.ptr),or(t,e)},di.prototype.GetEncodedGeometryType_Deprecated=di.prototype.GetEncodedGeometryType_Deprecated=function(e){var t=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),ar(t,e)},di.prototype.DecodeBufferToPointCloud=di.prototype.DecodeBufferToPointCloud=function(e,t){var r=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),t&&"object"==typeof t&&(t=t.ptr),Jr(fr(r,e,t),ai)},di.prototype.DecodeBufferToMesh=di.prototype.DecodeBufferToMesh=function(e,t){var r=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),t&&"object"==typeof t&&(t=t.ptr),Jr(sr(r,e,t),ai)},di.prototype.__destroy__=di.prototype.__destroy__=function(){var e=this.ptr;cr(e)},function(){function e(){s.ATTRIBUTE_INVALID_TRANSFORM=ur(),s.ATTRIBUTE_NO_TRANSFORM=lr(),s.ATTRIBUTE_QUANTIZATION_TRANSFORM=br(),s.ATTRIBUTE_OCTAHEDRON_TRANSFORM=Ar(),s.INVALID=pr(),s.POSITION=dr(),s.NORMAL=_r(),s.COLOR=hr(),s.TEX_COORD=kr(),s.GENERIC=mr(),s.INVALID_GEOMETRY_TYPE=yr(),s.POINT_CLOUD=vr(),s.TRIANGULAR_MESH=gr(),s.DT_INVALID=wr(),s.DT_INT8=Er(),s.DT_UINT8=Tr(),s.DT_INT16=Br(),s.DT_UINT16=xr(),s.DT_INT32=Rr(),s.DT_UINT32=Nr(),s.DT_INT64=Ir(),s.DT_UINT64=Cr(),s.DT_FLOAT32=Dr(),s.DT_FLOAT64=Mr(),s.DT_BOOL=Gr(),s.DT_TYPES_COUNT=Ur(),s.OK=Vr(),s.DRACO_ERROR=Sr(),s.IO_ERROR=Fr(),s.INVALID_PARAMETER=Wr(),s.UNSUPPORTED_VERSION=jr(),s.UNKNOWN_VERSION=Or()}O?e():Z(e)}(),"function"==typeof s.onModuleParsed&&s.onModuleParsed(),s.Decoder.prototype.GetEncodedGeometryType=function(e){if(e.__class__&&e.__class__===s.DecoderBuffer)return s.Decoder.prototype.GetEncodedGeometryType_Deprecated(e);if(e.byteLength<8)return s.INVALID_GEOMETRY_TYPE;switch(e[7]){case 0:return s.POINT_CLOUD;case 1:return s.TRIANGULAR_MESH;default:return s.INVALID_GEOMETRY_TYPE}},e.ready});e.exports=f}).call(this,"/index.js",r(22),"/",r(32).Buffer)},,,function(e,t,r){"use strict";(function(e){
221
- /*!
222
- * The buffer module from node.js, for the browser.
223
- *
224
- * @author Feross Aboukhadijeh <http://feross.org>
225
- * @license MIT
226
- */
227
- var i=r(34),n=r(35),o=r(36);function a(){return s.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function f(e,t){if(a()<t)throw new RangeError("Invalid typed array length");return s.TYPED_ARRAY_SUPPORT?(e=new Uint8Array(t)).__proto__=s.prototype:(null===e&&(e=new s(t)),e.length=t),e}function s(e,t,r){if(!(s.TYPED_ARRAY_SUPPORT||this instanceof s))return new s(e,t,r);if("number"==typeof e){if("string"==typeof t)throw new Error("If encoding is specified then the first argument must be a string");return l(this,e)}return c(this,e,t,r)}function c(e,t,r,i){if("number"==typeof t)throw new TypeError('"value" argument must not be a number');return"undefined"!=typeof ArrayBuffer&&t instanceof ArrayBuffer?function(e,t,r,i){if(t.byteLength,r<0||t.byteLength<r)throw new RangeError("'offset' is out of bounds");if(t.byteLength<r+(i||0))throw new RangeError("'length' is out of bounds");t=void 0===r&&void 0===i?new Uint8Array(t):void 0===i?new Uint8Array(t,r):new Uint8Array(t,r,i);s.TYPED_ARRAY_SUPPORT?(e=t).__proto__=s.prototype:e=b(e,t);return e}(e,t,r,i):"string"==typeof t?function(e,t,r){"string"==typeof r&&""!==r||(r="utf8");if(!s.isEncoding(r))throw new TypeError('"encoding" must be a valid string encoding');var i=0|p(t,r),n=(e=f(e,i)).write(t,r);n!==i&&(e=e.slice(0,n));return e}(e,t,r):function(e,t){if(s.isBuffer(t)){var r=0|A(t.length);return 0===(e=f(e,r)).length||t.copy(e,0,0,r),e}if(t){if("undefined"!=typeof ArrayBuffer&&t.buffer instanceof ArrayBuffer||"length"in t)return"number"!=typeof t.length||(i=t.length)!=i?f(e,0):b(e,t);if("Buffer"===t.type&&o(t.data))return b(e,t.data)}var i;throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}(e,t)}function u(e){if("number"!=typeof e)throw new TypeError('"size" argument must be a number');if(e<0)throw new RangeError('"size" argument must not be negative')}function l(e,t){if(u(t),e=f(e,t<0?0:0|A(t)),!s.TYPED_ARRAY_SUPPORT)for(var r=0;r<t;++r)e[r]=0;return e}function b(e,t){var r=t.length<0?0:0|A(t.length);e=f(e,r);for(var i=0;i<r;i+=1)e[i]=255&t[i];return e}function A(e){if(e>=a())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+a().toString(16)+" bytes");return 0|e}function p(e,t){if(s.isBuffer(e))return e.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!=typeof e&&(e=""+e);var r=e.length;if(0===r)return 0;for(var i=!1;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":case void 0:return j(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return O(e).length;default:if(i)return j(e).length;t=(""+t).toLowerCase(),i=!0}}function d(e,t,r){var i=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if((r>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return N(this,t,r);case"utf8":case"utf-8":return B(this,t,r);case"ascii":return x(this,t,r);case"latin1":case"binary":return R(this,t,r);case"base64":return T(this,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return I(this,t,r);default:if(i)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),i=!0}}function _(e,t,r){var i=e[t];e[t]=e[r],e[r]=i}function h(e,t,r,i,n){if(0===e.length)return-1;if("string"==typeof r?(i=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,isNaN(r)&&(r=n?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(n)return-1;r=e.length-1}else if(r<0){if(!n)return-1;r=0}if("string"==typeof t&&(t=s.from(t,i)),s.isBuffer(t))return 0===t.length?-1:k(e,t,r,i,n);if("number"==typeof t)return t&=255,s.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?n?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):k(e,[t],r,i,n);throw new TypeError("val must be string, number or Buffer")}function k(e,t,r,i,n){var o,a=1,f=e.length,s=t.length;if(void 0!==i&&("ucs2"===(i=String(i).toLowerCase())||"ucs-2"===i||"utf16le"===i||"utf-16le"===i)){if(e.length<2||t.length<2)return-1;a=2,f/=2,s/=2,r/=2}function c(e,t){return 1===a?e[t]:e.readUInt16BE(t*a)}if(n){var u=-1;for(o=r;o<f;o++)if(c(e,o)===c(t,-1===u?0:o-u)){if(-1===u&&(u=o),o-u+1===s)return u*a}else-1!==u&&(o-=o-u),u=-1}else for(r+s>f&&(r=f-s),o=r;o>=0;o--){for(var l=!0,b=0;b<s;b++)if(c(e,o+b)!==c(t,b)){l=!1;break}if(l)return o}return-1}function m(e,t,r,i){r=Number(r)||0;var n=e.length-r;i?(i=Number(i))>n&&(i=n):i=n;var o=t.length;if(o%2!=0)throw new TypeError("Invalid hex string");i>o/2&&(i=o/2);for(var a=0;a<i;++a){var f=parseInt(t.substr(2*a,2),16);if(isNaN(f))return a;e[r+a]=f}return a}function y(e,t,r,i){return Z(j(t,e.length-r),e,r,i)}function v(e,t,r,i){return Z(function(e){for(var t=[],r=0;r<e.length;++r)t.push(255&e.charCodeAt(r));return t}(t),e,r,i)}function g(e,t,r,i){return v(e,t,r,i)}function w(e,t,r,i){return Z(O(t),e,r,i)}function E(e,t,r,i){return Z(function(e,t){for(var r,i,n,o=[],a=0;a<e.length&&!((t-=2)<0);++a)r=e.charCodeAt(a),i=r>>8,n=r%256,o.push(n),o.push(i);return o}(t,e.length-r),e,r,i)}function T(e,t,r){return 0===t&&r===e.length?i.fromByteArray(e):i.fromByteArray(e.slice(t,r))}function B(e,t,r){r=Math.min(e.length,r);for(var i=[],n=t;n<r;){var o,a,f,s,c=e[n],u=null,l=c>239?4:c>223?3:c>191?2:1;if(n+l<=r)switch(l){case 1:c<128&&(u=c);break;case 2:128==(192&(o=e[n+1]))&&(s=(31&c)<<6|63&o)>127&&(u=s);break;case 3:o=e[n+1],a=e[n+2],128==(192&o)&&128==(192&a)&&(s=(15&c)<<12|(63&o)<<6|63&a)>2047&&(s<55296||s>57343)&&(u=s);break;case 4:o=e[n+1],a=e[n+2],f=e[n+3],128==(192&o)&&128==(192&a)&&128==(192&f)&&(s=(15&c)<<18|(63&o)<<12|(63&a)<<6|63&f)>65535&&s<1114112&&(u=s)}null===u?(u=65533,l=1):u>65535&&(u-=65536,i.push(u>>>10&1023|55296),u=56320|1023&u),i.push(u),n+=l}return function(e){var t=e.length;if(t<=4096)return String.fromCharCode.apply(String,e);var r="",i=0;for(;i<t;)r+=String.fromCharCode.apply(String,e.slice(i,i+=4096));return r}(i)}t.Buffer=s,t.SlowBuffer=function(e){+e!=e&&(e=0);return s.alloc(+e)},t.INSPECT_MAX_BYTES=50,s.TYPED_ARRAY_SUPPORT=void 0!==e.TYPED_ARRAY_SUPPORT?e.TYPED_ARRAY_SUPPORT:function(){try{var e=new Uint8Array(1);return e.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===e.foo()&&"function"==typeof e.subarray&&0===e.subarray(1,1).byteLength}catch(e){return!1}}(),t.kMaxLength=a(),s.poolSize=8192,s._augment=function(e){return e.__proto__=s.prototype,e},s.from=function(e,t,r){return c(null,e,t,r)},s.TYPED_ARRAY_SUPPORT&&(s.prototype.__proto__=Uint8Array.prototype,s.__proto__=Uint8Array,"undefined"!=typeof Symbol&&Symbol.species&&s[Symbol.species]===s&&Object.defineProperty(s,Symbol.species,{value:null,configurable:!0})),s.alloc=function(e,t,r){return function(e,t,r,i){return u(t),t<=0?f(e,t):void 0!==r?"string"==typeof i?f(e,t).fill(r,i):f(e,t).fill(r):f(e,t)}(null,e,t,r)},s.allocUnsafe=function(e){return l(null,e)},s.allocUnsafeSlow=function(e){return l(null,e)},s.isBuffer=function(e){return!(null==e||!e._isBuffer)},s.compare=function(e,t){if(!s.isBuffer(e)||!s.isBuffer(t))throw new TypeError("Arguments must be Buffers");if(e===t)return 0;for(var r=e.length,i=t.length,n=0,o=Math.min(r,i);n<o;++n)if(e[n]!==t[n]){r=e[n],i=t[n];break}return r<i?-1:i<r?1:0},s.isEncoding=function(e){switch(String(e).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},s.concat=function(e,t){if(!o(e))throw new TypeError('"list" argument must be an Array of Buffers');if(0===e.length)return s.alloc(0);var r;if(void 0===t)for(t=0,r=0;r<e.length;++r)t+=e[r].length;var i=s.allocUnsafe(t),n=0;for(r=0;r<e.length;++r){var a=e[r];if(!s.isBuffer(a))throw new TypeError('"list" argument must be an Array of Buffers');a.copy(i,n),n+=a.length}return i},s.byteLength=p,s.prototype._isBuffer=!0,s.prototype.swap16=function(){var e=this.length;if(e%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var t=0;t<e;t+=2)_(this,t,t+1);return this},s.prototype.swap32=function(){var e=this.length;if(e%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var t=0;t<e;t+=4)_(this,t,t+3),_(this,t+1,t+2);return this},s.prototype.swap64=function(){var e=this.length;if(e%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var t=0;t<e;t+=8)_(this,t,t+7),_(this,t+1,t+6),_(this,t+2,t+5),_(this,t+3,t+4);return this},s.prototype.toString=function(){var e=0|this.length;return 0===e?"":0===arguments.length?B(this,0,e):d.apply(this,arguments)},s.prototype.equals=function(e){if(!s.isBuffer(e))throw new TypeError("Argument must be a Buffer");return this===e||0===s.compare(this,e)},s.prototype.inspect=function(){var e="",r=t.INSPECT_MAX_BYTES;return this.length>0&&(e=this.toString("hex",0,r).match(/.{2}/g).join(" "),this.length>r&&(e+=" ... ")),"<Buffer "+e+">"},s.prototype.compare=function(e,t,r,i,n){if(!s.isBuffer(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===r&&(r=e?e.length:0),void 0===i&&(i=0),void 0===n&&(n=this.length),t<0||r>e.length||i<0||n>this.length)throw new RangeError("out of range index");if(i>=n&&t>=r)return 0;if(i>=n)return-1;if(t>=r)return 1;if(this===e)return 0;for(var o=(n>>>=0)-(i>>>=0),a=(r>>>=0)-(t>>>=0),f=Math.min(o,a),c=this.slice(i,n),u=e.slice(t,r),l=0;l<f;++l)if(c[l]!==u[l]){o=c[l],a=u[l];break}return o<a?-1:a<o?1:0},s.prototype.includes=function(e,t,r){return-1!==this.indexOf(e,t,r)},s.prototype.indexOf=function(e,t,r){return h(this,e,t,r,!0)},s.prototype.lastIndexOf=function(e,t,r){return h(this,e,t,r,!1)},s.prototype.write=function(e,t,r,i){if(void 0===t)i="utf8",r=this.length,t=0;else if(void 0===r&&"string"==typeof t)i=t,r=this.length,t=0;else{if(!isFinite(t))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");t|=0,isFinite(r)?(r|=0,void 0===i&&(i="utf8")):(i=r,r=void 0)}var n=this.length-t;if((void 0===r||r>n)&&(r=n),e.length>0&&(r<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");i||(i="utf8");for(var o=!1;;)switch(i){case"hex":return m(this,e,t,r);case"utf8":case"utf-8":return y(this,e,t,r);case"ascii":return v(this,e,t,r);case"latin1":case"binary":return g(this,e,t,r);case"base64":return w(this,e,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return E(this,e,t,r);default:if(o)throw new TypeError("Unknown encoding: "+i);i=(""+i).toLowerCase(),o=!0}},s.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function x(e,t,r){var i="";r=Math.min(e.length,r);for(var n=t;n<r;++n)i+=String.fromCharCode(127&e[n]);return i}function R(e,t,r){var i="";r=Math.min(e.length,r);for(var n=t;n<r;++n)i+=String.fromCharCode(e[n]);return i}function N(e,t,r){var i=e.length;(!t||t<0)&&(t=0),(!r||r<0||r>i)&&(r=i);for(var n="",o=t;o<r;++o)n+=W(e[o]);return n}function I(e,t,r){for(var i=e.slice(t,r),n="",o=0;o<i.length;o+=2)n+=String.fromCharCode(i[o]+256*i[o+1]);return n}function C(e,t,r){if(e%1!=0||e<0)throw new RangeError("offset is not uint");if(e+t>r)throw new RangeError("Trying to access beyond buffer length")}function D(e,t,r,i,n,o){if(!s.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>n||t<o)throw new RangeError('"value" argument is out of bounds');if(r+i>e.length)throw new RangeError("Index out of range")}function M(e,t,r,i){t<0&&(t=65535+t+1);for(var n=0,o=Math.min(e.length-r,2);n<o;++n)e[r+n]=(t&255<<8*(i?n:1-n))>>>8*(i?n:1-n)}function G(e,t,r,i){t<0&&(t=4294967295+t+1);for(var n=0,o=Math.min(e.length-r,4);n<o;++n)e[r+n]=t>>>8*(i?n:3-n)&255}function U(e,t,r,i,n,o){if(r+i>e.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function V(e,t,r,i,o){return o||U(e,0,r,4),n.write(e,t,r,i,23,4),r+4}function S(e,t,r,i,o){return o||U(e,0,r,8),n.write(e,t,r,i,52,8),r+8}s.prototype.slice=function(e,t){var r,i=this.length;if((e=~~e)<0?(e+=i)<0&&(e=0):e>i&&(e=i),(t=void 0===t?i:~~t)<0?(t+=i)<0&&(t=0):t>i&&(t=i),t<e&&(t=e),s.TYPED_ARRAY_SUPPORT)(r=this.subarray(e,t)).__proto__=s.prototype;else{var n=t-e;r=new s(n,void 0);for(var o=0;o<n;++o)r[o]=this[o+e]}return r},s.prototype.readUIntLE=function(e,t,r){e|=0,t|=0,r||C(e,t,this.length);for(var i=this[e],n=1,o=0;++o<t&&(n*=256);)i+=this[e+o]*n;return i},s.prototype.readUIntBE=function(e,t,r){e|=0,t|=0,r||C(e,t,this.length);for(var i=this[e+--t],n=1;t>0&&(n*=256);)i+=this[e+--t]*n;return i},s.prototype.readUInt8=function(e,t){return t||C(e,1,this.length),this[e]},s.prototype.readUInt16LE=function(e,t){return t||C(e,2,this.length),this[e]|this[e+1]<<8},s.prototype.readUInt16BE=function(e,t){return t||C(e,2,this.length),this[e]<<8|this[e+1]},s.prototype.readUInt32LE=function(e,t){return t||C(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},s.prototype.readUInt32BE=function(e,t){return t||C(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},s.prototype.readIntLE=function(e,t,r){e|=0,t|=0,r||C(e,t,this.length);for(var i=this[e],n=1,o=0;++o<t&&(n*=256);)i+=this[e+o]*n;return i>=(n*=128)&&(i-=Math.pow(2,8*t)),i},s.prototype.readIntBE=function(e,t,r){e|=0,t|=0,r||C(e,t,this.length);for(var i=t,n=1,o=this[e+--i];i>0&&(n*=256);)o+=this[e+--i]*n;return o>=(n*=128)&&(o-=Math.pow(2,8*t)),o},s.prototype.readInt8=function(e,t){return t||C(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},s.prototype.readInt16LE=function(e,t){t||C(e,2,this.length);var r=this[e]|this[e+1]<<8;return 32768&r?4294901760|r:r},s.prototype.readInt16BE=function(e,t){t||C(e,2,this.length);var r=this[e+1]|this[e]<<8;return 32768&r?4294901760|r:r},s.prototype.readInt32LE=function(e,t){return t||C(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},s.prototype.readInt32BE=function(e,t){return t||C(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},s.prototype.readFloatLE=function(e,t){return t||C(e,4,this.length),n.read(this,e,!0,23,4)},s.prototype.readFloatBE=function(e,t){return t||C(e,4,this.length),n.read(this,e,!1,23,4)},s.prototype.readDoubleLE=function(e,t){return t||C(e,8,this.length),n.read(this,e,!0,52,8)},s.prototype.readDoubleBE=function(e,t){return t||C(e,8,this.length),n.read(this,e,!1,52,8)},s.prototype.writeUIntLE=function(e,t,r,i){(e=+e,t|=0,r|=0,i)||D(this,e,t,r,Math.pow(2,8*r)-1,0);var n=1,o=0;for(this[t]=255&e;++o<r&&(n*=256);)this[t+o]=e/n&255;return t+r},s.prototype.writeUIntBE=function(e,t,r,i){(e=+e,t|=0,r|=0,i)||D(this,e,t,r,Math.pow(2,8*r)-1,0);var n=r-1,o=1;for(this[t+n]=255&e;--n>=0&&(o*=256);)this[t+n]=e/o&255;return t+r},s.prototype.writeUInt8=function(e,t,r){return e=+e,t|=0,r||D(this,e,t,1,255,0),s.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},s.prototype.writeUInt16LE=function(e,t,r){return e=+e,t|=0,r||D(this,e,t,2,65535,0),s.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):M(this,e,t,!0),t+2},s.prototype.writeUInt16BE=function(e,t,r){return e=+e,t|=0,r||D(this,e,t,2,65535,0),s.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):M(this,e,t,!1),t+2},s.prototype.writeUInt32LE=function(e,t,r){return e=+e,t|=0,r||D(this,e,t,4,4294967295,0),s.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):G(this,e,t,!0),t+4},s.prototype.writeUInt32BE=function(e,t,r){return e=+e,t|=0,r||D(this,e,t,4,4294967295,0),s.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):G(this,e,t,!1),t+4},s.prototype.writeIntLE=function(e,t,r,i){if(e=+e,t|=0,!i){var n=Math.pow(2,8*r-1);D(this,e,t,r,n-1,-n)}var o=0,a=1,f=0;for(this[t]=255&e;++o<r&&(a*=256);)e<0&&0===f&&0!==this[t+o-1]&&(f=1),this[t+o]=(e/a>>0)-f&255;return t+r},s.prototype.writeIntBE=function(e,t,r,i){if(e=+e,t|=0,!i){var n=Math.pow(2,8*r-1);D(this,e,t,r,n-1,-n)}var o=r-1,a=1,f=0;for(this[t+o]=255&e;--o>=0&&(a*=256);)e<0&&0===f&&0!==this[t+o+1]&&(f=1),this[t+o]=(e/a>>0)-f&255;return t+r},s.prototype.writeInt8=function(e,t,r){return e=+e,t|=0,r||D(this,e,t,1,127,-128),s.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},s.prototype.writeInt16LE=function(e,t,r){return e=+e,t|=0,r||D(this,e,t,2,32767,-32768),s.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):M(this,e,t,!0),t+2},s.prototype.writeInt16BE=function(e,t,r){return e=+e,t|=0,r||D(this,e,t,2,32767,-32768),s.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):M(this,e,t,!1),t+2},s.prototype.writeInt32LE=function(e,t,r){return e=+e,t|=0,r||D(this,e,t,4,2147483647,-2147483648),s.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):G(this,e,t,!0),t+4},s.prototype.writeInt32BE=function(e,t,r){return e=+e,t|=0,r||D(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),s.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):G(this,e,t,!1),t+4},s.prototype.writeFloatLE=function(e,t,r){return V(this,e,t,!0,r)},s.prototype.writeFloatBE=function(e,t,r){return V(this,e,t,!1,r)},s.prototype.writeDoubleLE=function(e,t,r){return S(this,e,t,!0,r)},s.prototype.writeDoubleBE=function(e,t,r){return S(this,e,t,!1,r)},s.prototype.copy=function(e,t,r,i){if(r||(r=0),i||0===i||(i=this.length),t>=e.length&&(t=e.length),t||(t=0),i>0&&i<r&&(i=r),i===r)return 0;if(0===e.length||0===this.length)return 0;if(t<0)throw new RangeError("targetStart out of bounds");if(r<0||r>=this.length)throw new RangeError("sourceStart out of bounds");if(i<0)throw new RangeError("sourceEnd out of bounds");i>this.length&&(i=this.length),e.length-t<i-r&&(i=e.length-t+r);var n,o=i-r;if(this===e&&r<t&&t<i)for(n=o-1;n>=0;--n)e[n+t]=this[n+r];else if(o<1e3||!s.TYPED_ARRAY_SUPPORT)for(n=0;n<o;++n)e[n+t]=this[n+r];else Uint8Array.prototype.set.call(e,this.subarray(r,r+o),t);return o},s.prototype.fill=function(e,t,r,i){if("string"==typeof e){if("string"==typeof t?(i=t,t=0,r=this.length):"string"==typeof r&&(i=r,r=this.length),1===e.length){var n=e.charCodeAt(0);n<256&&(e=n)}if(void 0!==i&&"string"!=typeof i)throw new TypeError("encoding must be a string");if("string"==typeof i&&!s.isEncoding(i))throw new TypeError("Unknown encoding: "+i)}else"number"==typeof e&&(e&=255);if(t<0||this.length<t||this.length<r)throw new RangeError("Out of range index");if(r<=t)return this;var o;if(t>>>=0,r=void 0===r?this.length:r>>>0,e||(e=0),"number"==typeof e)for(o=t;o<r;++o)this[o]=e;else{var a=s.isBuffer(e)?e:j(new s(e,i).toString()),f=a.length;for(o=0;o<r-t;++o)this[o+t]=a[o%f]}return this};var F=/[^+\/0-9A-Za-z-_]/g;function W(e){return e<16?"0"+e.toString(16):e.toString(16)}function j(e,t){var r;t=t||1/0;for(var i=e.length,n=null,o=[],a=0;a<i;++a){if((r=e.charCodeAt(a))>55295&&r<57344){if(!n){if(r>56319){(t-=3)>-1&&o.push(239,191,189);continue}if(a+1===i){(t-=3)>-1&&o.push(239,191,189);continue}n=r;continue}if(r<56320){(t-=3)>-1&&o.push(239,191,189),n=r;continue}r=65536+(n-55296<<10|r-56320)}else n&&(t-=3)>-1&&o.push(239,191,189);if(n=null,r<128){if((t-=1)<0)break;o.push(r)}else if(r<2048){if((t-=2)<0)break;o.push(r>>6|192,63&r|128)}else if(r<65536){if((t-=3)<0)break;o.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;o.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return o}function O(e){return i.toByteArray(function(e){if((e=function(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}(e).replace(F,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function Z(e,t,r,i){for(var n=0;n<i&&!(n+r>=t.length||n>=e.length);++n)t[n+r]=e[n];return n}}).call(this,r(33))},function(e,t){var r;r=function(){return this}();try{r=r||new Function("return this")()}catch(e){"object"==typeof window&&(r=window)}e.exports=r},function(e,t){e.exports=require("base64-js")},function(e,t){e.exports=require("ieee754")},function(e,t){e.exports=require("isarray")},,function(e,t,r){"use strict";r.r(t),t.default="#define GLSLIFY 1\nuniform mat4 modelMatrix;\nuniform vec2 scale;\nuniform vec2 offset;\n\nin vec3 position;\nin vec2 uv;\n\nout vec2 vUv;\n\nconst mat4 unitOrthographicProjection = mat4(1., 0., 0., 0., 0., 1., 0., 0., 0., 0., -1., 0., 0., 0., 0., 1.);\n\nvoid main() {\n vUv = uv;\n\n vec4 clipSpace = unitOrthographicProjection * modelMatrix * vec4(position, 1.0);\n\n clipSpace.xy *= scale.xy;\n\n clipSpace.xy += vec2(-1., -1.) + offset;\n\n gl_Position = clipSpace;\n}\n"},function(e,t,r){"use strict";r.r(t),t.default="precision highp float;\n#define GLSLIFY 1\n\nuniform sampler2D tex;\n\nin vec2 vUv;\n\nout vec4 color;\n\nvoid main()\n{\n color = texture(tex, vUv); \n}\n"},,,,,function(e,t){e.exports=require("lodash/merge")},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,r){"use strict";r.r(t),r.d(t,"HtmlOverlayTool",(function(){return b})),r.d(t,"ExplodedViewTool",(function(){return p})),r.d(t,"DebugCameraTool",(function(){return d})),r.d(t,"AxisViewTool",(function(){return R})),r.d(t,"Corner",(function(){return _})),r.d(t,"GeomapTool",(function(){return O})),r.d(t,"MapProviders",(function(){return N})),r.d(t,"MapboxMode",(function(){return I})),r.d(t,"MapboxStyle",(function(){return C})),r.d(t,"MapboxImageFormat",(function(){return M})),r.d(t,"BingMapType",(function(){return G})),r.d(t,"BingMapImageFormat",(function(){return U})),r.d(t,"HereMapType",(function(){return V})),r.d(t,"HereMapScheme",(function(){return S})),r.d(t,"HereMapImageFormat",(function(){return F})),r.d(t,"TimelineTool",(function(){return P})),r.d(t,"Keyframe",(function(){return Z})),r.d(t,"Cognite3DViewerToolBase",(function(){return o})),r.d(t,"DebugLoadedSectorsTool",(function(){return z}));var i=r(0),n=r(24);
228
- /*!
229
- * Copyright 2021 Cognite AS
230
- */
231
- /*!
232
- * Copyright 2021 Cognite AS
233
- */
234
- class o{constructor(){this._disposedEvent=new n.a,this._disposed=!1}on(e,t){switch(e){case"disposed":this._disposedEvent.subscribe(t);break;default:Object(n.b)(e)}}off(e,t){switch(e){case"disposed":this._disposedEvent.unsubscribe(t);break;default:Object(n.b)(e)}}dispose(){if(this._disposed)throw new Error("Already disposed");this._disposed=!0,this._disposedEvent.fire(),this._disposedEvent.unsubscribeAll()}ensureNotDisposed(){if(this._disposed)throw new Error("The tool has been disposed")}}var a=r(15),f=r.n(a);
235
- /*!
236
- * Copyright 2021 Cognite AS
237
- */
238
- class s{constructor(e,t){this._removedElements=new Set,this._dimensions=t,this._cells=f()(0,t[0]*t[1]).map(()=>new Array),this._bounds=e}insert(e,t){if(!this._bounds.intersectsBox(e))throw new Error("Element to be added must be partially inside grid");if(this._removedElements.has(t))throw new Error("Re-adding previously taken elements is currently not supported");for(const r of this.cellsIntersecting(e))r.push({bounds:e,element:t})}*overlappingElements(e){if(!this._bounds.intersectsBox(e))return;const t=new Set;for(const r of this.cellsIntersecting(e))for(const i of r)t.has(i.element)||this._removedElements.has(i.element)||!e.intersectsBox(i.bounds)||(t.add(i.element),yield i.element)}*removeOverlappingElements(e){if(this._bounds.intersectsBox(e))for(const t of this.cellsIntersecting(e))for(let r=0;r<t.length;r++){const i=t[r];!this._removedElements.has(i.element)&&e.intersectsBox(i.bounds)&&(this._removedElements.add(i.element),yield i.element)}}*cellsIntersecting(e){const{min:t,max:r}=this._bounds,n=this._dimensions[0],o=this._dimensions[1],a=(e.min.x-t.x)/(r.x-t.x),f=(e.max.x-t.x)/(r.x-t.x),s=(e.min.y-t.y)/(r.y-t.y),c=(e.max.y-t.y)/(r.y-t.y),u=i.MathUtils.clamp,l=u(Math.floor(n*a),0,n-1),b=u(Math.floor(n*f),0,n-1),A=u(Math.floor(o*s),0,o-1),p=u(Math.floor(o*c),0,o-1);for(let e=A;e<=p;++e)for(let t=l;t<=b;++t)yield this._cells[e*n+t]}}var c=r(9),u=r(14),l=r.n(u);
239
- /*!
240
- * Copyright 2021 Cognite AS
241
- */
242
- class b extends o{constructor(e,t){super(),this._htmlOverlays=new Map,this._compositeOverlays=[],this._preallocatedVariables={camPos:new i.Vector3,camNormal:new i.Vector3,point:new i.Vector3,nearPlane:new i.Plane,farPlane:new i.Plane,position2D:new i.Vector2},this._onSceneRenderedHandler=this.onSceneRendered.bind(this),this._onViewerDisposedHandler=this.onViewerDisposed.bind(this),this._options=null!=t?t:{},this._viewer=e,this._viewer.on("sceneRendered",this._onSceneRenderedHandler),this._viewer.on("disposed",this._onViewerDisposedHandler),this.scheduleUpdate=l()(()=>this.forceUpdate(),20),c.a.trackCreateTool("HtmlOverlayTool")}get viewerDomElement(){return this._viewer.domElement}get viewerCamera(){return this._viewer.getCamera()}get viewerRenderer(){return this._viewer.renderer}get elements(){return Array.from(this._htmlOverlays.entries()).map(([e,t])=>({element:e,position3D:t.position3D}))}dispose(){this._viewer.off("sceneRendered",this._onSceneRenderedHandler),this._viewer.off("disposed",this._onViewerDisposedHandler),this.clear(),super.dispose()}add(e,t,r={}){if(this.ensureNotDisposed(),this.viewerDomElement.contains(e))throw new Error("Element is already attached to viewer");e.style.visibility="hidden",this.viewerDomElement.appendChild(e);const n=getComputedStyle(e);if("absolute"!==n.position)throw this.viewerDomElement.removeChild(e),new Error(`htmlElement style must have a position of absolute. but was '${n.position}'`);const o={position3D:t,options:r,state:{position2D:new i.Vector2,width:-1,height:-1,visible:!0}};this._htmlOverlays.set(e,o),this.scheduleUpdate()}remove(e){if(this.ensureNotDisposed(),!this.viewerDomElement.contains(e)||!this._htmlOverlays.has(e))throw new Error("Element is not attached to viewer");this.viewerDomElement.removeChild(e),this._htmlOverlays.delete(e)}clear(){const e=Array.from(this._htmlOverlays.keys());for(const t of e)this.remove(t);this.forceUpdate()}forceUpdate(){if(this.ensureNotDisposed(),this.cleanupClusterElements(),0===this._htmlOverlays.size)return;this.updateNewElementSizes();const e=this.viewerCamera,t=this.viewerRenderer,{camPos:r,camNormal:i,point:o,nearPlane:a,farPlane:f,position2D:s}=this._preallocatedVariables;e.getWorldPosition(r),e.getWorldDirection(i),o.copy(r).addScaledVector(i,e.near),a.setFromNormalAndCoplanarPoint(i,o),o.copy(r).addScaledVector(i,e.far),f.setFromNormalAndCoplanarPoint(i,o),this._htmlOverlays.forEach((i,o)=>{const{position3D:c,options:{positionUpdatedCallback:u,userData:l},state:b}=i,A=a.distanceToPoint(c)>=0&&f.distanceToPoint(c)<=0,{x:p,y:d}=Object(n.c)(t,e,c);if(A?(b.position2D.set(p,d),b.visible=!0):b.visible=!1,u){s.set(p,d);const e=r.distanceTo(c);u(o,s,c,e,l)}}),this.clusterElements(),this.commitDOMChanges()}updateNewElementSizes(){this._htmlOverlays.forEach((e,t)=>{if(-1===e.state.width){const r=t.getBoundingClientRect();e.state.width=r.width,e.state.height=r.height}})}commitDOMChanges(){const e=this.viewerRenderer.domElement,t=e.offsetLeft,r=e.offsetTop;this._htmlOverlays.forEach((e,i)=>{const{state:n}=e;i.style.left=n.position2D.x+t+"px",i.style.top=n.position2D.y+r+"px",n.visible&&"visible"!==i.style.visibility?function(e){e.style.visibility="visible",e.style.opacity="1",e.style.transition="opacity 0.2s linear"}(i):n.visible||"hidden"===i.style.visibility||function(e){e.style.visibility="hidden",e.style.opacity="0",e.style.transition="visibility 0s 0.2s, opacity 0.2s linear"}(i)}),this._compositeOverlays.forEach(e=>{this.viewerDomElement.appendChild(e)})}clusterElements(){const e=this._options.clusteringOptions;if(void 0!==e)switch(e.mode){case"overlapInScreenSpace":this.clusterByOverlapInScreenSpace(e.createClusterElementCallback);break;default:Object(n.b)(e.mode,"Unsupported clustering mode: '"+e.mode)}}cleanupClusterElements(){this._compositeOverlays.forEach(e=>{this.viewerDomElement.removeChild(e)}),this._compositeOverlays.splice(0)}clusterByOverlapInScreenSpace(e){const t=this.viewerRenderer.domElement,r=(n=t.getBoundingClientRect(),(o=null!=o?o:new i.Box2).min.set(n.left,n.top),o.max.set(n.right,n.bottom),o);var n,o;const a=r.getSize(new i.Vector2);r.set(new i.Vector2(0,0),a);const f=new s(r,[10,10]);for(const[e,t]of this._htmlOverlays.entries()){const{state:i}=t,n=A(t);i.visible&&n.intersectsBox(r)&&f.insert(n,{htmlElement:e,...t})}const c=new i.Box2,u=new i.Vector2;for(const t of this._htmlOverlays.values()){const{state:i}=t;if(A(t,c),!i.visible||!c.intersectsBox(r))continue;const n=Array.from(f.removeOverlappingElements(c));if(n.length>1){const t=n.reduce((e,t)=>e.add(t.state.position2D),u.set(0,0)).divideScalar(n.length),r=e(n.map(e=>({htmlElement:e.htmlElement,userData:e.options.userData})));n.forEach(e=>e.state.visible=!1),this.addComposite(r,t)}}}addComposite(e,t){const r=this.viewerRenderer.domElement;e.style.visibility="visible",e.style.left=t.x+r.offsetLeft+"px",e.style.top=t.y+r.offsetTop+"px",this._compositeOverlays.push(e)}onSceneRendered(){this.forceUpdate()}onViewerDisposed(){this.dispose()}}function A(e,t){const{state:r}=e;return(t=null!=t?t:new i.Box2).min.set(r.position2D.x,r.position2D.y),t.max.set(r.position2D.x+r.width,r.position2D.y+r.height),t}
243
- /*!
244
- * Copyright 2021 Cognite AS
245
- */class p extends o{constructor(e,t){super(),this._cadModel=t,this._rootTreeIndex=e,this.preloadBoundingBoxData(t,e),c.a.trackCreateTool("ExplodedViewTool")}get readyPromise(){return this._treeBoundingBoxdata.then()}async expand(e){const t=await this._treeBoundingBoxdata;await Promise.all(t.map(({treeIndex:t,direction:r,transform:i})=>0===e?(this._cadModel.resetNodeTransformByTreeIndex(t),Promise.resolve(0)):(i.setPosition(r.x*e,r.y*e,r.z*e),this._cadModel.setNodeTransformByTreeIndex(t,i))))}reset(){this._cadModel.resetNodeTransformByTreeIndex(this._rootTreeIndex,!0)}preloadBoundingBoxData(e,t){const r=e.getBoundingBoxByTreeIndex(t).then(e=>e.getCenter(new i.Vector3)),n=e.getSubtreeTreeIndices(t).then(e=>{if(e.count>1e3)throw new Error(`Subtree size of ${e.count} is too large (max size = 1000)`);return e}).then(t=>Promise.all(t.toArray().map(async t=>({subTreeIndex:t,subTreeIndexBoundingBoxCenter:(await e.getBoundingBoxByTreeIndex(t)).getCenter(new i.Vector3)}))));this._treeBoundingBoxdata=Promise.all([r,n]).then(e=>{const[t,r]=e;return r.map(({subTreeIndex:e,subTreeIndexBoundingBoxCenter:r})=>({treeIndex:e,direction:(new i.Vector3).subVectors(r,t),transform:new i.Matrix4}))}).then(async t=>(await Promise.all(t.map(t=>e.setNodeTransformByTreeIndex(t.treeIndex,t.transform))),t))}}
246
- /*!
247
- * Copyright 2021 Cognite AS
248
- */class d extends o{constructor(e){super(),this._onViewerDisposedHandler=this.onViewerDisposed.bind(this),this._viewer=e,this._viewer.on("disposed",this._onViewerDisposedHandler)}get viewerCamera(){return this._viewer.getCamera()}dispose(){this._viewer.off("disposed",this._onViewerDisposedHandler),super.dispose()}showCameraHelper(){this.hideCameraHelper(),this._cameraHelper=new i.CameraHelper(this.viewerCamera.clone()),this._viewer.addObject3D(this._cameraHelper)}hideCameraHelper(){void 0!==this._cameraHelper&&(this._viewer.removeObject3D(this._cameraHelper),this._cameraHelper=void 0)}onViewerDisposed(){this.dispose()}}var _,h=r(12),k=r.n(h),m=r(44),y=r.n(m),v=r(11),g=r.n(v),w=r(8),E=r.n(w);!function(e){e[e.TopRight=0]="TopRight",e[e.TopLeft=1]="TopLeft",e[e.BottomLeft=2]="BottomLeft",e[e.BottomRight=3]="BottomRight"}(_||(_={}));const T={ringLabel:"N",labelDelta:Math.PI,fontSize:void 0,fontColor:new i.Color(16711680),tickColor:new i.Color(9737364)},B={label:"",fontSize:void 0,fontColor:new i.Color(3355443),outlineSize:void 0,outlineColor:new i.Color(3355443),faceColor:new i.Color(9737364)},x={size:128,position:{corner:_.BottomRight,padding:new i.Vector2},animationSpeed:200,faces:{xPositiveFace:{...B,label:"Right"},xNegativeFace:{...B,label:"Left"},yPositiveFace:{...B,label:"Up"},yNegativeFace:{...B,label:"Down"},zPositiveFace:{...B,label:"Front"},zNegativeFace:{...B,label:"Back"}},compass:T};
249
- /*!
250
- * Copyright 2021 Cognite AS
251
- */
252
- class R extends o{constructor(e,t){super(),this._dynamicUpdatePosition=()=>{},this._updateClickDiv=()=>{},this._screenPosition=new i.Vector2,this._boxFaceGeometry=new i.PlaneGeometry(.9,.9,1,1),this._raycaster=new i.Raycaster,this._raycaster.layers.enableAll(),this._viewer=e,this._layoutConfig=y()(k()(x),t),this._axisGroup=new i.Group,this._axisGroup.name="Axis View Tool",this._axisGroup.renderOrder=1,this._interactiveObjects=this.createAxisCross(this._axisGroup),[this._updateClickDiv,this._disposeClickDiv]=this.createClickDiv(e),this.addAxisBoxToViewer(this._axisGroup,this._layoutConfig.position),c.a.trackCreateTool("AxisViewTool")}dispose(){super.dispose(),this._viewer.removeObject3D(this._axisGroup),this._disposeClickDiv()}createClickDiv(e){if(null===e.domElement.querySelector("canvas"))throw new Error("Could not find canvas");const t=document.createElement("div");t.style.position="absolute",t.style.height=this._layoutConfig.size+"px",t.style.width=this._layoutConfig.size+"px",t.style.zIndex="1";let r=0,i=0;return t.addEventListener("mousedown",t=>{const n=new MouseEvent("mousedown",{clientX:t.clientX,clientY:t.clientY,button:t.button});r=t.clientX,i=t.clientY,e.renderer.domElement.dispatchEvent(n)}),t.addEventListener("mousemove",t=>{const r=new MouseEvent("mousemove",{clientX:t.clientX,clientY:t.clientY,button:t.button});e.renderer.domElement.dispatchEvent(r)}),t.addEventListener("contextmenu",e=>e.preventDefault()),t.addEventListener("mouseup",t=>{const n=new MouseEvent("mouseup",{clientX:t.clientX,clientY:t.clientY,button:t.button}),o=e.domElement.getBoundingClientRect(),a=t.clientX-o.left,f=t.clientY-o.top;Math.abs(r-t.clientX)+Math.abs(i-t.clientY)<=10&&!this.handleClick(a,f,o)&&e.renderer.domElement.dispatchEvent(n)}),e.domElement.appendChild(t),[()=>{t.style.left=this._screenPosition.x+"px",t.style.bottom=this._screenPosition.y+"px"},()=>{e.domElement.removeChild(t)}]}addAxisBoxToViewer(e,t){const r=this._layoutConfig.size;if(function(e){return void 0!==e.xAbsolute&&void 0!==e.yAbsolute}(t))this._screenPosition.x=t.xAbsolute,this._screenPosition.y=t.yAbsolute;else{switch(t.corner){case _.BottomRight:this._screenPosition.y=t.padding.y,this._dynamicUpdatePosition=()=>{this._screenPosition.x=this._viewer.renderer.domElement.clientWidth-t.padding.x-r};break;case _.TopRight:this._dynamicUpdatePosition=()=>{this._screenPosition.x=this._viewer.renderer.domElement.clientWidth-t.padding.x-r,this._screenPosition.y=this._viewer.renderer.domElement.clientHeight-t.padding.y-r};break;case _.TopLeft:this._screenPosition.x=t.padding.x,this._dynamicUpdatePosition=()=>{this._screenPosition.y=this._viewer.renderer.domElement.clientHeight-t.padding.y-r};break;case _.BottomLeft:this._screenPosition.x=t.padding.x,this._screenPosition.y=t.padding.y;break;default:throw new Error("Unknown corner position for Axis Cross: Corner = "+t.corner)}this._dynamicUpdatePosition()}this._viewer.addObject3D(e)}handleClick(e,t,r){const n=2*(e-this._screenPosition.x)/this._layoutConfig.size-1,o=2*(r.height-t-this._screenPosition.y)/this._layoutConfig.size-1,a=new i.Vector3(n,o,1),f=new i.Vector3(0,0,-1).normalize();this._raycaster.set(a,f);const s=this._raycaster.intersectObjects(this._interactiveObjects);if(!(s.length>0))return!1;const c=s[0].object.position.clone().normalize(),u=s[0].object.userData.upVector.clone();return this.moveCameraTo(c,u),!0}createAxisCross(e){const t=this.createCompass();e.add(t);const r=this.createBoxFaces();return e.add(...r),this.setupTransformOnRender(e),r}setupTransformOnRender(e){e.children[0].onBeforeRender=t=>{this._dynamicUpdatePosition(),e.quaternion.copy(this._viewer.getCamera().quaternion).invert(),e.updateMatrixWorld(),this._updateClickDiv();const r=t.domElement.clientWidth,n=t.domElement.clientHeight,o=new i.Vector2;t.getSize(o);const a=this._layoutConfig.size,f=new i.Vector2(a/r,a/n),s=new i.Vector2(this._screenPosition.x/r*2+a/r,this._screenPosition.y/n*2+a/n);e.traverse(e=>{e instanceof i.Mesh&&(e.material.uniforms.offset.value=s,e.material.uniforms.scale.value=f,e.material.uniformsNeedUpdate=!0)})}}createBoxFaces(){const e=this._layoutConfig.faces;return[this.createBoxFace(new i.Vector3(1,0,0),e.xPositiveFace),this.createBoxFace(new i.Vector3(-1,0,0),e.xNegativeFace),this.createBoxFace(new i.Vector3(0,1,0),e.yPositiveFace,new i.Vector3(0,0,-1)),this.createBoxFace(new i.Vector3(0,-1,0),e.yNegativeFace,new i.Vector3(0,0,1)),this.createBoxFace(new i.Vector3(0,0,1),e.zPositiveFace),this.createBoxFace(new i.Vector3(0,0,-1),e.zNegativeFace)]}createCompass(){const e=new i.PlaneGeometry(2,2,1,1),t=new i.Mesh(e,new i.RawShaderMaterial({vertexShader:E()(r(38).default),fragmentShader:E()(r(39).default),uniforms:{offset:{value:new i.Vector2},scale:{value:new i.Vector2},tex:{value:this.createCompassTexture()}},side:i.DoubleSide,glslVersion:i.GLSL3,depthTest:!1,blending:i.CustomBlending,blendDst:i.OneMinusSrcAlphaFactor,blendSrc:i.SrcAlphaFactor}));t.frustumCulled=!1,t.renderOrder=1;const n=Math.sin(this._layoutConfig.compass.labelDelta),o=Math.cos(this._layoutConfig.compass.labelDelta);return t.position.y=-.45,t.up.copy(new i.Vector3(n,0,o)),t.lookAt(0,0,0),t}createCompassTexture(){var e;const t=this._layoutConfig.compass,r=this._layoutConfig.size,n=document.createElement("canvas");n.width=r,n.height=r;const o=n.getContext("2d"),a=r/2,f=a-a/4,s=r/32,c=r/8;if(o.strokeStyle=t.tickColor.getStyle(),o.lineWidth=r/16,o.setLineDash([s,c]),o.beginPath(),o.arc(a,a,f,0,2*Math.PI),o.stroke(),t.ringLabel&&t.ringLabel.length>0){const i=null!==(e=t.fontSize)&&void 0!==e?e:r/5;o.font=`bold ${i}px Arial`,o.textAlign="center",o.fillStyle=t.fontColor.getStyle(),o.fillText(t.ringLabel,a,a*(1/4)+i/3)}return new i.CanvasTexture(n)}getFaceTexture(e,t){var r,n;const o=t/2,a=document.createElement("canvas");a.width=o,a.height=o;const f=a.getContext("2d");f.fillStyle=e.outlineColor.getStyle(),f.fillRect(0,0,o,o),f.fillStyle=e.faceColor.getStyle();const s=null!==(r=e.outlineSize)&&void 0!==r?r:o/32;if(f.fillRect(s,s,o-2*s,o-2*s),f.fill(),""!==e.label){const t=null!==(n=e.fontSize)&&void 0!==n?n:o/3;f.font=`bold ${t}px Arial`,f.textAlign="center",f.fillStyle=e.fontColor.getStyle(),f.fillText(e.label,o/2,o/2+t/3)}return new i.CanvasTexture(a)}createBoxFace(e,t,n=new i.Vector3(0,1,0)){const o=new i.Mesh(this._boxFaceGeometry,new i.RawShaderMaterial({vertexShader:E()(r(38).default),fragmentShader:E()(r(39).default),uniforms:{offset:{value:new i.Vector2},scale:{value:new i.Vector2},tex:{value:this.getFaceTexture(t,this._layoutConfig.size)}},depthTest:!1,glslVersion:i.GLSL3,transparent:!0}));return o.frustumCulled=!1,o.renderOrder=1e3,o.position.copy(e.multiplyScalar(.5*this._boxFaceGeometry.parameters.width)),o.lookAt(e.multiplyScalar(2)),o.userData.upVector=n,o}moveCameraTo(e,t){const r=this._viewer.cameraManager,{position:n,target:o,rotation:a}=r.getCameraState(),f=n.clone().sub(o),s=f.length(),c=f.clone().normalize(),u=Math.acos(c.dot(e)),l={t:0},b=new g.a.Tween(l),A=e.clone(),p=a.clone(),d=(new i.Quaternion).setFromRotationMatrix((new i.Matrix4).makeBasis(t.clone().cross(A),t,A));if(p.angleTo(d)<1e-6)return;const _=new i.Vector3,h=new i.Quaternion;b.to({t:1},this._layoutConfig.animationSpeed).onUpdate(()=>{_.copy(c).multiplyScalar(Math.sin((1-l.t)*u)/Math.sin(u)).add(e.clone().multiplyScalar(Math.sin(l.t*u)/Math.sin(u))),_.multiplyScalar(s),_.add(o),h.slerpQuaternions(p,d,l.t),r.setCameraState({position:_,rotation:h})}).onComplete(()=>{r.setCameraState({position:_,target:o})}).start(g.a.now()).update(g.a.now())}}var N,I,C,D,M,G,U,V,S,F,W=r(17);
253
- /*!
254
- * Copyright 2021 Cognite AS
255
- */!function(e){e.BingMap="BingMap",e.HereMap="HereMap",e.MapboxMap="MapboxMap",e.OpenStreetMap="OpenStreetMap"}(N||(N={})),function(e){e[e.Style=100]="Style",e[e.Map_Id=101]="Map_Id"}(I||(I={})),function(e){e.Streets="mapbox/streets-v10",e.Outdoor="mapbox/outdoors-v10",e.Light="mapbox/light-v9",e.Dark="mapbox/dark-v9",e.Satellite="mapbox/satellite-v9",e.Satellite_Streets="mapbox/satellite-streets-v10",e.Navigation_Day="mapbox/navigation-preview-day-v4",e.Navigation_Night="mapbox/navigation-preview-night-v4",e.Navigation_Guide_Day="mapbox/navigation-guidance-day-v4",e.Navigation_Guide_Night="mapbox/navigation-guidance-night-v4"}(C||(C={})),function(e){e.Streets="mapbox.mapbox-streets-v7",e.Satellite="mapbox.satellite",e.Terrain="mapbox.mapbox-terrain-v2",e.Traffic="mapbox.mapbox-traffic-v1",e.TerrainRGB="mapbox.terrain-rgb"}(D||(D={})),function(e){e.PNG="png",e.PNG32="png32",e.PNG64="png64",e.PNG128="png128",e.PNG256="png256",e.JPG70="jpg70",e.JPG80="jpg80",e.JPG90="jpg90",e.PNGRAW="pngraw"}(M||(M={})),function(e){e.Aerial="a",e.Road="r",e.Aerial_Labels="h",e.Oblique="o",e.Oblique_Labels="b"}(G||(G={})),function(e){e.GIF="gif",e.JPEG="jpeg",e.PNG="png"}(U||(U={})),function(e){e.Aerial="aerial",e.Base="base",e.Pano="pano",e.Traffic="traffic"}(V||(V={})),function(e){e.Day="normal.day",e.Night="normal.night",e.Terrain="terrain.day",e.Satellite="satellite.day"}(S||(S={})),function(e){e.PNG="png",e.PNG8="png8",e.JPG="jpg"}(F||(F={}));
256
- /*!
257
- * Copyright 2021 Cognite AS
258
- */
259
- class j{constructor(e,t){this._intervalId=0,this._onCameraChange=this.handleCameraChange.bind(this),this._viewer=e;const r=this.getMapProvider(t);this._map=new W.MapView(W.MapView.PLANAR,r,r),this._viewer.addObject3D(this._map);const i=W.UnitsUtils.datumsToSpherical(t.latlong.latitude,t.latlong.longitude),n=this._viewer.models[0].getModelBoundingBox();this._map.position.set(-i.x,n.min.y,i.y),this._map.updateMatrixWorld(!0),this.requestRedraw(1e4),this._viewer.on("cameraChange",this._onCameraChange)}requestRedraw(e){0==this._intervalId&&(this._intervalId=setInterval(()=>{this._viewer.requestRedraw()},100),setTimeout(()=>{clearInterval(this._intervalId),this._intervalId=0},e))}getMapProvider(e){let t;switch(e.provider){case N.BingMap:t=new W.BingMapsProvider(e.APIKey,e.type);break;case N.HereMap:t=new W.HereMapsProvider(e.APIKey,e.appCode,e.style,e.scheme,e.imageFormat,e.size);break;case N.MapboxMap:t=new W.MapBoxProvider(e.APIKey,e.id,e.mode,e.tileFormat);break;case N.OpenStreetMap:t=new W.OpenStreetMapsProvider;break;default:throw new Error("Unsupported map provider")}return t}latLongToWorldCoordinates(e){return W.UnitsUtils.datumsToSpherical(e.latitude,e.longitude)}handleCameraChange(){this.requestRedraw(1e3)}dispose(){this._viewer.removeObject3D(this._map),this._viewer.off("cameraChange",this._onCameraChange)}}
260
- /*!
261
- * Copyright 2021 Cognite AS
262
- */class O extends o{constructor(e,t){super(),this._viewer=e,this._maps=new j(this._viewer,t),c.a.trackCreateTool("GeomapTool")}latLongToWorldCoordinates(e){return this._maps.latLongToWorldCoordinates(e)}dispose(){super.dispose(),this._maps.dispose()}}
263
- /*!
264
- * Copyright 2021 Cognite AS
265
- */class Z{constructor(e,t){this._nodeCollectionAndAppearance=[],this._model=e,this._date=t}getKeyframeDate(){return this._date}activate(){this._nodeCollectionAndAppearance.forEach((e,t)=>{this._model.assignStyledNodeCollection(e.nodes,e.nodeAppearance)})}deactivate(){this._nodeCollectionAndAppearance.forEach((e,t)=>{this._model.unassignStyledNodeCollection(e.nodes)})}assignStyledNodeCollection(e,t){c.a.trackCadModelStyled(e.classToken,t);const r=this._nodeCollectionAndAppearance.findIndex(t=>t.nodes===e);-1!==r?this._nodeCollectionAndAppearance[r].nodeAppearance=t:this._nodeCollectionAndAppearance.push({nodes:e,nodeAppearance:t})}unassignStyledNodeCollection(e){const t=this._nodeCollectionAndAppearance.findIndex(t=>t.nodes===e);if(-1===t)throw new Error("Node collection has not been assigned to model");this._nodeCollectionAndAppearance.splice(t,1)}}
266
- /*!
267
- * Copyright 2021 Cognite AS
268
- */class P extends o{constructor(e){super(),this._playback=void 0,this._events={dateChanged:new n.a},this._model=e,this._keyframes=new Array}subscribe(e,t){switch(e){case"dateChanged":this._events.dateChanged.subscribe(t);break;default:Object(n.b)(e,`Unsupported event: '${e}'`)}}unsubscribe(e,t){switch(e){case"dateChanged":this._events.dateChanged.unsubscribe(t);break;default:Object(n.b)(e,`Unsupported event: '${e}'`)}}createKeyframe(e){const t=new Z(this._model,e);return this._keyframes.push(t),this.sortKeyframesByDates(),t}getKeyframeByDate(e){return this._keyframes.find(t=>t.getKeyframeDate()===e)}removeKeyframe(e){const t=this._keyframes.findIndex(t=>t===e);t>-1&&this._keyframes.splice(t,1)}removeKeyframeByDate(e){const t=this._keyframes.findIndex(t=>t.getKeyframeDate()===e);t>-1&&this._keyframes.splice(t,1)}play(e,t,r){this.stop();const i={dateInMs:e.getTime()},n={dateInMs:t.getTime()},o=new g.a.Tween(i).to(n,r);let a=-1;o.onUpdate(()=>{const r=new Date(i.dateInMs),n=a;for(;a<this._keyframes.length-1&&this._keyframes[a+1].getKeyframeDate().getTime()<=r.getTime();)a++;a!==n&&(-1!==n&&this._keyframes[n].deactivate(),this._keyframes[a].activate()),this._events.dateChanged.fire({date:r,activeKeyframe:this._keyframes[a],startDate:e,endDate:t})}),this._playback=o,o.start()}stop(){void 0!==this._playback&&(this._playback.stop(),this._playback=void 0)}pause(){void 0!==this._playback&&this._playback.isPlaying()&&this._playback.pause()}resume(){void 0!==this._playback&&this._playback.isPaused()&&this._playback.resume()}getAllKeyframes(){return this._keyframes.slice()}dispose(){super.dispose(),this._events.dateChanged.unsubscribeAll()}sortKeyframesByDates(){this._keyframes.length>1&&this._keyframes.sort((e,t)=>e.getKeyframeDate().getTime()-t.getKeyframeDate().getTime())}}var Y=r(3);
269
- /*!
270
- * Copyright 2021 Cognite AS
271
- */
272
- /*!
273
- * Copyright 2021 Cognite AS
274
- */class z extends o{constructor(e,t={}){super(),this._boundingBoxes=new i.Group,this._viewer=e,this._viewer.addObject3D(this._boundingBoxes),this._options={},this.setOptions(t)}setOptions(e){this._options={showDetailedSectors:!0,showDiscardedSectors:!1,showSimpleSectors:!0,colorBy:"lod",leafsOnly:!1,sectorPathFilterRegex:".*",...e}}dispose(){this._viewer.removeObject3D(this._boundingBoxes)}showSectorBoundingBoxes(e){this._model=e,this.updateBoundingBoxes()}updateBoundingBoxes(){if(this._boundingBoxes.clear(),void 0===this._model)return;this._model.getModelTransformation(this._boundingBoxes.matrix);const e=[];e[Y.d.Discarded]=this._options.showDiscardedSectors,e[Y.d.Simple]=this._options.showSimpleSectors,e[Y.d.Detailed]=this._options.showDetailedSectors;const t=[];this._model.cadNode.traverse(r=>{if(Q(r)){const i=r;this.isSectorAcceptedByCurrentFilter(i)&&e[i.levelOfDetail]&&(!this._options.leafsOnly||function(e){return!e.children.some(e=>Q(e))}
275
- /*!
276
- * Copyright 2021 Cognite AS
277
- */
278
- /*!
279
- * Copyright 2021 Cognite AS
280
- */(i))&&t.push(i)}}),t.forEach(e=>{const r=this.createBboxNodeFor(e,t);this._boundingBoxes.add(r)}),this._boundingBoxes.updateMatrixWorld(!0),this._viewer.requestRedraw()}isSectorAcceptedByCurrentFilter(e){return new RegExp(this._options.sectorPathFilterRegex).test(e.sectorPath)}createBboxNodeFor(e,t){const r=this._options,o=this._model.cadNode.sectorScene;const a=function(){switch(r.colorBy){case"depth":{const t=Math.min(1,e.depth/8);return new i.Color(J.green).lerpHSL(J.red,t)}case"lod":switch(e.levelOfDetail){case Y.d.Simple:return J.yellow;case Y.d.Detailed:return J.green;case Y.d.Discarded:return J.red;default:Object(n.b)(e.levelOfDetail)}case"random":return(new i.Color).setHSL(Math.random(),1,.5);case"loadedTimestamp":{const r=[...t].sort((e,t)=>e.updatedTimestamp-t.updatedTimestamp),n=r.findIndex(t=>t===e),o=(r.length-1-n)/Math.max(r.length-1,1);return new i.Color(J.green).lerpHSL(J.red,o)}case"drawcalls":{const[r,n]=t.reduce(([e,t],r)=>{const i=o.getSectorById(r.sectorId);return[Math.min(e,i.estimatedDrawCallCount),Math.max(t,i.estimatedDrawCallCount)]},[1/0,-1/0]),a=(o.getSectorById(e.sectorId).estimatedDrawCallCount-r)/(n-r);return new i.Color(J.green).lerpHSL(J.red,a)}default:Object(n.b)(r.colorBy)}}();return new i.Box3Helper(e.bounds,a)}}const J={green:new i.Color("#00ff00"),yellow:new i.Color("yellow"),red:new i.Color("red")};function Q(e){return e.name.match(/^Sector \d+$/)}}])}));
1
+ /*! For license information please see tools.js.LICENSE.txt */
2
+ !function(e,r){"object"==typeof exports&&"object"==typeof module?module.exports=r():"function"==typeof define&&define.amd?define([],r):"object"==typeof exports?exports["@cognite/reveal"]=r():e["@cognite/reveal"]=r()}("undefined"!=typeof self?self:this,(()=>(()=>{var e={470:e=>{"use strict";function r(e){if("string"!=typeof e)throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}function t(e,r){for(var t,i="",n=0,a=-1,o=0,f=0;f<=e.length;++f){if(f<e.length)t=e.charCodeAt(f);else{if(47===t)break;t=47}if(47===t){if(a===f-1||1===o);else if(a!==f-1&&2===o){if(i.length<2||2!==n||46!==i.charCodeAt(i.length-1)||46!==i.charCodeAt(i.length-2))if(i.length>2){var s=i.lastIndexOf("/");if(s!==i.length-1){-1===s?(i="",n=0):n=(i=i.slice(0,s)).length-1-i.lastIndexOf("/"),a=f,o=0;continue}}else if(2===i.length||1===i.length){i="",n=0,a=f,o=0;continue}r&&(i.length>0?i+="/..":i="..",n=2)}else i.length>0?i+="/"+e.slice(a+1,f):i=e.slice(a+1,f),n=f-a-1;a=f,o=0}else 46===t&&-1!==o?++o:o=-1}return i}var i={resolve:function(){for(var e,i="",n=!1,a=arguments.length-1;a>=-1&&!n;a--){var o;a>=0?o=arguments[a]:(void 0===e&&(e=process.cwd()),o=e),r(o),0!==o.length&&(i=o+"/"+i,n=47===o.charCodeAt(0))}return i=t(i,!n),n?i.length>0?"/"+i:"/":i.length>0?i:"."},normalize:function(e){if(r(e),0===e.length)return".";var i=47===e.charCodeAt(0),n=47===e.charCodeAt(e.length-1);return 0!==(e=t(e,!i)).length||i||(e="."),e.length>0&&n&&(e+="/"),i?"/"+e:e},isAbsolute:function(e){return r(e),e.length>0&&47===e.charCodeAt(0)},join:function(){if(0===arguments.length)return".";for(var e,t=0;t<arguments.length;++t){var n=arguments[t];r(n),n.length>0&&(void 0===e?e=n:e+="/"+n)}return void 0===e?".":i.normalize(e)},relative:function(e,t){if(r(e),r(t),e===t)return"";if((e=i.resolve(e))===(t=i.resolve(t)))return"";for(var n=1;n<e.length&&47===e.charCodeAt(n);++n);for(var a=e.length,o=a-n,f=1;f<t.length&&47===t.charCodeAt(f);++f);for(var s=t.length-f,c=o<s?o:s,A=-1,b=0;b<=c;++b){if(b===c){if(s>c){if(47===t.charCodeAt(f+b))return t.slice(f+b+1);if(0===b)return t.slice(f+b)}else o>c&&(47===e.charCodeAt(n+b)?A=b:0===b&&(A=0));break}var l=e.charCodeAt(n+b);if(l!==t.charCodeAt(f+b))break;47===l&&(A=b)}var u="";for(b=n+A+1;b<=a;++b)b!==a&&47!==e.charCodeAt(b)||(0===u.length?u+="..":u+="/..");return u.length>0?u+t.slice(f+A):(f+=A,47===t.charCodeAt(f)&&++f,t.slice(f))},_makeLong:function(e){return e},dirname:function(e){if(r(e),0===e.length)return".";for(var t=e.charCodeAt(0),i=47===t,n=-1,a=!0,o=e.length-1;o>=1;--o)if(47===(t=e.charCodeAt(o))){if(!a){n=o;break}}else a=!1;return-1===n?i?"/":".":i&&1===n?"//":e.slice(0,n)},basename:function(e,t){if(void 0!==t&&"string"!=typeof t)throw new TypeError('"ext" argument must be a string');r(e);var i,n=0,a=-1,o=!0;if(void 0!==t&&t.length>0&&t.length<=e.length){if(t.length===e.length&&t===e)return"";var f=t.length-1,s=-1;for(i=e.length-1;i>=0;--i){var c=e.charCodeAt(i);if(47===c){if(!o){n=i+1;break}}else-1===s&&(o=!1,s=i+1),f>=0&&(c===t.charCodeAt(f)?-1==--f&&(a=i):(f=-1,a=s))}return n===a?a=s:-1===a&&(a=e.length),e.slice(n,a)}for(i=e.length-1;i>=0;--i)if(47===e.charCodeAt(i)){if(!o){n=i+1;break}}else-1===a&&(o=!1,a=i+1);return-1===a?"":e.slice(n,a)},extname:function(e){r(e);for(var t=-1,i=0,n=-1,a=!0,o=0,f=e.length-1;f>=0;--f){var s=e.charCodeAt(f);if(47!==s)-1===n&&(a=!1,n=f+1),46===s?-1===t?t=f:1!==o&&(o=1):-1!==t&&(o=-1);else if(!a){i=f+1;break}}return-1===t||-1===n||0===o||1===o&&t===n-1&&t===i+1?"":e.slice(t,n)},format:function(e){if(null===e||"object"!=typeof e)throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof e);return function(e,r){var t=r.dir||r.root,i=r.base||(r.name||"")+(r.ext||"");return t?t===r.root?t+i:t+"/"+i:i}(0,e)},parse:function(e){r(e);var t={root:"",dir:"",base:"",ext:"",name:""};if(0===e.length)return t;var i,n=e.charCodeAt(0),a=47===n;a?(t.root="/",i=1):i=0;for(var o=-1,f=0,s=-1,c=!0,A=e.length-1,b=0;A>=i;--A)if(47!==(n=e.charCodeAt(A)))-1===s&&(c=!1,s=A+1),46===n?-1===o?o=A:1!==b&&(b=1):-1!==o&&(b=-1);else if(!c){f=A+1;break}return-1===o||-1===s||0===b||1===b&&o===s-1&&o===f+1?-1!==s&&(t.base=t.name=0===f&&a?e.slice(1,s):e.slice(f,s)):(0===f&&a?(t.name=e.slice(1,o),t.base=e.slice(1,s)):(t.name=e.slice(f,o),t.base=e.slice(f,s)),t.ext=e.slice(o,s)),f>0?t.dir=e.slice(0,f-1):a&&(t.dir="/"),t},sep:"/",delimiter:":",win32:null,posix:null};i.posix=i,e.exports=i},430:(e,r,t)=>{"use strict";t.d(r,{Z:()=>i});const i="precision highp float;\n#define GLSLIFY 1\n\nuniform sampler2D tex;\n\nin vec2 vUv;\n\nout vec4 color;\n\nvoid main()\n{\n color = texture(tex, vUv); \n}\n"},479:(e,r,t)=>{"use strict";t.d(r,{Z:()=>i});const i="#define GLSLIFY 1\nuniform mat4 modelMatrix;\nuniform vec2 scale;\nuniform vec2 offset;\n\nin vec3 position;\nin vec2 uv;\n\nout vec2 vUv;\n\nconst mat4 unitOrthographicProjection = mat4(1., 0., 0., 0., 0., 1., 0., 0., 0., 0., -1., 0., 0., 0., 0., 1.);\n\nvoid main() {\n vUv = uv;\n\n vec4 clipSpace = unitOrthographicProjection * modelMatrix * vec4(position, 1.0);\n\n clipSpace.xy *= scale.xy;\n\n clipSpace.xy += vec2(-1., -1.) + offset;\n\n gl_Position = clipSpace;\n}\n"},812:(e,r,t)=>{var i,n=(i=(i="undefined"!=typeof document&&document.currentScript?document.currentScript.src:void 0)||"/index.js",function(e){var r,n,a=void 0!==(e=e||{})?e:{};a.ready=new Promise((function(e,t){r=e,n=t}));var o=!1,f=!1;a.onRuntimeInitialized=function(){o=!0,f&&"function"==typeof a.onModuleLoaded&&a.onModuleLoaded(a)},a.onModuleParsed=function(){f=!0,o&&"function"==typeof a.onModuleLoaded&&a.onModuleLoaded(a)},a.isVersionSupported=function(e){if("string"!=typeof e)return!1;const r=e.split(".");return!(r.length<2||r.length>3)&&(1==r[0]&&r[1]>=0&&r[1]<=5||!(0!=r[0]||r[1]>10))};var s,c={};for(s in a)a.hasOwnProperty(s)&&(c[s]=a[s]);var A,b,l,u,_,p=[],k="object"==typeof window,d="function"==typeof importScripts,m="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node,h="";m?(h=d?t(470).dirname(h)+"/":"//",A=function(e,r){var i=te(e);return i?r?i:i.toString():(u||(u=t(501)),_||(_=t(470)),e=_.normalize(e),u.readFileSync(e,r?null:"utf8"))},l=function(e){var r=A(e,!0);return r.buffer||(r=new Uint8Array(r)),C(r.buffer),r},b=function(e,r,i){var n=te(e);n&&r(n),u||(u=t(501)),_||(_=t(470)),e=_.normalize(e),u.readFile(e,(function(e,t){e?i(e):r(t.buffer)}))},process.argv.length>1&&process.argv[1].replace(/\\/g,"/"),p=process.argv.slice(2),a.inspect=function(){return"[Emscripten Module object]"}):(k||d)&&(d?h=self.location.href:"undefined"!=typeof document&&document.currentScript&&(h=document.currentScript.src),i&&(h=i),h=0!==h.indexOf("blob:")?h.substr(0,h.replace(/[?#].*/,"").lastIndexOf("/")+1):"",A=function(e){try{var r=new XMLHttpRequest;return r.open("GET",e,!1),r.send(null),r.responseText}catch(r){var t=te(e);if(t)return function(e){for(var r=[],t=0;t<e.length;t++){var i=e[t];i>255&&(i&=255),r.push(String.fromCharCode(i))}return r.join("")}(t);throw r}},d&&(l=function(e){try{var r=new XMLHttpRequest;return r.open("GET",e,!1),r.responseType="arraybuffer",r.send(null),new Uint8Array(r.response)}catch(r){var t=te(e);if(t)return t;throw r}}),b=function(e,r,t){var i=new XMLHttpRequest;i.open("GET",e,!0),i.responseType="arraybuffer",i.onload=function(){if(200==i.status||0==i.status&&i.response)r(i.response);else{var n=te(e);n?r(n.buffer):t()}},i.onerror=t,i.send(null)}),a.print||console.log.bind(console);var y,v=a.printErr||console.warn.bind(console);for(s in c)c.hasOwnProperty(s)&&(a[s]=c[s]);c=null,a.arguments&&(p=a.arguments),a.thisProgram&&a.thisProgram,a.quit&&a.quit,a.wasmBinary&&(y=a.wasmBinary),a.noExitRuntime;var g,w={Memory:function(e){this.buffer=new ArrayBuffer(65536*e.initial)},Module:function(e){},Instance:function(e,r){this.exports=function(e){for(var r,t=new Uint8Array(123),i=25;i>=0;--i)t[48+i]=52+i,t[65+i]=i,t[97+i]=26+i;function n(e,r,i){for(var n,a,o=0,f=r,s=i.length,c=r+(3*s>>2)-("="==i[s-2])-("="==i[s-1]);o<s;o+=4)n=t[i.charCodeAt(o+1)],a=t[i.charCodeAt(o+2)],e[f++]=t[i.charCodeAt(o)]<<2|n>>4,f<c&&(e[f++]=n<<4|a>>2),f<c&&(e[f++]=a<<6|t[i.charCodeAt(o+3)])}t[43]=62,t[47]=63;var a=new ArrayBuffer(16),o=new Int32Array(a),f=new Float32Array(a);function s(e){f[2]=e}function c(e){return o[e]}return new Float64Array(a),function(e){var t=e.a,i=t.buffer;t.grow=function(e){e|=0;var n=0|vi(),s=n+e|0;if(n<s&&s<65536){var c=new ArrayBuffer(p(s,65536));new Int8Array(c).set(a),a=new Int8Array(c),o=new Int16Array(c),f=new Int32Array(c),A=new Uint8Array(c),b=new Uint16Array(c),l=new Uint32Array(c),u=new Float32Array(c),_=new Float64Array(c),i=c,t.buffer=i,r=A}return n};var a=new Int8Array(i),o=new Int16Array(i),f=new Int32Array(i),A=new Uint8Array(i),b=new Uint16Array(i),l=new Uint32Array(i),u=new Float32Array(i),_=new Float64Array(i),p=Math.imul,k=Math.fround,d=Math.abs,m=Math.clz32,h=Math.min,y=Math.max,v=Math.floor,g=Math.ceil,w=(Math.trunc,Math.sqrt),T=e.abort,C=e.b,E=e.c,N=e.d,G=e.e,R=e.f,V=5254912,D=0;function M(e,r,t,i){var n=0,o=0,s=0,c=0,u=0,_=0,k=0,d=0,m=0,h=0,y=0,v=0,g=0,w=0,T=0,C=0,E=0,N=0,G=0,R=0;if(!e)return 1;e:if(!((0|(s=f[t+20>>2]))>=(0|(d=f[t+12>>2]))&(n=f[t+16>>2])>>>0>=l[t+8>>2]|(0|s)>(0|d))){d=A[n+f[t>>2]|0],s=(n=n+1|0)?s:s+1|0,f[t+16>>2]=n,f[t+20>>2]=s;r:switch(0|d){case 0:_=e,s=r,h=i,e=0,i=0,V=d=V+-64|0,f[d+56>>2]=0,f[d+48>>2]=0,f[d+52>>2]=0,f[d+40>>2]=0,f[d+44>>2]=0,f[d+32>>2]=0,f[d+36>>2]=0,f[d+24>>2]=0,f[d+28>>2]=0,f[d+16>>2]=0,f[d+20>>2]=0,f[d+8>>2]=0,f[d+12>>2]=0;t:if(se(d+8|0,t)&&!(!We(d+8|0,t)|(f[d+20>>2]?0:_))){if(rt(t,0,0),_)for(w=s<<2,T=f[d+36>>2],E=f[d+48>>2],N=f[d+24>>2];;){i:if(!((u=f[d+56>>2])>>>0>16383))for(e=f[d+52>>2];;){if((0|e)<=0)break i;if(e=e-1|0,f[d+52>>2]=e,u=A[e+E|0]|u<<8,f[d+56>>2]=u,!(u>>>0<16384))break}if(r=T+((k=f[N+((e=4095&u)<<2)>>2])<<3)|0,f[d+56>>2]=(p(f[r>>2],u>>>12|0)+e|0)-f[r+4>>2],!((0|s)<=0)){if(e=0,!A[t+36|0]|k>>>0>32)break t;if(k){for(G=-2&k,R=1&k,n=i+s|0,r=f[t+32>>2];;){if(m=f[t+28>>2],g=f[t+24>>2],u=0,e=r,o=0,v=0,1!=(0|k))for(;(c=(e>>>3|0)+g|0)>>>0>=m>>>0?c=0:(c=A[0|c],r=e+1|0,f[t+32>>2]=r,c=c>>>(7&e)&1,e=r),c=c<<u|o,o=0,(C=(e>>>3|0)+g|0)>>>0<m>>>0&&(o=A[0|C],r=e+1|0,f[t+32>>2]=r,o=o>>>(7&e)&1,e=r),C=1|u,u=u+2|0,o=c|o<<C,(0|G)!=(0|(v=v+2|0)););if(c=h+(i<<2)|0,R&&((v=m)>>>0>(m=(e>>>3|0)+g|0)>>>0?(m=A[0|m],r=e+1|0,f[t+32>>2]=r,e=m>>>(7&e)&1):e=0,o|=e<<u),f[c>>2]=o,(0|n)==(0|(i=i+1|0)))break}i=n}else Je(h+(i<<2)|0,0,w),i=i+s|0}if(!(_>>>0>(y=s+y|0)>>>0))break}a[t+36|0]=0,i=f[t+20>>2],e=0,r=(s=(e=(r=f[t+32>>2]+7|0)>>>0<7?1:e)<<29|r>>>3)+f[t+16>>2]|0,e=(e>>>3|0)+i|0,f[t+16>>2]=r,f[t+20>>2]=r>>>0<s>>>0?e+1|0:e,e=1}return(r=f[d+36>>2])&&(f[d+40>>2]=r,ee(r)),(r=f[d+24>>2])&&(f[d+28>>2]=r,ee(r)),(r=f[d+8>>2])&&(f[d+12>>2]=r,ee(r)),V=d- -64|0,e;case 1:break r;default:break e}r=0;r:if(!((0|(s=f[t+20>>2]))>=(0|(n=f[t+12>>2]))&(o=f[t+16>>2])>>>0>=l[t+8>>2]|(0|n)<(0|s))){n=A[o+f[t>>2]|0],s=(o=o+1|0)?s:s+1|0,f[t+16>>2]=o,f[t+20>>2]=s;t:switch(n-1|0){case 4:if(V=o=V+-64|0,f[o+56>>2]=0,f[o+48>>2]=0,f[o+52>>2]=0,f[o+40>>2]=0,f[o+44>>2]=0,f[o+32>>2]=0,f[o+36>>2]=0,f[o+24>>2]=0,f[o+28>>2]=0,f[o+16>>2]=0,f[o+20>>2]=0,f[o+8>>2]=0,f[o+12>>2]=0,!(!se(o+8|0,t)|(f[o+20>>2]?0:e))&&We(o+8|0,t))if(e)for(t=f[o+36>>2],s=f[o+48>>2],_=f[o+24>>2],c=f[o+56>>2];;){i:if(!(c>>>0>16383))for(r=f[o+52>>2];;){if((0|r)<=0)break i;if(r=r-1|0,f[o+52>>2]=r,c=A[r+s|0]|c<<8,f[o+56>>2]=c,!(c>>>0<16384))break}if(h=f[_+((r=4095&c)<<2)>>2],c=(p(f[(n=t+(h<<3)|0)>>2],c>>>12|0)+r|0)-f[n+4>>2]|0,f[o+56>>2]=c,f[(y<<2)+i>>2]=h,r=1,(0|(y=y+1|0))==(0|e))break}else r=1;(e=f[o+36>>2])&&(f[o+40>>2]=e,ee(e)),(e=f[o+24>>2])&&(f[o+28>>2]=e,ee(e)),(e=f[o+8>>2])&&(f[o+12>>2]=e,ee(e)),V=o- -64|0;break r;case 8:d=e,V=n=V+-64|0,f[n+48>>2]=0,f[n+40>>2]=0,f[n+44>>2]=0,f[n+32>>2]=0,f[n+36>>2]=0,f[n+24>>2]=0,f[n+28>>2]=0,f[n+16>>2]=0,f[n+20>>2]=0,f[n+8>>2]=0,f[n+12>>2]=0,f[n>>2]=0,f[n+4>>2]=0;i:{n:if(b[t+38>>1]&&Cr(1,n+12|0,t)){if(u=f[n+12>>2],r=f[n>>2],u>>>0>(e=f[n+4>>2]-r>>2)>>>0?(sr(n,u-e|0),u=f[n+12>>2]):e>>>0<=u>>>0||(f[n+4>>2]=r+(u<<2)),e=1,!u)break i;for(g=f[t+8>>2],y=f[t+12>>2],v=f[n>>2],o=0;;){if(e=0,(0|y)<=(0|(s=f[t+20>>2]))&g>>>0<=(r=f[t+16>>2])>>>0|(0|s)>(0|y))break i;w=f[t>>2],m=A[w+r|0],s=(e=r+1|0)?s:s+1|0,k=e,f[t+16>>2]=e,e=s,f[t+20>>2]=e,r=m>>>2|0,c=0;a:{o:{f:{s:switch(0|(s=3&m)){case 0:break o;case 3:break s;default:break f}if(e=0,(r=r+o|0)>>>0>=u>>>0)break i;Je(v+(o<<2)|0,0,4+(252&m)|0),o=r;break a}for(;;){if((0|e)>=(0|y)&k>>>0>=g>>>0|(0|e)>(0|y))break n;if(u=A[k+w|0],e=(k=k+1|0)?e:e+1|0,f[t+16>>2]=k,f[t+20>>2]=e,r|=u<<(c<<3|6),(0|s)==(0|(c=c+1|0)))break}}f[v+(o<<2)>>2]=r}if(!((o=o+1|0)>>>0<(u=f[n+12>>2])>>>0))break}if(y=n+16|0,g=f[n>>2],e=f[n+16>>2],(o=(r=f[n+20>>2]-e|0)>>2)>>>0<=8191?sr(y,8192-o|0):32768!=(0|r)&&(f[n+20>>2]=e+32768),o=f[(e=n+28|0)>>2],(r=f[n+32>>2]-o>>3)>>>0<u>>>0)cr(e,u-r|0),o=f[e>>2];else if(r>>>0>u>>>0&&(f[n+32>>2]=(u<<3)+o),!u)break n;for(c=0,e=0;;){if(k=f[(s=g+(c<<2)|0)>>2],r=e,f[4+(m=(c<<3)+o|0)>>2]=e,f[m>>2]=k,(e=(s=f[s>>2])+e|0)>>>0>8192)break n;if(!(e>>>0<=r>>>0)){if(m=f[y>>2],k=0,v=7&s)for(;f[m+(r<<2)>>2]=c,r=r+1|0,(0|v)!=(0|(k=k+1|0)););if(!(s-1>>>0<=6))for(;f[(s=m+(r<<2)|0)>>2]=c,f[s+28>>2]=c,f[s+24>>2]=c,f[s+20>>2]=c,f[s+16>>2]=c,f[s+12>>2]=c,f[s+8>>2]=c,f[s+4>>2]=c,(0|(r=r+8|0))!=(0|e););}if((0|u)==(0|(c=c+1|0)))break}h=8192==(0|e)}e=h}i:if(!(!e|(f[n+12>>2]?0:d))&&kr(1,n+56|0,t)&&(o=(e=f[t+8>>2])-(r=f[t+16>>2])|0,s=f[n+60>>2],h=f[t+20>>2],!((0|s)==(0|(c=f[t+12>>2]-(h+(e>>>0<r>>>0)|0)|0))&o>>>0<(e=f[n+56>>2])>>>0|s>>>0>c>>>0||(s=s+h|0,s=(o=e+r|0)>>>0<e>>>0?s+1|0:s,f[t+16>>2]=o,f[t+20>>2]=s,(0|e)<=0)))){t=r+f[t>>2]|0,f[n+40>>2]=t;n:if((s=A[0|(o=t+(r=e-1|0)|0)])>>>0<=63)f[n+44>>2]=r,e=63&A[0|o];else{switch((s>>>6|0)-1|0){case 0:if(e>>>0<2)break i;r=e-2|0,f[n+44>>2]=r,e=A[1+(e=(e+t|0)-2|0)|0]<<8&16128|A[0|e];break n;case 1:if(e>>>0<3)break i;r=e-3|0,f[n+44>>2]=r,e=A[2+(e=(e+t|0)-3|0)|0]<<16&4128768|A[e+1|0]<<8|A[0|e];break n}r=e-4|0,f[n+44>>2]=r,e=A[2+(e=(e+t|0)-4|0)|0]<<16|A[e+3|0]<<24&1056964608|A[e+1|0]<<8|A[0|e]}if(o=e+32768|0,f[n+48>>2]=o,!(o>>>0>8388607))if(d)for(s=f[n+28>>2],e=0,h=f[n+16>>2];;){n:if(!(o>>>0>32767))for(;;){if((0|r)<=0)break n;if(r=r-1|0,f[n+44>>2]=r,o=A[r+t|0]|o<<8,f[n+48>>2]=o,!(o>>>0<32768))break}if(c=f[h+((_=8191&o)<<2)>>2],o=(p(f[(u=s+(c<<3)|0)>>2],o>>>13|0)+_|0)-f[u+4>>2]|0,f[n+48>>2]=o,f[(e<<2)+i>>2]=c,_=1,(0|d)==(0|(e=e+1|0)))break}else _=1}(e=f[n+28>>2])&&(f[n+32>>2]=e,ee(e)),(e=f[n+16>>2])&&(f[n+20>>2]=e,ee(e)),(e=f[n>>2])&&(f[n+4>>2]=e,ee(e)),V=n- -64|0,r=_;break r;case 9:d=e,V=n=V+-64|0,f[n+48>>2]=0,f[n+40>>2]=0,f[n+44>>2]=0,f[n+32>>2]=0,f[n+36>>2]=0,f[n+24>>2]=0,f[n+28>>2]=0,f[n+16>>2]=0,f[n+20>>2]=0,f[n+8>>2]=0,f[n+12>>2]=0,f[n>>2]=0,f[n+4>>2]=0;i:{n:if(b[t+38>>1]&&Cr(1,n+12|0,t)){if(u=f[n+12>>2],r=f[n>>2],u>>>0>(e=f[n+4>>2]-r>>2)>>>0?(sr(n,u-e|0),u=f[n+12>>2]):e>>>0<=u>>>0||(f[n+4>>2]=r+(u<<2)),e=1,!u)break i;for(m=f[t+8>>2],y=f[t+12>>2],g=f[n>>2],o=0;;){if(e=0,(0|y)<=(0|(r=f[t+20>>2]))&m>>>0<=(c=f[t+16>>2])>>>0|(0|r)>(0|y))break i;v=f[t>>2],s=A[v+c|0],e=r,e=(r=c+1|0)?e:e+1|0,k=r,f[t+16>>2]=r,f[t+20>>2]=e,r=s>>>2|0,c=0;a:{o:{f:{s:switch(0|(w=3&s)){case 0:break o;case 3:break s;default:break f}if(e=0,(r=r+o|0)>>>0>=u>>>0)break i;Je(g+(o<<2)|0,0,4+(252&s)|0),o=r;break a}for(;;){if((0|e)>=(0|y)&k>>>0>=m>>>0|(0|e)>(0|y))break n;if(u=A[k+v|0],s=e,s=(e=k+1|0)?s:s+1|0,k=e,f[t+16>>2]=e,e=s,f[t+20>>2]=e,r|=u<<(c<<3|6),(0|w)==(0|(c=c+1|0)))break}}f[g+(o<<2)>>2]=r}if(!((o=o+1|0)>>>0<(u=f[n+12>>2])>>>0))break}if(y=n+16|0,g=f[n>>2],e=f[n+16>>2],(o=(r=f[n+20>>2]-e|0)>>2)>>>0<=32767?sr(y,32768-o|0):131072!=(0|r)&&(f[n+20>>2]=e+131072),o=f[(e=n+28|0)>>2],(r=f[n+32>>2]-o>>3)>>>0<u>>>0)cr(e,u-r|0),o=f[e>>2];else if(r>>>0>u>>>0&&(f[n+32>>2]=(u<<3)+o),!u)break n;for(c=0,e=0;;){if(k=f[(s=g+(c<<2)|0)>>2],r=e,f[4+(m=(c<<3)+o|0)>>2]=e,f[m>>2]=k,(e=(s=f[s>>2])+e|0)>>>0>32768)break n;if(!(e>>>0<=r>>>0)){if(m=f[y>>2],k=0,v=7&s)for(;f[m+(r<<2)>>2]=c,r=r+1|0,(0|v)!=(0|(k=k+1|0)););if(!(s-1>>>0<=6))for(;f[(s=m+(r<<2)|0)>>2]=c,f[s+28>>2]=c,f[s+24>>2]=c,f[s+20>>2]=c,f[s+16>>2]=c,f[s+12>>2]=c,f[s+8>>2]=c,f[s+4>>2]=c,(0|(r=r+8|0))!=(0|e););}if((0|u)==(0|(c=c+1|0)))break}h=32768==(0|e)}e=h}i:if(!(!e|(f[n+12>>2]?0:d))&&kr(1,n+56|0,t)&&(s=(e=f[t+8>>2])-(r=o=f[t+16>>2])|0,h=f[n+60>>2],c=f[t+20>>2],!((0|h)==(0|(e=f[t+12>>2]-(c+(e>>>0<r>>>0)|0)|0))&s>>>0<(r=f[n+56>>2])>>>0|e>>>0<h>>>0||(e=c+h|0,e=(s=r+o|0)>>>0<r>>>0?e+1|0:e,f[t+16>>2]=s,f[t+20>>2]=e,(0|(e=r))<=0)))){t=o+f[t>>2]|0,f[n+40>>2]=t;n:if((s=A[0|(o=t+(r=e-1|0)|0)])>>>0<=63)f[n+44>>2]=r,e=63&A[0|o];else{switch((s>>>6|0)-1|0){case 0:if(e>>>0<2)break i;r=e-2|0,f[n+44>>2]=r,e=A[1+(e=(e+t|0)-2|0)|0]<<8&16128|A[0|e];break n;case 1:if(e>>>0<3)break i;r=e-3|0,f[n+44>>2]=r,e=A[2+(e=(e+t|0)-3|0)|0]<<16&4128768|A[e+1|0]<<8|A[0|e];break n}r=e-4|0,f[n+44>>2]=r,e=A[2+(e=(e+t|0)-4|0)|0]<<16|A[e+3|0]<<24&1056964608|A[e+1|0]<<8|A[0|e]}if(o=e+131072|0,f[n+48>>2]=o,!(o>>>0>33554431))if(d)for(s=f[n+28>>2],e=0,h=f[n+16>>2];;){n:if(!(o>>>0>131071))for(;;){if((0|r)<=0)break n;if(r=r-1|0,f[n+44>>2]=r,o=A[r+t|0]|o<<8,f[n+48>>2]=o,!(o>>>0<131072))break}if(c=f[h+((_=32767&o)<<2)>>2],o=(p(f[(u=s+(c<<3)|0)>>2],o>>>15|0)+_|0)-f[u+4>>2]|0,f[n+48>>2]=o,f[(e<<2)+i>>2]=c,_=1,(0|d)==(0|(e=e+1|0)))break}else _=1}(e=f[n+28>>2])&&(f[n+32>>2]=e,ee(e)),(e=f[n+16>>2])&&(f[n+20>>2]=e,ee(e)),(e=f[n>>2])&&(f[n+4>>2]=e,ee(e)),V=n- -64|0,r=_;break r;case 10:d=e,V=n=V+-64|0,f[n+48>>2]=0,f[n+40>>2]=0,f[n+44>>2]=0,f[n+32>>2]=0,f[n+36>>2]=0,f[n+24>>2]=0,f[n+28>>2]=0,f[n+16>>2]=0,f[n+20>>2]=0,f[n+8>>2]=0,f[n+12>>2]=0,f[n>>2]=0,f[n+4>>2]=0;i:{n:if(b[t+38>>1]&&Cr(1,n+12|0,t)){if(u=f[n+12>>2],r=f[n>>2],u>>>0>(e=f[n+4>>2]-r>>2)>>>0?(sr(n,u-e|0),u=f[n+12>>2]):e>>>0<=u>>>0||(f[n+4>>2]=r+(u<<2)),e=1,!u)break i;for(g=f[t+8>>2],y=f[t+12>>2],v=f[n>>2],o=0;;){if(e=0,(0|y)<=(0|(s=f[t+20>>2]))&g>>>0<=(r=f[t+16>>2])>>>0|(0|s)>(0|y))break i;w=f[t>>2],m=A[w+r|0],s=(e=r+1|0)?s:s+1|0,k=e,f[t+16>>2]=e,e=s,f[t+20>>2]=e,r=m>>>2|0,c=0;a:{o:{f:{s:switch(0|(T=3&m)){case 0:break o;case 3:break s;default:break f}if(e=0,(r=r+o|0)>>>0>=u>>>0)break i;Je(v+(o<<2)|0,0,4+(252&m)|0),o=r;break a}for(;;){if((0|e)>=(0|y)&k>>>0>=g>>>0|(0|e)>(0|y))break n;if(u=A[k+w|0],s=e,s=(e=k+1|0)?s:s+1|0,k=e,f[t+16>>2]=e,e=s,f[t+20>>2]=e,r|=u<<(c<<3|6),(0|T)==(0|(c=c+1|0)))break}}f[v+(o<<2)>>2]=r}if(!((o=o+1|0)>>>0<(u=f[n+12>>2])>>>0))break}if(y=n+16|0,g=f[n>>2],e=f[n+16>>2],(o=(r=f[n+20>>2]-e|0)>>2)>>>0<=65535?sr(y,65536-o|0):262144!=(0|r)&&(f[n+20>>2]=e+262144),o=f[(e=n+28|0)>>2],(r=f[n+32>>2]-o>>3)>>>0<u>>>0)cr(e,u-r|0),o=f[e>>2];else if(r>>>0>u>>>0&&(f[n+32>>2]=(u<<3)+o),!u)break n;for(c=0,e=0;;){if(k=f[(s=g+(c<<2)|0)>>2],r=e,f[4+(m=(c<<3)+o|0)>>2]=e,f[m>>2]=k,(e=(s=f[s>>2])+e|0)>>>0>65536)break n;if(!(e>>>0<=r>>>0)){if(m=f[y>>2],k=0,v=7&s)for(;f[m+(r<<2)>>2]=c,r=r+1|0,(0|v)!=(0|(k=k+1|0)););if(!(s-1>>>0<=6))for(;f[(s=m+(r<<2)|0)>>2]=c,f[s+28>>2]=c,f[s+24>>2]=c,f[s+20>>2]=c,f[s+16>>2]=c,f[s+12>>2]=c,f[s+8>>2]=c,f[s+4>>2]=c,(0|(r=r+8|0))!=(0|e););}if((0|u)==(0|(c=c+1|0)))break}h=65536==(0|e)}e=h}i:if(!(!e|(f[n+12>>2]?0:d))&&kr(1,n+56|0,t)&&(o=(e=f[t+8>>2])-(r=f[t+16>>2])|0,s=f[n+60>>2],h=f[t+20>>2],!((0|s)==(0|(c=f[t+12>>2]-(h+(e>>>0<r>>>0)|0)|0))&o>>>0<(e=f[n+56>>2])>>>0|s>>>0>c>>>0||(s=s+h|0,s=(o=e+r|0)>>>0<e>>>0?s+1|0:s,f[t+16>>2]=o,f[t+20>>2]=s,(0|e)<=0)))){t=r+f[t>>2]|0,f[n+40>>2]=t;n:if((s=A[0|(o=t+(r=e-1|0)|0)])>>>0<=63)f[n+44>>2]=r,e=63&A[0|o];else{switch((s>>>6|0)-1|0){case 0:if(e>>>0<2)break i;r=e-2|0,f[n+44>>2]=r,e=A[1+(e=(e+t|0)-2|0)|0]<<8&16128|A[0|e];break n;case 1:if(e>>>0<3)break i;r=e-3|0,f[n+44>>2]=r,e=A[2+(e=(e+t|0)-3|0)|0]<<16&4128768|A[e+1|0]<<8|A[0|e];break n}r=e-4|0,f[n+44>>2]=r,e=A[2+(e=(e+t|0)-4|0)|0]<<16|A[e+3|0]<<24&1056964608|A[e+1|0]<<8|A[0|e]}if(o=e+262144|0,f[n+48>>2]=o,!(o>>>0>67108863))if(d)for(s=f[n+28>>2],e=0,h=f[n+16>>2];;){n:if(!(o>>>0>262143))for(;;){if((0|r)<=0)break n;if(r=r-1|0,f[n+44>>2]=r,o=A[r+t|0]|o<<8,f[n+48>>2]=o,!(o>>>0<262144))break}if(c=f[h+((_=65535&o)<<2)>>2],o=(p(f[(u=s+(c<<3)|0)>>2],o>>>16|0)+_|0)-f[u+4>>2]|0,f[n+48>>2]=o,f[(e<<2)+i>>2]=c,_=1,(0|d)==(0|(e=e+1|0)))break}else _=1}(e=f[n+28>>2])&&(f[n+32>>2]=e,ee(e)),(e=f[n+16>>2])&&(f[n+20>>2]=e,ee(e)),(e=f[n>>2])&&(f[n+4>>2]=e,ee(e)),V=n- -64|0,r=_;break r;case 11:d=e,V=n=V+-64|0,f[n+48>>2]=0,f[n+40>>2]=0,f[n+44>>2]=0,f[n+32>>2]=0,f[n+36>>2]=0,f[n+24>>2]=0,f[n+28>>2]=0,f[n+16>>2]=0,f[n+20>>2]=0,f[n+8>>2]=0,f[n+12>>2]=0,f[n>>2]=0,f[n+4>>2]=0;i:{n:if(b[t+38>>1]&&Cr(1,n+12|0,t)){if(u=f[n+12>>2],r=f[n>>2],u>>>0>(e=f[n+4>>2]-r>>2)>>>0?(sr(n,u-e|0),u=f[n+12>>2]):e>>>0<=u>>>0||(f[n+4>>2]=r+(u<<2)),e=1,!u)break i;for(g=f[t+8>>2],y=f[t+12>>2],v=f[n>>2],o=0;;){if(e=0,(0|y)<=(0|(s=f[t+20>>2]))&g>>>0<=(r=f[t+16>>2])>>>0|(0|s)>(0|y))break i;w=f[t>>2],m=A[w+r|0],s=(e=r+1|0)?s:s+1|0,k=e,f[t+16>>2]=e,e=s,f[t+20>>2]=e,r=m>>>2|0,c=0;a:{o:{f:{s:switch(0|(s=3&m)){case 0:break o;case 3:break s;default:break f}if(e=0,(r=r+o|0)>>>0>=u>>>0)break i;Je(v+(o<<2)|0,0,4+(252&m)|0),o=r;break a}for(;;){if((0|e)>=(0|y)&k>>>0>=g>>>0|(0|e)>(0|y))break n;if(u=A[k+w|0],e=(k=k+1|0)?e:e+1|0,f[t+16>>2]=k,f[t+20>>2]=e,r|=u<<(c<<3|6),(0|s)==(0|(c=c+1|0)))break}}f[v+(o<<2)>>2]=r}if(!((o=o+1|0)>>>0<(u=f[n+12>>2])>>>0))break}if(y=n+16|0,g=f[n>>2],e=f[n+16>>2],(o=(r=f[n+20>>2]-e|0)>>2)>>>0<=262143?sr(y,262144-o|0):1048576!=(0|r)&&(f[n+20>>2]=e- -1048576),o=f[(e=n+28|0)>>2],(r=f[n+32>>2]-o>>3)>>>0<u>>>0)cr(e,u-r|0),o=f[e>>2];else if(r>>>0>u>>>0&&(f[n+32>>2]=(u<<3)+o),!u)break n;for(c=0,e=0;;){if(k=f[(s=g+(c<<2)|0)>>2],r=e,f[4+(m=(c<<3)+o|0)>>2]=e,f[m>>2]=k,(e=(s=f[s>>2])+e|0)>>>0>262144)break n;if(!(e>>>0<=r>>>0)){if(m=f[y>>2],k=0,v=7&s)for(;f[m+(r<<2)>>2]=c,r=r+1|0,(0|v)!=(0|(k=k+1|0)););if(!(s-1>>>0<=6))for(;f[(s=m+(r<<2)|0)>>2]=c,f[s+28>>2]=c,f[s+24>>2]=c,f[s+20>>2]=c,f[s+16>>2]=c,f[s+12>>2]=c,f[s+8>>2]=c,f[s+4>>2]=c,(0|(r=r+8|0))!=(0|e););}if((0|u)==(0|(c=c+1|0)))break}h=262144==(0|e)}e=h}i:if(!(!e|(f[n+12>>2]?0:d))&&kr(1,n+56|0,t)&&(o=(e=f[t+8>>2])-(r=f[t+16>>2])|0,s=f[n+60>>2],h=f[t+20>>2],!((0|s)==(0|(c=f[t+12>>2]-(h+(e>>>0<r>>>0)|0)|0))&o>>>0<(e=f[n+56>>2])>>>0|s>>>0>c>>>0||(s=s+h|0,s=(o=e+r|0)>>>0<e>>>0?s+1|0:s,f[t+16>>2]=o,f[t+20>>2]=s,(0|e)<=0)))){t=r+f[t>>2]|0,f[n+40>>2]=t;n:if((s=A[0|(o=t+(r=e-1|0)|0)])>>>0<=63)f[n+44>>2]=r,e=63&A[0|o];else{switch((s>>>6|0)-1|0){case 0:if(e>>>0<2)break i;r=e-2|0,f[n+44>>2]=r,e=A[1+(e=(e+t|0)-2|0)|0]<<8&16128|A[0|e];break n;case 1:if(e>>>0<3)break i;r=e-3|0,f[n+44>>2]=r,e=A[2+(e=(e+t|0)-3|0)|0]<<16&4128768|A[e+1|0]<<8|A[0|e];break n}r=e-4|0,f[n+44>>2]=r,e=A[2+(e=(e+t|0)-4|0)|0]<<16|A[e+3|0]<<24&1056964608|A[e+1|0]<<8|A[0|e]}if(o=e- -1048576|0,f[n+48>>2]=o,!(o>>>0>268435455))if(d)for(s=f[n+28>>2],e=0,h=f[n+16>>2];;){n:if(!(o>>>0>1048575))for(;;){if((0|r)<=0)break n;if(r=r-1|0,f[n+44>>2]=r,o=A[r+t|0]|o<<8,f[n+48>>2]=o,!(o>>>0<1048576))break}if(c=f[h+((_=262143&o)<<2)>>2],o=(p(f[(u=s+(c<<3)|0)>>2],o>>>18|0)+_|0)-f[u+4>>2]|0,f[n+48>>2]=o,f[(e<<2)+i>>2]=c,_=1,(0|d)==(0|(e=e+1|0)))break}else _=1}(e=f[n+28>>2])&&(f[n+32>>2]=e,ee(e)),(e=f[n+16>>2])&&(f[n+20>>2]=e,ee(e)),(e=f[n>>2])&&(f[n+4>>2]=e,ee(e)),V=n- -64|0,r=_;break r;case 12:d=e,V=n=V+-64|0,f[n+48>>2]=0,f[n+40>>2]=0,f[n+44>>2]=0,f[n+32>>2]=0,f[n+36>>2]=0,f[n+24>>2]=0,f[n+28>>2]=0,f[n+16>>2]=0,f[n+20>>2]=0,f[n+8>>2]=0,f[n+12>>2]=0,f[n>>2]=0,f[n+4>>2]=0;i:{n:if(b[t+38>>1]&&Cr(1,n+12|0,t)){if(u=f[n+12>>2],r=f[n>>2],u>>>0>(e=f[n+4>>2]-r>>2)>>>0?(sr(n,u-e|0),u=f[n+12>>2]):e>>>0<=u>>>0||(f[n+4>>2]=r+(u<<2)),e=1,!u)break i;for(m=f[t+8>>2],y=f[t+12>>2],g=f[n>>2],o=0;;){if(e=0,(0|y)<=(0|(r=f[t+20>>2]))&m>>>0<=(c=f[t+16>>2])>>>0|(0|r)>(0|y))break i;v=f[t>>2],s=A[v+c|0],e=r,e=(r=c+1|0)?e:e+1|0,k=r,f[t+16>>2]=r,f[t+20>>2]=e,r=s>>>2|0,c=0;a:{o:{f:{s:switch(0|(w=3&s)){case 0:break o;case 3:break s;default:break f}if(e=0,(r=r+o|0)>>>0>=u>>>0)break i;Je(g+(o<<2)|0,0,4+(252&s)|0),o=r;break a}for(;;){if((0|e)>=(0|y)&k>>>0>=m>>>0|(0|e)>(0|y))break n;if(u=A[k+v|0],s=e,s=(e=k+1|0)?s:s+1|0,k=e,f[t+16>>2]=e,e=s,f[t+20>>2]=e,r|=u<<(c<<3|6),(0|w)==(0|(c=c+1|0)))break}}f[g+(o<<2)>>2]=r}if(!((o=o+1|0)>>>0<(u=f[n+12>>2])>>>0))break}if(y=n+16|0,g=f[n>>2],e=f[n+16>>2],(o=(r=f[n+20>>2]-e|0)>>2)>>>0<=524287?sr(y,524288-o|0):2097152!=(0|r)&&(f[n+20>>2]=e+2097152),o=f[(e=n+28|0)>>2],(r=f[n+32>>2]-o>>3)>>>0<u>>>0)cr(e,u-r|0),o=f[e>>2];else if(r>>>0>u>>>0&&(f[n+32>>2]=(u<<3)+o),!u)break n;for(c=0,e=0;;){if(k=f[(s=g+(c<<2)|0)>>2],r=e,f[4+(m=(c<<3)+o|0)>>2]=e,f[m>>2]=k,(e=(s=f[s>>2])+e|0)>>>0>524288)break n;if(!(e>>>0<=r>>>0)){if(m=f[y>>2],k=0,v=7&s)for(;f[m+(r<<2)>>2]=c,r=r+1|0,(0|v)!=(0|(k=k+1|0)););if(!(s-1>>>0<=6))for(;f[(s=m+(r<<2)|0)>>2]=c,f[s+28>>2]=c,f[s+24>>2]=c,f[s+20>>2]=c,f[s+16>>2]=c,f[s+12>>2]=c,f[s+8>>2]=c,f[s+4>>2]=c,(0|(r=r+8|0))!=(0|e););}if((0|u)==(0|(c=c+1|0)))break}h=524288==(0|e)}e=h}i:if(!(!e|(f[n+12>>2]?0:d))&&kr(1,n+56|0,t)&&(s=(e=f[t+8>>2])-(r=o=f[t+16>>2])|0,h=f[n+60>>2],c=f[t+20>>2],!((0|h)==(0|(e=f[t+12>>2]-(c+(e>>>0<r>>>0)|0)|0))&s>>>0<(r=f[n+56>>2])>>>0|e>>>0<h>>>0||(e=c+h|0,e=(s=r+o|0)>>>0<r>>>0?e+1|0:e,f[t+16>>2]=s,f[t+20>>2]=e,(0|(e=r))<=0)))){t=o+f[t>>2]|0,f[n+40>>2]=t;n:if((s=A[0|(o=t+(r=e-1|0)|0)])>>>0<=63)f[n+44>>2]=r,e=63&A[0|o];else{switch((s>>>6|0)-1|0){case 0:if(e>>>0<2)break i;r=e-2|0,f[n+44>>2]=r,e=A[1+(e=(e+t|0)-2|0)|0]<<8&16128|A[0|e];break n;case 1:if(e>>>0<3)break i;r=e-3|0,f[n+44>>2]=r,e=A[2+(e=(e+t|0)-3|0)|0]<<16&4128768|A[e+1|0]<<8|A[0|e];break n}r=e-4|0,f[n+44>>2]=r,e=A[2+(e=(e+t|0)-4|0)|0]<<16|A[e+3|0]<<24&1056964608|A[e+1|0]<<8|A[0|e]}if(o=e+2097152|0,f[n+48>>2]=o,!(o>>>0>536870911))if(d)for(s=f[n+28>>2],e=0,h=f[n+16>>2];;){n:if(!(o>>>0>2097151))for(;;){if((0|r)<=0)break n;if(r=r-1|0,f[n+44>>2]=r,o=A[r+t|0]|o<<8,f[n+48>>2]=o,!(o>>>0<2097152))break}if(c=f[h+((_=524287&o)<<2)>>2],o=(p(f[(u=s+(c<<3)|0)>>2],o>>>19|0)+_|0)-f[u+4>>2]|0,f[n+48>>2]=o,f[(e<<2)+i>>2]=c,_=1,(0|d)==(0|(e=e+1|0)))break}else _=1}(e=f[n+28>>2])&&(f[n+32>>2]=e,ee(e)),(e=f[n+16>>2])&&(f[n+20>>2]=e,ee(e)),(e=f[n>>2])&&(f[n+4>>2]=e,ee(e)),V=n- -64|0,r=_;break r;case 17:r=H(e,t,i);break r;case 0:case 1:case 2:case 3:case 5:case 6:case 7:o=0,V=_=V+-64|0,f[_+48>>2]=0,f[_+40>>2]=0,f[_+44>>2]=0,f[_+32>>2]=0,f[_+36>>2]=0,f[_+24>>2]=0,f[_+28>>2]=0,f[_+16>>2]=0,f[_+20>>2]=0,f[_+8>>2]=0,f[_+12>>2]=0,f[_>>2]=0,f[_+4>>2]=0;i:if(!(!se(_,t)|(f[_+12>>2]?0:e))&&kr(1,_+56|0,t)&&(n=(r=f[t+8>>2])-(s=h=f[t+16>>2])|0,d=f[_+60>>2],c=f[t+20>>2],!((0|d)==(0|(s=f[t+12>>2]-(c+(r>>>0<s>>>0)|0)|0))&n>>>0<(r=f[_+56>>2])>>>0|s>>>0<d>>>0||(s=c+d|0,s=(n=r+h|0)>>>0<r>>>0?s+1|0:s,f[t+16>>2]=n,f[t+20>>2]=s,(0|r)<=0)))){s=h+f[t>>2]|0,f[_+40>>2]=s;n:if((n=A[0|(h=s+(t=r-1|0)|0)])>>>0<=63)f[_+44>>2]=t,r=63&A[0|h];else{switch((n>>>6|0)-1|0){case 0:if(r>>>0<2)break i;t=r-2|0,f[_+44>>2]=t,r=A[1+(r=(r+s|0)-2|0)|0]<<8&16128|A[0|r];break n;case 1:if(r>>>0<3)break i;t=r-3|0,f[_+44>>2]=t,r=A[2+(r=(r+s|0)-3|0)|0]<<16&4128768|A[r+1|0]<<8|A[0|r];break n}t=r-4|0,f[_+44>>2]=t,r=A[2+(r=(r+s|0)-4|0)|0]<<16|A[r+3|0]<<24&1056964608|A[r+1|0]<<8|A[0|r]}if(c=r+16384|0,f[_+48>>2]=c,!(c>>>0>4194303))if(e)for(r=f[_+28>>2],h=f[_+16>>2];;){n:if(!(c>>>0>16383))for(;;){if((0|t)<=0)break n;if(t=t-1|0,f[_+44>>2]=t,c=A[t+s|0]|c<<8,f[_+48>>2]=c,!(c>>>0<16384))break}if(n=f[h+((o=4095&c)<<2)>>2],c=(p(f[(d=r+(n<<3)|0)>>2],c>>>12|0)+o|0)-f[d+4>>2]|0,f[_+48>>2]=c,f[(k<<2)+i>>2]=n,o=1,(0|(k=k+1|0))==(0|e))break}else o=1}(e=f[_+28>>2])&&(f[_+32>>2]=e,ee(e)),(e=f[_+16>>2])&&(f[_+20>>2]=e,ee(e)),(e=f[_>>2])&&(f[_+4>>2]=e,ee(e)),V=_- -64|0,r=o;break r;case 13:case 14:case 15:case 16:break t;default:break r}r=H(e,t,i)}o=r}return o}function U(e){var r,t=0,i=0,n=0,a=0,o=0,s=0,c=0,b=0,u=0,_=0,p=0,k=0;V=r=V-16|0;e:{r:{t:{i:{n:{a:{o:{f:{s:{c:{A:{if((e|=0)>>>0<=244){if(3&(t=(a=f[2881])>>>(i=(c=e>>>0<11?16:e+11&-8)>>>3|0)|0)){e=(o=f[11572+(t=(n=i+(1&(-1^t))|0)<<3)>>2])+8|0,(0|(i=f[o+8>>2]))!=(0|(t=t+11564|0))?(f[i+12>>2]=t,f[t+8>>2]=i):(p=11524,k=Vt(n)&a,f[p>>2]=k),t=n<<3,f[o+4>>2]=3|t,f[4+(t=t+o|0)>>2]=1|f[t+4>>2];break e}if((_=f[2883])>>>0>=c>>>0)break A;if(t){i=e=(t=(0-(e=(0-(e=2<<i)|e)&t<<i)&e)-1|0)>>>12&16,i|=e=(t=t>>>e|0)>>>5&8,i|=e=(t=t>>>e|0)>>>2&4,s=f[11572+(e=(i=((i|=e=(t=t>>>e|0)>>>1&2)|(e=(t=t>>>e|0)>>>1&1))+(t>>>e|0)|0)<<3)>>2],(0|(t=f[s+8>>2]))!=(0|(e=e+11564|0))?(f[t+12>>2]=e,f[e+8>>2]=t):(a=Vt(i)&a,f[2881]=a),e=s+8|0,f[s+4>>2]=3|c,o=(t=i<<3)-c|0,f[4+(n=s+c|0)>>2]=1|o,f[t+s>>2]=o,_&&(i=11564+((t=_>>>3|0)<<3)|0,s=f[2886],(t=1<<t)&a?t=f[i+8>>2]:(f[2881]=t|a,t=i),f[i+8>>2]=s,f[t+12>>2]=s,f[s+12>>2]=i,f[s+8>>2]=t),f[2886]=n,f[2883]=o;break e}if(!(u=f[2882]))break A;for(i=e=(t=(u&0-u)-1|0)>>>12&16,i|=e=(t=t>>>e|0)>>>5&8,i|=e=(t=t>>>e|0)>>>2&4,t=f[11828+(((i|=e=(t=t>>>e|0)>>>1&2)|(e=(t=t>>>e|0)>>>1&1))+(t>>>e|0)<<2)>>2],n=(-8&f[t+4>>2])-c|0,i=t;(e=f[i+16>>2])||(e=f[i+20>>2]);)n=(o=(i=(-8&f[e+4>>2])-c|0)>>>0<n>>>0)?i:n,t=o?e:t,i=e;if(b=f[t+24>>2],(0|(o=f[t+12>>2]))!=(0|t)){e=f[t+8>>2],f[e+12>>2]=o,f[o+8>>2]=e;break r}if(!(e=f[(i=t+20|0)>>2])){if(!(e=f[t+16>>2]))break c;i=t+16|0}for(;s=i,o=e,(e=f[(i=e+20|0)>>2])||(i=o+16|0,e=f[o+16>>2]););f[s>>2]=0;break r}if(c=-1,!(e>>>0>4294967231)&&(c=-8&(e=e+11|0),u=f[2882])){n=0-c|0,a=0,c>>>0<256||(a=31,c>>>0>16777215||(e=e>>>8|0,e<<=s=e+1048320>>>16&8,a=28+((e=((e<<=i=e+520192>>>16&4)<<(t=e+245760>>>16&2)>>>15|0)-(t|i|s)|0)<<1|c>>>e+21&1)|0));b:{l:{if(i=f[11828+(a<<2)>>2])for(e=0,t=c<<(31==(0|a)?0:25-(a>>>1|0)|0);;){if(!((s=(-8&f[i+4>>2])-c|0)>>>0>=n>>>0||(o=i,n=s))){n=0,e=i;break l}if(s=f[i+20>>2],i=f[16+((t>>>29&4)+i|0)>>2],e=s?(0|s)==(0|i)?e:s:e,t<<=1,!i)break}else e=0;if(!(e|o)){if(o=0,!(e=(0-(e=2<<a)|e)&u))break A;i=e=(t=(e&0-e)-1|0)>>>12&16,i|=e=(t=t>>>e|0)>>>5&8,i|=e=(t=t>>>e|0)>>>2&4,e=f[11828+(((i|=e=(t=t>>>e|0)>>>1&2)|(e=(t=t>>>e|0)>>>1&1))+(t>>>e|0)<<2)>>2]}if(!e)break b}for(;n=(i=(t=(-8&f[e+4>>2])-c|0)>>>0<n>>>0)?t:n,o=i?e:o,e=(t=f[e+16>>2])||f[e+20>>2];);}if(!(!o|f[2883]-c>>>0<=n>>>0)){if(a=f[o+24>>2],(0|o)!=(0|(t=f[o+12>>2]))){e=f[o+8>>2],f[e+12>>2]=t,f[t+8>>2]=e;break t}if(!(e=f[(i=o+20|0)>>2])){if(!(e=f[o+16>>2]))break s;i=o+16|0}for(;s=i,t=e,(e=f[(i=e+20|0)>>2])||(i=t+16|0,e=f[t+16>>2]););f[s>>2]=0;break t}}}if((i=f[2883])>>>0>=c>>>0){n=f[2886],(t=i-c|0)>>>0>=16?(f[2883]=t,e=n+c|0,f[2886]=e,f[e+4>>2]=1|t,f[i+n>>2]=t,f[n+4>>2]=3|c):(f[2886]=0,f[2883]=0,f[n+4>>2]=3|i,f[4+(e=i+n|0)>>2]=1|f[e+4>>2]),e=n+8|0;break e}if((b=f[2884])>>>0>c>>>0){t=b-c|0,f[2884]=t,e=(i=f[2887])+c|0,f[2887]=e,f[e+4>>2]=1|t,f[i+4>>2]=3|c,e=i+8|0;break e}if(e=0,u=c+47|0,f[2999]?i=f[3001]:(f[3002]=-1,f[3003]=-1,f[3e3]=4096,f[3001]=4096,f[2999]=r+12&-16^1431655768,f[3004]=0,f[2992]=0,i=4096),(i=(s=u+i|0)&(o=0-i|0))>>>0<=c>>>0)break e;if((n=f[2991])&&n>>>0<(a=(t=f[2989])+i|0)>>>0|t>>>0>=a>>>0)break e;if(4&A[11968])break a;A:{b:{if(n=f[2887])for(e=11972;;){if((t=f[e>>2])>>>0<=n>>>0&n>>>0<t+f[e+4>>2]>>>0)break b;if(!(e=f[e+8>>2]))break}if(-1==(0|(t=tt(0))))break o;if(a=i,(e=(n=f[3e3])-1|0)&t&&(a=(i-t|0)+(e+t&0-n)|0),a>>>0<=c>>>0|a>>>0>2147483646)break o;if((n=f[2991])&&n>>>0<(o=(e=f[2989])+a|0)>>>0|e>>>0>=o>>>0)break o;if((0|t)!=(0|(e=tt(a))))break A;break n}if((a=o&s-b)>>>0>2147483646)break o;if((0|(t=tt(a)))==(f[e>>2]+f[e+4>>2]|0))break f;e=t}if(!(-1==(0|e)|c+48>>>0<=a>>>0)){if((t=(t=f[3001])+(u-a|0)&0-t)>>>0>2147483646){t=e;break n}if(-1!=(0|tt(t))){a=t+a|0,t=e;break n}tt(0-a|0);break o}if(t=e,-1!=(0|e))break n;break o}o=0;break r}t=0;break t}if(-1!=(0|t))break n}f[2992]=4|f[2992]}if(i>>>0>2147483646)break i;if(-1==(0|(t=tt(i)))|-1==(0|(e=tt(0)))|e>>>0<=t>>>0)break i;if((a=e-t|0)>>>0<=c+40>>>0)break i}e=f[2989]+a|0,f[2989]=e,e>>>0>l[2990]&&(f[2990]=e);n:{a:{o:{if(s=f[2887]){for(e=11972;;){if(((n=f[e>>2])+(i=f[e+4>>2])|0)==(0|t))break o;if(!(e=f[e+8>>2]))break}break a}for((e=f[2885])>>>0<=t>>>0&&e||(f[2885]=t),e=0,f[2994]=a,f[2993]=t,f[2889]=-1,f[2890]=f[2999],f[2996]=0;i=11564+(n=e<<3)|0,f[n+11572>>2]=i,f[n+11576>>2]=i,32!=(0|(e=e+1|0)););i=(n=a-40|0)-(e=t+8&7?-8-t&7:0)|0,f[2884]=i,e=e+t|0,f[2887]=e,f[e+4>>2]=1|i,f[4+(t+n|0)>>2]=40,f[2888]=f[3003];break n}if(!(8&A[e+12|0]|n>>>0>s>>>0|t>>>0<=s>>>0)){f[e+4>>2]=i+a,i=(e=s+8&7?-8-s&7:0)+s|0,f[2887]=i,e=(t=f[2884]+a|0)-e|0,f[2884]=e,f[i+4>>2]=1|e,f[4+(t+s|0)>>2]=40,f[2888]=f[3003];break n}}l[2885]>t>>>0&&(f[2885]=t),i=t+a|0,e=11972;a:{o:{f:{s:{c:{A:{for(;;){if((0|i)!=f[e>>2]){if(e=f[e+8>>2])continue;break A}break}if(!(8&A[e+12|0]))break c}for(e=11972;;){if((i=f[e>>2])>>>0<=s>>>0&&(o=i+f[e+4>>2]|0)>>>0>s>>>0)break s;e=f[e+8>>2]}}if(f[e>>2]=t,f[e+4>>2]=f[e+4>>2]+a,f[4+(u=(t+8&7?-8-t&7:0)+t|0)>>2]=3|c,i=(a=i+(i+8&7?-8-i&7:0)|0)-(b=c+u|0)|0,(0|a)==(0|s)){f[2887]=b,e=f[2884]+i|0,f[2884]=e,f[b+4>>2]=1|e;break o}if(f[2886]==(0|a)){f[2886]=b,e=f[2883]+i|0,f[2883]=e,f[b+4>>2]=1|e,f[e+b>>2]=e;break o}if(1==(3&(e=f[a+4>>2]))){s=-8&e;c:if(e>>>0<=255){if(n=f[a+8>>2],e=e>>>3|0,(0|(t=f[a+12>>2]))==(0|n)){p=11524,k=f[2881]&Vt(e),f[p>>2]=k;break c}f[n+12>>2]=t,f[t+8>>2]=n}else{if(c=f[a+24>>2],(0|a)==(0|(t=f[a+12>>2])))if((n=f[(e=a+20|0)>>2])||(n=f[(e=a+16|0)>>2])){for(;o=e,(n=f[(e=(t=n)+20|0)>>2])||(e=t+16|0,n=f[t+16>>2]););f[o>>2]=0}else t=0;else e=f[a+8>>2],f[e+12>>2]=t,f[t+8>>2]=e;if(c){n=f[a+28>>2];A:{if(f[(e=11828+(n<<2)|0)>>2]==(0|a)){if(f[e>>2]=t,t)break A;p=11528,k=f[2882]&Vt(n),f[p>>2]=k;break c}if(f[c+(f[c+16>>2]==(0|a)?16:20)>>2]=t,!t)break c}f[t+24>>2]=c,(e=f[a+16>>2])&&(f[t+16>>2]=e,f[e+24>>2]=t),(e=f[a+20>>2])&&(f[t+20>>2]=e,f[e+24>>2]=t)}}a=a+s|0,i=i+s|0}if(f[a+4>>2]=-2&f[a+4>>2],f[b+4>>2]=1|i,f[i+b>>2]=i,i>>>0<=255){t=11564+((e=i>>>3|0)<<3)|0,(i=f[2881])&(e=1<<e)?e=f[t+8>>2]:(f[2881]=e|i,e=t),f[t+8>>2]=b,f[e+12>>2]=b,f[b+12>>2]=t,f[b+8>>2]=e;break o}if(e=31,i>>>0<=16777215&&(e=i>>>8|0,e<<=o=e+1048320>>>16&8,e=28+((e=((e<<=n=e+520192>>>16&4)<<(t=e+245760>>>16&2)>>>15|0)-(t|n|o)|0)<<1|i>>>e+21&1)|0),f[b+28>>2]=e,f[b+16>>2]=0,f[b+20>>2]=0,o=11828+(e<<2)|0,(n=f[2882])&(t=1<<e)){for(e=i<<(31==(0|e)?0:25-(e>>>1|0)|0),t=f[o>>2];;){if(n=t,(-8&f[t+4>>2])==(0|i))break f;if(t=e>>>29|0,e<<=1,!(t=f[16+(o=n+(4&t)|0)>>2]))break}f[o+16>>2]=b,f[b+24>>2]=n}else f[2882]=t|n,f[o>>2]=b,f[b+24>>2]=o;f[b+12>>2]=b,f[b+8>>2]=b;break o}for(i=(n=a-40|0)-(e=t+8&7?-8-t&7:0)|0,f[2884]=i,e=e+t|0,f[2887]=e,f[e+4>>2]=1|i,f[4+(t+n|0)>>2]=40,f[2888]=f[3003],f[(i=(e=(o+(o-39&7?39-o&7:0)|0)-47|0)>>>0<s+16>>>0?s:e)+4>>2]=27,e=f[2996],f[i+16>>2]=f[2995],f[i+20>>2]=e,e=f[2994],f[i+8>>2]=f[2993],f[i+12>>2]=e,f[2995]=i+8,f[2994]=a,f[2993]=t,f[2996]=0,e=i+24|0;f[e+4>>2]=7,t=e+8|0,e=e+4|0,t>>>0<o>>>0;);if((0|i)==(0|s))break n;if(f[i+4>>2]=-2&f[i+4>>2],o=i-s|0,f[s+4>>2]=1|o,f[i>>2]=o,o>>>0<=255){t=11564+((e=o>>>3|0)<<3)|0,(i=f[2881])&(e=1<<e)?e=f[t+8>>2]:(f[2881]=e|i,e=t),f[t+8>>2]=s,f[e+12>>2]=s,f[s+12>>2]=t,f[s+8>>2]=e;break n}if(e=31,f[s+16>>2]=0,f[s+20>>2]=0,o>>>0<=16777215&&(e=o>>>8|0,e<<=n=e+1048320>>>16&8,e=28+((e=((e<<=i=e+520192>>>16&4)<<(t=e+245760>>>16&2)>>>15|0)-(t|i|n)|0)<<1|o>>>e+21&1)|0),f[s+28>>2]=e,n=11828+(e<<2)|0,(i=f[2882])&(t=1<<e)){for(e=o<<(31==(0|e)?0:25-(e>>>1|0)|0),t=f[n>>2];;){if(i=t,(0|o)==(-8&f[t+4>>2]))break a;if(t=e>>>29|0,e<<=1,!(t=f[16+(n=i+(4&t)|0)>>2]))break}f[n+16>>2]=s,f[s+24>>2]=i}else f[2882]=t|i,f[n>>2]=s,f[s+24>>2]=n;f[s+12>>2]=s,f[s+8>>2]=s;break n}e=f[n+8>>2],f[e+12>>2]=b,f[n+8>>2]=b,f[b+24>>2]=0,f[b+12>>2]=n,f[b+8>>2]=e}e=u+8|0;break e}e=f[i+8>>2],f[e+12>>2]=s,f[i+8>>2]=s,f[s+24>>2]=0,f[s+12>>2]=i,f[s+8>>2]=e}if(!((e=f[2884])>>>0<=c>>>0)){t=e-c|0,f[2884]=t,e=(i=f[2887])+c|0,f[2887]=e,f[e+4>>2]=1|t,f[i+4>>2]=3|c,e=i+8|0;break e}}f[2879]=48,e=0;break e}t:if(a){i=f[o+28>>2];i:{if(f[(e=11828+(i<<2)|0)>>2]==(0|o)){if(f[e>>2]=t,t)break i;u=Vt(i)&u,f[2882]=u;break t}if(f[a+(f[a+16>>2]==(0|o)?16:20)>>2]=t,!t)break t}f[t+24>>2]=a,(e=f[o+16>>2])&&(f[t+16>>2]=e,f[e+24>>2]=t),(e=f[o+20>>2])&&(f[t+20>>2]=e,f[e+24>>2]=t)}t:if(n>>>0<=15)e=n+c|0,f[o+4>>2]=3|e,f[4+(e=e+o|0)>>2]=1|f[e+4>>2];else if(f[o+4>>2]=3|c,f[4+(a=o+c|0)>>2]=1|n,f[n+a>>2]=n,n>>>0<=255)t=11564+((e=n>>>3|0)<<3)|0,(i=f[2881])&(e=1<<e)?e=f[t+8>>2]:(f[2881]=e|i,e=t),f[t+8>>2]=a,f[e+12>>2]=a,f[a+12>>2]=t,f[a+8>>2]=e;else{e=31,n>>>0<=16777215&&(e=n>>>8|0,e<<=s=e+1048320>>>16&8,e=28+((e=((e<<=i=e+520192>>>16&4)<<(t=e+245760>>>16&2)>>>15|0)-(t|i|s)|0)<<1|n>>>e+21&1)|0),f[a+28>>2]=e,f[a+16>>2]=0,f[a+20>>2]=0,t=11828+(e<<2)|0;i:{if((i=1<<e)&u){for(e=n<<(31==(0|e)?0:25-(e>>>1|0)|0),c=f[t>>2];;){if((-8&f[(t=c)+4>>2])==(0|n))break i;if(i=e>>>29|0,e<<=1,!(c=f[16+(i=(4&i)+t|0)>>2]))break}f[i+16>>2]=a}else f[2882]=i|u,f[t>>2]=a;f[a+24>>2]=t,f[a+12>>2]=a,f[a+8>>2]=a;break t}e=f[t+8>>2],f[e+12>>2]=a,f[t+8>>2]=a,f[a+24>>2]=0,f[a+12>>2]=t,f[a+8>>2]=e}e=o+8|0;break e}r:if(b){i=f[t+28>>2];t:{if(f[(e=11828+(i<<2)|0)>>2]==(0|t)){if(f[e>>2]=o,o)break t;p=11528,k=Vt(i)&u,f[p>>2]=k;break r}if(f[b+(f[b+16>>2]==(0|t)?16:20)>>2]=o,!o)break r}f[o+24>>2]=b,(e=f[t+16>>2])&&(f[o+16>>2]=e,f[e+24>>2]=o),(e=f[t+20>>2])&&(f[o+20>>2]=e,f[e+24>>2]=o)}n>>>0<=15?(e=n+c|0,f[t+4>>2]=3|e,f[4+(e=e+t|0)>>2]=1|f[e+4>>2]):(f[t+4>>2]=3|c,f[4+(o=t+c|0)>>2]=1|n,f[n+o>>2]=n,_&&(i=11564+((e=_>>>3|0)<<3)|0,s=f[2886],(e=1<<e)&a?e=f[i+8>>2]:(f[2881]=e|a,e=i),f[i+8>>2]=s,f[e+12>>2]=s,f[s+12>>2]=i,f[s+8>>2]=e),f[2886]=o,f[2883]=n),e=t+8|0}return V=r+16|0,0|e}function I(e,r,t,i){var n,s=0,c=0,b=0,u=0,_=0,p=0,k=0,d=0,m=0,h=0,y=0,v=0,g=0;if(V=n=V-80|0,s=f[t+36>>2],f[n+72>>2]=f[t+32>>2],f[n+76>>2]=s,c=f[t+28>>2],f[(s=n- -64|0)>>2]=f[t+24>>2],f[s+4>>2]=c,s=f[t+20>>2],f[n+56>>2]=f[t+16>>2],f[n+60>>2]=s,s=f[t+12>>2],f[n+48>>2]=f[t+8>>2],f[n+52>>2]=s,s=f[t+4>>2],f[n+40>>2]=f[t>>2],f[n+44>>2]=s,L(e,n+40|0,n+24|0),!f[e>>2])if(k=e+4|0,a[e+15|0]<0&&ee(f[k>>2]),1==A[n+31|0]){V=u=V-16|0;e:{switch(A[n+32|0]){case 0:et(s=_t(48)),f[s>>2]=9896,f[n+8>>2]=0,f[n+12>>2]=0,f[n>>2]=0,f[n+4>>2]=0,f[n+16>>2]=s;break e;case 1:et(s=_t(52)),f[s+48>>2]=0,f[s>>2]=8204,f[n+8>>2]=0,f[n+12>>2]=0,f[n>>2]=0,f[n+4>>2]=0,f[n+16>>2]=s;break e}c=_t(32),s=A[1664]|A[1665]<<8|A[1666]<<16|A[1667]<<24,a[c+24|0]=s,a[c+25|0]=s>>>8,a[c+26|0]=s>>>16,a[c+27|0]=s>>>24,s=A[1660]|A[1661]<<8|A[1662]<<16|A[1663]<<24,b=A[1656]|A[1657]<<8|A[1658]<<16|A[1659]<<24,a[c+16|0]=b,a[c+17|0]=b>>>8,a[c+18|0]=b>>>16,a[c+19|0]=b>>>24,a[c+20|0]=s,a[c+21|0]=s>>>8,a[c+22|0]=s>>>16,a[c+23|0]=s>>>24,s=A[1652]|A[1653]<<8|A[1654]<<16|A[1655]<<24,b=A[1648]|A[1649]<<8|A[1650]<<16|A[1651]<<24,a[c+8|0]=b,a[c+9|0]=b>>>8,a[c+10|0]=b>>>16,a[c+11|0]=b>>>24,a[c+12|0]=s,a[c+13|0]=s>>>8,a[c+14|0]=s>>>16,a[c+15|0]=s>>>24,s=A[1644]|A[1645]<<8|A[1646]<<16|A[1647]<<24,b=A[1640]|A[1641]<<8|A[1642]<<16|A[1643]<<24,a[0|c]=b,a[c+1|0]=b>>>8,a[c+2|0]=b>>>16,a[c+3|0]=b>>>24,a[c+4|0]=s,a[c+5|0]=s>>>8,a[c+6|0]=s>>>16,a[c+7|0]=s>>>24,a[c+28|0]=0,f[u>>2]=-1,Fr(s=4|u,c,28),p=a[u+15|0],f[n>>2]=f[u>>2],b=n+4|0,(0|p)>=0?(p=f[s+4>>2],f[b>>2]=f[s>>2],f[b+4>>2]=p,f[b+8>>2]=f[s+8>>2]):Fr(b,f[u+4>>2],f[u+8>>2]),f[n+16>>2]=0,a[u+15|0]<0&&ee(f[u+4>>2]),ee(c)}V=u+16|0;e:if(s=f[n>>2]){if(f[e>>2]=s,a[n+15|0]>=0){r=f[4+(e=4|n)>>2],f[k>>2]=f[e>>2],f[k+4>>2]=r,f[k+8>>2]=f[e+8>>2];break e}Fr(k,f[n+4>>2],f[n+8>>2])}else{s=f[n+16>>2],f[n+16>>2]=0,f[s+44>>2]=i,V=u=V-32|0,f[s+32>>2]=t,f[s+40>>2]=r,f[s+4>>2]=i,L(e,t,u+16|0);r:if(!f[e>>2])if(c=e+4|0,a[e+15|0]<0&&ee(f[c>>2]),r=A[u+23|0],(0|yi[f[f[s>>2]+8>>2]](s))==(0|r))if(t=A[u+21|0],a[s+36|0]=t,i=A[u+22|0],a[s+37|0]=i,2==(0|t))if((0|(r=r?2:3))==(0|i)){if(o[f[s+32>>2]+38>>1]=512|r,!(o[u+26>>1]>=0)){V=p=V-16|0,i=_t(36),f[(r=i)+4>>2]=0,f[r+8>>2]=0,f[r+24>>2]=0,f[r+28>>2]=0,f[(r=r+16|0)>>2]=0,f[r+4>>2]=0,f[i>>2]=i+4,f[i+32>>2]=0,f[i+12>>2]=r,f[p>>2]=0,t=f[s+32>>2],V=d=V-16|0,r=0;t:if(i&&(f[p>>2]=t,f[d+12>>2]=0,r=0,wr(1,d+12|0,t))){if(y=f[d+12>>2])for(;;){i:{if(wr(1,d+8|0,f[p>>2])){if(r=_t(28),f[r+4>>2]=0,f[r+8>>2]=0,f[(t=r+16|0)>>2]=0,f[t+4>>2]=0,f[r>>2]=r+4,f[r+12>>2]=t,f[r+24>>2]=f[d+8>>2],B(p,r))break i;nt(r+12|0,f[r+16>>2]),lt(r,f[r+4>>2]),ee(r)}r=0;break t}if(V=b=V-16|0,f[b+8>>2]=r,r){if((t=f[i+28>>2])>>>0<l[i+32>>2])f[b+8>>2]=0,f[t>>2]=r,f[i+28>>2]=t+4;else{t=0;i:{n:{a:{if(_=f[i+24>>2],(r=1+(h=f[i+28>>2]-_>>2)|0)>>>0<1073741824){if(m=(_=f[i+32>>2]-_|0)>>1,r=_>>2>>>0<536870911?r>>>0>m>>>0?r:m:1073741823){if(r>>>0>=1073741824)break a;t=_t(r<<2)}if(m=f[b+8>>2],f[b+8>>2]=0,f[(_=(h<<2)+t|0)>>2]=m,h=(r<<2)+t|0,m=_+4|0,(0|(t=f[i+28>>2]))==(0|(r=f[i+24>>2])))break n;for(;g=f[(t=t-4|0)>>2],f[t>>2]=0,f[(_=_-4|0)>>2]=g,(0|r)!=(0|t););if(f[i+32>>2]=h,t=f[i+28>>2],f[i+28>>2]=m,r=f[i+24>>2],f[i+24>>2]=_,(0|r)==(0|t))break i;for(;_=f[(t=t-4|0)>>2],f[t>>2]=0,_&&(nt(_+12|0,f[_+16>>2]),lt(_,f[_+4>>2]),ee(_)),(0|r)!=(0|t););break i}oi(),T()}Hr(1326),T()}f[i+32>>2]=h,f[i+28>>2]=m,f[i+24>>2]=_}r&&ee(r)}r=f[b+8>>2],f[b+8>>2]=0,r&&(nt(r+12|0,f[r+16>>2]),lt(r,f[r+4>>2]),ee(r))}else f[b+8>>2]=0;if(V=b+16|0,(0|(v=v+1|0))==(0|y))break}r=B(p,i)}if(V=d+16|0,r?(t=f[s+4>>2],r=f[t+4>>2],f[t+4>>2]=i,r&&Vr(r),f[e>>2]=0,f[e+4>>2]=0,f[e+8>>2]=0,f[e+12>>2]=0):(r=_t(32),t=A[1693]|A[1694]<<8,a[r+24|0]=t,a[r+25|0]=t>>>8,t=A[1689]|A[1690]<<8|A[1691]<<16|A[1692]<<24,b=A[1685]|A[1686]<<8|A[1687]<<16|A[1688]<<24,a[r+16|0]=b,a[r+17|0]=b>>>8,a[r+18|0]=b>>>16,a[r+19|0]=b>>>24,a[r+20|0]=t,a[r+21|0]=t>>>8,a[r+22|0]=t>>>16,a[r+23|0]=t>>>24,t=A[1681]|A[1682]<<8|A[1683]<<16|A[1684]<<24,b=A[1677]|A[1678]<<8|A[1679]<<16|A[1680]<<24,a[r+8|0]=b,a[r+9|0]=b>>>8,a[r+10|0]=b>>>16,a[r+11|0]=b>>>24,a[r+12|0]=t,a[r+13|0]=t>>>8,a[r+14|0]=t>>>16,a[r+15|0]=t>>>24,t=A[1673]|A[1674]<<8|A[1675]<<16|A[1676]<<24,b=A[1669]|A[1670]<<8|A[1671]<<16|A[1672]<<24,a[0|r]=b,a[r+1|0]=b>>>8,a[r+2|0]=b>>>16,a[r+3|0]=b>>>24,a[r+4|0]=t,a[r+5|0]=t>>>8,a[r+6|0]=t>>>16,a[r+7|0]=t>>>24,a[r+26|0]=0,f[e>>2]=-1,Fr(e+4|0,r,26),ee(r),f[p+8>>2]=0,Vr(i)),V=p+16|0,f[e>>2])break r;a[c+11|0]>=0||ee(f[c>>2])}if(0|yi[f[f[s>>2]+12>>2]](s))if(0|yi[f[f[s>>2]+20>>2]](s))if(0|yi[f[f[s>>2]+24>>2]](s))f[e>>2]=0,f[e+4>>2]=0,f[e+8>>2]=0,f[e+12>>2]=0;else{if(r=Qr(u,1451),f[e>>2]=-1,a[r+11|0]>=0){r=f[u+4>>2],f[c>>2]=f[u>>2],f[c+4>>2]=r,f[c+8>>2]=f[u+8>>2];break r}if(Fr(c,f[r>>2],f[r+4>>2]),a[r+11|0]>=0)break r;ee(f[r>>2])}else{if(r=Qr(u,1696),f[e>>2]=-1,a[r+11|0]>=0){r=f[u+4>>2],f[c>>2]=f[u>>2],f[c+4>>2]=r,f[c+8>>2]=f[u+8>>2];break r}if(Fr(c,f[r>>2],f[r+4>>2]),a[r+11|0]>=0)break r;ee(f[r>>2])}else r=_t(48),a[r+32|0]=A[1518],t=A[1514]|A[1515]<<8|A[1516]<<16|A[1517]<<24,i=A[1510]|A[1511]<<8|A[1512]<<16|A[1513]<<24,a[r+24|0]=i,a[r+25|0]=i>>>8,a[r+26|0]=i>>>16,a[r+27|0]=i>>>24,a[r+28|0]=t,a[r+29|0]=t>>>8,a[r+30|0]=t>>>16,a[r+31|0]=t>>>24,t=A[1506]|A[1507]<<8|A[1508]<<16|A[1509]<<24,i=A[1502]|A[1503]<<8|A[1504]<<16|A[1505]<<24,a[r+16|0]=i,a[r+17|0]=i>>>8,a[r+18|0]=i>>>16,a[r+19|0]=i>>>24,a[r+20|0]=t,a[r+21|0]=t>>>8,a[r+22|0]=t>>>16,a[r+23|0]=t>>>24,t=A[1498]|A[1499]<<8|A[1500]<<16|A[1501]<<24,i=A[1494]|A[1495]<<8|A[1496]<<16|A[1497]<<24,a[r+8|0]=i,a[r+9|0]=i>>>8,a[r+10|0]=i>>>16,a[r+11|0]=i>>>24,a[r+12|0]=t,a[r+13|0]=t>>>8,a[r+14|0]=t>>>16,a[r+15|0]=t>>>24,t=A[1490]|A[1491]<<8|A[1492]<<16|A[1493]<<24,i=A[1486]|A[1487]<<8|A[1488]<<16|A[1489]<<24,a[0|r]=i,a[r+1|0]=i>>>8,a[r+2|0]=i>>>16,a[r+3|0]=i>>>24,a[r+4|0]=t,a[r+5|0]=t>>>8,a[r+6|0]=t>>>16,a[r+7|0]=t>>>24,a[r+33|0]=0,f[e>>2]=-1,Fr(c,r,33),ee(r)}else r=_t(32),t=A[1544]|A[1545]<<8,a[r+24|0]=t,a[r+25|0]=t>>>8,t=A[1540]|A[1541]<<8|A[1542]<<16|A[1543]<<24,i=A[1536]|A[1537]<<8|A[1538]<<16|A[1539]<<24,a[r+16|0]=i,a[r+17|0]=i>>>8,a[r+18|0]=i>>>16,a[r+19|0]=i>>>24,a[r+20|0]=t,a[r+21|0]=t>>>8,a[r+22|0]=t>>>16,a[r+23|0]=t>>>24,t=A[1532]|A[1533]<<8|A[1534]<<16|A[1535]<<24,i=A[1528]|A[1529]<<8|A[1530]<<16|A[1531]<<24,a[r+8|0]=i,a[r+9|0]=i>>>8,a[r+10|0]=i>>>16,a[r+11|0]=i>>>24,a[r+12|0]=t,a[r+13|0]=t>>>8,a[r+14|0]=t>>>16,a[r+15|0]=t>>>24,t=A[1524]|A[1525]<<8|A[1526]<<16|A[1527]<<24,i=A[1520]|A[1521]<<8|A[1522]<<16|A[1523]<<24,a[0|r]=i,a[r+1|0]=i>>>8,a[r+2|0]=i>>>16,a[r+3|0]=i>>>24,a[r+4|0]=t,a[r+5|0]=t>>>8,a[r+6|0]=t>>>16,a[r+7|0]=t>>>24,a[r+26|0]=0,f[e>>2]=-5,Fr(c,r,26),ee(r);else r=_t(32),t=A[1571]|A[1572]<<8,a[r+24|0]=t,a[r+25|0]=t>>>8,t=A[1567]|A[1568]<<8|A[1569]<<16|A[1570]<<24,i=A[1563]|A[1564]<<8|A[1565]<<16|A[1566]<<24,a[r+16|0]=i,a[r+17|0]=i>>>8,a[r+18|0]=i>>>16,a[r+19|0]=i>>>24,a[r+20|0]=t,a[r+21|0]=t>>>8,a[r+22|0]=t>>>16,a[r+23|0]=t>>>24,t=A[1559]|A[1560]<<8|A[1561]<<16|A[1562]<<24,i=A[1555]|A[1556]<<8|A[1557]<<16|A[1558]<<24,a[r+8|0]=i,a[r+9|0]=i>>>8,a[r+10|0]=i>>>16,a[r+11|0]=i>>>24,a[r+12|0]=t,a[r+13|0]=t>>>8,a[r+14|0]=t>>>16,a[r+15|0]=t>>>24,t=A[1551]|A[1552]<<8|A[1553]<<16|A[1554]<<24,i=A[1547]|A[1548]<<8|A[1549]<<16|A[1550]<<24,a[0|r]=i,a[r+1|0]=i>>>8,a[r+2|0]=i>>>16,a[r+3|0]=i>>>24,a[r+4|0]=t,a[r+5|0]=t>>>8,a[r+6|0]=t>>>16,a[r+7|0]=t>>>24,a[r+26|0]=0,f[e>>2]=-5,Fr(c,r,26),ee(r);else r=_t(64),t=A[1448]|A[1449]<<8,a[r+48|0]=t,a[r+49|0]=t>>>8,t=A[1444]|A[1445]<<8|A[1446]<<16|A[1447]<<24,i=A[1440]|A[1441]<<8|A[1442]<<16|A[1443]<<24,a[r+40|0]=i,a[r+41|0]=i>>>8,a[r+42|0]=i>>>16,a[r+43|0]=i>>>24,a[r+44|0]=t,a[r+45|0]=t>>>8,a[r+46|0]=t>>>16,a[r+47|0]=t>>>24,t=A[1436]|A[1437]<<8|A[1438]<<16|A[1439]<<24,i=A[1432]|A[1433]<<8|A[1434]<<16|A[1435]<<24,a[r+32|0]=i,a[r+33|0]=i>>>8,a[r+34|0]=i>>>16,a[r+35|0]=i>>>24,a[r+36|0]=t,a[r+37|0]=t>>>8,a[r+38|0]=t>>>16,a[r+39|0]=t>>>24,t=A[1428]|A[1429]<<8|A[1430]<<16|A[1431]<<24,i=A[1424]|A[1425]<<8|A[1426]<<16|A[1427]<<24,a[r+24|0]=i,a[r+25|0]=i>>>8,a[r+26|0]=i>>>16,a[r+27|0]=i>>>24,a[r+28|0]=t,a[r+29|0]=t>>>8,a[r+30|0]=t>>>16,a[r+31|0]=t>>>24,t=A[1420]|A[1421]<<8|A[1422]<<16|A[1423]<<24,i=A[1416]|A[1417]<<8|A[1418]<<16|A[1419]<<24,a[r+16|0]=i,a[r+17|0]=i>>>8,a[r+18|0]=i>>>16,a[r+19|0]=i>>>24,a[r+20|0]=t,a[r+21|0]=t>>>8,a[r+22|0]=t>>>16,a[r+23|0]=t>>>24,t=A[1412]|A[1413]<<8|A[1414]<<16|A[1415]<<24,i=A[1408]|A[1409]<<8|A[1410]<<16|A[1411]<<24,a[r+8|0]=i,a[r+9|0]=i>>>8,a[r+10|0]=i>>>16,a[r+11|0]=i>>>24,a[r+12|0]=t,a[r+13|0]=t>>>8,a[r+14|0]=t>>>16,a[r+15|0]=t>>>24,t=A[1404]|A[1405]<<8|A[1406]<<16|A[1407]<<24,i=A[1400]|A[1401]<<8|A[1402]<<16|A[1403]<<24,a[0|r]=i,a[r+1|0]=i>>>8,a[r+2|0]=i>>>16,a[r+3|0]=i>>>24,a[r+4|0]=t,a[r+5|0]=t>>>8,a[r+6|0]=t>>>16,a[r+7|0]=t>>>24,a[r+50|0]=0,f[e>>2]=-1,Fr(c,r,50),ee(r);V=u+32|0,f[e>>2]||(a[k+11|0]<0&&ee(f[k>>2]),f[e>>2]=0,f[e+4>>2]=0,f[e+8>>2]=0,f[e+12>>2]=0),yi[f[f[s>>2]+4>>2]](s)}e=f[n+16>>2],f[n+16>>2]=0,e&&yi[f[f[e>>2]+4>>2]](e),a[n+15|0]>=0||ee(f[n+4>>2])}else r=_t(32),t=A[1590]|A[1591]<<8|A[1592]<<16|A[1593]<<24,a[r+16|0]=t,a[r+17|0]=t>>>8,a[r+18|0]=t>>>16,a[r+19|0]=t>>>24,t=A[1586]|A[1587]<<8|A[1588]<<16|A[1589]<<24,i=A[1582]|A[1583]<<8|A[1584]<<16|A[1585]<<24,a[r+8|0]=i,a[r+9|0]=i>>>8,a[r+10|0]=i>>>16,a[r+11|0]=i>>>24,a[r+12|0]=t,a[r+13|0]=t>>>8,a[r+14|0]=t>>>16,a[r+15|0]=t>>>24,t=A[1578]|A[1579]<<8|A[1580]<<16|A[1581]<<24,i=A[1574]|A[1575]<<8|A[1576]<<16|A[1577]<<24,a[0|r]=i,a[r+1|0]=i>>>8,a[r+2|0]=i>>>16,a[r+3|0]=i>>>24,a[r+4|0]=t,a[r+5|0]=t>>>8,a[r+6|0]=t>>>16,a[r+7|0]=t>>>24,a[r+20|0]=0,f[e>>2]=-1,Fr(k,r,20),ee(r);V=n+80|0}function B(e,r){var t,i=0,n=0,o=0,s=0,c=0,b=0,u=0,_=0,p=0,k=0,d=0,m=0,h=0,y=0,v=0;V=t=V-48|0,i=_t(8),f[i+4>>2]=r,f[i>>2]=0,r=i+8|0,f[t+40>>2]=r,f[t+36>>2]=r,f[t+32>>2]=i;e:{r:{t:{i:{for(;;){if(_=f[4+(r=r-8|0)>>2],c=f[r>>2],f[t+36>>2]=r,c){f[t+24>>2]=0,f[t+16>>2]=0,f[t+20>>2]=0,i=1,r=f[e>>2],o=f[r+8>>2];n:if(!((0|(b=f[r+12>>2]))<=(0|(n=f[r+20>>2]))&(s=f[r+16>>2])>>>0>=o>>>0|(0|n)>(0|b))){if(o=A[s+f[r>>2]|0],n=(s=s+1|0)?n:n+1|0,f[r+16>>2]=s,f[r+20>>2]=n,Re(t+16|0,o),o){if(n=f[e>>2],k=ut(t+16|0),s=f[n+20>>2],r=o,d=(u=f[n+16>>2])+o|0,b=f[n+12>>2],s=o>>>0>d>>>0?s+1|0:s,d>>>0>l[n+8>>2]&(0|b)<=(0|s)|(0|s)>(0|b))break n;ge(k,u+f[n>>2]|0,o),i=f[n+20>>2],i=(o=r+f[n+16>>2]|0)>>>0<r>>>0?i+1|0:i,f[n+16>>2]=o,f[n+20>>2]=i}_=_t(24),f[(r=_)+4>>2]=0,f[r+8>>2]=0,f[(r=r+16|0)>>2]=0,f[r+4>>2]=0,f[_>>2]=_+4,f[_+12>>2]=r,V=o=V-32|0;a:if((0|(p=$e(s=c+12|0,i=t+16|0)))!=(0|(h=c+16|0)))_&&(nt(_+12|0,f[_+16>>2]),lt(_,f[_+4>>2]),ee(_));else{f[o+16>>2]=i;o:{f:{if(r=f[s+4>>2])for(b=(c=(n=A[i+11|0])<<24>>24<0)?f[i>>2]:i,c=c?f[i+4>>2]:n,i=s+4|0;;){s:{c:{A:{b:{l:{u:if(u=(k=(n=(d=(n=A[r+27|0])<<24>>24<0)?f[r+20>>2]:n)>>>0<c>>>0)?n:c){if(m=r+16|0,!(m=Rr(b,d=d?f[m>>2]:m,u))){if(n>>>0>c>>>0)break u;break l}if((0|m)>=0)break l}else if(n>>>0<=c>>>0)break b;if(n=f[r>>2])break s;break f}if(n=Rr(d,b,u))break A}if(k)break c;break o}if((0|n)>=0)break o}if(i=r+4|0,!(n=f[r+4>>2]))break o;r=i}i=r,r=n}r=s+4|0}i=r}if((n=f[i>>2])?r=0:(b=(n=_t(32))+16|0,c=f[o+16>>2],a[c+11|0]>=0?(d=f[c+4>>2],f[b>>2]=f[c>>2],f[b+4>>2]=d,f[b+8>>2]=f[c+8>>2]):Fr(b,f[c>>2],f[c+4>>2]),f[n+8>>2]=r,f[n>>2]=0,f[n+4>>2]=0,f[n+28>>2]=0,f[i>>2]=n,(r=f[f[s>>2]>>2])?(f[s>>2]=r,r=f[i>>2]):r=n,Ce(f[s+4>>2],r),f[s+8>>2]=f[s+8>>2]+1,r=1),a[o+28|0]=r,f[o+24>>2]=n,i=f[o+24>>2],r=f[i+28>>2],f[i+28>>2]=_,!r)break a;nt(r+12|0,f[r+16>>2]),lt(r,f[r+4>>2]),ee(r)}V=o+32|0,i=(0|p)!=(0|h)}if(a[t+27|0]<0&&ee(f[t+16>>2]),i)break r}if(!_)break r;if(f[t+16>>2]=0,!wr(1,t+16|0,f[e>>2]))break r;if(r=0,v=f[t+16>>2])for(;;){d=0,V=u=V-32|0,f[u+24>>2]=0,f[u+16>>2]=0,f[u+20>>2]=0,i=f[e>>2],o=f[i+8>>2];n:{a:{o:if(!((0|(s=f[i+12>>2]))<=(0|(n=f[i+20>>2]))&(c=f[i+16>>2])>>>0>=o>>>0|(0|n)>(0|s))){if(s=A[c+f[i>>2]|0],o=i,i=n,i=(n=c+1|0)?i:i+1|0,f[o+16>>2]=n,f[o+20>>2]=i,Re(u+16|0,s),s){if(o=f[e>>2],k=ut(u+16|0),n=f[o+20>>2],b=(p=f[o+16>>2])+(i=s)|0,c=f[o+12>>2],n=i>>>0>b>>>0?n+1|0:n,b>>>0>l[o+8>>2]&(0|c)<=(0|n)|(0|n)>(0|c))break o;ge(k,p+f[o>>2]|0,s),n=f[o+20>>2],n=(s=i+f[o+16>>2]|0)>>>0<i>>>0?n+1|0:n,f[o+16>>2]=s,f[o+20>>2]=n}if(f[u+12>>2]=0,wr(1,u+12|0,f[e>>2])&&(i=f[u+12>>2])){if(f[u+8>>2]=0,f[u>>2]=0,f[u+4>>2]=0,(0|i)<0)break a;if(n=_t(i),f[u>>2]=n,o=i+n|0,f[u+8>>2]=o,k=Je(n,0,i),f[u+4>>2]=o,o=f[e>>2],d=f[o+8>>2],c=f[o+12>>2],s=f[o+20>>2],d=(0|(s=(b=i+(p=f[o+16>>2])|0)>>>0<i>>>0?s+1|0:s))<=(0|c)&b>>>0<=d>>>0|(0|s)<(0|c)){if(ge(k,p+f[o>>2]|0,i),n=i,s=i+f[o+16>>2]|0,i=f[o+20>>2],f[o+16>>2]=s,f[o+20>>2]=n>>>0>s>>>0?i+1|0:i,V=c=V-48|0,(0|(n=$e(_,u+16|0)))!=(_+4|0)){f:if(o=f[n+4>>2])for(;s=o,o=f[o>>2];);else{if(s=f[n+8>>2],f[s>>2]==(0|n))break f;for(i=n+8|0;i=(o=f[i>>2])+8|0,s=f[o+8>>2],(0|o)!=f[s>>2];);}f[_>>2]==(0|n)&&(f[_>>2]=s),f[_+8>>2]=f[_+8>>2]-1,s=f[_+4>>2],b=n;f:{s:{if(o=f[n>>2]){if(!(i=f[b+4>>2]))break s;for(;n=i,i=f[i>>2];);}if(!(o=f[n+4>>2])){o=0,k=1;break f}}f[o+8>>2]=f[n+8>>2],k=0}p=f[n+8>>2];f:if((0|n)!=(0|(i=f[p>>2])))f[p+4>>2]=o;else{if(f[p>>2]=o,(0|n)==(0|s)){i=0,s=o;break f}i=f[p+4>>2]}m=!A[n+12|0],(0|n)!=(0|b)&&(p=f[b+8>>2],f[n+8>>2]=p,f[p+(((0|b)!=f[f[b+8>>2]>>2])<<2)>>2]=n,p=f[b>>2],f[n>>2]=p,f[p+8>>2]=n,p=f[b+4>>2],f[n+4>>2]=p,p&&(f[p+8>>2]=n),a[n+12|0]=A[b+12|0],s=(0|s)==(0|b)?n:s);f:if(!(m|!s)){if(k)for(;;){o=A[i+12|0];s:{if(n=f[i+8>>2],f[n>>2]!=(0|i)){o||(a[i+12|0]=1,a[n+12|0]=0,o=f[n+4>>2],k=f[o>>2],f[n+4>>2]=k,k&&(f[k+8>>2]=n),f[o+8>>2]=f[n+8>>2],k=f[n+8>>2],f[(((0|n)!=f[k>>2])<<2)+k>>2]=o,f[o>>2]=n,f[n+8>>2]=o,n=i,s=(0|(i=f[i>>2]))==(0|s)?n:s,i=f[i+4>>2]);c:{A:{n=f[i>>2];b:{if(A[n+12|0]||!n){if(o=f[i+4>>2],!A[o+12|0]&&o)break b;if(a[i+12|0]=0,(0|s)!=(0|(i=f[i+8>>2]))){if(A[i+12|0])break s}else i=s;a[i+12|0]=1;break f}if(!(o=f[i+4>>2]))break A}if(!A[o+12|0]){n=i;break c}}a[n+12|0]=1,a[i+12|0]=0,o=f[n+4>>2],f[i>>2]=o,o&&(f[o+8>>2]=i),f[n+8>>2]=f[i+8>>2],o=f[i+8>>2],f[((f[o>>2]!=(0|i))<<2)+o>>2]=n,f[n+4>>2]=i,f[i+8>>2]=n,o=i}i=f[n+8>>2],a[n+12|0]=A[i+12|0],a[i+12|0]=1,a[o+12|0]=1,n=f[i+4>>2],o=f[n>>2],f[i+4>>2]=o,o&&(f[o+8>>2]=i),f[n+8>>2]=f[i+8>>2],o=f[i+8>>2],f[(((0|i)!=f[o>>2])<<2)+o>>2]=n,f[n>>2]=i,f[i+8>>2]=n;break f}o||(a[i+12|0]=1,a[n+12|0]=0,o=f[i+4>>2],f[n>>2]=o,o&&(f[o+8>>2]=n),f[i+8>>2]=f[n+8>>2],o=f[n+8>>2],f[(((0|n)!=f[o>>2])<<2)+o>>2]=i,f[i+4>>2]=n,f[n+8>>2]=i,s=(0|n)==(0|s)?i:s,i=f[n>>2]);c:if(!(o=f[i>>2])|A[o+12|0]){if(n=f[i+4>>2],A[n+12|0]||!n){if(a[i+12|0]=0,(0|(i=f[i+8>>2]))!=(0|s)&&A[i+12|0])break s;a[i+12|0]=1;break f}if(o){if(!A[o+12|0]){n=i;break c}n=f[i+4>>2]}a[n+12|0]=1,a[i+12|0]=0,o=f[n>>2],f[i+4>>2]=o,o&&(f[o+8>>2]=i),f[n+8>>2]=f[i+8>>2],o=f[i+8>>2],f[((f[o>>2]!=(0|i))<<2)+o>>2]=n,f[n>>2]=i,f[i+8>>2]=n,o=i}else n=i;i=f[n+8>>2],a[n+12|0]=A[i+12|0],a[i+12|0]=1,a[o+12|0]=1,n=f[i>>2],o=f[n+4>>2],f[i>>2]=o,o&&(f[o+8>>2]=i),f[n+8>>2]=f[i+8>>2],o=f[i+8>>2],f[(((0|i)!=f[o>>2])<<2)+o>>2]=n,f[n+4>>2]=i,f[i+8>>2]=n;break f}n=i,i=f[i+8>>2],i=f[(((0|n)==f[i>>2])<<2)+i>>2]}a[o+12|0]=1}(i=f[b+28>>2])&&(f[b+32>>2]=i,ee(i)),a[b+27|0]<0&&ee(f[b+16>>2]),ee(b)}f[c>>2]=0,f[c+4>>2]=0,f[c+8>>2]=0,br(c,i=f[u+4>>2]-f[u>>2]|0),ge(f[c>>2],f[u>>2],i),a[u+27|0]>=0?(f[c+24>>2]=f[u+24>>2],i=f[u+20>>2],f[c+16>>2]=f[u+16>>2],f[c+20>>2]=i):Fr(c+16|0,f[u+16>>2],f[u+20>>2]),f[c+36>>2]=0,f[c+28>>2]=0,f[c+32>>2]=0,br(c+28|0,f[c+4>>2]-f[c>>2]|0),i=f[c>>2],ge(f[c+28>>2],i,f[c+4>>2]-i|0),n=s=c+16|0;f:{s:{if(i=f[_+4>>2])for(k=(b=(o=A[n+11|0])<<24>>24<0)?f[n>>2]:n,b=b?f[n+4>>2]:o,n=_+4|0;;){c:{A:{b:{l:{u:{_:if(m=(h=(o=(p=(o=A[i+27|0])<<24>>24<0)?f[i+20>>2]:o)>>>0<b>>>0)?o:b){if(y=i+16|0,!(y=Rr(k,p=p?f[y>>2]:y,m))){if(o>>>0>b>>>0)break _;break u}if((0|y)>=0)break u}else if(o>>>0<=b>>>0)break l;if(o=f[i>>2])break c;break s}if(o=Rr(p,k,m))break b}if(h)break A;break f}if((0|o)>=0)break f}if(n=i+4|0,!(o=f[i+4>>2]))break f;i=n}n=i,i=o}i=_+4|0}n=i}if((o=f[n>>2])?i=0:(o=_t(40),f[o+24>>2]=f[s+8>>2],b=f[s+4>>2],f[o+16>>2]=f[s>>2],f[o+20>>2]=b,f[s>>2]=0,f[s+4>>2]=0,f[s+8>>2]=0,f[o+36>>2]=0,f[(b=o+28|0)>>2]=0,f[b+4>>2]=0,br(b,f[s+16>>2]-f[s+12>>2]|0),ge(k=f[b>>2],b=f[s+12>>2],f[s+16>>2]-b|0),f[o+8>>2]=i,f[o>>2]=0,f[o+4>>2]=0,f[n>>2]=o,(i=f[f[_>>2]>>2])?(f[_>>2]=i,i=f[n>>2]):i=o,Ce(f[_+4>>2],i),f[_+8>>2]=f[_+8>>2]+1,i=1),a[c+44|0]=i,f[c+40>>2]=o,(i=f[c+28>>2])&&(f[c+32>>2]=i,ee(i)),a[c+27|0]<0&&ee(f[c+16>>2]),(i=f[c>>2])&&(f[c+4>>2]=i,ee(i)),V=c+48|0,!(n=f[u>>2]))break o}f[u+4>>2]=n,ee(n)}}a[u+27|0]<0&&ee(f[u+16>>2]),V=u+32|0;break n}oi(),T()}if(!d)break r;if((0|v)==(0|(r=r+1|0)))break}if(f[t+12>>2]=0,!wr(1,t+12|0,f[e>>2]))break r;if(r=f[e>>2],(o=(i=f[r+8>>2])-(n=f[r+16>>2])|0)>>>0<(s=f[t+12>>2])>>>0&(0|(r=f[r+12>>2]-(f[r+20>>2]+(i>>>0<n>>>0)|0)|0))<=0|(0|r)<0)break r;if(i=0,r=f[t+36>>2],s)for(;;){if((o=f[t+40>>2])>>>0>r>>>0)f[r+4>>2]=0,f[r>>2]=_,r=r+8|0,f[t+36>>2]=r;else{if((r=1+(b=(c=r-(n=f[t+32>>2])|0)>>3)|0)>>>0>=536870912)break i;if(d=(o=o-n|0)>>2,(r=o>>3>>>0<268435455?r>>>0>d>>>0?r:d:536870911)>>>0>=536870912)break t;k=b<<3,o=_t(b=r<<3),f[4+(r=k+o|0)>>2]=0,f[r>>2]=_,r=r+8|0,(0|c)>0&&ge(o,n,c),f[t+40>>2]=o+b,f[t+36>>2]=r,f[t+32>>2]=o,n&&ee(n)}if((0|s)==(0|(i=i+1|0)))break}if(f[t+32>>2]==(0|r))break}e=1;break e}oi(),T()}Hr(1326),T()}r=f[t+32>>2],e=0}return r&&ee(r),V=t+48|0,e}function Z(e,r,t,i){var n=0,s=0,c=0,p=0,d=0;e:{r:if(i){t:{i:switch(f[e+28>>2]-1|0){case 0:d=1;n:if(!((0|((0|t)<(0|(n=a[e+24|0]))?t:n))<=0)){if(n=f[e>>2],p=f[n>>2],s=r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0,r=p+r|0,n=(c=f[n+4>>2])-p|0,!A[e+32|0]){if((0|n)<=(0|s))break e;for(s=0;;){if(u[(s<<2)+i>>2]=a[0|r],(0|(s=s+1|0))>=(0|((0|t)<(0|(n=a[e+24|0]))?t:n)))break n;if(!(c>>>0>(r=r+1|0)>>>0))break}break e}if((0|n)<=(0|s))break e;for(s=0;;){if(u[(s<<2)+i>>2]=k(a[0|r])/k(127),(0|(s=s+1|0))>=(0|((0|t)<(0|(n=a[e+24|0]))?t:n)))break n;if(!(c>>>0>(r=r+1|0)>>>0))break}break e}if((0|t)>(0|n))break t;break r;case 1:d=1;n:if(!((0|((0|t)<(0|(n=a[e+24|0]))?t:n))<=0)){if(n=f[e>>2],p=f[n>>2],s=r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0,r=p+r|0,n=(c=f[n+4>>2])-p|0,!A[e+32|0]){if((0|n)<=(0|s))break e;for(s=0;;){if(u[(s<<2)+i>>2]=A[0|r],(0|(s=s+1|0))>=(0|((0|t)<(0|(n=a[e+24|0]))?t:n)))break n;if(!(c>>>0>(r=r+1|0)>>>0))break}break e}if((0|n)<=(0|s))break e;for(s=0;;){if(u[(s<<2)+i>>2]=k(A[0|r])/k(255),(0|(s=s+1|0))>=(0|((0|t)<(0|(n=a[e+24|0]))?t:n)))break n;if(!(c>>>0>(r=r+1|0)>>>0))break}break e}if((0|t)>(0|n))break t;break r;case 2:d=1;n:if(!((0|((0|t)<(0|(n=a[e+24|0]))?t:n))<=0)){if(n=f[e>>2],p=f[n>>2],s=r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0,r=p+r|0,n=(c=f[n+4>>2])-p|0,!A[e+32|0]){if((0|n)<=(0|s))break e;for(s=0;;){if(u[(s<<2)+i>>2]=o[r>>1],(0|(s=s+1|0))>=(0|((0|t)<(0|(n=a[e+24|0]))?t:n)))break n;if(!(c>>>0>(r=r+2|0)>>>0))break}break e}if((0|n)<=(0|s))break e;for(s=0;;){if(u[(s<<2)+i>>2]=k(o[r>>1])/k(32767),(0|(s=s+1|0))>=(0|((0|t)<(0|(n=a[e+24|0]))?t:n)))break n;if(!(c>>>0>(r=r+2|0)>>>0))break}break e}if((0|t)>(0|n))break t;break r;case 3:d=1;n:if(!((0|((0|t)<(0|(n=a[e+24|0]))?t:n))<=0)){if(n=f[e>>2],p=f[n>>2],s=r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0,r=p+r|0,n=(c=f[n+4>>2])-p|0,!A[e+32|0]){if((0|n)<=(0|s))break e;for(s=0;;){if(u[(s<<2)+i>>2]=b[r>>1],(0|(s=s+1|0))>=(0|((0|t)<(0|(n=a[e+24|0]))?t:n)))break n;if(!(c>>>0>(r=r+2|0)>>>0))break}break e}if((0|n)<=(0|s))break e;for(s=0;;){if(u[(s<<2)+i>>2]=k(b[r>>1])/k(65535),(0|(s=s+1|0))>=(0|((0|t)<(0|(n=a[e+24|0]))?t:n)))break n;if(!(c>>>0>(r=r+2|0)>>>0))break}break e}if((0|t)>(0|n))break t;break r;case 4:d=1;n:if(!((0|((0|t)<(0|(n=a[e+24|0]))?t:n))<=0)){if(n=f[e>>2],p=f[n>>2],s=r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0,r=p+r|0,n=(c=f[n+4>>2])-p|0,!A[e+32|0]){if((0|n)<=(0|s))break e;for(s=0;;){if(u[(s<<2)+i>>2]=f[r>>2],(0|(s=s+1|0))>=(0|((0|t)<(0|(n=a[e+24|0]))?t:n)))break n;if(!(c>>>0>(r=r+4|0)>>>0))break}break e}if((0|n)<=(0|s))break e;for(s=0;;){if(u[(s<<2)+i>>2]=k(f[r>>2])*k(4.656612873077393e-10),(0|(s=s+1|0))>=(0|((0|t)<(0|(n=a[e+24|0]))?t:n)))break n;if(!(c>>>0>(r=r+4|0)>>>0))break}break e}if((0|t)>(0|n))break t;break r;case 5:d=1;n:if(!((0|((0|t)<(0|(n=a[e+24|0]))?t:n))<=0)){if(n=f[e>>2],p=f[n>>2],s=r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0,r=p+r|0,n=(c=f[n+4>>2])-p|0,!A[e+32|0]){if((0|n)<=(0|s))break e;for(s=0;;){if(u[(s<<2)+i>>2]=l[r>>2],(0|(s=s+1|0))>=(0|((0|t)<(0|(n=a[e+24|0]))?t:n)))break n;if(!(c>>>0>(r=r+4|0)>>>0))break}break e}if((0|n)<=(0|s))break e;for(s=0;;){if(u[(s<<2)+i>>2]=k(l[r>>2])*k(2.3283064365386963e-10),(0|(s=s+1|0))>=(0|((0|t)<(0|(n=a[e+24|0]))?t:n)))break n;if(!(c>>>0>(r=r+4|0)>>>0))break}break e}if((0|t)>(0|n))break t;break r;case 6:d=1;n:if(!((0|((0|t)<(0|(n=a[e+24|0]))?t:n))<=0)){if(n=f[e>>2],p=f[n>>2],s=r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0,r=p+r|0,n=(c=f[n+4>>2])-p|0,!A[e+32|0]){if((0|n)<=(0|s))break e;for(s=0;;){if(u[(s<<2)+i>>2]=+l[r>>2]+4294967296*+f[r+4>>2],(0|(s=s+1|0))>=(0|((0|t)<(0|(n=a[e+24|0]))?t:n)))break n;if(!(c>>>0>(r=r+8|0)>>>0))break}break e}if((0|n)<=(0|s))break e;for(s=0;;){if(u[(s<<2)+i>>2]=k(+l[r>>2]+4294967296*+f[r+4>>2])*k(10842021724855044e-35),(0|(s=s+1|0))>=(0|((0|t)<(0|(n=a[e+24|0]))?t:n)))break n;if(!(c>>>0>(r=r+8|0)>>>0))break}break e}if((0|t)>(0|n))break t;break r;case 7:d=1;n:if(!((0|((0|t)<(0|(n=a[e+24|0]))?t:n))<=0)){if(n=f[e>>2],p=f[n>>2],s=r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0,r=p+r|0,n=(c=f[n+4>>2])-p|0,!A[e+32|0]){if((0|n)<=(0|s))break e;for(s=0;;){if(u[(s<<2)+i>>2]=+l[r>>2]+4294967296*+l[r+4>>2],(0|(s=s+1|0))>=(0|((0|t)<(0|(n=a[e+24|0]))?t:n)))break n;if(!(c>>>0>(r=r+8|0)>>>0))break}break e}if((0|n)<=(0|s))break e;for(s=0;;){if(u[(s<<2)+i>>2]=k(+l[r>>2]+4294967296*+l[r+4>>2])*k(5.421010862427522e-20),(0|(s=s+1|0))>=(0|((0|t)<(0|(n=a[e+24|0]))?t:n)))break n;if(!(c>>>0>(r=r+8|0)>>>0))break}break e}if((0|t)>(0|n))break t;break r;case 8:if(d=1,(0|((0|t)<(0|(n=a[e+24|0]))?t:n))>0)for(n=f[e>>2],r=(c=f[n>>2])+(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,c=f[n+4>>2];;){if(r>>>0>=c>>>0)break e;if(u[(s<<2)+i>>2]=u[r>>2],r=r+4|0,!((0|(s=s+1|0))<(0|((0|t)<(0|(n=a[e+24|0]))?t:n))))break}if((0|t)>(0|n))break t;break r;case 9:if(d=1,(0|((0|t)<(0|(n=a[e+24|0]))?t:n))>0)for(n=f[e>>2],r=(c=f[n>>2])+(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,c=f[n+4>>2];;){if(r>>>0>=c>>>0)break e;if(u[(s<<2)+i>>2]=_[r>>3],r=r+8|0,!((0|(s=s+1|0))<(0|((0|t)<(0|(n=a[e+24|0]))?t:n))))break}if((0|t)>(0|n))break t;break r;case 10:break i;default:break r}if(d=1,(0|((0|t)<(0|(n=a[e+24|0]))?t:n))>0)for(c=f[e>>2],r=(n=f[c>>2])+(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0)|0;;){if(l[c+4>>2]<=r>>>0)break e;if(u[(s<<2)+i>>2]=A[0|r]?k(1):k(0),r=r+1|0,!((0|(s=s+1|0))<(0|((0|t)<(0|(n=a[e+24|0]))?t:n))))break}if((0|t)<=(0|n))break r}Je((n<<2)+i|0,0,t-n<<2)}return d}return 0}function W(e,r){r|=0;var t,i,n,o=0,s=0,c=0,l=0,u=0,_=0,k=0,d=0,m=0,h=0,y=0,v=0,g=0;V=t=V-96|0,n=f[4+(e|=0)>>2],s=f[n+32>>2],c=f[s+8>>2];e:if(!((0|(l=y=f[s+12>>2]))<=(0|(o=f[s+20>>2]))&(i=f[s+16>>2])>>>0>=c>>>0|(0|o)>(0|l)||(d=f[s>>2],g=A[d+i|0],l=(u=i+1|0)?o:o+1|0,f[s+16>>2]=u,f[s+20>>2]=l,c>>>0<=u>>>0&(0|l)>=(0|y)|(0|l)>(0|y)))){m=A[u+d|0],l=(u=i+2|0)>>>0<2?o+1|0:o,h=u,f[s+16>>2]=u,f[s+20>>2]=l;r:{if((0|(_=g<<24>>24))>=0){if(u=f[e+216>>2],g>>>0>=(f[e+220>>2]-u|0)/144>>>0)break e;if(v=u+p(g,144)|0,f[v>>2]<0)break r;break e}if(f[e+212>>2]>=0)break e;v=e+212|0}f[v>>2]=r;r:{t:{i:{if((65535&((u=b[n+36>>1])<<8|u>>>8))>>>0>=258){if(c>>>0<=h>>>0&(0|l)>=(0|y)|(0|l)>(0|y))break e;if(u=A[d+h|0],o=(l=i+3|0)>>>0<3?o+1|0:o,f[s+16>>2]=l,f[s+20>>2]=o,o=u>>>0>1)break e;if(o=o?0:u,!m)break i;if(o)break e;break t}if(m)break t;o=0}if((0|_)<0?l=e+184|0:(s=f[e+216>>2]+p(g,144)|0,a[s+100|0]=0,l=s+104|0),s=l,1!=(0|o))V=c=V+-64|0,m=f[f[e+4>>2]+44>>2],o=_t(80),f[o>>2]=9424,f[o+4>>2]=0,f[o+76>>2]=0,f[o+72>>2]=s,f[o+68>>2]=m,f[o+8>>2]=9588,f[o+12>>2]=0,f[o+16>>2]=0,f[o+20>>2]=0,f[o+24>>2]=0,f[o+28>>2]=0,f[o+32>>2]=0,f[o+36>>2]=0,f[o+40>>2]=0,f[o+44>>2]=0,f[o+48>>2]=0,f[o+52>>2]=0,f[o- -64>>2]=0,f[(l=h=o+56|0)>>2]=0,f[l+4>>2]=0,d=f[e+8>>2],f[c+40>>2]=0,f[c+44>>2]=0,f[c+32>>2]=0,f[c+36>>2]=0,f[(l=_=c+24|0)>>2]=0,f[l+4>>2]=0,f[c+16>>2]=0,f[c+20>>2]=0,f[c+8>>2]=0,f[c+12>>2]=0,f[c+56>>2]=0,f[c+48>>2]=0,f[c+52>>2]=0,f[c>>2]=9588,f[c+4>>2]=d,u=f[d>>2],l=f[d+4>>2],a[c+63|0]=0,ze(y=_,(l-u>>2>>>0)/3|0,_=c+63|0),l=f[c+4>>2],u=f[l+28>>2],l=f[l+24>>2],a[c+63|0]=0,ze(c+36|0,u-l>>2,_),f[c+20>>2]=o,f[c+16>>2]=m,f[c+12>>2]=s,f[c+8>>2]=d,Ze(o+8|0,c),Le(h,f[c+48>>2],f[c+52>>2]),f[c>>2]=9588,(s=f[c+48>>2])&&(f[c+52>>2]=s,ee(s)),f[c>>2]=9404,(s=f[c+36>>2])&&ee(s),(s=f[c+24>>2])&&ee(s),V=c- -64|0;else{if(V=c=V-112|0,h=f[f[e+4>>2]+44>>2],o=_t(120),f[o>>2]=8956,f[o+4>>2]=0,f[o+116>>2]=0,f[o+112>>2]=s,f[o+108>>2]=h,f[o+12>>2]=0,f[o+16>>2]=0,f[o+20>>2]=0,f[o+24>>2]=0,f[o+28>>2]=0,f[o+32>>2]=0,f[o+36>>2]=0,f[o+40>>2]=0,f[o+44>>2]=0,f[o+48>>2]=0,f[o+52>>2]=0,f[o+56>>2]=0,f[o+60>>2]=0,f[o+8>>2]=9168,f[(l=o- -64|0)>>2]=0,f[l+4>>2]=0,f[o+72>>2]=0,f[o+76>>2]=0,f[o+80>>2]=0,f[o+84>>2]=0,f[o+88>>2]=0,f[o+104>>2]=0,f[o+96>>2]=0,f[o+100>>2]=0,m=f[e+8>>2],f[c+48>>2]=0,f[c+52>>2]=0,f[c+40>>2]=0,f[c+44>>2]=0,f[(l=_=c+32|0)>>2]=0,f[l+4>>2]=0,f[c+24>>2]=0,f[c+28>>2]=0,f[c+16>>2]=0,f[c+20>>2]=0,f[(l=c- -64|0)>>2]=0,f[l+4>>2]=0,f[c+72>>2]=0,f[c+76>>2]=0,f[c+80>>2]=0,f[c+84>>2]=0,f[c+88>>2]=0,f[c+104>>2]=0,f[c+56>>2]=0,f[c+60>>2]=0,f[c+8>>2]=9168,f[c+96>>2]=0,f[c+100>>2]=0,f[c+12>>2]=m,u=f[m>>2],l=f[m+4>>2],a[c+111|0]=0,ze(y=_,(l-u>>2>>>0)/3|0,_=c+111|0),l=f[c+12>>2],u=f[l+28>>2],l=f[l+24>>2],a[c+111|0]=0,ze(c+44|0,u-l>>2,_),f[c+28>>2]=o,f[c+24>>2]=h,f[c+20>>2]=s,f[c+16>>2]=m,Ze(s=o+8|0,l=c+8|0),(0|s)!=(0|l)){Le(o+56|0,f[l+48>>2],f[l+52>>2]),Le(o+68|0,f[l+60>>2],f[l- -64>>2]),Le(o+80|0,f[l+72>>2],f[l+76>>2]),f[o+92>>2]=f[l+84>>2];i:if((h=(u=(_=f[l+92>>2])-(m=f[l+88>>2])|0)>>2)>>>0<=(v=f[o+104>>2])-(d=f[o+96>>2])>>2>>>0){if((s=(u=(l=(s=f[o+100>>2]-d|0)>>2)>>>0<h>>>0?s+m|0:_)-m|0)&&Se(d,m,s),l>>>0<h>>>0){s=f[o+100>>2],(0|(l=_-u|0))>0&&(s=ge(s,u,l)+l|0),f[o+100>>2]=s;break i}f[o+100>>2]=s+d}else d&&(f[o+100>>2]=d,ee(d),f[o+104>>2]=0,f[o+96>>2]=0,f[o+100>>2]=0,v=0),(0|u)<0||(s=v>>1,(s=v>>2>>>0<536870911?s>>>0<h>>>0?h:s:1073741823)>>>0>=1073741824)?(oi(),T()):(s=_t(l=s<<2),f[o+96>>2]=s,f[o+100>>2]=s,f[o+104>>2]=s+l,u&&(s=ge(s,m,u)+u|0),f[o+100>>2]=s)}else f[o+92>>2]=f[l+84>>2];f[c+8>>2]=9168,(s=f[c+96>>2])&&(f[c+100>>2]=s,ee(s)),(s=f[c+80>>2])&&(f[c+84>>2]=s,ee(s)),(s=f[c+68>>2])&&(f[c+72>>2]=s,ee(s)),(s=f[c+56>>2])&&(f[c+60>>2]=s,ee(s)),f[c+8>>2]=9404,(s=f[c+44>>2])&&ee(s),(s=f[c+32>>2])&&ee(s),V=c+112|0}if(!o)break e;break r}if((0|_)<0)break e;u=f[n+44>>2],s=f[e+216>>2],o=_t(80),f[o+76>>2]=0,f[o+68>>2]=u,f[o+8>>2]=8652,f[o>>2]=9716,f[o+4>>2]=0,k=104+(l=s+p(g,144)|0)|0,f[o+72>>2]=k,f[o- -64>>2]=0,f[o+56>>2]=0,f[o+60>>2]=0,f[o+52>>2]=0,f[o+44>>2]=0,f[o+48>>2]=0,f[o+36>>2]=0,f[o+40>>2]=0,f[o+28>>2]=0,f[o+32>>2]=0,f[o+20>>2]=0,f[o+24>>2]=0,f[o+12>>2]=0,f[o+16>>2]=0,f[t+24>>2]=u,f[t+68>>2]=0,f[t+72>>2]=0,f[t+60>>2]=0,f[t+64>>2]=0,f[t+52>>2]=0,f[t+56>>2]=0,f[t+44>>2]=0,f[t+48>>2]=0,f[t+84>>2]=0,f[t+88>>2]=0,f[t+76>>2]=0,f[t+80>>2]=0,f[t+28>>2]=o,s=f[t+28>>2],f[t+8>>2]=f[t+24>>2],f[t+12>>2]=s,l=l+4|0,f[t+16>>2]=l,f[t+20>>2]=k,f[t+36>>2]=0,f[t+40>>2]=0,f[t+32>>2]=8652,s=f[t+20>>2],f[t>>2]=f[t+16>>2],f[t+4>>2]=s,mr(k=t+32|0,l,t),Ze(s=o+8|0,k),(0|s)!=(0|k)&&Le(o+56|0,f[k+48>>2],f[k+52>>2]),st(k)}o=Or(_t(64),o),_=f[e+4>>2],e=o;r:{t:{if((0|(o=r))>=0){if(l=_+8|0,!((0|(u=(r=f[_+12>>2])-(s=f[_+8>>2])>>2))>(0|o)))if(k=o+1|0,o>>>0>=u>>>0)Oe(l,k-u|0);else if(!(u>>>0<=k>>>0)){if((0|(s=s+(k<<2)|0))!=(0|r))for(;k=f[(r=r-4|0)>>2],f[r>>2]=0,k&&yi[f[f[k>>2]+4>>2]](k),(0|r)!=(0|s););f[_+12>>2]=s}if(s=f[l>>2]+(o<<2)|0,r=f[s>>2],f[s>>2]=e,r)break t;break r}if(r=e,!e)break r}yi[f[f[r>>2]+4>>2]](r)}k=(-1^o)>>>31|0}return V=t+96|0,0|k}function F(e){var r,t=0,i=0,n=0,a=0,o=0;if(V=r=V-16|0,f[r+12>>2]=e,e>>>0<=211)n=f[xr(10384,10576,r+12|0)>>2];else{for(e>>>0>=4294967292&&(di(),T()),n=p(a=(e>>>0)/210|0,210),f[r+8>>2]=e-n,o=xr(10576,10768,r+8|0)-10576>>2;;){n=f[10576+(o<<2)>>2]+n|0,e=5;e:{for(;;){r:if(47!=(0|e)){if((t=f[10384+(e<<2)>>2])>>>0>(i=(n>>>0)/(t>>>0)|0)>>>0)break e;if(e=e+1|0,(0|p(t,i))!=(0|n))continue}else for(e=211;;){if((t=(n>>>0)/(e>>>0)|0)>>>0<e>>>0)break e;if((0|p(e,t))==(0|n))break r;if((t=e+10|0)>>>0>(i=(n>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|n))break r;if((t=e+12|0)>>>0>(i=(n>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|n))break r;if((t=e+16|0)>>>0>(i=(n>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|n))break r;if((t=e+18|0)>>>0>(i=(n>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|n))break r;if((t=e+22|0)>>>0>(i=(n>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|n))break r;if((t=e+28|0)>>>0>(i=(n>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|n))break r;if((t=e+30|0)>>>0>(i=(n>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|n))break r;if((t=e+36|0)>>>0>(i=(n>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|n))break r;if((t=e+40|0)>>>0>(i=(n>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|n))break r;if((t=e+42|0)>>>0>(i=(n>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|n))break r;if((t=e+46|0)>>>0>(i=(n>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|n))break r;if((t=e+52|0)>>>0>(i=(n>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|n))break r;if((t=e+58|0)>>>0>(i=(n>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|n))break r;if((t=e+60|0)>>>0>(i=(n>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|n))break r;if((t=e+66|0)>>>0>(i=(n>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|n))break r;if((t=e+70|0)>>>0>(i=(n>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|n))break r;if((t=e+72|0)>>>0>(i=(n>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|n))break r;if((t=e+78|0)>>>0>(i=(n>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|n))break r;if((t=e+82|0)>>>0>(i=(n>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|n))break r;if((t=e+88|0)>>>0>(i=(n>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|n))break r;if((t=e+96|0)>>>0>(i=(n>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|n))break r;if((t=e+100|0)>>>0>(i=(n>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|n))break r;if((t=e+102|0)>>>0>(i=(n>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|n))break r;if((t=e+106|0)>>>0>(i=(n>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|n))break r;if((t=e+108|0)>>>0>(i=(n>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|n))break r;if((t=e+112|0)>>>0>(i=(n>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|n))break r;if((t=e+120|0)>>>0>(i=(n>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|n))break r;if((t=e+126|0)>>>0>(i=(n>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|n))break r;if((t=e+130|0)>>>0>(i=(n>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|n))break r;if((t=e+136|0)>>>0>(i=(n>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|n))break r;if((t=e+138|0)>>>0>(i=(n>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|n))break r;if((t=e+142|0)>>>0>(i=(n>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|n))break r;if((t=e+148|0)>>>0>(i=(n>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|n))break r;if((t=e+150|0)>>>0>(i=(n>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|n))break r;if((t=e+156|0)>>>0>(i=(n>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|n))break r;if((t=e+162|0)>>>0>(i=(n>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|n))break r;if((t=e+166|0)>>>0>(i=(n>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|n))break r;if((t=e+168|0)>>>0>(i=(n>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|n))break r;if((t=e+172|0)>>>0>(i=(n>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|n))break r;if((t=e+178|0)>>>0>(i=(n>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|n))break r;if((t=e+180|0)>>>0>(i=(n>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|n))break r;if((t=e+186|0)>>>0>(i=(n>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|n))break r;if((t=e+190|0)>>>0>(i=(n>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|n))break r;if((t=e+192|0)>>>0>(i=(n>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|n))break r;if((t=e+196|0)>>>0>(i=(n>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|n))break r;if((t=e+198|0)>>>0>(i=(n>>>0)/(t>>>0)|0)>>>0)break e;if((0|p(t,i))==(0|n))break r;if((t=e+208|0)>>>0>(i=(n>>>0)/(t>>>0)|0)>>>0)break e;if(e=e+210|0,(0|p(t,i))==(0|n))break}break}o=(e=48==(0|(n=o+1|0)))?0:n,n=p(a=e+a|0,210);continue}break}f[r+12>>2]=n}return V=r+16|0,n}function x(e,r,t,i){var n=0,o=0,s=0,c=0,p=k(0),m=0;e:if(i){r:{t:switch(f[e+28>>2]-1|0){case 0:i:if(!((0|((0|t)<(0|(n=a[e+24|0]))?t:n))<=0)){if(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0,o=f[e>>2],n=f[o>>2],(0|r)>=(f[o+4>>2]-n|0))break e;for(o=r+n|0,r=0;;){if(a[r+i|0]=A[0|o],(0|(r=r+1|0))>=(0|((0|t)<(0|(n=a[e+24|0]))?t:n)))break i;if(!((o=o+1|0)>>>0<l[f[e>>2]+4>>2]))break}break e}if(s=1,(0|t)>(0|n))break r;break e;case 1:i:if(!((0|((0|t)<(0|(n=a[e+24|0]))?t:n))<=0)){if(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0,o=f[e>>2],n=f[o>>2],(0|r)>=(f[o+4>>2]-n|0))break e;for(o=r+n|0,r=0;;){if((0|(n=a[0|o]))<0)break e;if(a[r+i|0]=n,(0|(r=r+1|0))>=(0|((0|t)<(0|(n=a[e+24|0]))?t:n)))break i;if(!((o=o+1|0)>>>0<l[f[e>>2]+4>>2]))break}break e}if(s=1,(0|t)>(0|n))break r;break e;case 2:i:if(!((0|((0|t)<(0|(n=a[e+24|0]))?t:n))<=0)){if(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0,o=f[e>>2],n=f[o>>2],(0|r)>=(f[o+4>>2]-n|0))break e;for(o=r+n|0,r=0;;){if(((n=b[o>>1])-128&65535)>>>0<65280)break e;if(a[r+i|0]=n,(0|(r=r+1|0))>=(0|((0|t)<(0|(n=a[e+24|0]))?t:n)))break i;if(!((o=o+2|0)>>>0<l[f[e>>2]+4>>2]))break}break e}if(s=1,(0|t)>(0|n))break r;break e;case 3:i:if(!((0|((0|t)<(0|(n=a[e+24|0]))?t:n))<=0)){if(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0,o=f[e>>2],n=f[o>>2],(0|r)>=(f[o+4>>2]-n|0))break e;for(o=r+n|0,r=0;;){if((n=b[o>>1])>>>0>127)break e;if(a[r+i|0]=n,(0|(r=r+1|0))>=(0|((0|t)<(0|(n=a[e+24|0]))?t:n)))break i;if(!((o=o+2|0)>>>0<l[f[e>>2]+4>>2]))break}break e}if(s=1,(0|t)>(0|n))break r;break e;case 4:i:if(!((0|((0|t)<(0|(n=a[e+24|0]))?t:n))<=0)){if(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0,o=f[e>>2],n=f[o>>2],(0|r)>=(f[o+4>>2]-n|0))break e;for(o=r+n|0,r=0;;){if((n=f[o>>2])-128>>>0<4294967040)break e;if(a[r+i|0]=n,(0|(r=r+1|0))>=(0|((0|t)<(0|(n=a[e+24|0]))?t:n)))break i;if(!((o=o+4|0)>>>0<l[f[e>>2]+4>>2]))break}break e}if(s=1,(0|t)>(0|n))break r;break e;case 5:i:if(!((0|((0|t)<(0|(n=a[e+24|0]))?t:n))<=0)){if(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0,o=f[e>>2],n=f[o>>2],(0|r)>=(f[o+4>>2]-n|0))break e;for(o=r+n|0,r=0;;){if((n=f[o>>2])>>>0>127)break e;if(a[r+i|0]=n,(0|(r=r+1|0))>=(0|((0|t)<(0|(n=a[e+24|0]))?t:n)))break i;if(!((o=o+4|0)>>>0<l[f[e>>2]+4>>2]))break}break e}if(s=1,(0|t)>(0|n))break r;break e;case 6:i:if(!((0|((0|t)<(0|(n=a[e+24|0]))?t:n))<=0)){if(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0,o=f[e>>2],n=f[o>>2],(0|r)>=(f[o+4>>2]-n|0))break e;for(o=r+n|0,r=0;;){if(c=f[o>>2],-1==(0|(n=f[o+4>>2]-(c>>>0<128)|0))&c-128>>>0<4294967040|-1!=(0|n))break e;if(a[r+i|0]=c,(0|(r=r+1|0))>=(0|((0|t)<(0|(n=a[e+24|0]))?t:n)))break i;if(!((o=o+8|0)>>>0<l[f[e>>2]+4>>2]))break}break e}if(s=1,(0|t)>(0|n))break r;break e;case 7:i:if(!((0|((0|t)<(0|(n=a[e+24|0]))?t:n))<=0)){if(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0,o=f[e>>2],n=f[o>>2],(0|r)>=(f[o+4>>2]-n|0))break e;for(o=r+n|0,r=0;;){if(!(n=f[o+4>>2])&(c=f[o>>2])>>>0>127|n)break e;if(a[r+i|0]=c,(0|(r=r+1|0))>=(0|((0|t)<(0|(n=a[e+24|0]))?t:n)))break i;if(!((o=o+8|0)>>>0<l[f[e>>2]+4>>2]))break}break e}if(s=1,(0|t)>(0|n))break r;break e;case 8:i:if(!((0|((0|t)<(0|(n=a[e+24|0]))?t:n))<=0)){if(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0,o=f[e>>2],n=f[o>>2],(0|r)>=(f[o+4>>2]-n|0))break e;for(o=r+n|0,r=0;;){if(c=r+i|0,p=u[o>>2],n=k(d(p))<k(2147483648)?~~p:-2147483648,a[0|c]=n,(0|(r=r+1|0))>=(0|((0|t)<(0|(n=a[e+24|0]))?t:n)))break i;if(!((o=o+4|0)>>>0<l[f[e>>2]+4>>2]))break}break e}if(s=1,(0|t)>(0|n))break r;break e;case 9:i:if(!((0|((0|t)<(0|(n=a[e+24|0]))?t:n))<=0)){if(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0,o=f[e>>2],n=f[o>>2],(0|r)>=(f[o+4>>2]-n|0))break e;for(o=r+n|0,r=0;;){if(c=r+i|0,m=_[o>>3],n=d(m)<2147483648?~~m:-2147483648,a[0|c]=n,(0|(r=r+1|0))>=(0|((0|t)<(0|(n=a[e+24|0]))?t:n)))break i;if(!((o=o+8|0)>>>0<l[f[e>>2]+4>>2]))break}break e}if(s=1,(0|t)>(0|n))break r;break e;case 10:break t;default:break e}t:if(!((0|((0|t)<(0|(n=a[e+24|0]))?t:n))<=0)){if(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0,o=f[e>>2],n=f[o>>2],(0|r)>=(f[o+4>>2]-n|0))break e;for(o=r+n|0,r=0;;){if(a[r+i|0]=A[0|o],(0|(r=r+1|0))>=(0|((0|t)<(0|(n=a[e+24|0]))?t:n)))break t;if(!((o=o+1|0)>>>0<l[f[e>>2]+4>>2]))break}break e}if(s=1,(0|t)<=(0|n))break e}Je(i+n|0,0,t-n|0)}return s}function S(e,r,t,i){var n=0,o=0,s=0,c=0,p=k(0),d=0;e:if(i){r:{t:switch(f[e+28>>2]-1|0){case 0:i:if(!((0|((0|t)<(0|(n=a[e+24|0]))?t:n))<=0)){if(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0,o=f[e>>2],n=f[o>>2],(0|r)>=(f[o+4>>2]-n|0))break e;for(o=r+n|0,r=0;;){if((0|(n=a[0|o]))<0)break e;if(a[r+i|0]=n,(0|(r=r+1|0))>=(0|((0|t)<(0|(n=a[e+24|0]))?t:n)))break i;if(!((o=o+1|0)>>>0<l[f[e>>2]+4>>2]))break}break e}if(s=1,(0|t)>(0|n))break r;break e;case 1:i:if(!((0|((0|t)<(0|(n=a[e+24|0]))?t:n))<=0)){if(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0,o=f[e>>2],n=f[o>>2],(0|r)>=(f[o+4>>2]-n|0))break e;for(o=r+n|0,r=0;;){if(a[r+i|0]=A[0|o],(0|(r=r+1|0))>=(0|((0|t)<(0|(n=a[e+24|0]))?t:n)))break i;if(!((o=o+1|0)>>>0<l[f[e>>2]+4>>2]))break}break e}if(s=1,(0|t)>(0|n))break r;break e;case 2:i:if(!((0|((0|t)<(0|(n=a[e+24|0]))?t:n))<=0)){if(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0,o=f[e>>2],n=f[o>>2],(0|r)>=(f[o+4>>2]-n|0))break e;for(o=r+n|0,r=0;;){if((n=b[o>>1])>>>0>255)break e;if(a[r+i|0]=n,(0|(r=r+1|0))>=(0|((0|t)<(0|(n=a[e+24|0]))?t:n)))break i;if(!((o=o+2|0)>>>0<l[f[e>>2]+4>>2]))break}break e}if(s=1,(0|t)>(0|n))break r;break e;case 3:i:if(!((0|((0|t)<(0|(n=a[e+24|0]))?t:n))<=0)){if(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0,o=f[e>>2],n=f[o>>2],(0|r)>=(f[o+4>>2]-n|0))break e;for(o=r+n|0,r=0;;){if((n=b[o>>1])>>>0>255)break e;if(a[r+i|0]=n,(0|(r=r+1|0))>=(0|((0|t)<(0|(n=a[e+24|0]))?t:n)))break i;if(!((o=o+2|0)>>>0<l[f[e>>2]+4>>2]))break}break e}if(s=1,(0|t)>(0|n))break r;break e;case 4:i:if(!((0|((0|t)<(0|(n=a[e+24|0]))?t:n))<=0)){if(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0,o=f[e>>2],n=f[o>>2],(0|r)>=(f[o+4>>2]-n|0))break e;for(o=r+n|0,r=0;;){if((n=f[o>>2])>>>0>255)break e;if(a[r+i|0]=n,(0|(r=r+1|0))>=(0|((0|t)<(0|(n=a[e+24|0]))?t:n)))break i;if(!((o=o+4|0)>>>0<l[f[e>>2]+4>>2]))break}break e}if(s=1,(0|t)>(0|n))break r;break e;case 5:i:if(!((0|((0|t)<(0|(n=a[e+24|0]))?t:n))<=0)){if(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0,o=f[e>>2],n=f[o>>2],(0|r)>=(f[o+4>>2]-n|0))break e;for(o=r+n|0,r=0;;){if((n=f[o>>2])>>>0>255)break e;if(a[r+i|0]=n,(0|(r=r+1|0))>=(0|((0|t)<(0|(n=a[e+24|0]))?t:n)))break i;if(!((o=o+4|0)>>>0<l[f[e>>2]+4>>2]))break}break e}if(s=1,(0|t)>(0|n))break r;break e;case 6:i:if(!((0|((0|t)<(0|(n=a[e+24|0]))?t:n))<=0)){if(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0,o=f[e>>2],n=f[o>>2],(0|r)>=(f[o+4>>2]-n|0))break e;for(o=r+n|0,r=0;;){if(!(n=f[o+4>>2])&(c=f[o>>2])>>>0>255|n)break e;if(a[r+i|0]=c,(0|(r=r+1|0))>=(0|((0|t)<(0|(n=a[e+24|0]))?t:n)))break i;if(!((o=o+8|0)>>>0<l[f[e>>2]+4>>2]))break}break e}if(s=1,(0|t)>(0|n))break r;break e;case 7:i:if(!((0|((0|t)<(0|(n=a[e+24|0]))?t:n))<=0)){if(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0,o=f[e>>2],n=f[o>>2],(0|r)>=(f[o+4>>2]-n|0))break e;for(o=r+n|0,r=0;;){if(!(n=f[o+4>>2])&(c=f[o>>2])>>>0>255|n)break e;if(a[r+i|0]=c,(0|(r=r+1|0))>=(0|((0|t)<(0|(n=a[e+24|0]))?t:n)))break i;if(!((o=o+8|0)>>>0<l[f[e>>2]+4>>2]))break}break e}if(s=1,(0|t)>(0|n))break r;break e;case 8:i:if(!((0|((0|t)<(0|(n=a[e+24|0]))?t:n))<=0)){if(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0,o=f[e>>2],n=f[o>>2],(0|r)>=(f[o+4>>2]-n|0))break e;for(o=r+n|0,r=0;;){if(c=r+i|0,n=(p=u[o>>2])<k(4294967296)&p>=k(0)?~~p>>>0:0,a[0|c]=n,(0|(r=r+1|0))>=(0|((0|t)<(0|(n=a[e+24|0]))?t:n)))break i;if(!((o=o+4|0)>>>0<l[f[e>>2]+4>>2]))break}break e}if(s=1,(0|t)>(0|n))break r;break e;case 9:i:if(!((0|((0|t)<(0|(n=a[e+24|0]))?t:n))<=0)){if(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0,o=f[e>>2],n=f[o>>2],(0|r)>=(f[o+4>>2]-n|0))break e;for(o=r+n|0,r=0;;){if(c=r+i|0,n=(d=_[o>>3])<4294967296&d>=0?~~d>>>0:0,a[0|c]=n,(0|(r=r+1|0))>=(0|((0|t)<(0|(n=a[e+24|0]))?t:n)))break i;if(!((o=o+8|0)>>>0<l[f[e>>2]+4>>2]))break}break e}if(s=1,(0|t)>(0|n))break r;break e;case 10:break t;default:break e}t:if(!((0|((0|t)<(0|(n=a[e+24|0]))?t:n))<=0)){if(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0,o=f[e>>2],n=f[o>>2],(0|r)>=(f[o+4>>2]-n|0))break e;for(o=r+n|0,r=0;;){if(a[r+i|0]=A[0|o],(0|(r=r+1|0))>=(0|((0|t)<(0|(n=a[e+24|0]))?t:n)))break t;if(!((o=o+1|0)>>>0<l[f[e>>2]+4>>2]))break}break e}if(s=1,(0|t)<=(0|n))break e}Je(i+n|0,0,t-n|0)}return s}function j(e,r){var t=0,i=0,n=0,a=0,o=0,s=0,c=0,A=0,b=0,l=0;e:{r:{t:{i:{n:if(f[e+92>>2]!=f[e+88>>2]){if((0|(t=f[e+52>>2]))==f[e+56>>2]){if((n=1+(i=(s=t-(o=f[e+48>>2])|0)>>2)|0)>>>0>=1073741824)break r;if(t=s>>1,a=i>>>0<536870911?t>>>0<n>>>0?n:t:1073741823){if(a>>>0>=1073741824)break e;t=_t(a<<2)}else t=0;f[(n=t+(i<<2)|0)>>2]=r,(0|s)>0&&ge(t,o,s),f[e+56>>2]=t+(a<<2),f[e+52>>2]=n+4,f[e+48>>2]=t,o&&ee(o)}else f[t>>2]=r,f[e+52>>2]=t+4;f[e+84>>2]=0,n=-1,t=-1;a:if(-1!=(0|r)){if(a=f[e+4>>2],-1!=(0|(t=((t=r+1|0)>>>0)%3|0?t:r-2|0))&&(n=f[f[a>>2]+(t<<2)>>2]),(r>>>0)%3|0)i=r-1|0;else if(t=-1,-1==(0|(i=r+2|0)))break a;t=f[f[a>>2]+(i<<2)>>2]}if(A=t>>>3&536870908,i=f[e+36>>2],(s=f[(o=i+(n>>>3&536870908)|0)>>2])&(a=1<<n)||(f[o>>2]=a|s,Ne(a=e+8|0,n,i=-1!=(0|r)?((i=r+1|0)>>>0)%3|0?i:r-2|0:-1),i=f[e+36>>2]),(i=f[(a=i+A|0)>>2])&(n=1<<t)||(f[a>>2]=i|n,n=-1,-1!=(0|r)&&(n=r-1|0,(r>>>0)%3|0||(n=r+2|0)),Ne(i=e+8|0,t,n)),n=-1,n=-1!=(0|r)?f[f[f[e+4>>2]>>2]+(r<<2)>>2]:n,a=f[e+36>>2]+(n>>>3&536870908)|0,(i=f[a>>2])&(t=1<<n)||(f[a>>2]=t|i,Ne(e+8|0,n,r)),!((0|(i=f[e+84>>2]))>2))for(;;){if(n=p(i,12)+e|0,(0|(r=f[n+52>>2]))==f[n+48>>2]){if(3!=(0|(i=i+1|0)))continue;break n}if(r=f[(t=r-4|0)>>2],f[n+52>>2]=t,f[e+84>>2]=i,-1==(0|r))break n;n=f[e+24>>2];a:if(!(f[n+((t=(r>>>0)/3|0)>>>3&268435452)>>2]>>>t&1)){o:{for(;;){f[(t=((l=(r>>>0)/3|0)>>>3&268435452)+n|0)>>2]=f[t>>2]|1<<l,n=-1;f:{s:{c:{A:{b:{l:{u:{_:{if(n=-1!=(0|r)?f[f[f[e+4>>2]>>2]+(r<<2)>>2]:n,a=f[e+36>>2]+(n>>>3&536870908)|0,!((i=f[a>>2])&(t=1<<n))){if(f[a>>2]=t|i,s=f[(f[f[e+16>>2]+96>>2]+p(l,12)|0)+((r>>>0)%3<<2)>>2],b=f[f[e+20>>2]+4>>2],(0|(t=f[b+4>>2]))==f[b+8>>2]){if((i=1+(a=(A=t-(c=f[b>>2])|0)>>2)|0)>>>0>=1073741824)break _;if(t=A>>1,o=a>>>0<536870911?t>>>0<i>>>0?i:t:1073741823){if(o>>>0>=1073741824)break e;t=_t(o<<2)}else t=0;f[(i=t+(a<<2)|0)>>2]=s,(0|A)>0&&ge(t,c,A),f[b+8>>2]=t+(o<<2),f[b+4>>2]=i+4,f[b>>2]=t,c&&ee(c)}else f[t>>2]=s,f[b+4>>2]=t+4;if(c=f[e+12>>2],(0|(t=f[c+4>>2]))==f[c+8>>2]){if((i=1+(a=(o=t-(A=f[c>>2])|0)>>2)|0)>>>0>=1073741824)break u;if(t=o>>1,s=a>>>0<536870911?t>>>0<i>>>0?i:t:1073741823){if(s>>>0>=1073741824)break e;t=_t(s<<2)}else t=0;f[(i=t+(a<<2)|0)>>2]=r,(0|o)>0&&ge(t,A,o),f[c+8>>2]=t+(s<<2),f[c+4>>2]=i+4,f[c>>2]=t,A&&ee(A)}else f[t>>2]=r,f[c+4>>2]=t+4;t=f[e+12>>2],f[f[t+12>>2]+(n<<2)>>2]=f[t+24>>2],f[t+24>>2]=f[t+24>>2]+1}if(-1==(0|r))break o;o=f[e+4>>2],n=-1,-1!=(0|(t=((t=r+1|0)>>>0)%3|0?t:r-2|0))&&(n=f[f[o+12>>2]+(t<<2)>>2]);p:{if((0|p(l,3))==(0|r)){if(a=r+2|0,r=-1,-1==(0|a))break p}else a=r-1|0;r=f[f[o+12>>2]+(a<<2)>>2]}if(s=-1==(0|r),a=(r>>>0)/3|0,i=(n>>>0)/3|0,!(t=-1==(0|n))){if(t=t?-1:i,t=f[f[e+24>>2]+(t>>>3&536870908)>>2]&1<<t,s)break l;l=0!=(0|t);break b}if(l=1,!s)break b;break o}oi(),T()}oi(),T()}if(!t)break A;break o}if(t=s?-1:a,!(f[f[e+24>>2]+(t>>>3&536870908)>>2]>>>t&1)){if(a=0,t=f[f[o>>2]+(r<<2)>>2],f[f[e+36>>2]+(t>>>3&536870908)>>2]>>>t&1||(t=f[e+88>>2]+(t<<2)|0,i=f[t>>2],f[t>>2]=i+1,a=(0|i)<=0?2:1),f[e+84>>2]>=(0|a)&&l)break s;if(b=p(a,12)+e|0,(0|(t=f[b+52>>2]))==f[b+56>>2]){if((i=1+(s=(A=t-(c=f[b+48>>2])|0)>>2)|0)>>>0>=1073741824)break i;if(t=A>>1,o=s>>>0<536870911?t>>>0<i>>>0?i:t:1073741823){if(o>>>0>=1073741824)break e;t=_t(o<<2)}else t=0;f[(i=t+(s<<2)|0)>>2]=r,(0|A)>0&&ge(t,c,A),f[b+48>>2]=t,f[b+52>>2]=i+4,f[b+56>>2]=t+(o<<2),c&&ee(c)}else f[t>>2]=r,f[b+52>>2]=t+4;f[e+84>>2]<=(0|a)||(f[e+84>>2]=a)}if(l)break o;if(r=-1,-1==(0|n))break c}r=f[f[f[e+4>>2]>>2]+(n<<2)>>2]}if(a=0,f[f[e+36>>2]+(r>>>3&536870908)>>2]>>>r&1||(r=f[e+88>>2]+(r<<2)|0,t=f[r>>2],f[r>>2]=t+1,a=(0|t)<=0?2:1),f[e+84>>2]<(0|a))break f;r=n}n=f[e+24>>2];continue}break}if(c=p(a,12)+e|0,(0|(r=f[c+52>>2]))==f[c+56>>2]){if((t=1+(i=(o=r-(A=f[c+48>>2])|0)>>2)|0)>>>0>=1073741824)break t;if(r=o>>1,s=i>>>0<536870911?r>>>0<t>>>0?t:r:1073741823){if(s>>>0>=1073741824)break e;r=_t(s<<2)}else r=0;f[(t=r+(i<<2)|0)>>2]=n,(0|o)>0&&ge(r,A,o),f[c+48>>2]=r,f[c+52>>2]=t+4,f[c+56>>2]=r+(s<<2),A&&ee(A)}else f[r>>2]=n,f[c+52>>2]=r+4;if((0|(i=f[e+84>>2]))<=(0|a))break a;f[e+84>>2]=a,i=a;break a}i=f[e+84>>2]}if(!((0|i)<3))break}}return 1}oi(),T()}oi(),T()}oi(),T()}Hr(1326),T()}function O(e,r){var t,i=0,n=0,a=0,o=0,s=0,c=0,A=0,b=0,l=0,u=0,_=0,k=0,d=0,m=0,h=0,y=0,v=0,g=0,w=0;if(V=t=V-48|0,i=f[f[e+4>>2]+44>>2],n=f[e+8>>2],o=f[n>>2],n=f[n+4>>2],f[t+40>>2]=0,f[t+32>>2]=0,f[t+36>>2]=0,n=(n-o>>2>>>0)/3|0,A=f[i+96>>2],n>>>0>(o=(f[i+100>>2]-A|0)/12|0)>>>0?ue(i+96|0,n-o|0,t+32|0):n>>>0>=o>>>0||(f[i+100>>2]=A+p(n,12)),f[e+216>>2]!=f[e+220>>2]){f[t+24>>2]=0,f[t+16>>2]=0,f[t+20>>2]=0,b=f[e+8>>2],r=f[b>>2],i=f[b+4>>2],f[t+8>>2]=0,f[t>>2]=0,f[t+4>>2]=0;e:{r:{t:{i:{n:{a:{o:{if(r=i-r|0){if((0|r)<0)break o;_=_t(r),f[t>>2]=_,f[t+8>>2]=(r>>2<<2)+_,g=t,w=Je(_,0,r)+r|0,f[g+4>>2]=w}if(i=f[b+24>>2],(f[b+28>>2]-i|0)<=0){n=0,r=0;break r}for(n=0,o=0,r=0;;){f:if(-1!=(0|(A=f[(k<<2)+i>>2]))){s:if(!(f[f[e+120>>2]+(k>>>3&536870908)>>2]>>>k&1)&&(m=f[e+216>>2],i=f[e+220>>2]-m|0))for(h=(i=(0|i)/144|0)>>>0>1?i:1,l=0,y=0!=(0|(i=(A>>>0)%3|0))|-1!=(0|(s=A+2|0)),v=i?A-1|0:s;;){if(c=A<<2,a=m+p(l,144)|0,i=f[c+f[f[a+68>>2]>>2]>>2],f[f[a+16>>2]+(i>>>3&536870908)>>2]>>>i&1&&(i=-1,y&&(i=-1,-1!=(0|(s=f[f[b+12>>2]+(v<<2)>>2]))&&(i=s-1|0,(s>>>0)%3|0||(i=s+2|0))),(0|A)!=(0|i)))for(a=f[a+32>>2],s=f[a+c>>2];;){if(u=0,-1==(0|i))break e;if(f[a+(i<<2)>>2]!=(0|s)){A=i;break s}c:{if((i>>>0)%3|0)c=i-1|0;else if(u=-1,-1==(0|(c=i+2|0)))break c;u=-1,-1!=(0|(i=f[f[b+12>>2]+(c<<2)>>2]))&&(u=i-1|0,(i>>>0)%3|0||(u=i+2|0))}if((0|A)==(0|(i=u)))break}if((0|h)==(0|(l=l+1|0)))break}if(s=(i=r-o|0)>>2,f[(A<<2)+_>>2]=s,r>>>0<d>>>0)f[r>>2]=A,r=r+4|0,f[t+20>>2]=r;else{if((r=s+1|0)>>>0>=1073741824)break a;if(a=(n=d-o|0)>>1,r=n>>2>>>0<536870911?r>>>0>a>>>0?r:a:1073741823){if(r>>>0>=1073741824)break n;n=_t(r<<2)}else n=0;f[(s=n+(s<<2)|0)>>2]=A,d=(r<<2)+n|0,r=s+4|0,(0|i)>0&&ge(n,o,i),f[t+24>>2]=d,f[t+20>>2]=r,f[t+16>>2]=n,o&&(ee(o),b=f[e+8>>2]),o=n}if(-1!=(0|A)){if((A>>>0)%3|0)i=A-1|0;else if(-1==(0|(i=A+2|0)))break f;if(-1!=(0|(i=f[f[b+12>>2]+(i<<2)>>2]))&&-1!=(0|(i=i+((i>>>0)%3|0?-1:2)|0))&&(0|i)!=(0|(a=A)))for(;;){s=i;s:{c:if(c=f[e+216>>2],i=f[e+220>>2]-c|0){for(l=(i=(0|i)/144|0)>>>0>1?i:1,i=0;;){if(m=f[32+(c+p(i,144)|0)>>2],f[m+(h=s<<2)>>2]==f[m+(a<<2)>>2]){if((0|l)!=(0|(i=i+1|0)))continue;break c}break}if(a=(i=r-n|0)>>2,f[_+h>>2]=a,r>>>0<d>>>0){f[r>>2]=s,r=r+4|0,f[t+20>>2]=r,o=n;break s}if((r=a+1|0)>>>0>=1073741824)break i;if(c=(o=d-n|0)>>1,r=o>>2>>>0<536870911?r>>>0>c>>>0?r:c:1073741823){if(r>>>0>=1073741824)break t;o=_t(r<<2)}else o=0;if(f[(a=o+(a<<2)|0)>>2]=s,d=(r<<2)+o|0,r=a+4|0,(0|i)>0&&ge(o,n,i),f[t+24>>2]=d,f[t+20>>2]=r,f[t+16>>2]=o,!n){n=o;break s}ee(n),b=f[e+8>>2],n=o;break s}f[(s<<2)+_>>2]=f[(a<<2)+_>>2]}if(-1==(0|s))break f;if((s>>>0)%3|0)i=s-1|0;else if(-1==(0|(i=s+2|0)))break f;if(-1==(0|(i=f[f[b+12>>2]+(i<<2)>>2])))break f;if(-1==(0|(i=i+((i>>>0)%3|0?-1:2)|0)))break f;if(a=s,(0|i)==(0|A))break}}}if(k=k+1|0,i=f[b+24>>2],!((0|k)<f[b+28>>2]-i>>2))break}break r}oi(),T()}oi(),T()}Hr(1326),T()}oi(),T()}Hr(1326),T()}if(k=f[e+4>>2],c=f[k+44>>2],(0|(l=f[c+100>>2]))!=f[c+96>>2])for(i=0;o=i+1|0,s=p(i,12),a=f[8+(A=s+_|0)>>2],b=f[A+4>>2],A=f[A>>2],(u=i)>>>0>=(l=(l-(i=f[c+96>>2])|0)/12|0)>>>0&&(f[t+40>>2]=0,f[t+32>>2]=0,f[t+36>>2]=0,ue(c+96|0,o-l|0,t+32|0),k=f[e+4>>2],i=f[c+96>>2]),f[8+(i=i+s|0)>>2]=a,f[i+4>>2]=b,f[i>>2]=A,i=o,c=f[k+44>>2],i>>>0<((l=f[c+100>>2])-f[c+96>>2]|0)/12>>>0;);f[f[k+4>>2]+80>>2]=r-n>>2,u=1}i=u,_&&ee(_),n&&(f[t+20>>2]=n,ee(n))}else{if(b=f[e+4>>2],c=f[b+44>>2],(0|(n=f[c+100>>2]))!=f[c+96>>2])for(i=0;;){s=f[e+8>>2];e:{if(-1!=(0|(a=p(i,3))))if(l=-1,A=f[f[s>>2]+(a<<2)>>2],-1!=(0|(o=a+1|0))){if(l=f[f[s>>2]+(o<<2)>>2],o=-1,-1==(0|(a=a+2|0)))break e}else a=0;else l=f[4+(f[s>>2]+(a<<2)|0)>>2],A=-1,a=1;o=f[f[s>>2]+(a<<2)>>2]}if(s=o,o=i+1|0,(a=((a=n)-(n=f[c+96>>2])|0)/12|0)>>>0<=i>>>0&&(f[t+40>>2]=0,f[t+32>>2]=0,f[t+36>>2]=0,ue(c+96|0,o-a|0,t+32|0),b=f[e+4>>2],n=f[c+96>>2]),i=p(i,12)+n|0,f[i+8>>2]=s,f[i+4>>2]=l,f[i>>2]=A,i=o,c=f[b+44>>2],!(i>>>0<((n=f[c+100>>2])-f[c+96>>2]|0)/12>>>0))break}f[f[b+4>>2]+80>>2]=r,i=1}return V=t+48|0,i}function Y(e,r,t,i){var n=0,s=0,c=0,l=0,p=k(0),m=0,y=0;e:if(i){r:{t:switch(f[e+28>>2]-1|0){case 0:if((0|((0|t)<(0|(n=a[e+24|0]))?t:n))>0)for(n=f[e>>2],r=(c=f[n>>2])+(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,l=f[n+4>>2];;){if(r>>>0>=l>>>0)break e;if(n=(s<<3)+i|0,c=a[0|r],f[n>>2]=c,f[n+4>>2]=c>>31,r=r+1|0,!((0|(s=s+1|0))<(0|((0|t)<(0|(n=a[e+24|0]))?t:n))))break}if((0|t)>(0|n))break r;break e;case 1:if((0|((0|t)<(0|(n=a[e+24|0]))?t:n))>0)for(n=f[e>>2],r=(c=f[n>>2])+(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,l=f[n+4>>2];;){if(r>>>0>=l>>>0)break e;if(f[(n=(s<<3)+i|0)>>2]=A[0|r],f[n+4>>2]=0,r=r+1|0,!((0|(s=s+1|0))<(0|((0|t)<(0|(n=a[e+24|0]))?t:n))))break}if((0|t)>(0|n))break r;break e;case 2:if((0|((0|t)<(0|(n=a[e+24|0]))?t:n))>0)for(n=f[e>>2],r=(c=f[n>>2])+(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,l=f[n+4>>2];;){if(r>>>0>=l>>>0)break e;if(n=(s<<3)+i|0,c=o[r>>1],f[n>>2]=c,f[n+4>>2]=c>>31,r=r+2|0,!((0|(s=s+1|0))<(0|((0|t)<(0|(n=a[e+24|0]))?t:n))))break}if((0|t)>(0|n))break r;break e;case 3:if((0|((0|t)<(0|(n=a[e+24|0]))?t:n))>0)for(n=f[e>>2],r=(c=f[n>>2])+(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,l=f[n+4>>2];;){if(r>>>0>=l>>>0)break e;if(f[(n=(s<<3)+i|0)>>2]=b[r>>1],f[n+4>>2]=0,r=r+2|0,!((0|(s=s+1|0))<(0|((0|t)<(0|(n=a[e+24|0]))?t:n))))break}if((0|t)>(0|n))break r;break e;case 4:if((0|((0|t)<(0|(n=a[e+24|0]))?t:n))>0)for(n=f[e>>2],r=(c=f[n>>2])+(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,l=f[n+4>>2];;){if(r>>>0>=l>>>0)break e;if(n=(s<<3)+i|0,c=f[r>>2],f[n>>2]=c,f[n+4>>2]=c>>31,r=r+4|0,!((0|(s=s+1|0))<(0|((0|t)<(0|(n=a[e+24|0]))?t:n))))break}if((0|t)>(0|n))break r;break e;case 5:if((0|((0|t)<(0|(n=a[e+24|0]))?t:n))>0)for(n=f[e>>2],r=(c=f[n>>2])+(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,l=f[n+4>>2];;){if(r>>>0>=l>>>0)break e;if(f[(n=(s<<3)+i|0)>>2]=f[r>>2],f[n+4>>2]=0,r=r+4|0,!((0|(s=s+1|0))<(0|((0|t)<(0|(n=a[e+24|0]))?t:n))))break}if((0|t)>(0|n))break r;break e;case 6:if((0|((0|t)<(0|(n=a[e+24|0]))?t:n))>0)for(n=f[e>>2],r=(c=f[n>>2])+(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,l=f[n+4>>2];;){if(r>>>0>=l>>>0)break e;if(c=f[r+4>>2],f[(n=(s<<3)+i|0)>>2]=f[r>>2],f[n+4>>2]=c,r=r+8|0,!((0|(s=s+1|0))<(0|((0|t)<(0|(n=a[e+24|0]))?t:n))))break}if((0|t)>(0|n))break r;break e;case 7:if((0|((0|t)<(0|(n=a[e+24|0]))?t:n))>0)for(n=f[e>>2],r=(c=f[n>>2])+(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,l=f[n+4>>2];;){if(r>>>0>=l>>>0)break e;if(n=f[r>>2],(0|(c=f[r+4>>2]))<0)break e;if(f[(y=(s<<3)+i|0)>>2]=n,f[y+4>>2]=c,r=r+8|0,!((0|(s=s+1|0))<(0|((0|t)<(0|(n=a[e+24|0]))?t:n))))break}if((0|t)>(0|n))break r;break e;case 8:if((0|((0|t)<(0|(n=a[e+24|0]))?t:n))>0)for(n=f[e>>2],r=(c=f[n>>2])+(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,y=f[n+4>>2];;){if(r>>>0>=y>>>0)break e;if(n=(s<<3)+i|0,p=u[r>>2],k(d(p))<k(0x8000000000000000)?(c=k(d(p))>=k(1)?~~(p>k(0)?k(h(k(v(k(p*k(2.3283064365386963e-10)))),k(4294967296))):k(g(k(k(p-k(~~p>>>0>>>0))*k(2.3283064365386963e-10)))))>>>0:0,l=~~p>>>0):(c=-2147483648,l=0),f[n>>2]=l,f[n+4>>2]=c,r=r+4|0,!((0|(s=s+1|0))<(0|((0|t)<(0|(n=a[e+24|0]))?t:n))))break}if((0|t)>(0|n))break r;break e;case 9:if((0|((0|t)<(0|(n=a[e+24|0]))?t:n))>0)for(n=f[e>>2],r=(c=f[n>>2])+(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,y=f[n+4>>2];;){if(r>>>0>=y>>>0)break e;if(n=(s<<3)+i|0,m=_[r>>3],d(m)<0x8000000000000000?(c=d(m)>=1?~~(m>0?h(v(2.3283064365386963e-10*m),4294967295):g(2.3283064365386963e-10*(m-+(~~m>>>0>>>0))))>>>0:0,l=~~m>>>0):(c=-2147483648,l=0),f[n>>2]=l,f[n+4>>2]=c,r=r+8|0,!((0|(s=s+1|0))<(0|((0|t)<(0|(n=a[e+24|0]))?t:n))))break}if((0|t)>(0|n))break r;break e;case 10:break t;default:break e}if((0|((0|t)<(0|(n=a[e+24|0]))?t:n))>0)for(n=f[e>>2],r=(c=f[n>>2])+(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,l=f[n+4>>2];;){if(r>>>0>=l>>>0)break e;if(f[(n=(s<<3)+i|0)>>2]=A[0|r],f[n+4>>2]=0,r=r+1|0,!((0|(s=s+1|0))<(0|((0|t)<(0|(n=a[e+24|0]))?t:n))))break}if((0|t)<=(0|n))break e}Je((n<<3)+i|0,0,t-n<<3)}}function J(e,r,t){r|=0,t|=0;var i,n=0,o=0,s=0,c=0,b=0,l=0,u=0,_=0,p=0,k=0,d=0,m=0,h=0,y=0,v=0,g=0,w=0,C=0,E=0,N=0;V=i=V-96|0,o=f[16+(e|=0)>>2],a[i+92|0]=1,f[i+88>>2]=r,f[i+84>>2]=r,f[i+80>>2]=o,p=f[e+20>>2],n=f[p>>2];e:{r:{if((o=f[f[o+28>>2]+(r<<2)>>2])>>>0<f[p+4>>2]-n>>2>>>0){if(n=f[f[e+8>>2]+(f[n+(o<<2)>>2]<<2)>>2],o=f[e+4>>2],A[o+84|0]||(n=f[f[o+68>>2]+(n<<2)>>2]),f[i+72>>2]=0,f[i+76>>2]=0,f[(p=i- -64|0)>>2]=0,f[p+4>>2]=0,f[i+56>>2]=0,f[i+60>>2]=0,Y(o,n,a[o+24|0],i+56|0),n=((o=r+1|0)>>>0)%3|0,r>>>0<=o>>>0)for(p=n?o:r-2|0,c=((r>>>0)%3|0?-1:2)+r|0;;){if(n=p,o=c,f[e+28>>2]&&(n=((o=r+1|0)>>>0)%3|0?o:r-2|0,o=r-1|0,(r>>>0)%3|0||(o=r+2|0)),u=f[e+20>>2],r=f[u>>2],(n=f[f[f[e+16>>2]+28>>2]+(n<<2)>>2])>>>0>=f[u+4>>2]-r>>2>>>0)break r;if(n=f[f[e+8>>2]+(f[r+(n<<2)>>2]<<2)>>2],r=f[e+4>>2],A[r+84|0]||(n=f[f[r+68>>2]+(n<<2)>>2]),f[i+48>>2]=0,f[i+52>>2]=0,f[i+40>>2]=0,f[i+44>>2]=0,f[i+32>>2]=0,f[i+36>>2]=0,Y(r,n,a[r+24|0],i+32|0),n=f[e+20>>2],r=f[n>>2],(o=f[f[f[e+16>>2]+28>>2]+(o<<2)>>2])>>>0>=f[n+4>>2]-r>>2>>>0)break e;n=f[f[e+8>>2]+(f[r+(o<<2)>>2]<<2)>>2],r=f[e+4>>2],A[r+84|0]||(n=f[f[r+68>>2]+(n<<2)>>2]),f[i+24>>2]=0,f[i+28>>2]=0,f[i+16>>2]=0,f[i+20>>2]=0,f[i+8>>2]=0,f[i+12>>2]=0,Y(r,n,a[r+24|0],i+8|0),n=(o=f[i+8>>2])-(r=f[i+56>>2])|0,u=f[i+60>>2],k=f[i+12>>2]-(u+(r>>>0>o>>>0)|0)|0,v=(b=f[i+40>>2])-(o=f[i+64>>2])|0,g=f[i+68>>2],w=Pr(n,k,v,b=f[i+44>>2]-(g+(o>>>0>b>>>0)|0)|0),s=s-(D+(l>>>0<w>>>0)|0)|0,E=C=l-w|0,o=Pr(w=(l=f[i+16>>2])-o|0,g=f[i+20>>2]-((o>>>0>l>>>0)+g|0)|0,C=(l=f[i+32>>2])-r|0,u=f[i+36>>2]-((r>>>0>l>>>0)+u|0)|0),r=D+s|0,s=r=o>>>0>(l=E+o|0)>>>0?r+1|0:r,E=d,m=k,k=(r=f[i+48>>2])-(o=f[i+72>>2])|0,d=f[i+76>>2],m=Pr(n,m,k,N=f[i+52>>2]-(d+(r>>>0<o>>>0)|0)|0),r=D+_|0,r=(n=E+m|0)>>>0<m>>>0?r+1|0:r,d=n-(_=Pr(m=(_=f[i+24>>2])-o|0,o=f[i+28>>2]-((o>>>0>_>>>0)+d|0)|0,C,u))|0,_=r-(D+(n>>>0<_>>>0)|0)|0,n=h-(r=Pr(w,g,k,N))|0,r=y-(D+(r>>>0>h>>>0)|0)|0,y=Pr(m,o,v,b),r=D+r|0,y=r=(h=y+n|0)>>>0<y>>>0?r+1|0:r,r=f[i+88>>2],o=f[i+80>>2];t:if(A[i+92|0]){i:{if(-1==(0|r)||-1==(0|(r=((n=r+1|0)>>>0)%3|0?n:r-2|0))|f[f[o>>2]+(r>>>3&536870908)>>2]>>>r&1||-1==(0|(r=f[f[f[o+64>>2]+12>>2]+(r<<2)>>2])))f[i+88>>2]=-1;else if(r=((n=r+1|0)>>>0)%3|0?n:r-2|0,f[i+88>>2]=r,-1!=(0|r))break i;n=-1;n:if(-1!=(0|(r=f[i+84>>2]))){if((r>>>0)%3|0)r=r-1|0;else if(n=-1,-1==(0|(r=r+2|0)))break n;n=-1,f[f[o>>2]+(r>>>3&536870908)>>2]>>>r&1||(n=-1,-1!=(0|(r=f[f[f[o+64>>2]+12>>2]+(r<<2)>>2]))&&(n=r-1|0,(r>>>0)%3|0||(n=r+2|0)))}a[i+92|0]=0,f[i+88>>2]=n;break t}if((0|r)!=f[i+84>>2])break t;f[i+88>>2]=-1}else{n=-1;i:if(-1!=(0|r)){if((r>>>0)%3|0)r=r-1|0;else if(n=-1,-1==(0|(r=r+2|0)))break i;n=-1,f[f[o>>2]+(r>>>3&536870908)>>2]>>>r&1||(n=-1,-1!=(0|(r=f[f[f[o+64>>2]+12>>2]+(r<<2)>>2]))&&(n=r-1|0,(r>>>0)%3|0||(n=r+2|0)))}f[i+88>>2]=n}if(-1==(0|(r=f[i+88>>2])))break}n=(r=y>>31)+h|0,o=r,r=r+y|0,u=n^o,c=o^(n>>>0<o>>>0?r+1|0:r),k=-1,n=2147483647,b=r=_>>31,o=r+d|0,r=r+_|0,r=o>>>0<b>>>0?r+1|0:r,o^=b,b=r^=b,v=-1^o,r^=2147483647,p=s;t:{if(f[e+28>>2]){if(!((0|r)==(0|c)&u>>>0>v>>>0|r>>>0<c>>>0)&&(r=c+b|0,o=r=(e=o+u|0)>>>0<o>>>0?r+1|0:r,c=s,s=(r=s>>31)+l|0,b=c,c=r,r=b+r|0,r=s>>>0<c>>>0?r+1|0:r,s^=c,!((0|(c=2147483647^(r^=c)))==(0|o)&(-1^s)>>>0<e>>>0|o>>>0>c>>>0)&&(r=r+o|0,k=e=e+s|0,n=r=e>>>0<s>>>0?r+1|0:r,!r&e>>>0<536870913)))break t;r=n>>>29|0,e=(536870911&n)<<3|k>>>29}else{if((0|r)==(0|c)&u>>>0>v>>>0|r>>>0<c>>>0)break t;if(r=c+b|0,r=(e=o+u|0)>>>0<o>>>0?r+1|0:r,o=e,e=r,n=(r=s>>31)+l|0,c=s,s=r,r=c+r|0,c=n^s,s^=r=n>>>0<s>>>0?r+1|0:r,r=n=c+o|0,(s=!(0&(e=(0|(s^=2147483647))==(0|e)&(-1^c)>>>0<o>>>0|e>>>0>s>>>0)))&(0|(e=e?-1:r))<=536870912|(0|e)<536870912)break t;r=0,e=e>>>29|0}l=zr(l,p,e,r),d=zr(d,_,e,r),h=zr(h,y,e,r)}return f[t+8>>2]=l,f[t+4>>2]=d,f[t>>2]=h,void(V=i+96|0)}li(),T()}li(),T()}li(),T()}function Q(e,r,t,i){var n=0,s=0,c=0,l=0,p=0,m=k(0),h=0;e:{r:if(i){t:{i:switch(f[e+28>>2]-1|0){case 0:if(l=1,(0|((0|t)<(0|(n=a[e+24|0]))?t:n))>0)for(n=f[e>>2],r=(s=f[n>>2])+(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[n+4>>2];;){if(r>>>0>=s>>>0)break e;if(o[(c<<1)+i>>1]=a[0|r],r=r+1|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(n=a[e+24|0]))?t:n))))break}if((0|t)>(0|n))break t;break r;case 1:if(l=1,(0|((0|t)<(0|(n=a[e+24|0]))?t:n))>0)for(n=f[e>>2],r=(s=f[n>>2])+(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[n+4>>2];;){if(r>>>0>=s>>>0)break e;if(o[(c<<1)+i>>1]=A[0|r],r=r+1|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(n=a[e+24|0]))?t:n))))break}if((0|t)>(0|n))break t;break r;case 2:if(l=1,(0|((0|t)<(0|(n=a[e+24|0]))?t:n))>0)for(n=f[e>>2],r=(s=f[n>>2])+(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[n+4>>2];;){if(r>>>0>=s>>>0)break e;if(o[(c<<1)+i>>1]=b[r>>1],r=r+2|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(n=a[e+24|0]))?t:n))))break}if((0|t)>(0|n))break t;break r;case 3:if((0|((0|t)<(0|(n=a[e+24|0]))?t:n))>0)for(n=f[e>>2],r=(s=f[n>>2])+(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[n+4>>2];;){if(r>>>0>=s>>>0)break e;if((0|(n=o[r>>1]))<0)break r;if(o[(c<<1)+i>>1]=n,r=r+2|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(n=a[e+24|0]))?t:n))))break}if(l=1,(0|t)>(0|n))break t;break r;case 4:if(l=1,(0|((0|t)<(0|(n=a[e+24|0]))?t:n))>0)for(n=f[e>>2],r=(s=f[n>>2])+(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[n+4>>2];;){if(r>>>0>=s>>>0)break e;if((n=f[r>>2])-32768>>>0<4294901760)break e;if(o[(c<<1)+i>>1]=n,r=r+4|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(n=a[e+24|0]))?t:n))))break}if((0|t)>(0|n))break t;break r;case 5:if(l=1,(0|((0|t)<(0|(n=a[e+24|0]))?t:n))>0)for(n=f[e>>2],r=(s=f[n>>2])+(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[n+4>>2];;){if(r>>>0>=s>>>0)break e;if((n=f[r>>2])>>>0>32767)break e;if(o[(c<<1)+i>>1]=n,r=r+4|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(n=a[e+24|0]))?t:n))))break}if((0|t)>(0|n))break t;break r;case 6:if(l=1,(0|((0|t)<(0|(n=a[e+24|0]))?t:n))>0)for(n=f[e>>2],r=(s=f[n>>2])+(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[n+4>>2];;){if(r>>>0>=s>>>0)break e;if(p=f[r>>2],-1==(0|(n=f[r+4>>2]-(p>>>0<32768)|0))&p-32768>>>0<4294901760|-1!=(0|n))break e;if(o[(c<<1)+i>>1]=p,r=r+8|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(n=a[e+24|0]))?t:n))))break}if((0|t)>(0|n))break t;break r;case 7:if(l=1,(0|((0|t)<(0|(n=a[e+24|0]))?t:n))>0)for(n=f[e>>2],r=(s=f[n>>2])+(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[n+4>>2];;){if(r>>>0>=s>>>0)break e;if(!(n=f[r+4>>2])&(p=f[r>>2])>>>0>32767|n)break e;if(o[(c<<1)+i>>1]=p,r=r+8|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(n=a[e+24|0]))?t:n))))break}if((0|t)>(0|n))break t;break r;case 8:if(l=1,(0|((0|t)<(0|(n=a[e+24|0]))?t:n))>0)for(n=f[e>>2],r=(s=f[n>>2])+(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[n+4>>2];;){if(r>>>0>=s>>>0)break e;if(p=(c<<1)+i|0,m=u[r>>2],n=k(d(m))<k(2147483648)?~~m:-2147483648,o[p>>1]=n,r=r+4|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(n=a[e+24|0]))?t:n))))break}if((0|t)>(0|n))break t;break r;case 9:if(l=1,(0|((0|t)<(0|(n=a[e+24|0]))?t:n))>0)for(n=f[e>>2],r=(s=f[n>>2])+(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[n+4>>2];;){if(r>>>0>=s>>>0)break e;if(p=(c<<1)+i|0,h=_[r>>3],n=d(h)<2147483648?~~h:-2147483648,o[p>>1]=n,r=r+8|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(n=a[e+24|0]))?t:n))))break}if((0|t)>(0|n))break t;break r;case 10:break i;default:break r}if(l=1,(0|((0|t)<(0|(n=a[e+24|0]))?t:n))>0)for(n=f[e>>2],r=(s=f[n>>2])+(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[n+4>>2];;){if(r>>>0>=s>>>0)break e;if(o[(c<<1)+i>>1]=A[0|r],r=r+1|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(n=a[e+24|0]))?t:n))))break}if((0|t)<=(0|n))break r}Je((n<<1)+i|0,0,t-n<<1)}return l}return 0}function z(e,r,t,i){var n=0,s=0,c=0,l=0,p=0,d=k(0),m=0;e:{r:if(i){t:{i:switch(f[e+28>>2]-1|0){case 0:if((0|((0|t)<(0|(n=a[e+24|0]))?t:n))>0)for(n=f[e>>2],r=(s=f[n>>2])+(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[n+4>>2];;){if(r>>>0>=s>>>0)break e;if((0|(n=a[0|r]))<0)break r;if(o[(c<<1)+i>>1]=255&n,r=r+1|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(n=a[e+24|0]))?t:n))))break}if(l=1,(0|t)>(0|n))break t;break r;case 1:if(l=1,(0|((0|t)<(0|(n=a[e+24|0]))?t:n))>0)for(n=f[e>>2],r=(s=f[n>>2])+(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[n+4>>2];;){if(r>>>0>=s>>>0)break e;if(o[(c<<1)+i>>1]=A[0|r],r=r+1|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(n=a[e+24|0]))?t:n))))break}if((0|t)>(0|n))break t;break r;case 2:if((0|((0|t)<(0|(n=a[e+24|0]))?t:n))>0)for(n=f[e>>2],r=(s=f[n>>2])+(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[n+4>>2];;){if(r>>>0>=s>>>0)break e;if((0|(n=o[r>>1]))<0)break r;if(o[(c<<1)+i>>1]=n,r=r+2|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(n=a[e+24|0]))?t:n))))break}if(l=1,(0|t)>(0|n))break t;break r;case 3:if(l=1,(0|((0|t)<(0|(n=a[e+24|0]))?t:n))>0)for(n=f[e>>2],r=(s=f[n>>2])+(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[n+4>>2];;){if(r>>>0>=s>>>0)break e;if(o[(c<<1)+i>>1]=b[r>>1],r=r+2|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(n=a[e+24|0]))?t:n))))break}if((0|t)>(0|n))break t;break r;case 4:if(l=1,(0|((0|t)<(0|(n=a[e+24|0]))?t:n))>0)for(n=f[e>>2],r=(s=f[n>>2])+(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[n+4>>2];;){if(r>>>0>=s>>>0)break e;if((n=f[r>>2])>>>0>65535)break e;if(o[(c<<1)+i>>1]=n,r=r+4|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(n=a[e+24|0]))?t:n))))break}if((0|t)>(0|n))break t;break r;case 5:if(l=1,(0|((0|t)<(0|(n=a[e+24|0]))?t:n))>0)for(n=f[e>>2],r=(s=f[n>>2])+(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[n+4>>2];;){if(r>>>0>=s>>>0)break e;if((n=f[r>>2])>>>0>65535)break e;if(o[(c<<1)+i>>1]=n,r=r+4|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(n=a[e+24|0]))?t:n))))break}if((0|t)>(0|n))break t;break r;case 6:if(l=1,(0|((0|t)<(0|(n=a[e+24|0]))?t:n))>0)for(n=f[e>>2],r=(s=f[n>>2])+(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[n+4>>2];;){if(r>>>0>=s>>>0)break e;if(!(n=f[r+4>>2])&(p=f[r>>2])>>>0>65535|n)break e;if(o[(c<<1)+i>>1]=p,r=r+8|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(n=a[e+24|0]))?t:n))))break}if((0|t)>(0|n))break t;break r;case 7:if(l=1,(0|((0|t)<(0|(n=a[e+24|0]))?t:n))>0)for(n=f[e>>2],r=(s=f[n>>2])+(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[n+4>>2];;){if(r>>>0>=s>>>0)break e;if(!(n=f[r+4>>2])&(p=f[r>>2])>>>0>65535|n)break e;if(o[(c<<1)+i>>1]=p,r=r+8|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(n=a[e+24|0]))?t:n))))break}if((0|t)>(0|n))break t;break r;case 8:if(l=1,(0|((0|t)<(0|(n=a[e+24|0]))?t:n))>0)for(n=f[e>>2],r=(s=f[n>>2])+(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[n+4>>2];;){if(r>>>0>=s>>>0)break e;if(p=(c<<1)+i|0,n=(d=u[r>>2])<k(4294967296)&d>=k(0)?~~d>>>0:0,o[p>>1]=n,r=r+4|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(n=a[e+24|0]))?t:n))))break}if((0|t)>(0|n))break t;break r;case 9:if(l=1,(0|((0|t)<(0|(n=a[e+24|0]))?t:n))>0)for(n=f[e>>2],r=(s=f[n>>2])+(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[n+4>>2];;){if(r>>>0>=s>>>0)break e;if(p=(c<<1)+i|0,n=(m=_[r>>3])<4294967296&m>=0?~~m>>>0:0,o[p>>1]=n,r=r+8|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(n=a[e+24|0]))?t:n))))break}if((0|t)>(0|n))break t;break r;case 10:break i;default:break r}if(l=1,(0|((0|t)<(0|(n=a[e+24|0]))?t:n))>0)for(n=f[e>>2],r=(s=f[n>>2])+(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[n+4>>2];;){if(r>>>0>=s>>>0)break e;if(o[(c<<1)+i>>1]=A[0|r],r=r+1|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(n=a[e+24|0]))?t:n))))break}if((0|t)<=(0|n))break r}Je((n<<1)+i|0,0,t-n<<1)}return l}return 0}function L(e,r,t){var i,n=0,s=0,c=0,u=0,_=0;V=i=V-48|0,n=b[5069]|b[5070]<<16,s=b[5067]|b[5068]<<16,o[i+38>>1]=s,o[i+40>>1]=s>>>16,o[i+42>>1]=n,o[i+44>>1]=n>>>16,n=f[2533],f[i+32>>2]=f[2532],f[i+36>>2]=n,n=f[2531],f[i+24>>2]=f[2530],f[i+28>>2]=n,n=f[2529],f[i+16>>2]=f[2528],f[i+20>>2]=n,s=f[r+12>>2],n=f[r+20>>2],n=(u=(c=f[r+16>>2])+5|0)>>>0<5?n+1|0:n;e:{r:if(u>>>0>l[r+8>>2]&(0|n)>=(0|s)|(0|n)>(0|s)){if((r=Dr(i+16|0))>>>0>=4294967280)break e;t:{if(r>>>0>=11)t=_t(n=r+16&-16),f[i+8>>2]=-2147483648|n,f[i>>2]=t,f[i+4>>2]=r;else if(a[i+11|0]=r,t=i,!r)break t;ge(t,i+16|0,r)}if(a[r+t|0]=0,f[e>>2]=-2,e=e+4|0,a[i+11|0]>=0){r=f[i+4>>2],f[e>>2]=f[i>>2],f[e+4>>2]=r,f[e+8>>2]=f[i+8>>2];break r}Fr(r=e,e=f[i>>2],f[i+4>>2]),ee(e)}else if(n=c+f[r>>2]|0,s=A[0|n]|A[n+1|0]<<8|A[n+2|0]<<16|A[n+3|0]<<24,a[0|t]=s,a[t+1|0]=s>>>8,a[t+2|0]=s>>>16,a[t+3|0]=s>>>24,a[t+4|0]=A[n+4|0],n=f[r+20>>2],n=(s=f[r+16>>2]+5|0)>>>0<5?n+1|0:n,f[r+16>>2]=s,f[r+20>>2]=n,Rr(t,1394,5))r=_t(32),a[r+16|0]=A[1638],t=A[1634]|A[1635]<<8|A[1636]<<16|A[1637]<<24,n=A[1630]|A[1631]<<8|A[1632]<<16|A[1633]<<24,a[r+8|0]=n,a[r+9|0]=n>>>8,a[r+10|0]=n>>>16,a[r+11|0]=n>>>24,a[r+12|0]=t,a[r+13|0]=t>>>8,a[r+14|0]=t>>>16,a[r+15|0]=t>>>24,t=A[1626]|A[1627]<<8|A[1628]<<16|A[1629]<<24,n=A[1622]|A[1623]<<8|A[1624]<<16|A[1625]<<24,a[0|r]=n,a[r+1|0]=n>>>8,a[r+2|0]=n>>>16,a[r+3|0]=n>>>24,a[r+4|0]=t,a[r+5|0]=t>>>8,a[r+6|0]=t>>>16,a[r+7|0]=t>>>24,a[r+17|0]=0,f[e>>2]=-1,Fr(e+4|0,r,17),ee(r);else if((0|(c=f[r+12>>2]))<=(0|n)&l[r+8>>2]<=s>>>0|(0|n)>(0|c)){if((r=Dr(i+16|0))>>>0>=4294967280)break e;t:{if(r>>>0>=11)t=_t(n=r+16&-16),f[i+8>>2]=-2147483648|n,f[i>>2]=t,f[i+4>>2]=r;else if(a[i+11|0]=r,t=i,!r)break t;ge(t,i+16|0,r)}if(a[r+t|0]=0,f[e>>2]=-2,e=e+4|0,a[i+11|0]>=0){r=f[i+4>>2],f[e>>2]=f[i>>2],f[e+4>>2]=r,f[e+8>>2]=f[i+8>>2];break r}Fr(r=e,e=f[i>>2],f[i+4>>2]),ee(e)}else if(a[t+5|0]=A[s+f[r>>2]|0],n=f[r+20>>2],n=(s=f[r+16>>2]+1|0)?n:n+1|0,f[r+16>>2]=s,f[r+20>>2]=n,(0|(c=f[r+12>>2]))<=(0|n)&l[r+8>>2]<=s>>>0|(0|n)>(0|c)){if((r=Dr(i+16|0))>>>0>=4294967280)break e;t:{if(r>>>0>=11)t=_t(n=r+16&-16),f[i+8>>2]=-2147483648|n,f[i>>2]=t,f[i+4>>2]=r;else if(a[i+11|0]=r,t=i,!r)break t;ge(t,i+16|0,r)}if(a[r+t|0]=0,f[e>>2]=-2,e=e+4|0,a[i+11|0]>=0){r=f[i+4>>2],f[e>>2]=f[i>>2],f[e+4>>2]=r,f[e+8>>2]=f[i+8>>2];break r}Fr(r=e,e=f[i>>2],f[i+4>>2]),ee(e)}else if(a[t+6|0]=A[s+f[r>>2]|0],n=f[r+20>>2],n=(s=f[r+16>>2]+1|0)?n:n+1|0,f[r+16>>2]=s,f[r+20>>2]=n,(0|(c=f[r+12>>2]))<=(0|n)&l[r+8>>2]<=s>>>0|(0|n)>(0|c)){if((r=Dr(i+16|0))>>>0>=4294967280)break e;t:{if(r>>>0>=11)t=_t(n=r+16&-16),f[i+8>>2]=-2147483648|n,f[i>>2]=t,f[i+4>>2]=r;else if(a[i+11|0]=r,t=i,!r)break t;ge(t,i+16|0,r)}if(a[r+t|0]=0,f[e>>2]=-2,e=e+4|0,a[i+11|0]>=0){r=f[i+4>>2],f[e>>2]=f[i>>2],f[e+4>>2]=r,f[e+8>>2]=f[i+8>>2];break r}Fr(r=e,e=f[i>>2],f[i+4>>2]),ee(e)}else if(a[t+7|0]=A[s+f[r>>2]|0],n=f[r+20>>2],n=(s=f[r+16>>2]+1|0)?n:n+1|0,f[r+16>>2]=s,f[r+20>>2]=n,(0|(c=f[r+12>>2]))<=(0|n)&l[r+8>>2]<=s>>>0|(0|n)>(0|c)){if(r=Qr(i,i+16|0),f[e>>2]=-2,e=e+4|0,a[r+11|0]>=0){r=f[i+4>>2],f[e>>2]=f[i>>2],f[e+4>>2]=r,f[e+8>>2]=f[i+8>>2];break r}if(Fr(e,f[r>>2],f[r+4>>2]),a[r+11|0]>=0)break r;ee(f[r>>2])}else if(a[t+8|0]=A[s+f[r>>2]|0],s=n=f[r+20>>2],n=(c=(_=f[r+16>>2])+1|0)?n:n+1|0,f[r+16>>2]=c,f[r+20>>2]=n,u=f[r+12>>2],n=s,n=(s=_+3|0)>>>0<3?n+1|0:n,s>>>0>l[r+8>>2]&(0|n)>=(0|u)|(0|n)>(0|u)){if(r=Qr(i,i+16|0),f[e>>2]=-2,e=e+4|0,a[r+11|0]>=0){r=f[i+4>>2],f[e>>2]=f[i>>2],f[e+4>>2]=r,f[e+8>>2]=f[i+8>>2];break r}if(Fr(e,f[r>>2],f[r+4>>2]),a[r+11|0]>=0)break r;ee(f[r>>2])}else s=t,t=c+f[r>>2]|0,o[s+10>>1]=A[0|t]|A[t+1|0]<<8,n=f[r+20>>2],n=(t=f[r+16>>2]+2|0)>>>0<2?n+1|0:n,f[r+16>>2]=t,f[r+20>>2]=n,f[e+8>>2]=0,f[e+12>>2]=0,f[e>>2]=0,f[e+4>>2]=0;return void(V=i+48|0)}si(),T()}function P(e,r,t,i){var n=0,s=0,c=0,l=0,p=0,m=k(0),h=0;e:{r:if(i){t:{i:switch(f[e+28>>2]-1|0){case 0:if(l=1,(0|((0|t)<(0|(n=a[e+24|0]))?t:n))>0)for(n=f[e>>2],r=(s=f[n>>2])+(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[n+4>>2];;){if(r>>>0>=s>>>0)break e;if(f[(c<<2)+i>>2]=a[0|r],r=r+1|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(n=a[e+24|0]))?t:n))))break}if((0|t)>(0|n))break t;break r;case 1:if(l=1,(0|((0|t)<(0|(n=a[e+24|0]))?t:n))>0)for(n=f[e>>2],r=(s=f[n>>2])+(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[n+4>>2];;){if(r>>>0>=s>>>0)break e;if(f[(c<<2)+i>>2]=A[0|r],r=r+1|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(n=a[e+24|0]))?t:n))))break}if((0|t)>(0|n))break t;break r;case 2:if(l=1,(0|((0|t)<(0|(n=a[e+24|0]))?t:n))>0)for(n=f[e>>2],r=(s=f[n>>2])+(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[n+4>>2];;){if(r>>>0>=s>>>0)break e;if(f[(c<<2)+i>>2]=o[r>>1],r=r+2|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(n=a[e+24|0]))?t:n))))break}if((0|t)>(0|n))break t;break r;case 3:if(l=1,(0|((0|t)<(0|(n=a[e+24|0]))?t:n))>0)for(n=f[e>>2],r=(s=f[n>>2])+(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[n+4>>2];;){if(r>>>0>=s>>>0)break e;if(f[(c<<2)+i>>2]=b[r>>1],r=r+2|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(n=a[e+24|0]))?t:n))))break}if((0|t)>(0|n))break t;break r;case 4:if(l=1,(0|((0|t)<(0|(n=a[e+24|0]))?t:n))>0)for(n=f[e>>2],r=(s=f[n>>2])+(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[n+4>>2];;){if(r>>>0>=s>>>0)break e;if(f[(c<<2)+i>>2]=f[r>>2],r=r+4|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(n=a[e+24|0]))?t:n))))break}if((0|t)>(0|n))break t;break r;case 5:if((0|((0|t)<(0|(n=a[e+24|0]))?t:n))>0)for(n=f[e>>2],r=(s=f[n>>2])+(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[n+4>>2];;){if(r>>>0>=s>>>0)break e;if((0|(n=f[r>>2]))<0)break r;if(f[(c<<2)+i>>2]=n,r=r+4|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(n=a[e+24|0]))?t:n))))break}if(l=1,(0|t)>(0|n))break t;break r;case 6:if(l=1,(0|((0|t)<(0|(n=a[e+24|0]))?t:n))>0)for(n=f[e>>2],r=(s=f[n>>2])+(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[n+4>>2];;){if(r>>>0>=s>>>0)break e;if(n=f[r>>2],-1!=(f[r+4>>2]-(n>>>0<2147483648)|0))break e;if(f[(c<<2)+i>>2]=n,r=r+8|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(n=a[e+24|0]))?t:n))))break}if((0|t)>(0|n))break t;break r;case 7:if(l=1,(0|((0|t)<(0|(n=a[e+24|0]))?t:n))>0)for(n=f[e>>2],r=(s=f[n>>2])+(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[n+4>>2];;){if(r>>>0>=s>>>0)break e;if(!(n=f[r+4>>2])&(p=f[r>>2])>>>0>2147483647|n)break e;if(f[(c<<2)+i>>2]=p,r=r+8|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(n=a[e+24|0]))?t:n))))break}if((0|t)>(0|n))break t;break r;case 8:if(l=1,(0|((0|t)<(0|(n=a[e+24|0]))?t:n))>0)for(n=f[e>>2],r=(s=f[n>>2])+(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[n+4>>2];;){if(r>>>0>=s>>>0)break e;if(p=(c<<2)+i|0,m=u[r>>2],n=k(d(m))<k(2147483648)?~~m:-2147483648,f[p>>2]=n,r=r+4|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(n=a[e+24|0]))?t:n))))break}if((0|t)>(0|n))break t;break r;case 9:if(l=1,(0|((0|t)<(0|(n=a[e+24|0]))?t:n))>0)for(n=f[e>>2],r=(s=f[n>>2])+(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[n+4>>2];;){if(r>>>0>=s>>>0)break e;if(p=(c<<2)+i|0,h=_[r>>3],n=d(h)<2147483648?~~h:-2147483648,f[p>>2]=n,r=r+8|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(n=a[e+24|0]))?t:n))))break}if((0|t)>(0|n))break t;break r;case 10:break i;default:break r}if(l=1,(0|((0|t)<(0|(n=a[e+24|0]))?t:n))>0)for(n=f[e>>2],r=(s=f[n>>2])+(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[n+4>>2];;){if(r>>>0>=s>>>0)break e;if(f[(c<<2)+i>>2]=A[0|r],r=r+1|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(n=a[e+24|0]))?t:n))))break}if((0|t)<=(0|n))break r}Je((n<<2)+i|0,0,t-n<<2)}return l}return 0}function X(e,r,t,i){var n=0,s=0,c=0,l=0,p=0,d=k(0),m=0;e:{r:if(i){t:{i:switch(f[e+28>>2]-1|0){case 0:if(l=1,(0|((0|t)<(0|(n=a[e+24|0]))?t:n))>0)for(n=f[e>>2],r=(s=f[n>>2])+(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[n+4>>2];;){if(r>>>0>=s>>>0)break e;if(f[(c<<2)+i>>2]=a[0|r],r=r+1|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(n=a[e+24|0]))?t:n))))break}if((0|t)>(0|n))break t;break r;case 1:if(l=1,(0|((0|t)<(0|(n=a[e+24|0]))?t:n))>0)for(n=f[e>>2],r=(s=f[n>>2])+(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[n+4>>2];;){if(r>>>0>=s>>>0)break e;if(f[(c<<2)+i>>2]=A[0|r],r=r+1|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(n=a[e+24|0]))?t:n))))break}if((0|t)>(0|n))break t;break r;case 2:if(l=1,(0|((0|t)<(0|(n=a[e+24|0]))?t:n))>0)for(n=f[e>>2],r=(s=f[n>>2])+(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[n+4>>2];;){if(r>>>0>=s>>>0)break e;if(f[(c<<2)+i>>2]=o[r>>1],r=r+2|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(n=a[e+24|0]))?t:n))))break}if((0|t)>(0|n))break t;break r;case 3:if(l=1,(0|((0|t)<(0|(n=a[e+24|0]))?t:n))>0)for(n=f[e>>2],r=(s=f[n>>2])+(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[n+4>>2];;){if(r>>>0>=s>>>0)break e;if(f[(c<<2)+i>>2]=b[r>>1],r=r+2|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(n=a[e+24|0]))?t:n))))break}if((0|t)>(0|n))break t;break r;case 4:if(l=1,(0|((0|t)<(0|(n=a[e+24|0]))?t:n))>0)for(n=f[e>>2],r=(s=f[n>>2])+(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[n+4>>2];;){if(r>>>0>=s>>>0)break e;if(f[(c<<2)+i>>2]=f[r>>2],r=r+4|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(n=a[e+24|0]))?t:n))))break}if((0|t)>(0|n))break t;break r;case 5:if(l=1,(0|((0|t)<(0|(n=a[e+24|0]))?t:n))>0)for(n=f[e>>2],r=(s=f[n>>2])+(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[n+4>>2];;){if(r>>>0>=s>>>0)break e;if(f[(c<<2)+i>>2]=f[r>>2],r=r+4|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(n=a[e+24|0]))?t:n))))break}if((0|t)>(0|n))break t;break r;case 6:if(l=1,(0|((0|t)<(0|(n=a[e+24|0]))?t:n))>0)for(n=f[e>>2],r=(s=f[n>>2])+(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[n+4>>2];;){if(r>>>0>=s>>>0)break e;if(n=f[r>>2],f[r+4>>2])break e;if(f[(c<<2)+i>>2]=n,r=r+8|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(n=a[e+24|0]))?t:n))))break}if((0|t)>(0|n))break t;break r;case 7:if(l=1,(0|((0|t)<(0|(n=a[e+24|0]))?t:n))>0)for(n=f[e>>2],r=(s=f[n>>2])+(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[n+4>>2];;){if(r>>>0>=s>>>0)break e;if(n=f[r>>2],f[r+4>>2])break e;if(f[(c<<2)+i>>2]=n,r=r+8|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(n=a[e+24|0]))?t:n))))break}if((0|t)>(0|n))break t;break r;case 8:if(l=1,(0|((0|t)<(0|(n=a[e+24|0]))?t:n))>0)for(n=f[e>>2],r=(s=f[n>>2])+(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[n+4>>2];;){if(r>>>0>=s>>>0)break e;if(p=(c<<2)+i|0,n=(d=u[r>>2])<k(4294967296)&d>=k(0)?~~d>>>0:0,f[p>>2]=n,r=r+4|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(n=a[e+24|0]))?t:n))))break}if((0|t)>(0|n))break t;break r;case 9:if(l=1,(0|((0|t)<(0|(n=a[e+24|0]))?t:n))>0)for(n=f[e>>2],r=(s=f[n>>2])+(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[n+4>>2];;){if(r>>>0>=s>>>0)break e;if(p=(c<<2)+i|0,n=(m=_[r>>3])<4294967296&m>=0?~~m>>>0:0,f[p>>2]=n,r=r+8|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(n=a[e+24|0]))?t:n))))break}if((0|t)>(0|n))break t;break r;case 10:break i;default:break r}if(l=1,(0|((0|t)<(0|(n=a[e+24|0]))?t:n))>0)for(n=f[e>>2],r=(s=f[n>>2])+(r=f[e+48>>2]+Pr(f[e+40>>2],f[e+44>>2],r,0)|0)|0,s=f[n+4>>2];;){if(r>>>0>=s>>>0)break e;if(f[(c<<2)+i>>2]=A[0|r],r=r+1|0,!((0|(c=c+1|0))<(0|((0|t)<(0|(n=a[e+24|0]))?t:n))))break}if((0|t)<=(0|n))break r}Je((n<<2)+i|0,0,t-n<<2)}return l}return 0}function H(e,r,t){var i,n=0,a=0,o=0,s=0,c=0,l=0,u=0,_=0,k=0,d=0,m=0,h=0,y=0,v=0,g=0;V=i=V+-64|0,f[i+48>>2]=0,f[i+40>>2]=0,f[i+44>>2]=0,f[i+32>>2]=0,f[i+36>>2]=0,f[i+24>>2]=0,f[i+28>>2]=0,f[i+16>>2]=0,f[i+20>>2]=0,f[i+8>>2]=0,f[i+12>>2]=0,f[i>>2]=0,f[i+4>>2]=0,s=r;e:{r:if(b[r+38>>1]&&Cr(1,i+12|0,s)){if(_=f[i+12>>2],r=f[i>>2],_>>>0>(n=f[i+4>>2]-r>>2)>>>0?(sr(i,_-n|0),_=f[i+12>>2]):n>>>0<=_>>>0||(f[i+4>>2]=r+(_<<2)),a=1,!_)break e;for(h=f[s+8>>2],y=f[s+12>>2],m=f[i>>2];;){if(a=0,(0|y)<=(0|(n=f[s+20>>2]))&h>>>0<=(l=f[s+16>>2])>>>0|(0|n)>(0|y))break e;k=f[s>>2],v=A[k+l|0],n=(r=l+1|0)?n:n+1|0,a=r,f[s+16>>2]=r,f[s+20>>2]=n,r=v>>>2|0,c=0;t:{i:{n:{a:switch(0|(d=3&v)){case 3:break a;case 0:break i;default:break n}if(a=0,(r=r+o|0)>>>0>=_>>>0)break e;Je(m+(o<<2)|0,0,4+(252&v)|0),o=r;break t}for(;;){if((0|n)>=(0|y)&a>>>0>=h>>>0|(0|n)>(0|y))break r;if(l=A[a+k|0],n=(a=a+1|0)?n:n+1|0,f[s+16>>2]=a,f[s+20>>2]=n,r|=l<<(c<<3|6),(0|d)==(0|(c=c+1|0)))break}}f[m+(o<<2)>>2]=r}if(!((o=o+1|0)>>>0<(_=f[i+12>>2])>>>0))break}if(h=i+16|0,k=f[i>>2],a=f[i+16>>2],(r=(n=f[i+20>>2]-a|0)>>2)>>>0<=1048575?sr(h,1048576-r|0):4194304!=(0|n)&&(f[i+20>>2]=a+4194304),o=f[(n=i+28|0)>>2],(r=f[i+32>>2]-o>>3)>>>0<_>>>0)cr(n,_-r|0),o=f[n>>2];else if(r>>>0>_>>>0&&(f[i+32>>2]=(_<<3)+o),!_)break r;for(c=0,n=0;;){if(l=f[(d=(c<<2)+k|0)>>2],r=n,f[4+(a=(c<<3)+o|0)>>2]=n,f[a>>2]=l,(n=(m=f[d>>2])+n|0)>>>0>1048576)break r;if(!(r>>>0>=n>>>0)){if(d=f[h>>2],l=0,a=7&m)for(;f[d+(r<<2)>>2]=c,r=r+1|0,(0|a)!=(0|(l=l+1|0)););if(!(m-1>>>0<=6))for(;f[(a=d+(r<<2)|0)>>2]=c,f[a+28>>2]=c,f[a+24>>2]=c,f[a+20>>2]=c,f[a+16>>2]=c,f[a+12>>2]=c,f[a+8>>2]=c,f[a+4>>2]=c,(0|n)!=(0|(r=r+8|0)););}if((0|_)==(0|(c=c+1|0)))break}u=1048576==(0|n)}a=u}e:if(!(!a|(f[i+12>>2]?0:e))&&kr(1,i+56|0,s)&&(l=(n=f[s+8>>2])-(r=f[s+16>>2])|0,o=f[i+60>>2],a=f[s+20>>2],!((0|o)==(0|(n=f[s+12>>2]-(a+(r>>>0>n>>>0)|0)|0))&l>>>0<(u=f[i+56>>2])>>>0|n>>>0<o>>>0||(n=a+o|0,n=(l=r+u|0)>>>0<r>>>0?n+1|0:n,f[s+16>>2]=l,f[s+20>>2]=n,(0|u)<=0)))){k=r+f[s>>2]|0,f[i+40>>2]=k;r:if((n=A[0|(a=k+(r=u-1|0)|0)])>>>0<=63)f[i+44>>2]=r,n=63&A[0|a];else{switch((n>>>6|0)-1|0){case 0:if(u>>>0<2)break e;r=u-2|0,f[i+44>>2]=r,n=A[1+(n=(u+k|0)-2|0)|0]<<8&16128|A[0|n];break r;case 1:if(u>>>0<3)break e;r=u-3|0,f[i+44>>2]=r,n=A[2+(n=(u+k|0)-3|0)|0]<<16&4128768|A[n+1|0]<<8|A[0|n];break r}r=u-4|0,f[i+44>>2]=r,n=A[2+(n=(u+k|0)-4|0)|0]<<16|A[n+3|0]<<24&1056964608|A[n+1|0]<<8|A[0|n]}if(o=n+4194304|0,f[i+48>>2]=o,!(o>>>0>1073741823))if(e)for(d=f[i+28>>2],n=0,l=f[i+16>>2];;){r:if(!(o>>>0>4194303))for(;;){if((0|r)<=0)break r;if(r=r-1|0,f[i+44>>2]=r,o=A[r+k|0]|o<<8,f[i+48>>2]=o,!(o>>>0<4194304))break}if(u=f[l+((a=1048575&o)<<2)>>2],o=(p(f[(s=d+(u<<3)|0)>>2],o>>>20|0)+a|0)-f[s+4>>2]|0,f[i+48>>2]=o,f[(n<<2)+t>>2]=u,g=1,(0|(n=n+1|0))==(0|e))break}else g=1}return(e=f[i+28>>2])&&(f[i+32>>2]=e,ee(e)),(e=f[i+16>>2])&&(f[i+20>>2]=e,ee(e)),(e=f[i>>2])&&(f[i+4>>2]=e,ee(e)),V=i- -64|0,g}function q(e,r){var t=0,i=0,n=0,o=0,s=0,c=0;if((o=((t=f[e+4>>2])-(i=f[e>>2])|0)/144|0)>>>0<r>>>0)if(i=e,(s=r-o|0)>>>0<=((t=f[e+8>>2])-(e=f[e+4>>2])|0)/144>>>0){if(s){for(r=p(s,144)+e|0;f[e>>2]=-1,hr(e+4|0),f[e+104>>2]=0,f[e+108>>2]=0,a[e+100|0]=1,f[e+112>>2]=0,f[e+116>>2]=0,f[e+120>>2]=0,f[e+124>>2]=0,f[e+128>>2]=0,f[e+132>>2]=0,f[e+136>>2]=0,f[e+140>>2]=0,(0|r)!=(0|(e=e+144|0)););e=r}f[i+4>>2]=e}else{e:{r:{t:{if((c=(o=((r=e)-(e=f[i>>2])|0)/144|0)+s|0)>>>0<29826162){if(e=(r=(t-e|0)/144|0)<<1,n=r>>>0<14913080?e>>>0<c>>>0?c:e:29826161){if(n>>>0>=29826162)break t;t=_t(p(n,144))}else t=0;for(c=(r=t+p(o,144)|0)+p(s,144)|0,e=r;f[e>>2]=-1,hr(e+4|0),f[e+104>>2]=0,f[e+108>>2]=0,a[e+100|0]=1,f[e+112>>2]=0,f[e+116>>2]=0,f[e+120>>2]=0,f[e+124>>2]=0,f[e+128>>2]=0,f[e+132>>2]=0,f[e+136>>2]=0,f[e+140>>2]=0,(0|c)!=(0|(e=e+144|0)););if(o=t+p(n,144)|0,(0|(e=f[i+4>>2]))==(0|(n=f[i>>2])))break r;for(;e=e-144|0,f[(r=r-144|0)>>2]=f[e>>2],f[r+4>>2]=f[e+4>>2],f[r+8>>2]=f[e+8>>2],f[r+12>>2]=f[e+12>>2],f[e+12>>2]=0,f[e+4>>2]=0,f[e+8>>2]=0,f[r+16>>2]=f[e+16>>2],f[r+20>>2]=f[e+20>>2],f[r+24>>2]=f[e+24>>2],f[e+24>>2]=0,f[e+16>>2]=0,f[e+20>>2]=0,t=A[e+28|0],f[r+40>>2]=0,f[r+32>>2]=0,f[r+36>>2]=0,a[r+28|0]=t,f[r+32>>2]=f[e+32>>2],f[r+36>>2]=f[e+36>>2],f[r+40>>2]=f[e+40>>2],f[e+40>>2]=0,f[e+32>>2]=0,f[e+36>>2]=0,f[r+52>>2]=0,f[r+44>>2]=0,f[r+48>>2]=0,f[r+44>>2]=f[e+44>>2],f[r+48>>2]=f[e+48>>2],f[r+52>>2]=f[e+52>>2],f[e+52>>2]=0,f[e+44>>2]=0,f[e+48>>2]=0,f[(t=r- -64|0)>>2]=0,f[r+56>>2]=0,f[r+60>>2]=0,f[r+56>>2]=f[e+56>>2],f[r+60>>2]=f[e+60>>2],s=t,t=e- -64|0,f[s>>2]=f[t>>2],f[t>>2]=0,f[e+56>>2]=0,f[e+60>>2]=0,f[r+68>>2]=f[e+68>>2],t=f[e+72>>2],f[r+84>>2]=0,f[r+76>>2]=0,f[r+80>>2]=0,f[r+72>>2]=t,f[r+76>>2]=f[e+76>>2],f[r+80>>2]=f[e+80>>2],f[r+84>>2]=f[e+84>>2],f[e+84>>2]=0,f[e+76>>2]=0,f[e+80>>2]=0,f[r+96>>2]=0,f[r+88>>2]=0,f[r+92>>2]=0,f[r+88>>2]=f[e+88>>2],f[r+92>>2]=f[e+92>>2],f[r+96>>2]=f[e+96>>2],f[e+96>>2]=0,f[e+88>>2]=0,f[e+92>>2]=0,t=A[e+100|0],f[r+112>>2]=0,f[r+104>>2]=0,f[r+108>>2]=0,a[r+100|0]=t,f[r+104>>2]=f[e+104>>2],f[r+108>>2]=f[e+108>>2],f[r+112>>2]=f[e+112>>2],f[e+112>>2]=0,f[e+104>>2]=0,f[e+108>>2]=0,f[r+124>>2]=0,f[r+116>>2]=0,f[r+120>>2]=0,f[r+116>>2]=f[e+116>>2],f[r+120>>2]=f[e+120>>2],f[r+124>>2]=f[e+124>>2],f[e+124>>2]=0,f[e+116>>2]=0,f[e+120>>2]=0,t=f[e+128>>2],f[r+140>>2]=0,f[r+132>>2]=0,f[r+136>>2]=0,f[r+128>>2]=t,f[r+132>>2]=f[e+132>>2],f[r+136>>2]=f[e+136>>2],f[r+140>>2]=f[e+140>>2],f[e+140>>2]=0,f[e+132>>2]=0,f[e+136>>2]=0,(0|e)!=(0|n););if(f[i+8>>2]=o,e=f[i+4>>2],f[i+4>>2]=c,n=f[i>>2],f[i>>2]=r,(0|e)==(0|n))break e;for(;(r=f[e-12>>2])&&(f[e-8>>2]=r,ee(r)),(r=f[e-28>>2])&&(f[e-24>>2]=r,ee(r)),(r=f[e-40>>2])&&(f[e-36>>2]=r,ee(r)),Zr(e-140|0),(0|n)!=(0|(e=e-144|0)););break e}oi(),T()}Hr(1326),T()}f[i+8>>2]=o,f[i+4>>2]=c,f[i>>2]=r}n&&ee(n)}else if(r>>>0<o>>>0){if((0|(i=i+p(r,144)|0))!=(0|t))for(;(r=f[t-12>>2])&&(f[t-8>>2]=r,ee(r)),(r=f[t-28>>2])&&(f[t-24>>2]=r,ee(r)),(r=f[t-40>>2])&&(f[t-36>>2]=r,ee(r)),Zr(t-140|0),(0|i)!=(0|(t=t-144|0)););f[e+4>>2]=i}}function K(e,r,t){r|=0,t|=0;var i,n=0,o=0,s=0,c=0,b=0,l=0,u=0,_=0,p=0,k=0,d=0,m=0,h=0,y=0,v=0,g=0,w=0,C=0,E=0,N=0;if(V=i=V-96|0,n=f[16+(e|=0)>>2],a[i+92|0]=1,f[i+88>>2]=r,f[i+84>>2]=r,f[i+80>>2]=n,-1!=(0|r)&&(p=f[e+20>>2],o=f[p>>2],!((n=f[f[n>>2]+(r<<2)>>2])>>>0>=f[p+4>>2]-o>>2>>>0))){n=f[f[e+8>>2]+(f[o+(n<<2)>>2]<<2)>>2],o=f[e+4>>2],A[o+84|0]||(n=f[f[o+68>>2]+(n<<2)>>2]),f[i+72>>2]=0,f[i+76>>2]=0,f[(p=i- -64|0)>>2]=0,f[p+4>>2]=0,f[i+56>>2]=0,f[i+60>>2]=0,Y(o,n,a[o+24|0],i+56|0),p=((n=r+1|0)>>>0)%3|0?n:r-2|0,c=((r>>>0)%3|0?-1:2)+r|0;e:{r:{for(;;){if(o=p,n=c,f[e+28>>2]&&(o=((n=r+1|0)>>>0)%3|0?n:r-2|0,n=r-1|0,(r>>>0)%3|0||(n=r+2|0)),-1==(0|o))break e;if(u=f[e+20>>2],r=f[u>>2],(o=f[f[f[e+16>>2]>>2]+(o<<2)>>2])>>>0>=f[u+4>>2]-r>>2>>>0)break e;if(o=f[f[e+8>>2]+(f[(o<<2)+r>>2]<<2)>>2],r=f[e+4>>2],A[r+84|0]||(o=f[f[r+68>>2]+(o<<2)>>2]),f[i+48>>2]=0,f[i+52>>2]=0,f[i+40>>2]=0,f[i+44>>2]=0,f[i+32>>2]=0,f[i+36>>2]=0,Y(r,o,a[r+24|0],i+32|0),-1==(0|n))break r;if(o=f[e+20>>2],r=f[o>>2],(n=f[f[f[e+16>>2]>>2]+(n<<2)>>2])>>>0>=f[o+4>>2]-r>>2>>>0)break r;if(o=f[f[e+8>>2]+(f[r+(n<<2)>>2]<<2)>>2],r=f[e+4>>2],A[r+84|0]||(o=f[f[r+68>>2]+(o<<2)>>2]),f[i+24>>2]=0,f[i+28>>2]=0,f[i+16>>2]=0,f[i+20>>2]=0,f[i+8>>2]=0,f[i+12>>2]=0,Y(r,o,a[r+24|0],i+8|0),o=(n=f[i+8>>2])-(r=f[i+56>>2])|0,u=f[i+60>>2],k=f[i+12>>2]-(u+(r>>>0>n>>>0)|0)|0,v=(b=f[i+40>>2])-(n=f[i+64>>2])|0,g=f[i+68>>2],w=Pr(o,k,v,b=f[i+44>>2]-(g+(n>>>0>b>>>0)|0)|0),s=s-(D+(l>>>0<w>>>0)|0)|0,E=C=l-w|0,n=Pr(w=(l=f[i+16>>2])-n|0,g=f[i+20>>2]-((n>>>0>l>>>0)+g|0)|0,C=(l=f[i+32>>2])-r|0,u=f[i+36>>2]-((r>>>0>l>>>0)+u|0)|0),r=D+s|0,s=r=n>>>0>(l=E+n|0)>>>0?r+1|0:r,E=d,m=k,k=(r=f[i+48>>2])-(n=f[i+72>>2])|0,d=f[i+76>>2],m=Pr(o,m,k,N=f[i+52>>2]-(d+(r>>>0<n>>>0)|0)|0),r=D+_|0,r=(o=E+m|0)>>>0<m>>>0?r+1|0:r,d=o-(_=Pr(m=(_=f[i+24>>2])-n|0,n=f[i+28>>2]-((n>>>0>_>>>0)+d|0)|0,C,u))|0,_=r-(D+(o>>>0<_>>>0)|0)|0,o=h-(r=Pr(w,g,k,N))|0,r=y-(D+(r>>>0>h>>>0)|0)|0,y=Pr(m,n,v,b),r=D+r|0,y=r=(h=y+o|0)>>>0<y>>>0?r+1|0:r,Fe(i+80|0),-1==(0|(r=f[i+88>>2])))break}o=(r=y>>31)+h|0,n=r,r=r+y|0,u=o^n,c=n^(o>>>0<n>>>0?r+1|0:r),k=-1,o=2147483647,b=r=_>>31,n=r+d|0,r=r+_|0,r=n>>>0<b>>>0?r+1|0:r,n^=b,b=r^=b,v=-1^n,r^=2147483647,p=s;t:{if(f[e+28>>2]){if(!((0|r)==(0|c)&u>>>0>v>>>0|r>>>0<c>>>0)&&(r=c+b|0,n=r=(e=n+u|0)>>>0<n>>>0?r+1|0:r,c=s,s=(r=s>>31)+l|0,b=c,c=r,r=b+r|0,r=s>>>0<c>>>0?r+1|0:r,s^=c,!((0|(c=2147483647^(r^=c)))==(0|n)&(-1^s)>>>0<e>>>0|n>>>0>c>>>0)&&(r=r+n|0,k=e=e+s|0,o=r=e>>>0<s>>>0?r+1|0:r,!r&e>>>0<536870913)))break t;r=o>>>29|0,e=(536870911&o)<<3|k>>>29}else{if((0|r)==(0|c)&u>>>0>v>>>0|r>>>0<c>>>0)break t;if(r=c+b|0,r=(e=n+u|0)>>>0<n>>>0?r+1|0:r,n=e,e=r,o=(r=s>>31)+l|0,c=s,s=r,r=c+r|0,c=o^s,s^=r=o>>>0<s>>>0?r+1|0:r,r=o=c+n|0,(s=!(0&(e=(0|(s^=2147483647))==(0|e)&(-1^c)>>>0<n>>>0|e>>>0>s>>>0)))&(0|(e=e?-1:r))<=536870912|(0|e)<536870912)break t;r=0,e=e>>>29|0}l=zr(l,p,e,r),d=zr(d,_,e,r),h=zr(h,y,e,r)}return f[t+8>>2]=l,f[t+4>>2]=d,f[t>>2]=h,void(V=i+96|0)}li(),T()}li(),T()}li(),T()}function $(e,r){e|=0;var t=0,i=0,n=0,a=0,o=0,s=0,c=0,A=0;if(!((0|(r|=0))<0||(i=f[e+12>>2])-(t=f[e+8>>2])>>2>>>0<=r>>>0)){a=f[(n=t+(r<<2)|0)>>2],c=f[a+60>>2],o=f[a+56>>2];e:{if((0|(t=n+4|0))!=(0|i)){for(;s=f[t>>2],f[t>>2]=0,f[n>>2]=s,a&&Jr(a),n=n+4|0,(0|(t=t+4|0))!=(0|i);)a=f[n>>2];if((0|n)==(0|(i=f[e+12>>2])))break e}for(;t=f[(i=i-4|0)>>2],f[i>>2]=0,t&&Jr(t),(0|i)!=(0|n););}f[e+12>>2]=n;e:if(!(!(a=f[e+4>>2])|(0|c)<0)&&(0|(i=f[a+24>>2]))!=(0|(t=f[a+28>>2])))for(;;){if((0|c)==f[f[i>>2]+24>>2]){r:{if((0|(n=i+4|0))!=(0|(c=f[a+28>>2]))){for(;s=f[n>>2],f[n>>2]=0,t=f[i>>2],f[i>>2]=s,t&&(nt(t+12|0,f[t+16>>2]),lt(t,f[t+4>>2]),ee(t)),i=i+4|0,(0|c)!=(0|(n=n+4|0)););if((0|(n=f[a+28>>2]))==(0|i))break r}for(;t=f[(n=n-4|0)>>2],f[n>>2]=0,t&&(nt(t+12|0,f[t+16>>2]),lt(t,f[t+4>>2]),ee(t)),(0|i)!=(0|n););}f[a+28>>2]=i;break e}if((0|t)==(0|(i=i+4|0)))break}e:if(!((0|o)>4)){r:if(n=p(o,12)+e|0,(0|(i=f[n+20>>2]))!=(0|(t=f[n+24>>2]))){for(;;){if(f[i>>2]==(0|r))break r;if((0|t)==(0|(i=i+4|0)))break}break e}(0|i)!=(0|t)&&((t=t-(a=i+4|0)|0)&&Se(i,a,t),f[n+24>>2]=i+t)}if(n=f[e+20>>2],i=f[e+24>>2]-n|0){if(c=1&(a=(t=i>>2)>>>0>1?t:1),i=0,t>>>0>=2)for(a&=-2,t=0;(0|(A=f[(s=(o=i<<2)+n|0)>>2]))>(0|r)&&(f[s>>2]=A-1),(0|(s=f[(o=n+(4|o)|0)>>2]))>(0|r)&&(f[o>>2]=s-1),i=i+2|0,(0|a)!=(0|(t=t+2|0)););c&&((0|(t=f[(i=n+(i<<2)|0)>>2]))<=(0|r)||(f[i>>2]=t-1))}if(n=f[e+32>>2],i=f[e+36>>2]-n|0){if(c=1&(a=(t=i>>2)>>>0>1?t:1),i=0,t>>>0>=2)for(a&=-2,t=0;(0|(A=f[(s=(o=i<<2)+n|0)>>2]))>(0|r)&&(f[s>>2]=A-1),(0|(s=f[(o=n+(4|o)|0)>>2]))>(0|r)&&(f[o>>2]=s-1),i=i+2|0,(0|a)!=(0|(t=t+2|0)););c&&((0|(t=f[(i=n+(i<<2)|0)>>2]))<=(0|r)||(f[i>>2]=t-1))}if(n=f[e+44>>2],i=f[e+48>>2]-n|0){if(c=1&(a=(t=i>>2)>>>0>1?t:1),i=0,t>>>0>=2)for(a&=-2,t=0;(0|(A=f[(s=(o=i<<2)+n|0)>>2]))>(0|r)&&(f[s>>2]=A-1),(0|(s=f[(o=n+(4|o)|0)>>2]))>(0|r)&&(f[o>>2]=s-1),i=i+2|0,(0|a)!=(0|(t=t+2|0)););c&&((0|(t=f[(i=n+(i<<2)|0)>>2]))<=(0|r)||(f[i>>2]=t-1))}if(n=f[e+56>>2],i=f[e+60>>2]-n|0){if(c=1&(a=(t=i>>2)>>>0>1?t:1),i=0,t>>>0>=2)for(a&=-2,t=0;(0|(A=f[(s=(o=i<<2)+n|0)>>2]))>(0|r)&&(f[s>>2]=A-1),(0|(s=f[(o=n+(4|o)|0)>>2]))>(0|r)&&(f[o>>2]=s-1),i=i+2|0,(0|a)!=(0|(t=t+2|0)););c&&((0|(t=f[(i=n+(i<<2)|0)>>2]))<=(0|r)||(f[i>>2]=t-1))}if(i=(t=f[e+72>>2])-(e=f[e+68>>2])|0){if(a=1&(n=(t=i>>2)>>>0>1?t:1),i=0,t>>>0>=2)for(n&=-2,t=0;(0|(s=f[(o=(c=i<<2)+e|0)>>2]))>(0|r)&&(f[o>>2]=s-1),(0|(o=f[(c=e+(4|c)|0)>>2]))>(0|r)&&(f[c>>2]=o-1),i=i+2|0,(0|n)!=(0|(t=t+2|0)););a&&((0|(t=r))>=(0|(r=f[(e=e+(i<<2)|0)>>2]))||(f[e>>2]=r-1))}}}function ee(e){var r=0,t=0,i=0,n=0,a=0,o=0,s=0,c=0,A=0;e:if(e|=0){a=(i=e-8|0)+(e=-8&(r=f[e-4>>2]))|0;r:if(!(1&r)){if(!(3&r))break e;if((i=i-(r=f[i>>2])|0)>>>0<l[2885])break e;if(e=e+r|0,f[2886]==(0|i)){if(3==(3&(r=f[a+4>>2])))return f[2883]=e,f[a+4>>2]=-2&r,f[i+4>>2]=1|e,void(f[e+i>>2]=e)}else{if(r>>>0<=255){if(n=f[i+8>>2],r=r>>>3|0,(0|(t=f[i+12>>2]))==(0|n)){c=11524,A=f[2881]&Vt(r),f[c>>2]=A;break r}f[n+12>>2]=t,f[t+8>>2]=n;break r}if(s=f[i+24>>2],(0|i)==(0|(r=f[i+12>>2])))if((t=f[(n=i+20|0)>>2])||(t=f[(n=i+16|0)>>2])){for(;o=n,(t=f[(n=(r=t)+20|0)>>2])||(n=r+16|0,t=f[r+16>>2]););f[o>>2]=0}else r=0;else t=f[i+8>>2],f[t+12>>2]=r,f[r+8>>2]=t;if(!s)break r;n=f[i+28>>2];t:{if(f[(t=11828+(n<<2)|0)>>2]==(0|i)){if(f[t>>2]=r,r)break t;c=11528,A=f[2882]&Vt(n),f[c>>2]=A;break r}if(f[s+(f[s+16>>2]==(0|i)?16:20)>>2]=r,!r)break r}if(f[r+24>>2]=s,(t=f[i+16>>2])&&(f[r+16>>2]=t,f[t+24>>2]=r),!(t=f[i+20>>2]))break r;f[r+20>>2]=t,f[t+24>>2]=r}}if(!(i>>>0>=a>>>0)&&1&(r=f[a+4>>2])){r:{if(!(2&r)){if(f[2887]==(0|a)){if(f[2887]=i,e=f[2884]+e|0,f[2884]=e,f[i+4>>2]=1|e,f[2886]!=(0|i))break e;return f[2883]=0,void(f[2886]=0)}if(f[2886]==(0|a))return f[2886]=i,e=f[2883]+e|0,f[2883]=e,f[i+4>>2]=1|e,void(f[e+i>>2]=e);e=(-8&r)+e|0;t:if(r>>>0<=255){if(n=f[a+8>>2],r=r>>>3|0,(0|(t=f[a+12>>2]))==(0|n)){c=11524,A=f[2881]&Vt(r),f[c>>2]=A;break t}f[n+12>>2]=t,f[t+8>>2]=n}else{if(s=f[a+24>>2],(0|a)==(0|(r=f[a+12>>2])))if((t=f[(n=a+20|0)>>2])||(t=f[(n=a+16|0)>>2])){for(;o=n,(t=f[(n=(r=t)+20|0)>>2])||(n=r+16|0,t=f[r+16>>2]););f[o>>2]=0}else r=0;else t=f[a+8>>2],f[t+12>>2]=r,f[r+8>>2]=t;if(s){n=f[a+28>>2];i:{if(f[(t=11828+(n<<2)|0)>>2]==(0|a)){if(f[t>>2]=r,r)break i;c=11528,A=f[2882]&Vt(n),f[c>>2]=A;break t}if(f[s+(f[s+16>>2]==(0|a)?16:20)>>2]=r,!r)break t}f[r+24>>2]=s,(t=f[a+16>>2])&&(f[r+16>>2]=t,f[t+24>>2]=r),(t=f[a+20>>2])&&(f[r+20>>2]=t,f[t+24>>2]=r)}}if(f[i+4>>2]=1|e,f[e+i>>2]=e,f[2886]!=(0|i))break r;return void(f[2883]=e)}f[a+4>>2]=-2&r,f[i+4>>2]=1|e,f[e+i>>2]=e}if(e>>>0<=255)return r=11564+((e=e>>>3|0)<<3)|0,(t=f[2881])&(e=1<<e)?e=f[r+8>>2]:(f[2881]=e|t,e=r),f[r+8>>2]=i,f[e+12>>2]=i,f[i+12>>2]=r,void(f[i+8>>2]=e);n=31,f[i+16>>2]=0,f[i+20>>2]=0,e>>>0<=16777215&&(r=e>>>8|0,r<<=o=r+1048320>>>16&8,n=28+((r=((r<<=n=r+520192>>>16&4)<<(t=r+245760>>>16&2)>>>15|0)-(t|n|o)|0)<<1|e>>>r+21&1)|0),f[i+28>>2]=n,o=11828+(n<<2)|0;r:{t:{if((t=f[2882])&(r=1<<n)){for(n=e<<(31==(0|n)?0:25-(n>>>1|0)|0),r=f[o>>2];;){if(t=r,(-8&f[r+4>>2])==(0|e))break t;if(r=n>>>29|0,n<<=1,!(r=f[16+(o=t+(4&r)|0)>>2]))break}f[o+16>>2]=i,f[i+24>>2]=t}else f[2882]=r|t,f[o>>2]=i,f[i+24>>2]=o;f[i+12>>2]=i,f[i+8>>2]=i;break r}e=f[t+8>>2],f[e+12>>2]=i,f[t+8>>2]=i,f[i+24>>2]=0,f[i+12>>2]=t,f[i+8>>2]=e}e=f[2889]-1|0,f[2889]=e||-1}}}function re(e,r,t,i){var n,o=0,s=0,c=0,A=0,b=0,_=k(0),p=0,d=0,h=k(0);n=f[t>>2];e:{r:if(s=f[r+4>>2]){t:{if((c=Nt(s))>>>0>=2){if((o=n)>>>0>=s>>>0&&(o=(n>>>0)%(s>>>0)|0),!(t=f[f[r>>2]+(o<<2)>>2]))break r;if(c>>>0<=1)break t;for(;;){if(!(t=f[t>>2]))break r;if((0|(c=f[t+4>>2]))!=(0|n)&&(s>>>0<=c>>>0&&(c=(c>>>0)%(s>>>0)|0),(0|o)!=(0|c)))break r;if(f[t+8>>2]==(0|n))break}r=0;break e}if(o=s-1&n,!(t=f[f[r>>2]+(o<<2)>>2]))break r}for(c=s-1|0;;){if(!(t=f[t>>2]))break r;if((0|(A=f[t+4>>2]))!=(0|n)&(c&A)!=(0|o))break r;if(f[t+8>>2]==(0|n))break}r=0;break e}if(t=_t(16),i=f[f[i>>2]>>2],f[t+12>>2]=0,f[t+8>>2]=i,f[t+4>>2]=n,f[t>>2]=0,h=k(f[r+12>>2]+1>>>0),_=u[r+16>>2],!s||h>k(_*k(s>>>0))){c=0!=(s-1&s)|s>>>0<3|s<<1,o=2,1!=(0|(i=(i=(_=k(g(k(h/_))))<k(4294967296)&_>=k(0)?~~_>>>0:0)>>>0>c>>>0?i:c))&&(i&i-1?(o=F(i),s=f[r+4>>2]):o=i);r:{if(o>>>0<=s>>>0){if(o>>>0>=s>>>0)break r;if(c=s>>>0<3,i=(_=k(g(k(k(l[r+12>>2])/u[r+16>>2]))))<k(4294967296)&_>=k(0)?~~_>>>0:0,(o=(i=c||Nt(s)>>>0>1?F(i):i>>>0<2?i:1<<32-m(i-1|0))>>>0>o>>>0?i:o)>>>0>=s>>>0)break r}s=0,A=o;t:{i:{n:{a:{if(o){if(A>>>0>=1073741824)break a;if(o=_t(A<<2),i=f[r>>2],f[r>>2]=o,i&&ee(i),f[r+4>>2]=A,o=0,A-1>>>0>=3)for(c=-4&A;f[(i=o<<2)+f[r>>2]>>2]=0,f[f[r>>2]+(4|i)>>2]=0,f[f[r>>2]+(8|i)>>2]=0,f[f[r>>2]+(12|i)>>2]=0,o=o+4|0,(0|c)!=(0|(s=s+4|0)););if(i=3&A)for(;f[f[r>>2]+(o<<2)>>2]=0,o=o+1|0,(0|i)!=(0|(b=b+1|0)););if(!(s=f[r+8>>2]))break t;if(i=r+8|0,c=f[s+4>>2],(o=Nt(A))>>>0<2)break n;if(c=c>>>0>=A>>>0?(c>>>0)%(A>>>0)|0:c,f[f[r>>2]+(c<<2)>>2]=i,!(i=f[s>>2]))break t;if(o>>>0<=1)break i;for(;;){if(A>>>0<=(b=f[i+4>>2])>>>0&&(b=(b>>>0)%(A>>>0)|0),(0|c)!=(0|b))if(o=i,d=(p=b<<2)+f[r>>2]|0,f[d>>2]){for(;b=o,o=f[o>>2],f[i+8>>2]==f[o+8>>2]&&o;);f[s>>2]=o,f[b>>2]=f[f[p+f[r>>2]>>2]>>2],f[f[p+f[r>>2]>>2]>>2]=i}else f[d>>2]=s,s=i,c=b;else s=i;if(!(i=f[s>>2]))break}break t}i=f[r>>2],f[r>>2]=0,i&&ee(i),f[r+4>>2]=0;break t}Hr(1326),T()}if(c&=A-1,f[f[r>>2]+(c<<2)>>2]=i,!(i=f[s>>2]))break t}for(p=A-1|0;;){if((0|(A=p&f[i+4>>2]))!=(0|c))if(o=i,d=(b=A<<2)+f[r>>2]|0,f[d>>2]){for(;A=o,o=f[o>>2],f[i+8>>2]==f[o+8>>2]&&o;);f[s>>2]=o,f[A>>2]=f[f[b+f[r>>2]>>2]>>2],f[f[b+f[r>>2]>>2]>>2]=i}else f[d>>2]=s,s=i,c=A;else s=i;if(!(i=f[s>>2]))break}}}o=(i=(s=f[r+4>>2])-1|0)&s?s>>>0>n>>>0?n:(n>>>0)%(s>>>0)|0:i&n}o=f[r>>2]+(o<<2)|0;r:if(i=f[o>>2])f[t>>2]=f[i>>2],f[i>>2]=t;else{if(f[t>>2]=f[r+8>>2],f[r+8>>2]=t,f[o>>2]=r+8,!(i=f[t>>2]))break r;i=f[i+4>>2],(o=s-1|0)&s?i>>>0<s>>>0||(i=(i>>>0)%(s>>>0)|0):i&=o,f[f[r>>2]+(i<<2)>>2]=t}f[r+12>>2]=f[r+12>>2]+1,r=1}a[e+4|0]=r,f[e>>2]=t}function te(e){var r=0,t=0,i=0,n=0,a=0,o=0,s=0,c=0,A=0,b=0;f[e+56>>2]=f[e+52>>2],f[e+44>>2]=f[e+40>>2];e:{r:{t:{if(n=f[e+64>>2],(0|(t=f[n+24>>2]))!=f[n+28>>2])for(;;){i=r;i:if(-1!=(0|(c=f[(b<<2)+t>>2]))){if((0|(r=f[e+56>>2]))==f[e+60>>2]){if((r=1+(o=(n=r-(t=f[e+52>>2])|0)>>2)|0)>>>0>=1073741824)break t;if(a=n>>1,a=o>>>0<536870911?r>>>0>a>>>0?r:a:1073741823){if(a>>>0>=1073741824)break e;r=_t(a<<2)}else r=0;f[(o=r+(o<<2)|0)>>2]=i,(0|n)>0&&ge(r,t,n),f[e+60>>2]=r+(a<<2),f[e+56>>2]=o+4,f[e+52>>2]=r,t&&ee(t)}else f[r>>2]=i,f[e+56>>2]=r+4;n:if(f[f[e+12>>2]+(b>>>3&536870908)>>2]>>>b&1&&-1!=(0|(r=((r=c+1|0)>>>0)%3|0?r:c-2|0))&&(n=f[e>>2],!(f[n+(r>>>3&536870908)>>2]>>>r&1)&&-1!=(0|(r=f[f[f[e+64>>2]+12>>2]+(r<<2)>>2]))&&-1!=(0|(t=((t=r+1|0)>>>0)%3|0?t:r-2|0))))for(a=f[e+64>>2];;){if(c=t,-1==(0|(r=((r=t+1|0)>>>0)%3|0?r:t-2|0))|f[n+(r>>>3&536870908)>>2]>>>r&1)break n;if(-1==(0|(r=f[f[a+12>>2]+(r<<2)>>2])))break n;if(-1==(0|(t=((t=r+1|0)>>>0)%3|0?t:r-2|0)))break}if(f[f[e+28>>2]+(c<<2)>>2]=i,(0|(r=f[e+44>>2]))==f[e+48>>2]){if((r=1+(o=(n=r-(t=f[e+40>>2])|0)>>2)|0)>>>0>=1073741824)break r;if(a=n>>1,a=o>>>0<536870911?r>>>0>a>>>0?r:a:1073741823){if(a>>>0>=1073741824)break e;r=_t(a<<2)}else r=0;f[(o=r+(o<<2)|0)>>2]=c,(0|n)>0&&ge(r,t,n),f[e+48>>2]=r+(a<<2),f[e+44>>2]=o+4,f[e+40>>2]=r,t&&ee(t)}else f[r>>2]=c,f[e+44>>2]=r+4;if(r=i+1|0,n=f[e+64>>2],(c>>>0)%3|0)t=c-1|0;else if(-1==(0|(t=c+2|0)))break i;if(-1!=(0|(t=f[f[n+12>>2]+(t<<2)>>2]))&&!(-1==(0|(t=t+((t>>>0)%3|0?-1:2)|0))|(0|t)==(0|c)))for(;;){if(n=((n=t+1|0)>>>0)%3|0?n:t-2|0,f[f[e>>2]+(n>>>3&536870908)>>2]>>>n&1){if((0|(i=f[e+56>>2]))==f[e+60>>2]){if((i=1+(s=(a=i-(n=f[e+52>>2])|0)>>2)|0)>>>0>=1073741824)break t;if(o=a>>1,o=s>>>0<536870911?i>>>0>o>>>0?i:o:1073741823){if(o>>>0>=1073741824)break e;i=_t(o<<2)}else i=0;f[(s=i+(s<<2)|0)>>2]=r,(0|a)>0&&ge(i,n,a),f[e+60>>2]=i+(o<<2),f[e+56>>2]=s+4,f[e+52>>2]=i,n&&ee(n)}else f[i>>2]=r,f[e+56>>2]=i+4;if(n=r+1|0,(0|(i=f[e+44>>2]))==f[e+48>>2]){if((i=1+(A=(o=i-(a=f[e+40>>2])|0)>>2)|0)>>>0>=1073741824)break r;if(s=o>>1,s=A>>>0<536870911?i>>>0>s>>>0?i:s:1073741823){if(s>>>0>=1073741824)break e;i=_t(s<<2)}else i=0;f[(A=i+(A<<2)|0)>>2]=t,(0|o)>0&&ge(i,a,o),f[e+48>>2]=i+(s<<2),f[e+44>>2]=A+4,f[e+40>>2]=i,a&&ee(a)}else f[i>>2]=t,f[e+44>>2]=i+4;i=r,r=n}if(f[f[e+28>>2]+(t<<2)>>2]=i,n=f[e+64>>2],(t>>>0)%3|0)t=t-1|0;else if(-1==(0|(t=t+2|0)))break i;if(-1==(0|(t=f[f[n+12>>2]+(t<<2)>>2])))break i;if(-1==(0|(t=t+((t>>>0)%3|0?-1:2)|0)))break i;if((0|t)==(0|c))break}}if(b=b+1|0,t=f[n+24>>2],!(b>>>0<f[n+28>>2]-t>>2>>>0))break}return}oi(),T()}oi(),T()}Hr(1326),T()}function ie(e,r){var t=0,i=0,n=0,a=0,o=0,s=0,c=0,A=0,b=0;if(-1==(0|r))return 1;if(t=(r>>>0)/3|0,!(f[f[e+24>>2]+(t>>>3&268435452)>>2]>>>t&1)){if(i=f[e+48>>2],f[e+52>>2]=i,(0|i)==f[e+56>>2]?(n=_t(4),f[n>>2]=r,a=n+4|0,f[e+56>>2]=a,f[e+52>>2]=a,f[e+48>>2]=n,i&&ee(i)):(f[i>>2]=r,f[e+52>>2]=i+4),a=f[f[e+4>>2]+28>>2],-1==(0|(i=f[a+((n=((i=r+1|0)>>>0)%3|0?i:r-2|0)<<2)>>2])))return 0;if(o=(r-p(t,3)|0?-1:2)+r|0,-1==(0|(t=f[a+(o<<2)>>2])))return 0;if(r=f[e+36>>2],(s=f[(a=r+(i>>>3&536870908)|0)>>2])&(c=1<<i)||(f[a>>2]=s|c,Ne(e+8|0,i,n),r=f[e+36>>2]),(i=f[(r=(t>>>3&536870908)+r|0)>>2])&(n=1<<t)||(f[r>>2]=i|n,Ne(e+8|0,t,o)),(0|(t=f[e+52>>2]))==f[e+48>>2])return 1;for(b=e+8|0;;){i=((r=f[(t=t-4|0)>>2])>>>0)/3|0;e:{r:if(-1!=(0|r)&&(n=f[e+24>>2]+(i>>>3&268435452)|0,!((a=f[n>>2])&(i=1<<i)))){if(f[n>>2]=i|a,n=f[e+4>>2],-1==(0|(i=f[f[n+28>>2]+(r<<2)>>2])))return 0;for(;;){t=r;t:{if(a=f[e+36>>2]+(i>>>3&536870908)|0,!((o=f[a>>2])&(s=1<<i)))if(-1==(0|(r=f[f[n+40>>2]+(i<<2)>>2]))||-1==(0|(r=((c=r+1|0)>>>0)%3|0?c:r-2|0))|f[f[n>>2]+(r>>>3&536870908)>>2]>>>r&1||-1==(0|(r=f[f[f[n+64>>2]+12>>2]+(r<<2)>>2])))f[a>>2]=o|s,Ne(b,i,t);else if(f[a>>2]=o|s,Ne(b,i,t),-1!=(0|(((i=r+1|0)>>>0)%3|0?i:r-2|0))){r=-1,n=f[e+4>>2],-1!=(0|t)&&(-1==(0|(i=((i=t+1|0)>>>0)%3|0?i:t-2|0))|f[f[n>>2]+(i>>>3&536870908)>>2]>>>i&1||(r=f[f[f[n+64>>2]+12>>2]+(i<<2)>>2])),s=1<<(i=(r>>>0)/3|0),t=f[e+24>>2],a=f[t+((c=i>>>5|0)<<2)>>2];break t}i:{if(-1!=(0|t)){i=-1,r=((r=t+1|0)>>>0)%3|0?r:t-2|0,n=f[e+4>>2],-1==(0|r)|f[f[n>>2]+(r>>>3&536870908)>>2]>>>r&1||(i=f[f[f[n+64>>2]+12>>2]+(r<<2)>>2]);n:{if((t>>>0)%3|0)t=t-1|0;else if(r=-1,-1==(0|(t=t+2|0)))break n;r=-1,f[f[n>>2]+(t>>>3&536870908)>>2]>>>t&1||(r=f[f[f[n+64>>2]+12>>2]+(t<<2)>>2])}if(o=(A=-1==(0|r))?-1:(r>>>0)/3|0,a=(i>>>0)/3|0,!((s=-1==(0|i))||(t=f[e+24>>2],(a=f[t+((c=(s=s?-1:a)>>>5|0)<<2)>>2])&(s=1<<s))))break i;if(!(A||(s=1<<o,t=f[e+24>>2],s&(a=f[t+((c=o>>>5|0)<<2)>>2]))))break t}t=f[e+52>>2]-4|0,f[e+52>>2]=t;break e}if(A)r=i;else if(f[(o>>>3&536870908)+t>>2]>>>o&1)r=i;else{if(t=f[e+52>>2],f[t-4>>2]=r,(0|t)!=f[e+56>>2]){f[t>>2]=i,t=t+4|0;break r}i:{if((r=1+(t=(a=t-(n=f[e+48>>2])|0)>>2)|0)>>>0<1073741824){if(o=a>>1,o=t>>>0<536870911?r>>>0>o>>>0?r:o:1073741823){if(o>>>0>=1073741824)break i;r=_t(o<<2)}else r=0;if(f[(t=r+(t<<2)|0)>>2]=i,t=t+4|0,(0|a)>0&&ge(r,n,a),f[e+56>>2]=r+(o<<2),f[e+52>>2]=t,f[e+48>>2]=r,!n)break e;ee(n),t=f[e+52>>2];break e}oi(),T()}Hr(1326),T()}}if(f[(c<<2)+t>>2]=a|s,-1==(0|(i=f[f[n+28>>2]+(r<<2)>>2])))break}return 0}f[e+52>>2]=t}if(f[e+48>>2]==(0|t))break}}return 1}function ne(e,r,t){var i,n=0,a=0,o=0,s=0,c=0,A=0,b=0,l=0,u=0,_=0,k=0,d=0,m=0;i=p(r,12)+e|0,f[i+12>>2]=f[i+8>>2],l=-1==(0|t)?-1:(t>>>0)/3|0,_=1,A=t;e:{r:{t:{for(;;){i:{if(k=1&a){if(-1==(0|A))break i;if(-1==(0|Qe(e,((A>>>0)%3|0?-1:2)+A|0)))break e;if(-1==(0|(n=((t=A+1|0)>>>0)%3|0?t:A-2|0)))break e;if(-1==(0|(t=((t=n+1|0)>>>0)%3|0?t:n-2|0)))break e;if(-1==(0|(n=f[f[f[e+4>>2]+12>>2]+(t<<2)>>2])))break e;if(-1==(0|(t=((t=n+1|0)>>>0)%3|0?t:n-2|0)))break e;l=(t>>>0)/3|0}if(b=1<<l,s=f[e+56>>2]+(l>>>3&536870908)|0,!(b&(u=f[s>>2]))){for(a=0;;){if(f[s>>2]=u|b,(0|(n=f[i+12>>2]))==f[i+16>>2]){if((c=1+(o=(b=n-(s=f[i+8>>2])|0)>>2)|0)>>>0>=1073741824)break t;if(n=b>>1,u=o>>>0<536870911?n>>>0<c>>>0?c:n:1073741823){if(u>>>0>=1073741824)break r;n=_t(u<<2)}else n=0;f[(c=n+(o<<2)|0)>>2]=l,(0|b)>0&&ge(n,s,b),f[i+8>>2]=n,f[i+12>>2]=c+4,f[i+16>>2]=n+(u<<2),s&&ee(s)}else f[n>>2]=l,f[i+12>>2]=n+4;c=a+1|0;n:{a:{if(a)if(1&c){if(-1==(0|t)){t=-1;break n}t=((n=t+1|0)>>>0)%3|0?n:t-2|0}else{if(A=k?t:A,-1==(0|t)){t=-1;break n}if((t>>>0)%3|0){a=t-1|0;break a}t=t+2|0}if(n=t,t=-1,a=n,-1==(0|n))break n}if(t=f[f[f[e+4>>2]+12>>2]+(a<<2)>>2],s=-1,u=-1,(0|(o=((n=a+1|0)>>>0)%3|0?n:a-2|0))>=0&&(n=(o>>>0)/3|0,u=f[(f[f[e>>2]+96>>2]+p(n,12)|0)+(o-p(n,3)<<2)>>2]),-1!=(0|t)?(b=0,(0|(o=((t>>>0)%3|0?-1:2)+t|0))<0||(n=(o>>>0)/3|0,s=f[(f[f[e>>2]+96>>2]+p(n,12)|0)+(o-p(n,3)<<2)>>2])):b=1,(0|s)==(0|u)){a:{o:{f:{s:{if((0|(a=((a>>>0)%3|0?-1:2)+a|0))>=0){if(n=(a>>>0)/3|0,s=f[(f[f[e>>2]+96>>2]+p(n,12)|0)+(a-p(n,3)<<2)>>2],a=-1,!b)break s;break f}if(s=-1,b)break o}(0|(a=((n=t+1|0)>>>0)%3|0?n:t-2|0))<0?a=-1:(n=(a>>>0)/3|0,a=f[(f[f[e>>2]+96>>2]+p(n,12)|0)+(a-p(n,3)<<2)>>2])}if((0|a)!=(0|s)){t=-1;break n}if(-1!=(0|t))break a;t=-1;break n}if(-1==(0|t)){t=-1;break n}}if(a=c,l=(t>>>0)/3|0,s=f[e+56>>2]+(l>>>3&268435452)|0,!((u=f[s>>2])&(b=1<<l)))continue}else t=-1}break}!k|!(1&c)||(o=f[i+12>>2]-4|0,c=f[o>>2],a=f[e+56>>2]+(c>>>3&536870908)|0,n=f[a>>2],d=a,m=Vt(c)&n,f[d>>2]=m,f[i+12>>2]=o)}if(a=1,n=_,_=0,n)continue;break e}break}A=-1,Qe(e,-1);break e}oi(),T()}Hr(1326),T()}if(f[44+((r<<2)+e|0)>>2]=A,o=f[i+8>>2],r=f[i+12>>2]-o|0){if(A=f[e+56>>2],c=1&(e=(r>>=2)>>>0>1?r:1),t=0,r>>>0>=2)for(_=-2&e,l=0;n=f[(a=t<<2)+o>>2],e=f[(r=A+(n>>>3&536870908)|0)>>2],d=r,m=Vt(n)&e,f[d>>2]=m,n=f[o+(4|a)>>2],e=f[(r=A+(n>>>3&536870908)|0)>>2],d=r,m=Vt(n)&e,f[d>>2]=m,t=t+2|0,(0|_)!=(0|(l=l+2|0)););c&&(t=f[o+(t<<2)>>2],e=f[(r=A+(t>>>3&536870908)|0)>>2],d=r,m=Vt(t)&e,f[d>>2]=m)}}function ae(e,r){var t=0,i=0,n=0,a=0,o=0,s=0,c=0,A=0;if(-1==(0|r))return 1;if(i=(r>>>0)/3|0,!(f[f[e+24>>2]+(i>>>3&268435452)>>2]>>>i&1)){if(t=f[e+48>>2],f[e+52>>2]=t,(0|t)==f[e+56>>2]?(n=_t(4),f[n>>2]=r,a=n+4|0,f[e+56>>2]=a,f[e+52>>2]=a,f[e+48>>2]=n,t&&ee(t)):(f[t>>2]=r,f[e+52>>2]=t+4),n=-1,a=f[e+4>>2],-1!=(0|(o=((t=r+1|0)>>>0)%3|0?t:r-2|0))&&(n=f[f[a>>2]+(o<<2)>>2]),s=r-p(i,3)|0)t=r-1|0;else if(-1==(0|(t=r+2|0)))return 0;if(-1==(0|n))return 0;if(-1==(0|(i=f[f[a>>2]+(t<<2)>>2])))return 0;if(t=f[e+36>>2],(c=f[(a=t+(n>>>3&536870908)|0)>>2])&(A=1<<n)||(f[a>>2]=c|A,Ne(e+8|0,n,o),t=f[e+36>>2]),(n=f[(t=(i>>>3&536870908)+t|0)>>2])&(a=1<<i)||(f[t>>2]=n|a,Ne(e+8|0,i,(s?-1:2)+r|0)),(0|(t=f[e+52>>2]))==f[e+48>>2])return 1;for(A=e+8|0;;){i=((r=f[(t=t-4|0)>>2])>>>0)/3|0;e:{r:if(-1!=(0|r)&&(n=f[e+24>>2]+(i>>>3&268435452)|0,!((a=f[n>>2])&(i=1<<i)))){for(f[n>>2]=i|a;;){if(i=f[e+4>>2],-1==(0|(t=f[f[i>>2]+(r<<2)>>2])))return 0;t:{if(n=f[e+36>>2]+(t>>>3&536870908)|0,!((a=f[n>>2])&(o=1<<t)))if(-1!=(0|(s=f[f[i+24>>2]+(t<<2)>>2]))&&-1!=(0|(s=((c=s+1|0)>>>0)%3|0?c:s-2|0))&&-1!=(0|(i=f[f[i+12>>2]+(s<<2)>>2]))){if(f[n>>2]=a|o,Ne(A,t,r),-1!=(0|(((t=i+1|0)>>>0)%3|0?t:i-2|0))){i=r-2|0,t=r+1|0,r=-1,-1!=(0|(t=(t>>>0)%3|0?t:i))&&(r=f[f[f[e+4>>2]+12>>2]+(t<<2)>>2]),o=1<<(t=(r>>>0)/3|0),n=f[e+24>>2],i=f[n+((s=t>>>5|0)<<2)>>2];break t}}else f[n>>2]=a|o,Ne(A,t,r);t=-1,a=f[e+4>>2],-1!=(0|(i=((i=r+1|0)>>>0)%3|0?i:r-2|0))&&(t=f[f[a+12>>2]+(i<<2)>>2]);i:{if((r>>>0)%3|0)n=r-1|0;else if(n=r+2|0,r=-1,-1==(0|n))break i;r=f[f[a+12>>2]+(n<<2)>>2]}if(a=(c=-1==(0|r))?-1:(r>>>0)/3|0,i=(t>>>0)/3|0,(o=-1==(0|t))||(n=f[e+24>>2],(i=f[n+((s=(o=o?-1:i)>>>5|0)<<2)>>2])&(o=1<<o))){if(!(c||(o=1<<a,n=f[e+24>>2],o&(i=f[n+((s=a>>>5|0)<<2)>>2]))))break t;t=f[e+52>>2]-4|0,f[e+52>>2]=t;break e}if(c)r=t;else if(f[(a>>>3&536870908)+n>>2]>>>a&1)r=t;else{if(i=f[e+52>>2],f[i-4>>2]=r,(0|i)!=f[e+56>>2]){f[i>>2]=t,t=i+4|0;break r}i:{if((r=1+(o=(n=(r=i)-(i=f[e+48>>2])|0)>>2)|0)>>>0<1073741824){if(a=n>>1,a=o>>>0<536870911?r>>>0>a>>>0?r:a:1073741823){if(a>>>0>=1073741824)break i;r=_t(a<<2)}else r=0;if(f[(o=r+(o<<2)|0)>>2]=t,t=o+4|0,(0|n)>0&&ge(r,i,n),f[e+56>>2]=r+(a<<2),f[e+52>>2]=t,f[e+48>>2]=r,!i)break e;ee(i),t=f[e+52>>2];break e}oi(),T()}Hr(1326),T()}}if(f[(s<<2)+n>>2]=i|o,-1==(0|r))break}return 0}f[e+52>>2]=t}if(f[e+48>>2]==(0|t))break}}return 1}function oe(e,r,t){r|=0,t|=0;var i=0,n=0,o=0,s=0,c=0,b=0,l=0,u=0,_=0,k=0,d=0,m=0;e:if(!((0|(d=0|yi[f[f[(e|=0)>>2]+44>>2]](e)))<=0)&&(n=f[r+4>>2]-f[r>>2]>>2,V=s=V+-64|0,i=$r(s),o=p(f[2549],d),bt(i,f[f[e+8>>2]+56>>2],d<<24>>24,5,0,o,o>>31),i=Ke(o=_t(96),i),a[i+84|0]=1,f[i+72>>2]=f[i+68>>2],He(i,n),f[i+60>>2]=f[f[e+8>>2]+60>>2],i=f[e+16>>2],f[e+16>>2]=o,i&&Jr(i),V=s- -64|0,s=f[e+16>>2],f[s+80>>2]&&(b=f[f[s>>2]>>2])&&!((0|(c=f[t+12>>2]))<=(0|(i=f[t+20>>2]))&(l=f[t+8>>2])>>>0<=(o=f[t+16>>2])>>>0|(0|i)>(0|c)))){u=p(n,d),b=b+f[s+48>>2]|0,_=f[t>>2],k=A[_+o|0],n=(s=o+1|0)?i:i+1|0,f[t+16>>2]=s,f[t+20>>2]=n;r:{t:{i:{if(k){if(M(u,d,t,b))break i;break e}if((0|n)>=(0|c)&s>>>0>=l>>>0|(0|n)>(0|c))break e;s=A[s+_|0],i=(n=o+2|0)>>>0<2?i+1|0:i,f[t+16>>2]=n,f[t+20>>2]=i,i=f[f[e+16>>2]+64>>2],i=f[i+4>>2]-f[i>>2]|0;n:{if((0|s)==f[2549]){if((n=i)>>>0<(i=u<<2)>>>0)break e;if(c=f[t+8>>2],s=f[t+12>>2],n=f[t+20>>2],(0|(n=(o=i+(l=f[t+16>>2])|0)>>>0<i>>>0?n+1|0:n))<=(0|s)&o>>>0<=c>>>0|(0|n)<(0|s))break n;break e}if(i>>>0<p(s,u)>>>0)break e;if(c=f[t+12>>2],n=f[t+20>>2],(o=_=f[t+8>>2])-(l=f[t+16>>2])>>>0<Pr(i=s,0,u,0)>>>0&(0|(o=c-(n+(o>>>0<l>>>0)|0)|0))<=(0|(k=D))|(0|o)<(0|k))break e;if(o=1,!u)break t;if(o=0,(k=_)>>>0<(_=i+l|0)>>>0&(0|(n=_>>>0<i>>>0?n+1|0:n))>=(0|c)|(0|n)>(0|c))break r;for(;;){if(ge(b+(m<<2)|0,l+f[t>>2]|0,s),n=f[t+20>>2],n=(c=i+f[t+16>>2]|0)>>>0<i>>>0?n+1|0:n,l=c,f[t+16>>2]=c,f[t+20>>2]=n,(0|u)==(0|(m=m+1|0)))break i;if(k=f[t+8>>2],!((0|(n=(_=i+l|0)>>>0<i>>>0?n+1|0:n))<=(0|(c=f[t+12>>2]))&_>>>0<=k>>>0|(0|n)<(0|c)))break}break r}ge(b,l+f[t>>2]|0,i),n=i,s=i+f[t+16>>2]|0,i=f[t+20>>2],f[t+16>>2]=s,f[t+20>>2]=n>>>0>s>>>0?i+1|0:i}if(o=1,u&&!((i=f[e+20>>2])&&(o=0,0|yi[f[f[i>>2]+32>>2]](i)))){if(i=0,o=0,!((0|u)<=0)){if(1!=(0|u))for(c=-2&u;s=f[(n=i<<2)+b>>2],f[n+b>>2]=0-(1&s)^s>>>1,n=f[(s=4|n)+b>>2],f[s+b>>2]=0-(1&n)^n>>>1,i=i+2|0,(0|c)!=(0|(o=o+2|0)););1&u&&(i=f[(n=i<<2)+b>>2],f[n+b>>2]=0-(1&i)^i>>>1)}o=0}}if(i=f[e+20>>2]){if(!(0|yi[f[f[i>>2]+40>>2]](i,t)))break e;if(!(o||(o=0,e=f[e+20>>2],0|yi[f[f[e>>2]+44>>2]](e,b,b,u,d,f[r>>2]))))break r}o=1}return 0|o}return 0}function fe(e,r){e|=0;var t,i=0,n=0,o=0,s=0,c=0,b=0,l=0,u=0,_=0;V=t=V-32|0;e:{r:if(gr(1,t+28|0,r|=0))t:{if(n=f[t+28>>2]){if(Ge(e+60|0,n),f[(i=t+8|0)>>2]=0,f[i+4>>2]=0,a[i+5|0]=0,a[i+6|0]=0,a[i+7|0]=0,a[i+8|0]=0,a[i+9|0]=0,a[i+10|0]=0,a[i+11|0]=0,a[i+12|0]=0,!Ve(i,r))break t;for(;s=1<<o,b=jr(i),c=f[e+60>>2]+(o>>>3&536870908)|0,b?s|=f[c>>2]:s=f[c>>2]&(-1^s),f[c>>2]=s,(0|n)!=(0|(o=o+1|0)););}if(!gr(1,t+28|0,r))break r;if(n=f[t+28>>2]){if(o=0,Ge(e+72|0,n),f[(i=t+8|0)>>2]=0,f[i+4>>2]=0,a[i+5|0]=0,a[i+6|0]=0,a[i+7|0]=0,a[i+8|0]=0,a[i+9|0]=0,a[i+10|0]=0,a[i+11|0]=0,a[i+12|0]=0,!Ve(i,r))break t;for(;s=1<<o,b=jr(i),c=f[e+72>>2]+(o>>>3&536870908)|0,b?s|=f[c>>2]:s=f[c>>2]&(-1^s),f[c>>2]=s,(0|n)!=(0|(o=o+1|0)););}if(!gr(1,t+28|0,r))break r;if(n=f[t+28>>2]){if(o=0,Ge(e+84|0,n),f[(i=t+8|0)>>2]=0,f[i+4>>2]=0,a[i+5|0]=0,a[i+6|0]=0,a[i+7|0]=0,a[i+8|0]=0,a[i+9|0]=0,a[i+10|0]=0,a[i+11|0]=0,a[i+12|0]=0,!Ve(i,r))break t;for(;s=1<<o,b=jr(i),c=f[e+84>>2]+(o>>>3&536870908)|0,b?s|=f[c>>2]:s=f[c>>2]&(-1^s),f[c>>2]=s,(0|n)!=(0|(o=o+1|0)););}if(!gr(1,t+28|0,r))break r;if(n=f[t+28>>2]){if(o=0,Ge(e+96|0,n),f[(i=t+8|0)>>2]=0,f[i+4>>2]=0,a[i+5|0]=0,a[i+6|0]=0,a[i+7|0]=0,a[i+8|0]=0,a[i+9|0]=0,a[i+10|0]=0,a[i+11|0]=0,a[i+12|0]=0,!Ve(i,r))break t;for(;s=1<<o,b=jr(i),c=f[e+96>>2]+(o>>>3&536870908)|0,b?s|=f[c>>2]:s=f[c>>2]&(-1^s),f[c>>2]=s,(0|n)!=(0|(o=o+1|0)););}if(o=0,s=n=f[r+12>>2],c=i=f[r+20>>2],i=(l=(b=f[r+16>>2])+4|0)>>>0<4?i+1|0:i,(u=f[r+8>>2])>>>0<l>>>0&(0|i)>=(0|n)|(0|i)>(0|n))break e;if(_=f[r>>2],n=A[0|(n=_+b|0)]|A[n+1|0]<<8|A[n+2|0]<<16|A[n+3|0]<<24,f[r+16>>2]=l,f[r+20>>2]=i,i=c,b=c=b+8|0,c=i=c>>>0<8?i+1|0:i,b>>>0>u>>>0&(0|i)>=(0|s)|(0|i)>(0|s))break e;if(i=A[0|(i=l+_|0)]|A[i+1|0]<<8|A[i+2|0]<<16|A[i+3|0]<<24,f[r+16>>2]=b,f[r+20>>2]=c,(0|i)<(0|n))break e;if(f[e+16>>2]=i,f[e+12>>2]=n,!(r=(i>>31)-((n>>31)+(i>>>0<n>>>0)|0)|0)&(i=i-n|0)>>>0>2147483646|r)break e;if(o=1,r=i+1|0,f[e+20>>2]=r,i=r>>>1|0,f[e+24>>2]=i,f[e+28>>2]=0-i,1&r)break e;f[e+24>>2]=i-1;break e}o=0}return V=t+32|0,0|o}function se(e,r){var t=0,i=0,n=0,a=0,o=0,s=0,c=0,l=0,u=0,_=0,p=0,k=0,d=0;e:if(b[r+38>>1]&&Cr(1,e+12|0,r)){if(a=f[e+12>>2],t=f[e>>2],a>>>0>(i=f[e+4>>2]-t>>2)>>>0?(sr(e,a-i|0),a=f[e+12>>2]):i>>>0<=a>>>0||(f[e+4>>2]=t+(a<<2)),!a)return 1;for(l=f[r+8>>2],c=f[r+12>>2],_=f[e>>2];;){if((0|c)<=(0|(i=f[r+20>>2]))&l>>>0<=(t=f[r+16>>2])>>>0|(0|i)>(0|c))return 0;p=f[r>>2],u=A[p+t|0],i=(t=t+1|0)?i:i+1|0,s=t,f[r+16>>2]=t,f[r+20>>2]=i,t=u>>>2|0,n=0;r:{t:{i:{n:switch(0|(k=3&u)){case 3:break n;case 0:break t;default:break i}if((i=t+o|0)>>>0>=a>>>0)return 0;Je(_+(o<<2)|0,0,4+(252&u)|0),o=i;break r}for(;;){if((0|i)>=(0|c)&s>>>0>=l>>>0|(0|i)>(0|c))break e;if(a=A[s+p|0],i=(s=s+1|0)?i:i+1|0,f[r+16>>2]=s,f[r+20>>2]=i,t|=a<<(n<<3|6),(0|k)==(0|(n=n+1|0)))break}}f[_+(o<<2)>>2]=t}if(!((a=f[e+12>>2])>>>0>(o=o+1|0)>>>0))break}if(i=e+16|0,u=f[e>>2],r=f[e+16>>2],(o=(t=f[e+20>>2]-r|0)>>2)>>>0<=4095?sr(i,4096-o|0):16384!=(0|t)&&(f[e+20>>2]=r+16384),o=f[(r=e+28|0)>>2],(t=f[e+32>>2]-o>>3)>>>0<a>>>0)cr(r,a-t|0),o=f[r>>2];else if(t>>>0>a>>>0&&(f[e+32>>2]=(a<<3)+o),!a)break e;for(n=0,e=0;;){if(c=f[(r=u+(n<<2)|0)>>2],t=e,f[4+(s=(n<<3)+o|0)>>2]=e,f[s>>2]=c,(e=(c=f[r>>2])+e|0)>>>0>4096)break e;if(!(e>>>0<=t>>>0)){if(s=f[i>>2],r=0,l=7&c)for(;f[s+(t<<2)>>2]=n,t=t+1|0,(0|l)!=(0|(r=r+1|0)););if(!(c-1>>>0<=6))for(;f[(r=s+(t<<2)|0)>>2]=n,f[r+28>>2]=n,f[r+24>>2]=n,f[r+20>>2]=n,f[r+16>>2]=n,f[r+12>>2]=n,f[r+8>>2]=n,f[r+4>>2]=n,(0|(t=t+8|0))!=(0|e););}if((0|a)==(0|(n=n+1|0)))break}d=4096==(0|e)}return d}function ce(e,r,t){e|=0,r|=0,t|=0;var i,n=0,a=0,o=0,s=0,c=0,A=0,b=0,l=0;V=i=V-16|0,f[i+8>>2]=t;e:if(!((0|(o=(a=f[e+12>>2])-(n=f[e+8>>2])>>2))>(0|r)))if((c=r+1|0)>>>0>o>>>0){if((o=c-o|0)>>>0<=(s=f[e+16>>2])-(n=f[e+12>>2])>>2>>>0){o&&(n=Je(a=n,0,n=o<<2)+n|0),f[e+12>>2]=n;break e}r:{t:{i:{if((a=(b=n-(c=f[e+8>>2])>>2)+o|0)>>>0<1073741824){if(l=(s=s-c|0)>>1,s=s>>2>>>0<536870911?a>>>0>l>>>0?a:l:1073741823){if(s>>>0>=1073741824)break i;A=_t(s<<2)}if(b=(o=Je(a=(b<<2)+A|0,0,b=o<<2))+b|0,s=(s<<2)+A|0,(0|n)==(0|c))break t;for(;o=f[(n=n-4|0)>>2],f[n>>2]=0,f[(a=a-4|0)>>2]=o,(0|n)!=(0|c););if(f[e+16>>2]=s,o=f[e+12>>2],f[e+12>>2]=b,n=f[e+8>>2],f[e+8>>2]=a,(0|n)==(0|o))break r;for(;a=f[(o=o-4|0)>>2],f[o>>2]=0,a&&Jr(a),(0|n)!=(0|o););break r}oi(),T()}Hr(1326),T()}f[e+16>>2]=s,f[e+12>>2]=b,f[e+8>>2]=o}n&&ee(n)}else if(!(o>>>0<=c>>>0)){if((0|(n=n+(c<<2)|0))!=(0|a)){for(;t=f[(a=a-4|0)>>2],f[a>>2]=0,t&&Jr(t),(0|n)!=(0|a););t=f[i+8>>2]}f[e+12>>2]=n}e:{r:{if(!((0|(n=f[t+56>>2]))>4))if(a=p(n,12)+e|0,(0|(n=f[a+24>>2]))==f[a+28>>2]){if((n=1+(A=(c=n-(o=f[a+20>>2])|0)>>2)|0)>>>0>=1073741824)break r;if(s=c>>1,s=A>>>0<536870911?n>>>0>s>>>0?n:s:1073741823){if(s>>>0>=1073741824)break e;n=_t(s<<2)}else n=0;f[(A=n+(A<<2)|0)>>2]=r,(0|c)>0&&ge(n,o,c),f[a+20>>2]=n,f[a+24>>2]=A+4,f[a+28>>2]=n+(s<<2),o&&ee(o)}else f[n>>2]=r,f[a+24>>2]=n+4;return f[t+60>>2]=r,e=f[e+8>>2],f[i+8>>2]=0,e=f[(r=e+(r<<2)|0)>>2],f[r>>2]=t,e&&Jr(e),e=f[i+8>>2],f[i+8>>2]=0,e&&Jr(e),void(V=i+16|0)}oi(),T()}Hr(1326),T()}function Ae(e,r){e|=0;var t,i=0,n=0,a=0,o=0,s=0,c=0,b=0,l=0,u=0,_=0,k=0,d=0,m=0,h=0,y=0;if(V=t=V-80|0,Tr(1,t+76|0,r|=0)&&(s=f[t+76>>2])&&!((n=Pr((n=f[r+8>>2])-(i=f[r+16>>2])|0,f[r+12>>2]-(f[r+20>>2]+(i>>>0>n>>>0)|0)|0,5,0))>>>0<s>>>0&(0|(i=D))<=0|(0|i)<0)){for(i=f[e+4>>2],(n=f[e+8>>2]-i>>2)>>>0<s>>>0?sr(e+4|0,s-n|0):n>>>0<=s>>>0||(f[e+8>>2]=i+(s<<2)),y=e+16|0,b=f[e+32>>2],l=1;!((0|(i=a=f[r+12>>2]))<=(0|(n=f[r+20>>2]))&(m=f[r+8>>2])>>>0<=(_=f[r+16>>2])>>>0|(0|i)<(0|n)||(h=f[r>>2],d=A[h+_|0],i=n,i=(o=_+1|0)?i:i+1|0,f[r+16>>2]=o,f[r+20>>2]=i,(0|i)>=(0|a)&o>>>0>=m>>>0|(0|i)>(0|a)||(o=A[o+h|0],i=n,i=(c=_+2|0)>>>0<2?i+1|0:i,f[r+16>>2]=c,f[r+20>>2]=i,(0|i)>=(0|a)&c>>>0>=m>>>0|(0|i)>(0|a)||(c=A[c+h|0],i=n,i=(k=_+3|0)>>>0<3?i+1|0:i,f[r+16>>2]=k,f[r+20>>2]=i,(0|i)>=(0|a)&k>>>0>=m>>>0|(0|i)>(0|a)||(a=A[k+h|0],i=n,i=(n=_+4|0)>>>0<4?i+1|0:i,f[r+16>>2]=n,f[r+20>>2]=i,!c|(o-12&255)>>>0<245|d>>>0>4||(i=$r(t+8|0),k=c<<24>>24,a=0!=(0|a),n=(n=o-1|0)>>>0<=10?f[10180+(n<<2)>>2]:-1,bt(i,d,k,o,a,n=p(n,c),n>>31),!Tr(1,t+4|0,r)||(o=f[t+4>>2],f[t+68>>2]=o,n=Ke(_t(96),i),yi[f[f[b>>2]+8>>2]](b,f[b+12>>2]-f[b+8>>2]>>2,n),n=(f[b+12>>2]-f[b+8>>2]>>2)-1|0,f[f[(d=n<<2)+f[b+8>>2]>>2]+60>>2]=o,f[f[e+4>>2]+(u<<2)>>2]=n,l=f[e+16>>2],(0|(i=f[e+20>>2]-l>>2))>(0|n)||(f[t>>2]=-1,(n=n+1|0)>>>0>i>>>0?(ve(y,n-i|0,t),l=f[y>>2]):i>>>0<=n>>>0||(f[e+20>>2]=(n<<2)+l)),f[l+d>>2]=u,l=(u=u+1|0)>>>0<s>>>0,(0|s)==(0|u)))))))););u=!l}return V=t+80|0,1&u}function be(e,r){var t,i,n=0,a=0,o=0,s=0,c=0,A=0,b=0,l=0,u=0;V=t=V-16|0,f[t>>2]=r,c=-1,-1!=(0|r)?(n=r+1|0,f[t+4>>2]=(n>>>0)%3|0?n:r-2|0,c=(r>>>0)%3|0?r-1|0:r+2|0):f[t+4>>2]=-1,f[t+8>>2]=c,i=-1==(0|r)?-1:(r>>>0)/3|0;e:{r:{t:{i:{for(;;){n:if(-1!=(0|r)&&-1!=(0|(n=f[f[f[e+8>>2]+12>>2]+(r<<2)>>2]))){if(!((n>>>0)/3>>>0<i>>>0)&&(c=0,f[e+220>>2]!=f[e+216>>2]))for(;;){if(jr(f[e+368>>2]+(c<<4)|0))if(s=f[e+216>>2]+p(c,144)|0,(n=f[s+136>>2])>>>0<(a=f[s+140>>2])>>>0)f[n>>2]=r,f[s+136>>2]=n+4;else{if((n=1+(o=(b=n-(A=f[s+132>>2])|0)>>2)|0)>>>0>=1073741824)break r;if(l=o<<2,o=(a=a-A|0)>>1,a=a>>2>>>0<536870911?n>>>0>o>>>0?n:o:1073741823){if(a>>>0>=1073741824)break e;n=_t(a<<2)}else n=0;f[(o=l+n|0)>>2]=r,(0|b)>0&&ge(n,A,b),f[s+132>>2]=n,f[s+136>>2]=o+4,f[s+140>>2]=n+(a<<2),A&&ee(A)}if(!((c=c+1|0)>>>0<(f[e+220>>2]-f[e+216>>2]|0)/144>>>0))break}}else{if(c=0,(0|(n=f[e+216>>2]))==f[e+220>>2])break n;for(;;){if(s=p(c,144)+n|0,(n=f[s+136>>2])>>>0<(a=f[s+140>>2])>>>0)f[n>>2]=r,f[s+136>>2]=n+4;else{if((n=1+(o=(b=n-(A=f[s+132>>2])|0)>>2)|0)>>>0>=1073741824)break i;if(l=o<<2,o=(a=a-A|0)>>1,a=a>>2>>>0<536870911?n>>>0>o>>>0?n:o:1073741823){if(a>>>0>=1073741824)break t;n=_t(a<<2)}else n=0;f[(o=l+n|0)>>2]=r,(0|b)>0&&ge(n,A,b),f[s+132>>2]=n,f[s+136>>2]=o+4,f[s+140>>2]=n+(a<<2),A&&ee(A)}if(c=c+1|0,n=f[e+216>>2],!(c>>>0<(f[e+220>>2]-n|0)/144>>>0))break}}if(3==(0|(u=u+1|0)))break;r=f[(u<<2)+t>>2]}return V=t+16|0,1}oi(),T()}Hr(1326),T()}oi(),T()}Hr(1326),T()}function le(e,r){var t,i=0,n=0,o=0,s=0,c=0,u=0,_=0,k=0,d=0,m=0;V=t=V-16|0,k=-1;e:{r:{t:if(Nr(1,t+12|0,r)){if(n=f[t+12>>2]){if(i=f[e+8>>2],n>>>0>(f[i+4>>2]-f[i>>2]>>2>>>0)/3>>>0)break t;for(;;){if(!Nr(1,t+8|0,r))break t;if(i=f[t+8>>2],!Nr(1,t+8|0,r))break t;if((s=i+s|0)>>>0<(i=f[t+8>>2])>>>0)break t;if(c=s-i|0,(0|(i=f[e+40>>2]))==f[e+44>>2]){if((o=1+(u=(0|(_=(o=i)-(i=f[e+36>>2])|0))/12|0)|0)>>>0>=357913942)break r;if(d=u<<1,(o=u>>>0<178956970?o>>>0>d>>>0?o:d:357913941)>>>0>=357913942)break e;u=(d=_t(o=p(o,12)))+p(u,12)|0,f[u+4>>2]=s,f[u>>2]=c,c=u+p((0|_)/-12|0,12)|0,(0|_)>0&&ge(c,i,_),f[e+44>>2]=o+d,f[e+40>>2]=u+12,f[e+36>>2]=c,i&&ee(i)}else f[i+4>>2]=s,f[i>>2]=c,f[e+40>>2]=i+12;if((0|n)==(0|(m=m+1|0)))break}for(s=0,rt(r,0,0),u=n>>>0>1?n:1;;){n=A[r+36|0];i:{n:{if((65535&((i=b[f[e+4>>2]+36>>1])<<8|i>>>8))>>>0<=513){if(!n)break i;if(c=0,(n=(_=(i=f[r+32>>2])>>>3|0)+(k=f[r+24>>2])|0)>>>0>=(o=f[r+28>>2])>>>0?n=i:(c=A[0|n],n=i+1|0,f[r+32>>2]=n,_=n>>>3|0,c=c>>>(7&i)&1),o>>>0>_+k>>>0)break n;break i}if(!n)break i;if(c=0,n=f[r+32>>2],(i=f[r+24>>2]+(n>>>3|0)|0)>>>0>=l[r+28>>2])break i;c=A[0|i]>>>(7&n)&1}f[r+32>>2]=n+1}if(n=f[e+36>>2]+p(s,12)|0,a[n+8|0]=254&A[n+8|0]|1&c,(0|u)==(0|(s=s+1|0)))break}a[r+36|0]=0,i=f[r+20>>2],e=0,n=(s=(e=(n=f[r+32>>2]+7|0)>>>0<7?1:e)<<29|n>>>3)+f[r+16>>2]|0,e=(e>>>3|0)+i|0,f[r+16>>2]=n,f[r+20>>2]=n>>>0<s>>>0?e+1|0:e}k=f[r+16>>2]}return V=t+16|0,k}oi(),T()}Hr(1326),T()}function ue(e,r,t){var i=0,n=0,a=0,o=0,s=0,c=0,A=0,b=0,l=0;if(((n=f[e+8>>2])-(o=f[e+4>>2])|0)/12>>>0>=r>>>0){if(r){if(i=o,a=1+(((n=p(r,12)-12|0)>>>0)/12|0)&3)for(;A=f[t+4>>2],f[i>>2]=f[t>>2],f[i+4>>2]=A,f[i+8>>2]=f[t+8>>2],i=i+12|0,(0|a)!=(0|(s=s+1|0)););if(o=p(r,12)+o|0,!(n>>>0<36))for(;r=f[t+4>>2],f[i>>2]=f[t>>2],f[i+4>>2]=r,f[i+8>>2]=f[t+8>>2],f[i+20>>2]=f[t+8>>2],r=f[t+4>>2],f[i+12>>2]=f[t>>2],f[i+16>>2]=r,f[i+32>>2]=f[t+8>>2],r=f[t+4>>2],f[i+24>>2]=f[t>>2],f[i+28>>2]=r,r=f[t+4>>2],f[i+36>>2]=f[t>>2],f[i+40>>2]=r,f[i+44>>2]=f[t+8>>2],(0|o)!=(0|(i=i+48|0)););}f[e+4>>2]=o}else{e:{if((i=(c=(o-(a=f[e>>2])|0)/12|0)+r|0)>>>0<357913942){if(a=(n=(n-a|0)/12|0)<<1,a=n>>>0<178956970?i>>>0>a>>>0?i:a:357913941){if(a>>>0>=357913942)break e;A=_t(p(a,12))}if(i=n=p(c,12)+A|0,b=1+(((c=(r=p(r,12))-12|0)>>>0)/12|0)&3)for(i=n;l=f[t+4>>2],f[i>>2]=f[t>>2],f[i+4>>2]=l,f[i+8>>2]=f[t+8>>2],i=i+12|0,(0|b)!=(0|(s=s+1|0)););if(s=r+n|0,c>>>0>=36)for(;r=f[t+4>>2],f[i>>2]=f[t>>2],f[i+4>>2]=r,f[i+8>>2]=f[t+8>>2],f[i+20>>2]=f[t+8>>2],r=f[t+4>>2],f[i+12>>2]=f[t>>2],f[i+16>>2]=r,f[i+32>>2]=f[t+8>>2],r=f[t+4>>2],f[i+24>>2]=f[t>>2],f[i+28>>2]=r,r=f[t+4>>2],f[i+36>>2]=f[t>>2],f[i+40>>2]=r,f[i+44>>2]=f[t+8>>2],(0|s)!=(0|(i=i+48|0)););return r=f[e>>2],i=n+p((0|(t=o-r|0))/-12|0,12)|0,(0|t)>0&&ge(i,r,t),f[e+8>>2]=p(a,12)+A,f[e+4>>2]=s,f[e>>2]=i,void(r&&ee(r))}oi(),T()}Hr(1326),T()}}function _e(e,r,t,i){var n,a,o=0,s=0,c=0,A=0,b=0,l=0;if(n=f[r+16>>2],o=c=f[t+4>>2]-n|0,s=f[t>>2]-n|0,f[t>>2]=s,f[t+4>>2]=o,a=(0|(l=f[r+16>>2]))>=((A=(o>>=31)+c^o)+((o=s>>31)+s^o)|0))o=c;else{e:{r:{if((0|s)>=0){if(b=1,A=1,(0|c)>=0)break e;if(o=1,b=-1,A=-1,s)break r;break e}if(o=-1,b=-1,A=-1,(0|c)<=0)break e}b=(0|c)<=0?-1:1,A=o}o=(o=s<<1)-(s=p(A,l))|0,o=(((A=(0|p(b,A))>=0)?0-o|0:o)+(b=p(b,l))|0)/2|0,f[t+4>>2]=o,l=s,s=(c<<1)-b|0,s=(l+(A?0-s|0:s)|0)/2|0,f[t>>2]=s}e:{r:{t:{i:{n:{a:{o:{if(s){if((0|s)<0)break o;if((0|o)>=0)break a;break t}if(o)break n;b=1,c=0,o=0,A=0;break e}if(b=1,(0|o)>0)break i;A=(0|o)>0?253:0,c=o,o=s;break e}c=0-o|0,o=0-s|0,A=254;break r}if((0|o)<=0)break t}o=0-o|0,c=s,A=253;break r}c=0-s|0,A=255}f[t>>2]=o,f[t+4>>2]=c,b=0}t=f[i+4>>2]+c|0,(0|(s=f[i>>2]+o|0))>(0|(c=f[r+16>>2]))?s=s-f[r+4>>2]|0:(0-c|0)<=(0|s)||(s=f[r+4>>2]+s|0),(0|t)>(0|c)?t=t-f[r+4>>2]|0:(0-c|0)<=(0|t)||(t=f[r+4>>2]+t|0);e:if(b)r=t;else{r=t;r:switch((3&A)-1|0){case 0:r=0-s|0,s=t;break e;case 1:r=0-t|0,s=0-s|0;break e;case 2:break r;default:break e}r=s,s=0-t|0}if(a)t=r;else{e:{r:{if((0|s)>=0){if(t=1,o=1,(0|r)>=0)break e;if(i=1,t=-1,o=-1,s)break r;break e}if(i=-1,t=-1,o=-1,(0|r)<=0)break e}t=(0|r)<=0?-1:1,o=i}i=(i=s<<1)-(s=p(o,c))|0,f[e>>2]=i,l=0-i|0,A=i,t=(((i=(0|p(t,o))>=0)?l:A)+(o=p(t,c))|0)/2|0,r=(r<<1)-o|0,s=(s+(i?0-r|0:r)|0)/2|0}f[e>>2]=s+n,f[e+4>>2]=t+n}function pe(e,r,t,i){var n=0,o=0,s=0,c=0,b=0,l=0;if(!((0|(c=i-t|0))<=0)){e:{if((0|c)<=((o=f[e+8>>2])-(b=f[e+4>>2])|0)){if((0|(l=b-r|0))>=(0|c)){s=b,o=i;break e}if(s=b,(0|(o=t+l|0))!=(0|i))for(n=o;a[0|s]=A[0|n],s=s+1|0,(0|(n=n+1|0))!=(0|i););if(f[e+4>>2]=s,(0|l)>0)break e;return}if((0|(i=c+(b-(n=f[e>>2])|0)|0))>=0){if(l=(o=o-n|0)<<1,t=ge((s=r-n|0)+(i=(o=o>>>0<1073741823?i>>>0>l>>>0?i:l:2147483647)?_t(o):0)|0,t,c),(0|s)>0&&ge(i,n,s),t=t+c|0,(0|r)!=(0|b)){if(s=(-1^r)+b|0,c=b-r&7)for(n=0;a[0|t]=A[0|r],t=t+1|0,r=r+1|0,(0|c)!=(0|(n=n+1|0)););if(s>>>0>=7)for(;a[0|t]=A[0|r],a[t+1|0]=A[r+1|0],a[t+2|0]=A[r+2|0],a[t+3|0]=A[r+3|0],a[t+4|0]=A[r+4|0],a[t+5|0]=A[r+5|0],a[t+6|0]=A[r+6|0],a[t+7|0]=A[r+7|0],t=t+8|0,(0|b)!=(0|(r=r+8|0)););n=f[e>>2]}return f[e+8>>2]=i+o,f[e+4>>2]=t,f[e>>2]=i,void(n&&ee(n))}oi(),T()}if(b>>>0>(i=(n=s)-c|0)>>>0)for(;a[0|n]=A[0|i],n=n+1|0,b>>>0>(i=i+1|0)>>>0;);if(f[e+4>>2]=n,(e=s-(r+c|0)|0)&&Se(s-e|0,r,e),(0|t)!=(0|o)){if(e=(-1^t)+o|0,s=o-t&7)for(i=0,n=r;a[0|n]=A[0|t],n=n+1|0,t=t+1|0,(0|s)!=(0|(i=i+1|0)););else n=r;if(!(e>>>0<7))for(;a[0|n]=A[0|t],a[n+1|0]=A[t+1|0],a[n+2|0]=A[t+2|0],a[n+3|0]=A[t+3|0],a[n+4|0]=A[t+4|0],a[n+5|0]=A[t+5|0],a[n+6|0]=A[t+6|0],a[n+7|0]=A[t+7|0],n=n+8|0,(0|o)!=(0|(t=t+8|0)););}}}function ke(e,r,t,i){e|=0,t|=0,i|=0;var n,o=0,s=0,c=0,b=0,l=0,u=0,_=0,k=0,d=0,m=0,h=0,y=0;V=n=V-16|0,b=f[80+(r|=0)>>2],e=a[t+24|0],o=p(b,e);e:{r:{if(!(5==(0|(r=f[t+28>>2]))|6==(0|r))|!A[t+84|0]){if(f[n+8>>2]=0,f[n>>2]=0,f[n+4>>2]=0,e){if((0|e)<0)break r;c=_t(r=e<<2),f[n>>2]=c,s=r+c|0,f[n+8>>2]=s,Je(c,0,r),f[n+4>>2]=s}s=f[i>>2],(r=f[i+4>>2]-s>>2)>>>0<o>>>0?sr(i,o-r|0):r>>>0<=o>>>0||(f[i+4>>2]=s+(o<<2));t:if(b)if(e){for(h=-4&e,d=3&e,y=e-1>>>0<3,r=1,o=0;;){if(P(t,A[t+84|0]?o:f[f[t+68>>2]+(o<<2)>>2],a[t+24|0],c)){if(m=f[i>>2],k=0,s=f[n>>2],e=0,r=0,!y)for(;_=e<<2,f[(u=(l<<2)+m|0)>>2]=f[s+_>>2],f[u+4>>2]=f[s+(4|_)>>2],f[u+8>>2]=f[s+(8|_)>>2],f[u+12>>2]=f[s+(12|_)>>2],e=e+4|0,l=l+4|0,(0|h)!=(0|(r=r+4|0)););if(d)for(;f[(l<<2)+m>>2]=f[s+(e<<2)>>2],e=e+1|0,l=l+1|0,(0|(k=k+1|0))!=(0|d););if(r=b>>>0>(o=o+1|0)>>>0,(0|o)!=(0|b))continue}break}c=f[n>>2]}else for(e=0,r=1;;){if(!P(t,A[t+84|0]?e:f[f[t+68>>2]+(e<<2)>>2],a[t+24|0],c))break t;if(r=b>>>0>(e=e+1|0)>>>0,(0|e)==(0|b))break}else r=0;c&&ee(c),e=1^r}else{if(c=f[t+48>>2],b=f[f[t>>2]>>2],r=0,f[n+8>>2]=0,f[n>>2]=0,f[n+4>>2]=0,t=0,e=o<<2){if((0|e)<0)break r;l=(r=ge(t=_t(e),c+b|0,e))+e|0,r=r+(e>>2<<2)|0}(e=f[i>>2])&&(f[i+4>>2]=e,ee(e)),f[i+8>>2]=r,f[i+4>>2]=l,f[i>>2]=t,e=1}V=n+16|0,e&=1;break e}oi(),T()}return 0|e}function de(e){var r,t=0,i=0,n=0,a=0;if(f[(e|=0)>>2]=8364,(t=f[196+(r=e+232|0)>>2])&&(f[r+200>>2]=t,ee(t)),i=f[r+184>>2]){if((0|i)==(0|(t=f[r+188>>2])))t=i;else{for(;(a=f[(n=t-12|0)>>2])&&(f[t-8>>2]=a,ee(a)),(0|i)!=(0|(t=n)););t=f[r+184>>2]}f[r+188>>2]=i,ee(t)}if((t=f[r+156>>2])&&(f[r+160>>2]=t,ee(t)),i=f[r+136>>2],f[r+136>>2]=0,i){if(t=f[(n=i-4|0)>>2])for(t=i+(t<<4)|0;(0|i)!=(0|(t=t-16|0)););ee(n)}if(i=f[e+216>>2]){if((0|i)==(0|(t=f[e+220>>2])))t=i;else{for(;(n=f[t-12>>2])&&(f[t-8>>2]=n,ee(n)),(n=f[t-28>>2])&&(f[t-24>>2]=n,ee(n)),(n=f[t-40>>2])&&(f[t-36>>2]=n,ee(n)),Zr(t-140|0),(0|i)!=(0|(t=t-144|0)););t=f[e+216>>2]}f[e+220>>2]=i,ee(t)}if((t=f[e+196>>2])&&(f[e+200>>2]=t,ee(t)),(t=f[e+184>>2])&&(f[e+188>>2]=t,ee(t)),(t=f[e+172>>2])&&(f[e+176>>2]=t,ee(t)),(t=f[e+160>>2])&&(f[e+164>>2]=t,ee(t)),t=f[e+144>>2])for(;i=f[t>>2],ee(t),t=i;);return t=f[e+136>>2],f[e+136>>2]=0,t&&ee(t),(t=f[e+120>>2])&&ee(t),(t=f[e+108>>2])&&ee(t),(t=f[e+96>>2])&&ee(t),(t=f[e+72>>2])&&(f[e+76>>2]=t,ee(t)),(t=f[e+60>>2])&&ee(t),(t=f[e+48>>2])&&(f[e+52>>2]=t,ee(t)),(t=f[e+36>>2])&&(f[e+40>>2]=t,ee(t)),(t=f[e+24>>2])&&(f[e+28>>2]=t,ee(t)),(t=f[e+12>>2])&&(f[e+16>>2]=t,ee(t)),t=f[e+8>>2],f[e+8>>2]=0,t&&Br(t),0|e}function me(e,r){e|=0;var t,i=0,n=0,o=0,s=0,c=0,b=0,u=0,_=0,p=0;if(V=t=V-16|0,i=f[20+(r|=0)>>2],i=(c=(n=f[r+16>>2])+4|0)>>>0<4?i+1|0:i,!((0|(o=f[r+12>>2]))<=(0|i)&c>>>0>l[r+8>>2]|(0|i)>(0|o))&&(n=n+f[r>>2]|0,n=A[0|n]|A[n+1|0]<<8|A[n+2|0]<<16|A[n+3|0]<<24,f[r+16>>2]=c,f[r+20>>2]=i,!((0|n)<0)&&(Ge(e+76|0,n),f[(i=t)>>2]=0,f[i+4>>2]=0,a[i+5|0]=0,a[i+6|0]=0,a[i+7|0]=0,a[i+8|0]=0,a[i+9|0]=0,a[i+10|0]=0,a[i+11|0]=0,a[i+12|0]=0,Ve(i,r)))){if(n)for(o=1;s=1<<b,u=jr(i),c=f[e+76>>2]+(b>>>3&536870908)|0,1&(o^=u)?s=f[c>>2]&(-1^s):s|=f[c>>2],o^=1,f[c>>2]=s,(0|n)!=(0|(b=b+1|0)););b=0,c=n=f[r+12>>2],o=i=f[r+20>>2],i=(u=(s=f[r+16>>2])+4|0)>>>0<4?i+1|0:i,(_=f[r+8>>2])>>>0<u>>>0&(0|i)>=(0|n)|(0|i)>(0|n)||(p=f[r>>2],n=A[0|(n=p+s|0)]|A[n+1|0]<<8|A[n+2|0]<<16|A[n+3|0]<<24,f[r+16>>2]=u,f[r+20>>2]=i,i=o,s=o=s+8|0,o=i=o>>>0<8?i+1|0:i,s>>>0>_>>>0&(0|i)>=(0|c)|(0|i)>(0|c)||(i=A[0|(i=u+p|0)]|A[i+1|0]<<8|A[i+2|0]<<16|A[i+3|0]<<24,f[r+16>>2]=s,f[r+20>>2]=o,(0|i)<(0|n)||(f[e+16>>2]=i,f[e+12>>2]=n,!(r=(i>>31)-((n>>31)+(i>>>0<n>>>0)|0)|0)&(i=i-n|0)>>>0>2147483646|r||(b=1,r=i+1|0,f[e+20>>2]=r,i=r>>>1|0,f[e+24>>2]=i,f[e+28>>2]=0-i,1&r||(f[e+24>>2]=i-1)))))}return V=t+16|0,0|b}function he(e,r){var t=0,i=0,n=0,a=0,o=0;a=-1,i=-1,-1!=(0|r)&&(a=((i=r+1|0)>>>0)%3|0?i:r-2|0,i=r-1|0,(r>>>0)%3|0||(i=r+2|0));e:{r:{t:switch(f[e+168>>2]){case 0:case 1:n=f[e+148>>2],t=1,o=(r=f[e+156>>2])+((-1!=(0|a)?f[f[n>>2]+(a<<2)>>2]:-1)<<2)|0,f[o>>2]=f[o>>2]+1,r=((-1!=(0|i)?f[f[n>>2]+(i<<2)>>2]:-1)<<2)+r|0;break r;case 5:n=f[e+148>>2],t=-1,t=(-1!=(0|r)?f[f[n>>2]+(r<<2)>>2]:t)<<2,r=f[e+156>>2],f[(t=t+r|0)>>2]=f[t>>2]+1,t=((-1!=(0|a)?f[f[n>>2]+(a<<2)>>2]:-1)<<2)+r|0,f[t>>2]=f[t>>2]+1,t=2,r=((-1!=(0|i)?f[f[n>>2]+(i<<2)>>2]:-1)<<2)+r|0;break r;case 3:n=f[e+148>>2],t=-1,t=(-1!=(0|r)?f[f[n>>2]+(r<<2)>>2]:t)<<2,r=f[e+156>>2],f[(t=t+r|0)>>2]=f[t>>2]+1,t=((-1!=(0|a)?f[f[n>>2]+(a<<2)>>2]:-1)<<2)+r|0,f[t>>2]=f[t>>2]+2,t=1,r=((-1!=(0|i)?f[f[n>>2]+(i<<2)>>2]:-1)<<2)+r|0;break r;case 7:break t;default:break e}n=f[e+148>>2],t=-1,t=(-1!=(0|r)?f[f[n>>2]+(r<<2)>>2]:t)<<2,r=f[e+156>>2],f[(t=t+r|0)>>2]=f[t>>2]+2,t=((-1!=(0|a)?f[f[n>>2]+(a<<2)>>2]:-1)<<2)+r|0,f[t>>2]=f[t>>2]+2,t=2,r=((-1!=(0|i)?f[f[n>>2]+(i<<2)>>2]:-1)<<2)+r|0}f[r>>2]=f[r>>2]+t}t=e,i=f[e+180>>2],r=f[f[e+156>>2]+((-1!=(0|a)?f[f[f[e+148>>2]>>2]+(a<<2)>>2]:-1)<<2)>>2],e=f[e+176>>2],f[t+172>>2]=(0|e)>(0|r)?0:((0|r)>(0|i)?i:r)-e|0}function ye(e,r,t){var i=0,n=0,a=0,o=0,s=0,c=0,A=0,b=0;if((i=f[e+8>>2])-(n=f[e>>2])>>2>>>0>=r>>>0){if(a=r>>>0>(s=(o=f[e+4>>2])-n>>2)>>>0?s:r){if(b=a-1|0,c=7&a)for(i=n;f[i>>2]=f[t>>2],a=a-1|0,i=i+4|0,(0|(A=A+1|0))!=(0|c););else i=n;if(!(b>>>0<7))for(;f[i>>2]=f[t>>2],f[i+4>>2]=f[t>>2],f[i+8>>2]=f[t>>2],f[i+12>>2]=f[t>>2],f[i+16>>2]=f[t>>2],f[i+20>>2]=f[t>>2],f[i+24>>2]=f[t>>2],f[i+28>>2]=f[t>>2],i=i+32|0,a=a-8|0;);}if(r>>>0>s>>>0){if(i=e,e=r-s|0)for(e=(e<<2)+o|0;f[o>>2]=f[t>>2],(0|e)!=(0|(o=o+4|0)););else e=o;return void(f[i+4>>2]=e)}f[e+4>>2]=n+(r<<2)}else if(n&&(f[e+4>>2]=n,ee(n),f[e+8>>2]=0,f[e>>2]=0,f[e+4>>2]=0,i=0),r>>>0>=1073741824||(n=i>>1,(i=i>>2>>>0<536870911?r>>>0>n>>>0?r:n:1073741823)>>>0>=1073741824))oi(),T();else{if(n=_t(i<<=2),f[e>>2]=n,f[e+8>>2]=i+n,t=f[t>>2],i=n,s=1+((o=(r<<=2)-4|0)>>>2|0)&7)for(;f[i>>2]=t,i=i+4|0,(0|s)!=(0|(a=a+1|0)););if(r=r+n|0,o>>>0>=28)for(;f[i+28>>2]=t,f[i+24>>2]=t,f[i+20>>2]=t,f[i+16>>2]=t,f[i+12>>2]=t,f[i+8>>2]=t,f[i+4>>2]=t,f[i>>2]=t,(0|r)!=(0|(i=i+32|0)););f[e+4>>2]=r}}function ve(e,r,t){var i=0,n=0,a=0,o=0,s=0,c=0,A=0,b=0,l=0;if((a=f[e+8>>2])-(n=f[e+4>>2])>>2>>>0>=r>>>0){if(r){if(i=n,s=1+((o=(r<<2)-4|0)>>>2|0)&7)for(;f[i>>2]=f[t>>2],i=i+4|0,(0|s)!=(0|(c=c+1|0)););if(n=(r<<2)+n|0,!(o>>>0<28))for(;f[i>>2]=f[t>>2],f[i+4>>2]=f[t>>2],f[i+8>>2]=f[t>>2],f[i+12>>2]=f[t>>2],f[i+16>>2]=f[t>>2],f[i+20>>2]=f[t>>2],f[i+24>>2]=f[t>>2],f[i+28>>2]=f[t>>2],(0|n)!=(0|(i=i+32|0)););}f[e+4>>2]=n}else{e:{if((i=(n=(b=n-(o=f[e>>2])|0)>>2)+r|0)>>>0<1073741824){if(A=(a=a-o|0)>>1,a=a>>2>>>0<536870911?i>>>0>A>>>0?i:A:1073741823){if(a>>>0>=1073741824)break e;s=_t(a<<2)}if(i=n=(n<<2)+s|0,l=1+((A=(r<<=2)-4|0)>>>2|0)&7)for(i=n;f[i>>2]=f[t>>2],i=i+4|0,(0|l)!=(0|(c=c+1|0)););if(r=r+n|0,A>>>0>=28)for(;f[i>>2]=f[t>>2],f[i+4>>2]=f[t>>2],f[i+8>>2]=f[t>>2],f[i+12>>2]=f[t>>2],f[i+16>>2]=f[t>>2],f[i+20>>2]=f[t>>2],f[i+24>>2]=f[t>>2],f[i+28>>2]=f[t>>2],(0|r)!=(0|(i=i+32|0)););return(0|b)>0&&ge(s,o,b),f[e+8>>2]=(a<<2)+s,f[e+4>>2]=r,f[e>>2]=s,void(o&&ee(o))}oi(),T()}Hr(1326),T()}}function ge(e,r,t){var i,n=0,o=0;if(t>>>0>=512)return E(0|e,0|r,0|t),e;i=e+t|0;e:if(3&(e^r))if(i>>>0<4)t=e;else if((n=i-4|0)>>>0<e>>>0)t=e;else for(t=e;a[0|t]=A[0|r],a[t+1|0]=A[r+1|0],a[t+2|0]=A[r+2|0],a[t+3|0]=A[r+3|0],r=r+4|0,n>>>0>=(t=t+4|0)>>>0;);else{r:if(3&e)if(t)for(t=e;;){if(a[0|t]=A[0|r],r=r+1|0,!(3&(t=t+1|0)))break r;if(!(t>>>0<i>>>0))break}else t=e;else t=e;if(!((n=-4&i)>>>0<64||(o=n+-64|0)>>>0<t>>>0))for(;f[t>>2]=f[r>>2],f[t+4>>2]=f[r+4>>2],f[t+8>>2]=f[r+8>>2],f[t+12>>2]=f[r+12>>2],f[t+16>>2]=f[r+16>>2],f[t+20>>2]=f[r+20>>2],f[t+24>>2]=f[r+24>>2],f[t+28>>2]=f[r+28>>2],f[t+32>>2]=f[r+32>>2],f[t+36>>2]=f[r+36>>2],f[t+40>>2]=f[r+40>>2],f[t+44>>2]=f[r+44>>2],f[t+48>>2]=f[r+48>>2],f[t+52>>2]=f[r+52>>2],f[t+56>>2]=f[r+56>>2],f[t+60>>2]=f[r+60>>2],r=r- -64|0,o>>>0>=(t=t- -64|0)>>>0;);if(t>>>0>=n>>>0)break e;for(;f[t>>2]=f[r>>2],r=r+4|0,n>>>0>(t=t+4|0)>>>0;);}if(t>>>0<i>>>0)for(;a[0|t]=A[0|r],r=r+1|0,(0|i)!=(0|(t=t+1|0)););return e}function we(e){var r,t=0,i=0,n=0;if(f[(e|=0)>>2]=8312,r=f[e+368>>2],f[e+368>>2]=0,r){if(t=f[(n=r-4|0)>>2])for(i=(t<<4)+r|0;(0|r)!=(0|(i=i-16|0)););ee(n)}if(n=f[e+216>>2]){if((0|n)==(0|(i=f[e+220>>2])))t=n;else{for(;(t=f[i-12>>2])&&(f[i-8>>2]=t,ee(t)),(t=f[i-28>>2])&&(f[i-24>>2]=t,ee(t)),(t=f[i-40>>2])&&(f[i-36>>2]=t,ee(t)),Zr(i-140|0),(0|n)!=(0|(i=i-144|0)););t=f[e+216>>2]}f[e+220>>2]=n,ee(t)}if((t=f[e+196>>2])&&(f[e+200>>2]=t,ee(t)),(t=f[e+184>>2])&&(f[e+188>>2]=t,ee(t)),(t=f[e+172>>2])&&(f[e+176>>2]=t,ee(t)),(t=f[e+160>>2])&&(f[e+164>>2]=t,ee(t)),i=f[e+144>>2])for(;t=f[i>>2],ee(i),i=t,t;);return t=f[e+136>>2],f[e+136>>2]=0,t&&ee(t),(t=f[e+120>>2])&&ee(t),(t=f[e+108>>2])&&ee(t),(t=f[e+96>>2])&&ee(t),(t=f[e+72>>2])&&(f[e+76>>2]=t,ee(t)),(t=f[e+60>>2])&&ee(t),(t=f[e+48>>2])&&(f[e+52>>2]=t,ee(t)),(t=f[e+36>>2])&&(f[e+40>>2]=t,ee(t)),(t=f[e+24>>2])&&(f[e+28>>2]=t,ee(t)),(t=f[e+12>>2])&&(f[e+16>>2]=t,ee(t)),t=f[e+8>>2],f[e+8>>2]=0,t&&Br(t),0|e}function Te(e,r,t,i){var n,a=0,o=0,f=0,s=0,c=0,A=0,b=0,l=0;n=t;e:{r:{t:{i:{n:{a:{o:{f:{s:{c:{A:{if(r){if(!n)break A;if(!i)break c;if((t=m(i)-m(r)|0)>>>0<=31)break s;break t}if(1==(0|i)|i>>>0>1)break t;e=(e>>>0)/(n>>>0)|0,D=0;break e}if(!e)break f;if(!i)break o;if(i-1&i)break o;e=r>>>It(i)|0,D=0;break e}if(!(n-1&n))break a;a=0-(f=(m(n)+33|0)-m(r)|0)|0;break i}f=t+1|0,a=63-t|0;break i}e=(r>>>0)/(i>>>0)|0,D=0;break e}if((t=m(i)-m(r)|0)>>>0<31)break n;break t}if(1==(0|n))break r;i=31&(t=It(n)),(63&t)>>>0>=32?(t=0,e=r>>>i|0):(t=r>>>i|0,e=((1<<i)-1&r)<<32-i|e>>>i),D=t;break e}f=t+1|0,a=63-t|0}if(o=31&(t=63&f),t>>>0>=32?(t=0,c=r>>>o|0):(t=r>>>o|0,c=((1<<o)-1&r)<<32-o|e>>>o),o=t,a=31&(t=63&a),t>>>0>=32?(t=e<<a,e=0):(t=(1<<a)-1&e>>>32-a|r<<a,e<<=a),r=t,f)for(t=i-1|0,b=-1!=(0|(a=n-1|0))?t+1|0:t;c=(t=c<<1|r>>>31)-(A=n&(s=b-((o=o<<1|c>>>31)+(t>>>0>a>>>0)|0)>>31))|0,o=o-((i&s)+(t>>>0<A>>>0)|0)|0,r=r<<1|e>>>31,e=l|e<<1,l=s&=1,f=f-1|0;);D=r<<1|e>>>31,e=s|e<<1;break e}e=0,r=0}D=r}return e}function Ce(e,r){var t=0,i=0,n=0;t=(0|e)==(0|r),a[r+12|0]=t;e:if(!t)for(;;){if(i=f[r+8>>2],A[i+12|0])break e;r:{if(t=f[i+8>>2],(0|i)!=(0|(n=f[t>>2]))){if(!(A[n+12|0]|!n))break r;f[i>>2]==(0|r)?(e=f[r+4>>2],f[i>>2]=e,e&&(f[e+8>>2]=i,t=f[i+8>>2]),f[r+8>>2]=t,e=f[i+8>>2],f[(((0|i)!=f[e>>2])<<2)+e>>2]=r,f[r+4>>2]=i,f[i+8>>2]=r,t=f[r+8>>2]):r=i,a[r+12|0]=1,a[t+12|0]=0,e=f[t+4>>2],r=f[e>>2],f[t+4>>2]=r,r&&(f[r+8>>2]=t),f[e+8>>2]=f[t+8>>2],r=f[t+8>>2],f[((f[r>>2]!=(0|t))<<2)+r>>2]=e,f[e>>2]=t,r=t+8|0}else{if(!(!(n=f[t+4>>2])|A[n+12|0]))break r;f[i>>2]!=(0|r)?(r=f[i+4>>2],e=f[r>>2],f[i+4>>2]=e,e&&(f[e+8>>2]=i,t=f[i+8>>2]),f[r+8>>2]=t,e=f[i+8>>2],f[(((0|i)!=f[e>>2])<<2)+e>>2]=r,f[r>>2]=i,f[i+8>>2]=r,t=f[r+8>>2]):r=i,a[r+12|0]=1,a[t+12|0]=0,e=f[t>>2],r=f[e+4>>2],f[t>>2]=r,r&&(f[r+8>>2]=t),f[e+8>>2]=f[t+8>>2],r=f[t+8>>2],f[((f[r>>2]!=(0|t))<<2)+r>>2]=e,f[e+4>>2]=t,r=t+8|0}f[r>>2]=e;break e}if(a[i+12|0]=1,i=(0|e)==(0|t),a[t+12|0]=i,a[n+12|0]=1,r=t,i)break}}function Ee(e,r,t){e|=0,r|=0,t|=0;var i,n=0,o=0,s=0,c=0,A=0,b=k(0),l=0,_=0,p=0,d=0,m=0,h=0,y=0,v=0,g=0,w=0,T=0;if(V=i=V-16|0,9==f[t+28>>2]){n=f[e+4>>2],o=(c=a[t+24|0])<<2,s=_t((1073741823&c)!=(0|c)?-1:o),f[(_=i+8|0)>>2]=1065353216,b=u[e+20>>2],(0|(n=-1<<n^-1))>0&&(u[_>>2]=b/k(0|n));e:if((m=(0|n)>0)&&(l=f[t+80>>2]))if(n=0,(0|c)<=0){if(1!=(0|l))for(e=-2&l,r=0;ge(f[f[t+64>>2]>>2]+n|0,s,o),ge((n=n+o|0)+f[f[t+64>>2]>>2]|0,s,o),n=n+o|0,(0|e)!=(0|(r=r+2|0)););if(!(1&l))break e;ge(f[f[t+64>>2]>>2]+n|0,s,o)}else for(h=f[f[r>>2]>>2]+f[r+48>>2]|0,w=-2&c,T=1&c;;){if(p=f[e+8>>2],b=u[_>>2],r=0,d=0,1!=(0|c))for(;y=(n<<2)+h|0,u[(A=r<<2)+s>>2]=k(b*k(f[y>>2]))+u[A+p>>2],u[(A|=4)+s>>2]=k(b*k(f[y+4>>2]))+u[A+p>>2],r=r+2|0,n=n+2|0,(0|w)!=(0|(d=d+2|0)););if(T&&(u[(r<<=2)+s>>2]=k(b*k(f[(n<<2)+h>>2]))+u[r+p>>2],n=n+1|0),ge(f[f[t+64>>2]>>2]+v|0,s,o),v=o+v|0,(0|(g=g+1|0))==(0|l))break}ee(s)}return V=i+16|0,0|m}function Ne(e,r,t){var i=0,n=0,a=0,o=0,s=0,c=0,A=0;i=(t>>>0)/3|0,o=f[(f[f[e+8>>2]+96>>2]+p(i,12)|0)+(t-p(i,3)<<2)>>2],n=f[f[e+12>>2]+4>>2];e:if((0|(i=f[n+4>>2]))==f[n+8>>2]){r:{if((i=1+(A=(c=i-(s=f[n>>2])|0)>>2)|0)>>>0<1073741824){if(a=c>>1,a=A>>>0<536870911?i>>>0>a>>>0?i:a:1073741823){if(a>>>0>=1073741824)break r;i=_t(a<<2)}else i=0;f[(A=i+(A<<2)|0)>>2]=o,(0|c)>0&&ge(i,s,c),f[n+8>>2]=i+(a<<2),f[n+4>>2]=A+4,f[n>>2]=i,s&&ee(s);break e}oi(),T()}Hr(1326),T()}else f[i>>2]=o,f[n+4>>2]=i+4;n=f[e+4>>2];e:{r:{if((0|(i=f[n+4>>2]))==f[n+8>>2]){if((i=1+(o=(c=i-(s=f[n>>2])|0)>>2)|0)>>>0>=1073741824)break r;if(a=c>>1,a=o>>>0<536870911?i>>>0>a>>>0?i:a:1073741823){if(a>>>0>=1073741824)break e;i=_t(a<<2)}else i=0;f[(o=i+(o<<2)|0)>>2]=t,(0|c)>0&&ge(i,s,c),f[n+8>>2]=i+(a<<2),f[n+4>>2]=o+4,f[n>>2]=i,s&&ee(s)}else f[i>>2]=t,f[n+4>>2]=i+4;return e=f[e+4>>2],f[f[e+12>>2]+(r<<2)>>2]=f[e+24>>2],void(f[e+24>>2]=f[e+24>>2]+1)}oi(),T()}Hr(1326),T()}function Ge(e,r){var t,i=0,n=0,a=0,o=0,s=0,c=0;V=t=V-16|0;e:{r:if((n=f[e+4>>2])>>>0<r>>>0){if((a=r-n|0)>>>0>(i=(s=f[e+8>>2])<<5)>>>0|n>>>0>i-a>>>0){if(f[t+8>>2]=0,f[t>>2]=0,f[t+4>>2]=0,(0|r)<0)break e;i>>>0<=1073741822?(i=r+31&-32,r=(r=s<<6)>>>0<i>>>0?i:r):r=2147483647,or(t,r),n=f[e+4>>2],f[t+4>>2]=n+a,c=f[e>>2],r=f[t>>2],(0|n)<=0||(r=Se(r,c,s=(i=n>>>5|0)<<2)+s|0,(0|(o=n-(i<<5)|0))<=0?o=0:(i=-1>>>32-o|0,f[r>>2]=f[r>>2]&(-1^i)|i&f[c+s>>2]),c=f[e>>2]),f[e>>2]=f[t>>2],f[t>>2]=c,i=f[e+4>>2],f[e+4>>2]=f[t+4>>2],f[t+4>>2]=i,i=f[e+8>>2],f[e+8>>2]=f[t+8>>2],f[t+8>>2]=i,c&&ee(c)}else f[e+4>>2]=r,o=31&n,r=f[e>>2]+(n>>>3&536870908)|0;if(!a)break r;if(o&&(e=(i=32-o|0)>>>0>a>>>0?a:i,f[r>>2]=f[r>>2]&(-1<<o&-1>>>i-e^-1),a=a-e|0,r=r+4|0),e=Je(r,0,i=a>>>5<<2),!(r=31&a))break r;f[(e=e+i|0)>>2]=f[e>>2]&(-1>>>32-r^-1)}else f[e+4>>2]=r;return void(V=t+16|0)}oi(),T()}function Re(e,r){var t=0,i=0,n=0,o=0,s=0,c=0,b=0,u=0;if((i=A[e+11|0]>>>7|0?f[e+4>>2]:A[e+11|0])>>>0<r>>>0)return V=c=V-16|0,(o=r-i|0)&&(b=(s=(r=A[e+11|0]>>>7|0)?f[e+4>>2]:A[e+11|0])+o|0,(r=r?(2147483647&f[e+8>>2])-1|0:10)-s>>>0<o>>>0&&(V=i=V-16|0,(t=b-r|0)>>>0<=-17-r>>>0?(u=A[e+11|0]>>>7|0?f[e>>2]:e,r>>>0<2147483623?(f[i+8>>2]=r<<1,f[i+12>>2]=r+t,V=t=V-16|0,V=t+16|0,t=i+8|0,t=(t=f[(l[(n=i+12|0)>>2]<l[t>>2]?t:n)>>2])>>>0>=11?11==(0|(t=(n=t+16&-16)-1|0))?n:t:10):t=-18,t=_t(n=t+1|0),s&&qt(t,u,s),10!=(0|r)&&ee(u),f[e>>2]=t,f[e+8>>2]=-2147483648|n,V=i+16|0):(si(),T())),i=s+(r=A[e+11|0]>>>7|0?f[e>>2]:e)|0,o&&Je(i,0,o),A[e+11|0]>>>7|0?f[e+4>>2]=b:a[e+11|0]=b,a[c+15|0]=0,a[r+b|0]=A[c+15|0]),void(V=c+16|0);V=i=V-16|0,A[e+11|0]>>>7|0?(o=f[e>>2],a[i+15|0]=0,a[r+o|0]=A[i+15|0],f[e+4>>2]=r):(a[i+14|0]=0,a[e+r|0]=A[i+14|0],a[e+11|0]=r),V=i+16|0}function Ve(e,r){var t,i=0,n=0,o=0,s=0,c=0,b=0,u=0,_=0,p=0;V=t=V-16|0;e:if(!((0|(o=f[r+20>>2]))>=(0|(i=f[r+12>>2]))&(n=f[r+16>>2])>>>0>=l[r+8>>2]|(0|i)<(0|o))&&(a[e+12|0]=A[n+f[r>>2]|0],o=f[r+20>>2],o=(i=f[r+16>>2]+1|0)?o:o+1|0,f[r+16>>2]=i,f[r+20>>2]=o,Er(1,t+12|0,r)&&(n=(o=f[r+8>>2])-(i=c=f[r+16>>2])|0,i=i>>>0>o>>>0,o=f[r+20>>2],!((0|(s=f[r+12>>2]-(i+o|0)|0))<=0&n>>>0<(i=f[t+12>>2])>>>0|(0|s)<0|(0|i)<=0)))){n=c+f[r>>2]|0,f[e>>2]=n,_=e;r:if((u=A[0|(b=(s=i-1|0)+n|0)])>>>0<=63)f[e+4>>2]=s,e=63&A[0|b];else{t:switch((u>>>6|0)-1|0){case 0:if(i>>>0<2)break e;f[e+4>>2]=i-2,e=A[1+(n=(i+n|0)-2|0)|0]<<8&16128|A[0|n];break r;case 1:break t;default:break e}if(i>>>0<3)break e;f[e+4>>2]=i-3,e=A[2+(n=(i+n|0)-3|0)|0]<<16&4128768|A[n+1|0]<<8|A[0|n]}e=e+4096|0,f[_+8>>2]=e,e>>>0>1048575||(e=o,e=(n=i+c|0)>>>0<i>>>0?e+1|0:e,f[r+16>>2]=n,f[r+20>>2]=e,p=1)}return V=t+16|0,p}function De(e,r,t){r|=0,t|=0;var i=0,n=0,o=0,s=0,c=0,b=0,u=0;return(i=(o=f[12+(e|=0)>>2])-(c=f[e+8>>2])>>2)>>>0<(r=a[r+24|0])>>>0?(sr(e+8|0,r-i|0),c=f[e+8>>2],o=f[e+12>>2]):r>>>0>=i>>>0||(o=(r<<2)+c|0,f[e+12>>2]=o),r=0,b=f[t+20>>2],o=i=o-c|0,s=(n=f[t+16>>2])+i|0,u=f[t+12>>2],b=i>>>0>s>>>0?b+1|0:b,s>>>0>l[t+8>>2]&(0|u)<=(0|b)|(0|b)>(0|u)||(ge(c,n+f[t>>2]|0,i),i=f[t+20>>2],i=(n=o+f[t+16>>2]|0)>>>0<o>>>0?i+1|0:i,s=n,f[t+16>>2]=n,f[t+20>>2]=i,n=f[t+12>>2],i=(o=s+4|0)>>>0<4?i+1|0:i,o>>>0>l[t+8>>2]&(0|i)>=(0|n)|(0|i)>(0|n)||(i=s+f[t>>2]|0,f[e+20>>2]=A[0|i]|A[i+1|0]<<8|A[i+2|0]<<16|A[i+3|0]<<24,i=f[t+20>>2],o=(n=(s=f[t+16>>2])+4|0)>>>0<4?i+1|0:i,u=n,f[t+16>>2]=n,f[t+20>>2]=o,(0|o)>=(0|(n=f[t+12>>2]))&u>>>0>=l[t+8>>2]|(0|o)>(0|n)||(n=A[u+f[t>>2]|0],i=(o=s+5|0)>>>0<5?i+1|0:i,f[t+16>>2]=o,f[t+20>>2]=i,n-1>>>0>29||(f[e+4>>2]=n,r=1)))),0|r}function Me(e,r){var t,i=0,n=0,o=0,s=0,c=0;V=t=V-16|0;e:{r:{if(r){if(f[e+88>>2]=0,f[e+92>>2]=0,i=f[e+84>>2],f[e+84>>2]=0,i&&ee(i),f[e+76>>2]=0,f[e+80>>2]=0,i=f[e+72>>2],f[e+72>>2]=0,i&&ee(i),i=f[r>>2],n=f[r+4>>2],a[t+15|0]=0,ze(e,n-i>>2,t+15|0),i=f[r+28>>2],n=f[r+24>>2],a[t+14|0]=0,ze(e+12|0,i-n>>2,t+14|0),ye(e+28|0,f[r+4>>2]-f[r>>2]>>2,10316),o=(n=f[r+28>>2]-f[r+24>>2]|0)>>2,i=f[e+52>>2],!(o>>>0<=f[e+60>>2]-i>>2>>>0)){if((0|n)<0)break r;s=f[e+56>>2],c=(n=_t(n))+(o<<2)|0,s=(o=s-i|0)+n|0,(0|o)>0&&ge(n,i,o),f[e+60>>2]=c,f[e+56>>2]=s,f[e+52>>2]=n,i&&ee(i)}if(o=(n=f[r+28>>2]-f[r+24>>2]|0)>>2,i=f[e+40>>2],!(o>>>0<=f[e+48>>2]-i>>2>>>0)){if((0|n)<0)break e;s=f[e+44>>2],c=(n=_t(n))+(o<<2)|0,s=(o=s-i|0)+n|0,(0|o)>0&&ge(n,i,o),f[e+48>>2]=c,f[e+44>>2]=s,f[e+40>>2]=n,i&&ee(i)}a[e+24|0]=1,f[e+64>>2]=r}return void(V=t+16|0)}Hr(1326),T()}Hr(1326),T()}function Ue(e,r,t){e|=0,r|=0,t|=0;var i=0,n=k(0),o=k(0),b=k(0),l=k(0),u=k(0),_=0,p=k(0),m=k(0),h=k(0),v=k(0),g=0;if(!(9!=f[t+28>>2]|3!=A[t+24|0])&&!((e=f[e+4>>2])-31>>>0<4294967267)&&(g=1,_=f[t+80>>2]))for(p=k(k(2)/k((1<<e)-2|0)),t=f[f[t>>2]>>2]+f[t+48>>2]|0,e=f[f[r>>2]>>2]+f[r+48>>2]|0,r=0;b=k(0),m=k(0),h=k(0),n=k(k(k(f[e>>2])*p)+k(-1)),o=k(k(k(f[e+4>>2])*p)+k(-1)),u=k(k(k(1)-k(d(n)))-k(d(o))),l=k(y(k(-u),k(0))),v=k(-l),o=k(o+(o<k(0)?l:v)),n=k(n+(n<k(0)?l:v)),+(l=k(k(o*o)+k(k(u*u)+k(n*n))))<1e-6||(b=k(k(1)/k(w(l))),h=k(o*b),m=k(n*b),b=k(u*b)),e=e+8|0,s(h),i=c(2),a[t+8|0]=i,a[t+9|0]=i>>>8,a[t+10|0]=i>>>16,a[t+11|0]=i>>>24,s(m),i=c(2),a[t+4|0]=i,a[t+5|0]=i>>>8,a[t+6|0]=i>>>16,a[t+7|0]=i>>>24,s(b),i=c(2),a[0|t]=i,a[t+1|0]=i>>>8,a[t+2|0]=i>>>16,a[t+3|0]=i>>>24,t=t+12|0,(0|_)!=(0|(r=r+1|0)););return 0|g}function Ie(e,r,t,i){var n,a,o=0,s=0,c=0,A=0,b=0,l=0,_=0;b=+u[r>>2],l=+u[r+4>>2],_=+u[r+8>>2],(c=d(b)+d(l)+d(_))>1e-6?(l*=c=1/c,b*=c,o=c*_<0):(b=1,l=0,o=0),n=f[e+16>>2],c=v(b*(_=+(0|n))+.5),A=(s=(a=d(c)<2147483648?~~c:-2147483648)>>31)+a^s,c=v(l*_+.5),A=(0|(r=n-(A+((s=d(c)<2147483648?~~c:-2147483648)+(r=s>>31)^r)|0)|0))<0?0:r,o=o?0-A|0:A,s=s+(r>>31&((0|s)>0?r:0-r|0))|0,(0|a)>=0?(r=o+n|0,e=f[e+8>>2],o=s+n|0):(r=s>>31,r^=r+s,e=f[e+8>>2],r=(0|o)<0?r:e-r|0,o=(0|s)<0?A:e-A|0),r|o&&(0|e)!=(0|r)|o&&r|(s=(0|e)!=(0|o))?(0|r)<=(0|n)|o?(0|r)>=(0|n)|s?(0|e)!=(0|r)|(0|o)>=(0|n)?r?e=o:(r=0,e=(0|o)<=(0|n)?o:(n<<1)-o|0):(r=e,e=(n<<1)-o|0):r=(n<<1)-r|0:(r=(n<<1)-r|0,e=0):r=e,f[t>>2]=e,f[i>>2]=r}function Be(e,r){var t,i,n,o=0,s=0,c=0;i=f[e>>2],f[(o=i+(r>>>3&536870908)|0)>>2]=f[o>>2]|1<<r,t=f[e+64>>2],s=-1,(c=-1==(0|r))||(s=-1,-1!=(0|(o=((o=r+1|0)>>>0)%3|0?o:r-2|0))&&(s=f[f[t>>2]+(o<<2)>>2])),o=f[e+12>>2],f[(n=(s>>>3&536870908)+o|0)>>2]=f[n>>2]|1<<s;e:{if(c)e=o+536870908|0,r=f[o+536870908>>2],o=-2147483648;else{r:{if((r>>>0)%3|0)c=r-1|0;else if(s=-1,-1==(0|(c=r+2|0)))break r;s=f[f[t>>2]+(c<<2)>>2]}if(f[(c=(s>>>3&536870908)+o|0)>>2]=f[c>>2]|1<<s,s=-1,-1==(0|(r=f[f[t+12>>2]+(r<<2)>>2])))break e;a[e+24|0]=0,f[(e=(r>>>3&536870908)+i|0)>>2]=f[e>>2]|1<<r,-1!=(0|(e=((e=r+1|0)>>>0)%3|0?e:r-2|0))&&(s=f[f[t>>2]+(e<<2)>>2]),f[(e=o+(s>>>3&536870908)|0)>>2]=f[e>>2]|1<<s;r:{if((r>>>0)%3|0)r=r-1|0;else if(e=-1,-1==(0|(r=r+2|0)))break r;e=f[f[t>>2]+(r<<2)>>2]}r=1<<e,o=f[(e=o+(e>>>3&536870908)|0)>>2]}f[e>>2]=r|o}}function Ze(e,r){var t=0,i=0;t=f[r+8>>2],f[e+4>>2]=f[r+4>>2],f[e+8>>2]=t,f[e+20>>2]=f[r+20>>2],t=f[r+16>>2],f[e+12>>2]=f[r+12>>2],f[e+16>>2]=t;e:{r:{if((0|e)!=(0|r)){if(t=f[r+28>>2]){if(f[e+32>>2]<<5>>>0>=t>>>0)i=f[e+24>>2];else{if((i=f[e+24>>2])&&(ee(i),f[e+32>>2]=0,f[e+24>>2]=0,f[e+28>>2]=0,t=f[r+28>>2]),(0|t)<0)break r;i=_t((t=1+(t-1>>>5|0)|0)<<2),f[e+32>>2]=t,f[e+28>>2]=0,f[e+24>>2]=i,t=f[r+28>>2]}Se(i,f[r+24>>2],4+(t-1>>>3&536870908)|0),t=f[r+28>>2]}else t=0;if(f[e+28>>2]=t,t=f[r+40>>2]){if(f[e+44>>2]<<5>>>0>=t>>>0)i=f[e+36>>2];else{if((i=f[e+36>>2])&&(ee(i),f[e+44>>2]=0,f[e+36>>2]=0,f[e+40>>2]=0,t=f[r+40>>2]),(0|t)<0)break e;i=_t((t=1+(t-1>>>5|0)|0)<<2),f[e+44>>2]=t,f[e+40>>2]=0,f[e+36>>2]=i,t=f[r+40>>2]}Se(i,f[r+36>>2],4+(t-1>>>3&536870908)|0),r=f[r+40>>2]}else r=0;f[e+40>>2]=r}return}oi(),T()}oi(),T()}function We(e,r){var t,i=0,n=0,a=0,o=0,s=0,c=0;V=t=V-16|0;e:if(kr(1,t+8|0,r)&&(i=f[r+8>>2],a=f[r+16>>2],s=f[t+12>>2],n=f[r+20>>2],!((0|s)==(0|(o=f[r+12>>2]-(n+(i>>>0<a>>>0)|0)|0))&(i-a|0)>>>0<(i=f[t+8>>2])>>>0|o>>>0<s>>>0||(n=n+s|0,n=(o=i+a|0)>>>0<a>>>0?n+1|0:n,f[r+16>>2]=o,f[r+20>>2]=n,(0|i)<=0)))){n=a+f[r>>2]|0,f[e+40>>2]=n,s=e;r:if((r=A[0|(a=n+(o=i-1|0)|0)])>>>0<=63)f[e+44>>2]=o,e=63&A[0|a];else{switch((r>>>6|0)-1|0){case 0:if(i>>>0<2)break e;f[e+44>>2]=i-2,e=A[1+(r=(i+n|0)-2|0)|0]<<8&16128|A[0|r];break r;case 1:if(i>>>0<3)break e;f[e+44>>2]=i-3,e=A[2+(r=(i+n|0)-3|0)|0]<<16&4128768|A[r+1|0]<<8|A[0|r];break r}f[e+44>>2]=i-4,e=A[2+(r=(i+n|0)-4|0)|0]<<16|A[r+3|0]<<24&1056964608|A[r+1|0]<<8|A[0|r]}e=e+16384|0,f[s+48>>2]=e,c=e>>>0<4194304}return V=t+16|0,c}function Fe(e){var r,t=0,i=0;t=f[e+8>>2],r=f[e>>2];e:{if(A[e+12|0]){r:{if(-1!=(0|t)&&-1!=(0|(t=((i=t+1|0)>>>0)%3|0?i:t-2|0))&&-1!=(0|(t=f[f[r+12>>2]+(t<<2)>>2]))){if(t=((i=t+1|0)>>>0)%3|0?i:t-2|0,f[e+8>>2]=t,-1!=(0|t))break r}else f[e+8>>2]=-1;t=-1;t:if(-1!=(0|(i=f[e+4>>2]))){if((i>>>0)%3|0)i=i-1|0;else if(t=-1,-1==(0|(i=i+2|0)))break t;t=-1,-1!=(0|(i=f[f[r+12>>2]+(i<<2)>>2]))&&(t=i-1|0,(i>>>0)%3|0||(t=i+2|0))}return a[e+12|0]=0,void(f[e+8>>2]=t)}if((0|t)!=f[e+4>>2])break e;return void(f[e+8>>2]=-1)}i=-1;r:if(-1!=(0|t)){if((t>>>0)%3|0)t=t-1|0;else if(i=-1,-1==(0|(t=t+2|0)))break r;i=-1,-1!=(0|(t=f[f[r+12>>2]+(t<<2)>>2]))&&(i=t-1|0,(t>>>0)%3|0||(i=t+2|0))}f[e+8>>2]=i}}function xe(e){var r,t=0,i=0;r=_t(32),t=A[1619]|A[1620]<<8,a[r+24|0]=t,a[r+25|0]=t>>>8,t=A[1615]|A[1616]<<8|A[1617]<<16|A[1618]<<24,i=A[1611]|A[1612]<<8|A[1613]<<16|A[1614]<<24,a[r+16|0]=i,a[r+17|0]=i>>>8,a[r+18|0]=i>>>16,a[r+19|0]=i>>>24,a[r+20|0]=t,a[r+21|0]=t>>>8,a[r+22|0]=t>>>16,a[r+23|0]=t>>>24,t=A[1607]|A[1608]<<8|A[1609]<<16|A[1610]<<24,i=A[1603]|A[1604]<<8|A[1605]<<16|A[1606]<<24,a[r+8|0]=i,a[r+9|0]=i>>>8,a[r+10|0]=i>>>16,a[r+11|0]=i>>>24,a[r+12|0]=t,a[r+13|0]=t>>>8,a[r+14|0]=t>>>16,a[r+15|0]=t>>>24,t=A[1599]|A[1600]<<8|A[1601]<<16|A[1602]<<24,i=A[1595]|A[1596]<<8|A[1597]<<16|A[1598]<<24,a[0|r]=i,a[r+1|0]=i>>>8,a[r+2|0]=i>>>16,a[r+3|0]=i>>>24,a[r+4|0]=t,a[r+5|0]=t>>>8,a[r+6|0]=t>>>16,a[r+7|0]=t>>>24,a[r+26|0]=0,f[e>>2]=-1,Fr(e+4|0,r,26),ee(r)}function Se(e,r,t){var i=0,n=0;e:if((0|e)!=(0|r)){if(r-(n=e+t|0)>>>0<=0-(t<<1)>>>0)return ge(e,r,t);if(i=3&(e^r),e>>>0<r>>>0){if(i)i=e;else{if(3&e)for(i=e;;){if(!t)break e;if(a[0|i]=A[0|r],r=r+1|0,t=t-1|0,!(3&(i=i+1|0)))break}else i=e;if(!(t>>>0<=3))for(;f[i>>2]=f[r>>2],r=r+4|0,i=i+4|0,(t=t-4|0)>>>0>3;);}if(t)for(;a[0|i]=A[0|r],i=i+1|0,r=r+1|0,t=t-1|0;);}else{if(!i){if(3&n)for(;;){if(!t)break e;if(a[0|(i=(t=t-1|0)+e|0)]=A[r+t|0],!(3&i))break}if(!(t>>>0<=3))for(;f[(t=t-4|0)+e>>2]=f[r+t>>2],t>>>0>3;);}if(!t)break e;for(;a[(t=t-1|0)+e|0]=A[r+t|0],t;);}}return e}function je(e,r,t){var i,n,a=0,o=0,s=0,c=0,b=0,l=0,u=0,_=0;V=i=V-16|0;e:{if((0|(s=f[e+24>>2]))!=(0|(n=f[e+28>>2])))for(;;){f[i+8>>2]=0,f[i>>2]=0,f[i+4>>2]=0,a=qr(f[s>>2],r,i),b=(e=A[i+11|0])<<24>>24,l=3;r:{t:{i:{n:if(a&&(l=0,o=(a=A[t+11|0])<<24>>24,(0|(u=(0|b)<0?f[i+4>>2]:e))==(0|((0|o)<0?f[t+4>>2]:a)))){c=(0|o)<0?f[t>>2]:t,o=f[i>>2];a:{if(!(a=(0|b)<0)){if(!b)break a;if(a=i,A[0|c]!=(255&o))break r;for(;;){if(!(e=e-1|0))break a;if(o=A[c+1|0],c=c+1|0,(0|o)!=A[0|(a=a+1|0)])break}break n}if(u&&Rr(a?o:i,c,u))break i}_=f[s>>2],l=1}if((0|b)>=0)break t}ee(f[i>>2])}switch(0|l){case 0:case 3:break r;default:break e}}if((0|n)==(0|(s=s+4|0)))break}_=0}return V=i+16|0,_}function Oe(e,r){var t=0,i=0,n=0,a=0,o=0,s=0,c=0;if((i=f[e+8>>2])-(t=f[e+4>>2])>>2>>>0>=r>>>0)return r&&(t=Je(t,0,r<<=2)+r|0),void(f[e+4>>2]=t);e:{r:{t:{if((n=(a=t-(o=f[e>>2])>>2)+r|0)>>>0<1073741824){if(s=(i=i-o|0)>>1,n=i>>2>>>0<536870911?n>>>0>s>>>0?n:s:1073741823){if(n>>>0>=1073741824)break t;c=_t(n<<2)}if(a=(r=Je(i=(a<<2)+c|0,0,a=r<<2))+a|0,n=(n<<2)+c|0,(0|t)==(0|o))break r;for(;r=f[(t=t-4|0)>>2],f[t>>2]=0,f[(i=i-4|0)>>2]=r,(0|t)!=(0|o););if(f[e+8>>2]=n,r=f[e+4>>2],f[e+4>>2]=a,t=f[e>>2],f[e>>2]=i,(0|r)==(0|t))break e;for(;e=f[(r=r-4|0)>>2],f[r>>2]=0,e&&yi[f[f[e>>2]+4>>2]](e),(0|r)!=(0|t););break e}oi(),T()}Hr(1326),T()}f[e+8>>2]=n,f[e+4>>2]=a,f[e>>2]=r}t&&ee(t)}function Ye(e,r){e|=0;var t,i,n=0,a=0,o=0,s=0,c=0,b=0,l=0;return c=a=f[12+(r|=0)>>2],o=n=f[r+20>>2],n=(t=(s=f[r+16>>2])+4|0)>>>0<4?n+1|0:n,(i=f[r+8>>2])>>>0<t>>>0&(0|n)>=(0|a)|(0|n)>(0|a)||(b=f[r>>2],a=A[0|(a=b+s|0)]|A[a+1|0]<<8|A[a+2|0]<<16|A[a+3|0]<<24,f[r+16>>2]=t,f[r+20>>2]=n,n=o,s=o=s+8|0,o=n=o>>>0<8?n+1|0:n,s>>>0>i>>>0&(0|n)>=(0|c)|(0|n)>(0|c)||(n=A[0|(n=t+b|0)]|A[n+1|0]<<8|A[n+2|0]<<16|A[n+3|0]<<24,f[r+16>>2]=s,f[r+20>>2]=o,(0|n)<(0|a)||(f[e+16>>2]=n,f[e+12>>2]=a,!(c=(n>>31)-((a>>31)+(n>>>0<a>>>0)|0)|0)&(n=n-a|0)>>>0>2147483646|c||(n=n+1|0,f[e+20>>2]=n,a=n>>>1|0,f[e+24>>2]=a,f[e+28>>2]=0-a,1&n||(f[e+24>>2]=a-1),l=Ve(e+112|0,r))))),0|l}function Je(e,r,t){var i=0,n=0,o=0;if(t&&(a[0|e]=r,a[(n=e+t|0)-1|0]=r,!(t>>>0<3||(a[e+2|0]=r,a[e+1|0]=r,a[n-3|0]=r,a[n-2|0]=r,t>>>0<7||(a[e+3|0]=r,a[n-4|0]=r,t>>>0<9||(o=(n=0-e&3)+e|0,i=p(255&r,16843009),f[o>>2]=i,f[(t=(r=t-n&-4)+o|0)-4>>2]=i,r>>>0<9||(f[o+8>>2]=i,f[o+4>>2]=i,f[t-8>>2]=i,f[t-12>>2]=i,r>>>0<25||(f[o+24>>2]=i,f[o+20>>2]=i,f[o+16>>2]=i,f[o+12>>2]=i,f[t-16>>2]=i,f[t-20>>2]=i,f[t-24>>2]=i,f[t-28>>2]=i,(t=(t=r)-(r=4&o|24)|0)>>>0<32))))))))for(i=Pr(i,0,1,1),n=D,r=r+o|0;f[r+24>>2]=i,f[r+28>>2]=n,f[r+16>>2]=i,f[r+20>>2]=n,f[r+8>>2]=i,f[r+12>>2]=n,f[r>>2]=i,f[r+4>>2]=n,r=r+32|0,(t=t-32|0)>>>0>31;);return e}function Qe(e,r){var t=0,i=0,n=0,a=0,o=0;i=-1,a=-1,n=-1;e:{r:if(-1!=(0|r)){if(o=1,a=f[f[f[e+4>>2]+12>>2]+(r<<2)>>2],(0|(t=((t=r+1|0)>>>0)%3|0?t:r-2|0))>=0&&(n=(t>>>0)/3|0,n=f[(f[f[e>>2]+96>>2]+p(n,12)|0)+(t-p(n,3)<<2)>>2]),-1!=(0|a)&&(o=0,(0|(t=((a>>>0)%3|0?-1:2)+a|0))<0||(i=(t>>>0)/3|0,i=f[(f[f[e>>2]+96>>2]+p(i,12)|0)+(t-p(i,3)<<2)>>2])),t=-1,(0|i)!=(0|n))break e;if(n=-1,(0|(r=((r>>>0)%3|0?-1:2)+r|0))>=0){if(i=(r>>>0)/3|0,i=f[(f[f[e>>2]+96>>2]+p(i,12)|0)+(r-p(i,3)<<2)>>2],o)break r}else if(i=-1,o)break r;(0|(r=((r=a+1|0)>>>0)%3|0?r:a-2|0))<0||(t=f[f[e>>2]+96>>2],n=f[(t+p(e=(r>>>0)/3|0,12)|0)+(r-p(e,3)<<2)>>2])}t=(0|i)==(0|n)?a:-1}return t}function ze(e,r,t){var i,n=0,a=0,o=0;V=i=V-16|0,f[e+4>>2]=0;e:{r:if(r){if((n=(o=f[e+8>>2])<<5)>>>0>=r>>>0)f[e+4>>2]=r;else{if(f[i+8>>2]=0,f[i>>2]=0,f[i+4>>2]=0,(0|r)<0)break e;or(i,n=n>>>0<=1073741822?(n=o<<6)>>>0<(a=r+31&-32)>>>0?a:n:2147483647),a=f[e>>2],f[e>>2]=f[i>>2],f[i>>2]=a,n=f[e+4>>2],f[e+4>>2]=r,f[i+4>>2]=n,n=f[e+8>>2],f[e+8>>2]=f[i+8>>2],f[i+8>>2]=n,a&&ee(a)}if(n=(a=r>>>5|0)<<2,e=f[e>>2],A[0|t]){if(e=Je(e,255,n),!(r&=31))break r;f[(e=e+(a<<2)|0)>>2]=f[e>>2]|-1>>>32-r}else e=Je(e,0,n),(r&=31)&&(f[(e=e+(a<<2)|0)>>2]=f[e>>2]&(-1>>>32-r^-1))}return void(V=i+16|0)}oi(),T()}function Le(e,r,t){var i,n=0,a=0,o=0,s=0;if((i=(o=t-r|0)>>2)>>>0<=(n=f[e+8>>2])-(a=f[e>>2])>>2>>>0){if((0|(n=i>>>0>(s=(n=(o=f[e+4>>2])-a|0)>>2)>>>0?r+n|0:t))!=(0|r))for(;f[a>>2]=f[r>>2],a=a+4|0,(0|n)!=(0|(r=r+4|0)););return i>>>0>s>>>0?((0|(r=t-n|0))>0&&(o=ge(o,n,r)+r|0),void(f[e+4>>2]=o)):void(f[e+4>>2]=a)}if(a&&(f[e+4>>2]=a,ee(a),f[e+8>>2]=0,f[e>>2]=0,f[e+4>>2]=0,n=0),!((0|o)<0||(t=n>>1,(t=n>>2>>>0<536870911?t>>>0<i>>>0?i:t:1073741823)>>>0>=1073741824)))return t=_t(a=t<<2),f[e>>2]=t,f[e+4>>2]=t,f[e+8>>2]=t+a,o&&(t=ge(t,r,o)+o|0),void(f[e+4>>2]=t);oi(),T()}function Pe(e,r){e|=0;var t,i,n,a=0,o=0,s=0,c=0,b=0;return s=f[12+(r|=0)>>2],c=a=f[r+20>>2],a=(o=(t=f[r+16>>2])+4|0)>>>0<4?a+1|0:a,n=o,(i=f[r+8>>2])>>>0<o>>>0&(0|a)>=(0|s)|(0|a)>(0|s)||(o=t+f[r>>2]|0,o=A[0|o]|A[o+1|0]<<8|A[o+2|0]<<16|A[o+3|0]<<24,f[r+16>>2]=n,f[r+20>>2]=a,a=c,(c=t+8|0)>>>0>i>>>0&(0|(a=c>>>0<8?a+1|0:a))>=(0|s)|(0|a)>(0|s)||(f[r+16>>2]=c,f[r+20>>2]=a,1&o&&((a=31^m(o))-30>>>0<4294967267||(f[e+8>>2]=a+1,a=-2-(s=-2<<a)|0,f[e+16>>2]=a,f[e+12>>2]=-1^s,f[e+24>>2]=(0|a)/2,u[e+20>>2]=k(2)/k(0|a),b=Ve(e+96|0,r))))),0|b}function Xe(e){var r=0,t=0,i=0,n=0;t=1;e:if(!((0|(i=f[e+140>>2]))<=0)){for(r=i<<4,t=_t((0|i)!=(268435455&i)?-1:4|r),f[t>>2]=i,i=(t=t+4|0)+r|0,r=t;f[r>>2]=0,f[r+4>>2]=0,a[r+5|0]=0,a[r+6|0]=0,a[r+7|0]=0,a[r+8|0]=0,a[r+9|0]=0,a[r+10|0]=0,a[r+11|0]=0,a[r+12|0]=0,(0|i)!=(0|(r=r+16|0)););if(n=f[e+136>>2],f[e+136>>2]=t,n){if(t=f[(i=n-4|0)>>2])for(r=(t<<4)+n|0;(0|n)!=(0|(r=r-16|0)););ee(i)}if(t=1,!(f[e+140>>2]<=0))for(r=0;;){if(!(t=Ve(f[e+136>>2]+(r<<4)|0,e)))break e;if(!((0|(r=r+1|0))<f[e+140>>2]))break}}return t}function He(e,r){var t,i=0,n=0,o=0,s=0;return f[e+64>>2]||(i=_t(32),f[i+16>>2]=0,f[i+20>>2]=0,f[i+8>>2]=0,f[i>>2]=0,f[i+4>>2]=0,f[i+24>>2]=0,f[i+28>>2]=0,n=f[e+64>>2],f[e+64>>2]=i,n&&((i=f[n>>2])&&(f[n+4>>2]=i,ee(i)),ee(n))),o=f[e+64>>2],n=(i=f[e+28>>2]-1|0)>>>0<=10?f[10180+(i<<2)>>2]:-1,n=i=p(n,a[e+24|0]),(o=Yr(o,0,Pr(i,t=i>>31,r,0),D))&&(i=f[e+64>>2],f[e>>2]=i,s=f[i+20>>2],f[e+8>>2]=f[i+16>>2],f[e+12>>2]=s,s=f[i+24>>2],i=f[i+28>>2],f[e+48>>2]=0,f[e+52>>2]=0,f[e+40>>2]=n,f[e+44>>2]=t,f[e+16>>2]=s,f[e+20>>2]=i,f[e+80>>2]=r),o}function qe(e,r,t){var i=0,n=0,a=0,o=0,s=0,c=0,b=0;a=e+4|0;e:{if(e=f[e+4>>2])for(c=(i=(n=A[t+11|0])<<24>>24<0)?f[t>>2]:t,n=i?f[t+4>>2]:n;;){r:{t:{i:{n:{a:{o:if(s=(b=(t=(i=(t=A[e+27|0])<<24>>24<0)?f[e+20>>2]:t)>>>0<n>>>0)?t:n){if(o=e+16|0,!(o=Rr(c,i=i?f[o>>2]:o,s))){if(t>>>0>n>>>0)break o;break a}if((0|o)>=0)break a}else if(t>>>0<=n>>>0)break n;if(t=f[e>>2])break r;return f[r>>2]=e,e}if(t=Rr(i,c,s))break i}if(b)break t;break e}if((0|t)>=0)break e}if(a=e+4|0,!(t=f[e+4>>2]))break e;e=a}a=e,e=t}return f[r>>2]=a,a}return f[r>>2]=e,a}function Ke(e,r){var t=0;return t=f[r+4>>2],f[e>>2]=f[r>>2],f[e+4>>2]=t,t=f[r+60>>2],f[e+56>>2]=f[r+56>>2],f[e+60>>2]=t,t=f[r+52>>2],f[e+48>>2]=f[r+48>>2],f[e+52>>2]=t,t=f[r+44>>2],f[e+40>>2]=f[r+40>>2],f[e+44>>2]=t,t=f[r+36>>2],f[e+32>>2]=f[r+32>>2],f[e+36>>2]=t,t=f[r+28>>2],f[e+24>>2]=f[r+24>>2],f[e+28>>2]=t,t=f[r+20>>2],f[e+16>>2]=f[r+16>>2],f[e+20>>2]=t,t=f[r+12>>2],f[e+8>>2]=f[r+8>>2],f[e+12>>2]=t,f[e+88>>2]=0,f[e+64>>2]=0,f[e+68>>2]=0,f[e+72>>2]=0,f[e+76>>2]=0,a[e+77|0]=0,a[e+78|0]=0,a[e+79|0]=0,a[e+80|0]=0,a[e+81|0]=0,a[e+82|0]=0,a[e+83|0]=0,a[e+84|0]=0,e}function $e(e,r){var t,i=0,n=0,a=0,o=0,s=0,c=0,b=0;t=e+4|0;e:{r:if(e=f[e+4>>2]){for(c=(i=(n=A[r+11|0])<<24>>24<0)?f[r>>2]:r,a=i?f[r+4>>2]:n,i=t;(n=(o=(s=(b=(r=A[e+27|0])<<24>>24<0)?f[e+20>>2]:r)>>>0>a>>>0)?a:s)&&(r=e+16|0,r=Rr(b?f[r>>2]:r,c,n))||(r=a>>>0>s>>>0?-1:o),i=(0|r)<0?i:e,e=f[(r>>>29&4)+e>>2];);if((0|i)!=(0|t)){if(!((r=(n=(o=(e=A[i+27|0])<<24>>24<0)?f[i+20>>2]:e)>>>0<a>>>0?n:a)&&(e=i+16|0,e=Rr(c,o?f[e>>2]:e,r)))){if(n>>>0>a>>>0)break r;break e}if((0|e)>=0)break e}}i=t}return i}function er(e,r,t){var i=0,n=0,a=0,o=0;e:{if(!((0|r)<0|(0|t)<0)){if(!(r>>>0>1431655765)){if(ye(e,i=p(r,3),10256),ye(e+12|0,i,10260),i=f[e+24>>2],!(f[e+32>>2]-i>>2>>>0>=t>>>0)){if(t>>>0>=1073741824)break e;n=f[e+28>>2],a=(t=_t(a=t<<2))+a|0,o=(n=n-i|0)+t|0,(0|n)>0&&ge(t,i,n),f[e+32>>2]=a,f[e+28>>2]=o,f[e+24>>2]=t,i&&ee(i)}f[e+80>>2]=0,f[e+84>>2]=0,t=f[e+76>>2],f[e+76>>2]=0,t&&ee(t),f[e+68>>2]=0,f[e+72>>2]=0,e=f[(t=e- -64|0)>>2],f[t>>2]=0,e&&ee(e)}i=r>>>0<1431655766}return i}Hr(1326),T()}function rr(e){var r=0,t=0,i=0,n=0,o=0;if(i=f[e+8>>2],!A[i+84|0]&&!(!(r=f[e+16>>2])|!A[r+84|0]||(t=f[i+72>>2],n=f[i+68>>2],a[r+84|0]=0,t=t-n>>2,o=f[r+68>>2],t>>>0>(n=f[r+72>>2]-o>>2)>>>0?(ve(r+68|0,t-n|0,2032),i=f[e+8>>2]):t>>>0>=n>>>0||(f[r+72>>2]=o+(t<<2)),(r=A[i+84|0])||(0|(t=f[i+68>>2]))==f[i+72>>2])))if(n=f[f[e+16>>2]+68>>2],r)f[n>>2]=0;else for(r=0;f[(o=r<<2)+n>>2]=f[t+o>>2],r=r+1|0,t=f[i+68>>2],r>>>0<f[i+72>>2]-t>>2>>>0;);return f[e+16>>2]}function tr(e,r){var t=0,i=0,n=0,a=0,o=0,s=0;if((0|(t=f[e+4>>2]))!=f[e+8>>2])return i=f[r+4>>2],f[t>>2]=f[r>>2],f[t+4>>2]=i,f[t+8>>2]=f[r+8>>2],void(f[e+4>>2]=t+12);e:{if((t=1+(i=(0|(o=t-(a=f[e>>2])|0))/12|0)|0)>>>0<357913942){if(n=i<<1,n=i>>>0<178956970?t>>>0>n>>>0?t:n:357913941){if(n>>>0>=357913942)break e;t=_t(p(n,12))}else t=0;return i=t+p(i,12)|0,s=f[r+4>>2],f[i>>2]=f[r>>2],f[i+4>>2]=s,f[i+8>>2]=f[r+8>>2],r=i+p((0|o)/-12|0,12)|0,(0|o)>0&&ge(r,a,o),f[e+8>>2]=t+p(n,12),f[e+4>>2]=i+12,f[e>>2]=r,void(a&&ee(a))}oi(),T()}Hr(1326),T()}function ir(e,r){r|=0;var t=0,i=0,n=0,a=0;e:if((0|(t=f[216+(e|=0)>>2]))!=f[e+220>>2]){for(;;){r:if(!((0|(t=f[p(n,144)+t>>2]))<0||(i=f[e+4>>2],a=f[i+8>>2],(0|t)>=f[i+12>>2]-a>>2||(i=0,t=f[(t<<2)+a>>2],(0|yi[f[f[t>>2]+24>>2]](t))<=0)))){for(;;){if((0|yi[f[f[t>>2]+20>>2]](t,i))!=(0|r)){if(i=i+1|0,(0|yi[f[f[t>>2]+24>>2]](t))>(0|i))continue;break r}break}e=f[e+216>>2]+p(n,144)|0,n=A[e+100|0]?e+4|0:0;break e}if(n=n+1|0,t=f[e+216>>2],!(n>>>0<(f[e+220>>2]-t|0)/144>>>0))break}return 0}return 0|n}function nr(e,r,t,i,n,o,s){var c,b=0,u=0;if(V=c=V-16|0,(-1^r)-17>>>0>=t>>>0)return u=A[e+11|0]>>>7|0?f[e>>2]:e,r>>>0<2147483623?(f[c+8>>2]=r<<1,f[c+12>>2]=r+t,V=t=V-16|0,V=t+16|0,t=c+8|0,t=(t=f[(l[(b=c+12|0)>>2]<l[t>>2]?t:b)>>2])>>>0>=11?11==(0|(t=(b=t+16&-16)-1|0))?b:t:10):t=-18,t=_t(b=t+1|0),o&&qt(t,s,o),(i=i-n|0)&&qt(t+o|0,n+u|0,i),10!=(0|r)&&ee(u),f[e>>2]=t,f[e+8>>2]=-2147483648|b,r=e,e=i+o|0,f[r+4>>2]=e,a[c+7|0]=0,a[e+t|0]=A[c+7|0],void(V=c+16|0);si(),T()}function ar(e,r){r|=0;var t=0,i=0,n=0,a=0;if((0|(t=f[216+(e|=0)>>2]))!=f[e+220>>2])for(;;){e:if(!((0|(t=f[p(n,144)+t>>2]))<0||(i=f[e+4>>2],a=f[i+8>>2],(0|t)>=f[i+12>>2]-a>>2||(i=0,t=f[(t<<2)+a>>2],(0|yi[f[f[t>>2]+24>>2]](t))<=0)))){for(;;){if((0|yi[f[f[t>>2]+20>>2]](t,i))!=(0|r)){if(i=i+1|0,(0|yi[f[f[t>>2]+24>>2]](t))>(0|i))continue;break e}break}return 104+(f[e+216>>2]+p(n,144)|0)|0}if(n=n+1|0,t=f[e+216>>2],!(n>>>0<(f[e+220>>2]-t|0)/144>>>0))break}return e+184|0}function or(e,r){var t,i=0,n=0,a=0,o=0,s=0,c=0;V=t=V-16|0;e:{if(!(f[e+8>>2]<<5>>>0>=r>>>0)){if(f[t+8>>2]=0,f[t>>2]=0,f[t+4>>2]=0,(0|r)<0)break e;n=_t((o=1+(r-1>>>5|0)|0)<<2),f[t+8>>2]=o,f[t>>2]=n,a=f[e>>2],r=f[e+4>>2],f[t+4>>2]=r,f[((r>>>0<33?0:r-1>>>5|0)<<2)+n>>2]=0,(0|r)<=0||(c=Se(n,a,i=(s=r>>>5|0)<<2),(0|(r=r-(s<<5)|0))<=0||(r=-1>>>32-r|0,f[(i=i+c|0)>>2]=f[i>>2]&(-1^r)|r&f[(s<<2)+a>>2])),f[e+8>>2]=o,f[e>>2]=n,a&&ee(a)}return void(V=t+16|0)}oi(),T()}function fr(e){var r,t=0,i=0;if(f[(e|=0)>>2]=10332,(t=f[e+68>>2])&&(f[e+72>>2]=t,ee(t)),(t=f[e+56>>2])&&(f[e+60>>2]=t,ee(t)),(t=f[e+44>>2])&&(f[e+48>>2]=t,ee(t)),(t=f[e+32>>2])&&(f[e+36>>2]=t,ee(t)),(t=f[e+20>>2])&&(f[e+24>>2]=t,ee(t)),r=f[e+8>>2]){if((0|(i=f[e+12>>2]))==(0|r))t=r;else{for(;t=f[(i=i-4|0)>>2],f[i>>2]=0,t&&Jr(t),(0|r)!=(0|i););t=f[e+8>>2]}f[e+12>>2]=r,ee(t)}return t=f[e+4>>2],f[e+4>>2]=0,t&&Vr(t),0|e}function sr(e,r){var t=0,i=0,n=0,a=0,o=0,s=0,c=0;if((n=f[e+8>>2])-(t=f[e+4>>2])>>2>>>0>=r>>>0)return r&&(t=Je(t,0,r<<=2)+r|0),void(f[e+4>>2]=t);e:{if((i=(s=(o=t-(a=f[e>>2])|0)>>2)+r|0)>>>0<1073741824){if(t=0,c=(n=n-a|0)>>1,i=n>>2>>>0<536870911?i>>>0>c>>>0?i:c:1073741823){if(i>>>0>=1073741824)break e;t=_t(i<<2)}return r=Je((s<<2)+t|0,0,r<<=2)+r|0,(0|o)>0&&ge(t,a,o),f[e+8>>2]=(i<<2)+t,f[e+4>>2]=r,f[e>>2]=t,void(a&&ee(a))}oi(),T()}Hr(1326),T()}function cr(e,r){var t=0,i=0,n=0,a=0,o=0,s=0,c=0;if((n=f[e+8>>2])-(t=f[e+4>>2])>>3>>>0>=r>>>0)return r&&(t=Je(t,0,r<<=3)+r|0),void(f[e+4>>2]=t);e:{if((i=(s=(o=t-(a=f[e>>2])|0)>>3)+r|0)>>>0<536870912){if(t=0,c=(n=n-a|0)>>2,i=n>>3>>>0<268435455?i>>>0>c>>>0?i:c:536870911){if(i>>>0>=536870912)break e;t=_t(i<<3)}return r=Je((s<<3)+t|0,0,r<<=3)+r|0,(0|o)>0&&ge(t,a,o),f[e+8>>2]=(i<<3)+t,f[e+4>>2]=r,f[e>>2]=t,void(a&&ee(a))}oi(),T()}Hr(1326),T()}function Ar(e,r){var t,i=0,n=0,a=0,o=0,s=0;if(t=f[e>>2],(e=f[t+4>>2])>>>0<(i=f[t+8>>2])>>>0)return f[e>>2]=f[r>>2],void(f[t+4>>2]=e+4);e:{if((e=1+(n=(o=e-(a=f[t>>2])|0)>>2)|0)>>>0<1073741824){if(s=n<<2,n=(i=i-a|0)>>1,i=i>>2>>>0<536870911?e>>>0>n>>>0?e:n:1073741823){if(i>>>0>=1073741824)break e;e=_t(i<<2)}else e=0;return f[(n=s+e|0)>>2]=f[r>>2],(0|o)>0&&ge(e,a,o),f[t+8>>2]=e+(i<<2),f[t+4>>2]=n+4,f[t>>2]=e,void(a&&ee(a))}oi(),T()}Hr(1326),T()}function br(e,r){var t=0,i=0,n=0,a=0,o=0,s=0;e:{r:{if((a=(t=f[e+4>>2])-(n=f[e>>2])|0)>>>0<r>>>0){if((o=r-a|0)>>>0<=(i=f[e+8>>2])-t>>>0)return o&&(t=Je(t,0,o)+o|0),void(f[e+4>>2]=t);if((0|r)<0)break e;if(t=0,s=(i=i-n|0)<<1,(i=i>>>0<1073741823?r>>>0>s>>>0?r:s:2147483647)&&(t=_t(i)),Je(t+a|0,0,o),(0|a)>0&&ge(t,n,a),f[e+8>>2]=t+i,f[e+4>>2]=r+t,f[e>>2]=t,!n)break r;return void ee(n)}r>>>0>=a>>>0||(f[e+4>>2]=r+n)}return}oi(),T()}function lr(e,r){var t=0,i=0,n=0,a=0,o=0,s=0;if((n=f[e+8>>2])-(t=f[e+4>>2])>>1>>>0>=r>>>0)return r&&(t=Je(t,0,r<<=1)+r|0),void(f[e+4>>2]=t);e:{if((0|(i=(s=(o=t-(a=f[e>>2])|0)>>1)+r|0))>=0){if(t=0,i=(n=n-a|0)>>1>>>0<1073741823?i>>>0>n>>>0?i:n:2147483647){if((0|i)<0)break e;t=_t(i<<1)}return r=Je((s<<1)+t|0,0,r<<=1)+r|0,(0|o)>0&&ge(t,a,o),f[e+8>>2]=(i<<1)+t,f[e+4>>2]=r,f[e>>2]=t,void(a&&ee(a))}oi(),T()}Hr(1326),T()}function ur(e){var r=0,t=0,i=0,n=0,a=0;if((0|(r=f[e+4>>2]))!=f[e+8>>2])return f[r>>2]=f[2088],void(f[e+4>>2]=r+4);e:{if((r=1+(i=(a=r-(n=f[e>>2])|0)>>2)|0)>>>0<1073741824){if(t=a>>1,t=i>>>0<536870911?r>>>0>t>>>0?r:t:1073741823){if(t>>>0>=1073741824)break e;r=_t(t<<2)}else r=0;return f[(i=r+(i<<2)|0)>>2]=f[2088],(0|a)>0&&ge(r,n,a),f[e+8>>2]=r+(t<<2),f[e+4>>2]=i+4,f[e>>2]=r,void(n&&ee(n))}oi(),T()}Hr(1326),T()}function _r(e,r){var t=0,i=0,n=0,a=0;i=f[e+12>>2],(t=f[e+16>>2]-i>>2)>>>0<r>>>0?sr(e+12|0,r-t|0):r>>>0>=t>>>0||(f[e+16>>2]=i+(r<<2));e:{if(t=f[e>>2],!(f[e+8>>2]-t>>2>>>0>=r>>>0)){if(r>>>0>=1073741824)break e;i=f[e+4>>2],n=(r=_t(n=r<<2))+n|0,a=(i=i-t|0)+r|0,(0|i)>0&&ge(r,t,i),f[e+8>>2]=n,f[e+4>>2]=a,f[e>>2]=r,t&&ee(t)}return}Hr(1326),T()}function pr(e,r,t){var i=0,n=0,o=0,s=0;e:if(!(e>>>0>10||(0|(i=f[t+20>>2]))>=(0|(n=f[t+12>>2]))&(o=f[t+16>>2])>>>0>=l[t+8>>2]|(0|i)>(0|n))){if(n=a[o+f[t>>2]|0],i=(o=o+1|0)?i:i+1|0,f[t+16>>2]=o,f[t+20>>2]=i,(0|n)<0){if(!pr(e+1|0,r,t))break e;t=f[r>>2],e=f[r+4>>2]<<7|t>>>25,t=127&n|t<<7}else e=0,t=255&n;f[r>>2]=t,f[r+4>>2]=e,s=1}return s}function kr(e,r,t){var i=0,n=0,o=0,s=0;e:if(!(e>>>0>10||(0|(i=f[t+20>>2]))>=(0|(n=f[t+12>>2]))&(o=f[t+16>>2])>>>0>=l[t+8>>2]|(0|i)>(0|n))){if(n=a[o+f[t>>2]|0],i=(o=o+1|0)?i:i+1|0,f[t+16>>2]=o,f[t+20>>2]=i,(0|n)<0){if(!kr(e+1|0,r,t))break e;t=f[r>>2],e=f[r+4>>2]<<7|t>>>25,t=127&n|t<<7}else e=0,t=255&n;f[r>>2]=t,f[r+4>>2]=e,s=1}return s}function dr(e,r,t,i){a[e+53|0]=1;e:if(f[e+4>>2]==(0|t)){a[e+52|0]=1;r:{if(!(t=f[e+16>>2])){if(f[e+36>>2]=1,f[e+24>>2]=i,f[e+16>>2]=r,1!=f[e+48>>2])break e;if(1==(0|i))break r;break e}if((0|r)==(0|t)){if(2==(0|(t=f[e+24>>2]))&&(f[e+24>>2]=i,t=i),1!=f[e+48>>2])break e;if(1==(0|t))break r;break e}f[e+36>>2]=f[e+36>>2]+1}a[e+54|0]=1}}function mr(e,r,t){r|=0,t|=0;var i,n=0;V=i=V-16|0,f[4+(e|=0)>>2]=r,r=f[r+64>>2],n=f[r>>2],r=f[r+4>>2],a[i+15|0]=0,ze(e+24|0,(r-n>>2>>>0)/3|0,i+15|0),r=f[e+4>>2],n=f[r+56>>2],r=f[r+52>>2],a[i+14|0]=0,ze(e+36|0,n-r>>2,i+14|0),r=f[t+12>>2],f[e+16>>2]=f[t+8>>2],f[e+20>>2]=r,r=f[t+4>>2],f[e+8>>2]=f[t>>2],f[e+12>>2]=r,V=i+16|0}function hr(e){f[e>>2]=0,f[e+4>>2]=0,f[e+28>>2]=0,f[e+32>>2]=0,a[e+24|0]=1,f[e+16>>2]=0,f[e+20>>2]=0,f[e+8>>2]=0,f[e+12>>2]=0,f[e+36>>2]=0,f[e+40>>2]=0,f[e+44>>2]=0,f[e+48>>2]=0,f[e+52>>2]=0,f[e+56>>2]=0,f[e+60>>2]=0,f[e+64>>2]=0,f[e+72>>2]=0,f[e+76>>2]=0,f[e+80>>2]=0,f[e+84>>2]=0,f[e+88>>2]=0,f[e+92>>2]=0,f[e+68>>2]=e}function yr(e,r){var t,i,n,a=0,s=0;f[e+144>>2]=r,a=f[32+(0|yi[f[f[r>>2]+32>>2]](r))>>2],t=f[a>>2]+f[a+16>>2]|0,s=f[32+(0|yi[f[f[r>>2]+32>>2]](r))>>2],a=(a=f[s+8>>2])-(s=f[s+16>>2])|0,i=e,n=b[f[32+(0|yi[f[f[r>>2]+32>>2]](r))>>2]+38>>1],o[i+38>>1]=n,f[e>>2]=t,f[e+16>>2]=0,f[e+20>>2]=0,f[e+8>>2]=a,f[e+12>>2]=0}function vr(e){var r;f[e>>2]=0,f[e+4>>2]=0,f[e+56>>2]=0,f[e+48>>2]=0,f[e+52>>2]=0,f[e+40>>2]=0,f[e+44>>2]=0,f[e+32>>2]=0,f[e+36>>2]=0,f[e+24>>2]=0,f[e+28>>2]=0,f[e+16>>2]=0,f[e+20>>2]=0,f[e+8>>2]=0,f[e+12>>2]=0,f[(r=e- -64|0)>>2]=0,f[r+4>>2]=0,f[e+72>>2]=0,f[e+76>>2]=0,f[e+80>>2]=0,f[e+84>>2]=0,f[e+60>>2]=e}function gr(e,r,t){var i=0,n=0,a=0,o=0,s=0;e:if(!(e>>>0>5||(0|(i=a=f[t+20>>2]))>=(0|(o=f[t+12>>2]))&(n=f[t+16>>2])>>>0>=l[t+8>>2]|(0|i)>(0|o))){if(i=A[n+f[t>>2]|0],a=(n=n+1|0)?a:a+1|0,f[t+16>>2]=n,f[t+20>>2]=a,128&i){if(!gr(e+1|0,r,t))break e;i=127&i|f[r>>2]<<7}f[r>>2]=i,s=1}return s}function wr(e,r,t){var i=0,n=0,a=0,o=0,s=0;e:if(!(e>>>0>5||(0|(i=a=f[t+20>>2]))>=(0|(o=f[t+12>>2]))&(n=f[t+16>>2])>>>0>=l[t+8>>2]|(0|i)>(0|o))){if(i=A[n+f[t>>2]|0],a=(n=n+1|0)?a:a+1|0,f[t+16>>2]=n,f[t+20>>2]=a,128&i){if(!wr(e+1|0,r,t))break e;i=127&i|f[r>>2]<<7}f[r>>2]=i,s=1}return s}function Tr(e,r,t){var i=0,n=0,a=0,o=0,s=0;e:if(!(e>>>0>5||(0|(i=a=f[t+20>>2]))>=(0|(o=f[t+12>>2]))&(n=f[t+16>>2])>>>0>=l[t+8>>2]|(0|i)>(0|o))){if(i=A[n+f[t>>2]|0],a=(n=n+1|0)?a:a+1|0,f[t+16>>2]=n,f[t+20>>2]=a,128&i){if(!Tr(e+1|0,r,t))break e;i=127&i|f[r>>2]<<7}f[r>>2]=i,s=1}return s}function Cr(e,r,t){var i=0,n=0,a=0,o=0,s=0;e:if(!(e>>>0>5||(0|(i=a=f[t+20>>2]))>=(0|(o=f[t+12>>2]))&(n=f[t+16>>2])>>>0>=l[t+8>>2]|(0|i)>(0|o))){if(i=A[n+f[t>>2]|0],a=(n=n+1|0)?a:a+1|0,f[t+16>>2]=n,f[t+20>>2]=a,128&i){if(!Cr(e+1|0,r,t))break e;i=127&i|f[r>>2]<<7}f[r>>2]=i,s=1}return s}function Er(e,r,t){var i=0,n=0,a=0,o=0,s=0;e:if(!(e>>>0>5||(0|(i=a=f[t+20>>2]))>=(0|(o=f[t+12>>2]))&(n=f[t+16>>2])>>>0>=l[t+8>>2]|(0|i)>(0|o))){if(i=A[n+f[t>>2]|0],a=(n=n+1|0)?a:a+1|0,f[t+16>>2]=n,f[t+20>>2]=a,128&i){if(!Er(e+1|0,r,t))break e;i=127&i|f[r>>2]<<7}f[r>>2]=i,s=1}return s}function Nr(e,r,t){var i=0,n=0,a=0,o=0,s=0;e:if(!(e>>>0>5||(0|(i=a=f[t+20>>2]))>=(0|(o=f[t+12>>2]))&(n=f[t+16>>2])>>>0>=l[t+8>>2]|(0|i)>(0|o))){if(i=A[n+f[t>>2]|0],a=(n=n+1|0)?a:a+1|0,f[t+16>>2]=n,f[t+20>>2]=a,128&i){if(!Nr(e+1|0,r,t))break e;i=127&i|f[r>>2]<<7}f[r>>2]=i,s=1}return s}function Gr(e,r,t){var i=0,n=0,a=0,o=0,s=0;e:if(!(e>>>0>5||(0|(i=a=f[t+20>>2]))>=(0|(o=f[t+12>>2]))&(n=f[t+16>>2])>>>0>=l[t+8>>2]|(0|i)>(0|o))){if(i=A[n+f[t>>2]|0],a=(n=n+1|0)?a:a+1|0,f[t+16>>2]=n,f[t+20>>2]=a,128&i){if(!Gr(e+1|0,r,t))break e;i=127&i|f[r>>2]<<7}f[r>>2]=i,s=1}return s}function Rr(e,r,t){var i=0,n=0;e:{r:{if(t>>>0>=4){if(3&(e|r))break r;for(;;){if(f[e>>2]!=f[r>>2])break r;if(r=r+4|0,e=e+4|0,!((t=t-4|0)>>>0>3))break}}if(!t)break e}for(;;){if((0|(i=A[0|e]))==(0|(n=A[0|r]))){if(r=r+1|0,e=e+1|0,t=t-1|0)continue;break e}break}return i-n|0}return 0}function Vr(e){var r=0,t=0,i=0;if(e){if(i=f[e+24>>2]){if((0|(t=f[e+28>>2]))==(0|i))r=i;else{for(;r=f[(t=t-4|0)>>2],f[t>>2]=0,r&&(nt(r+12|0,f[r+16>>2]),lt(r,f[r+4>>2]),ee(r)),(0|i)!=(0|t););r=f[e+24>>2]}f[e+28>>2]=i,ee(r)}nt(e+12|0,f[e+16>>2]),lt(e,f[e+4>>2]),ee(e)}}function Dr(e){var r=0,t=0,i=0;e:{if(3&(r=e))for(;;){if(!A[0|r])break e;if(!(3&(r=r+1|0)))break}for(;t=r,r=r+4|0,!((-1^(i=f[t>>2]))&i-16843009&-2139062144););if(!(255&i))return t-e|0;for(;i=A[t+1|0],t=r=t+1|0,i;);}return r-e|0}function Mr(e,r,t){e|=0,r|=0;var i,n,a,o,s=0,c=0;return(o=f[8+(t|=0)>>2])>>>0>(n=f[t+16>>2])>>>0&(0|(s=a=f[t+12>>2]))>=(0|(i=f[t+20>>2]))|(0|i)<(0|s)&&(r=A[n+f[t>>2]|0],s=(c=n+1|0)?i:i+1|0,f[t+16>>2]=c,f[t+20>>2]=s,f[e+4>>2]=r),n>>>0<o>>>0&(0|i)<=(0|a)|(0|i)<(0|a)}function Ur(e,r,t){var i=0;if(!t)return f[e+4>>2]==f[r+4>>2];if((0|e)==(0|r))return 1;i=f[e+4>>2],e=A[0|i],t=f[r+4>>2];e:if(!(!e|(0|(r=A[0|t]))!=(0|e)))for(;;){if(r=A[t+1|0],!(e=A[i+1|0]))break e;if(t=t+1|0,i=i+1|0,(0|e)!=(0|r))break}return(0|e)==(0|r)}function Ir(e,r){var t=0,i=0,n=0,a=0;e:{if(t=f[e>>2],!(f[e+8>>2]-t>>2>>>0>=r>>>0)){if(r>>>0>=1073741824)break e;i=f[e+4>>2],n=(r=_t(n=r<<2))+n|0,a=(i=i-t|0)+r|0,(0|i)>0&&ge(r,t,i),f[e+8>>2]=n,f[e+4>>2]=a,f[e>>2]=r,t&&ee(t)}return}Hr(1326),T()}function Br(e){var r=0;e&&((r=f[e+76>>2])&&(f[e+80>>2]=r,ee(r)),(r=f[e- -64>>2])&&(f[e+68>>2]=r,ee(r)),(r=f[e+48>>2])&&(f[e+52>>2]=r,ee(r)),(r=f[e+24>>2])&&(f[e+28>>2]=r,ee(r)),(r=f[e+12>>2])&&(f[e+16>>2]=r,ee(r)),(r=f[e>>2])&&(f[e+4>>2]=r,ee(r)),ee(e))}function Zr(e){var r=0;(r=f[e+84>>2])&&(f[e+88>>2]=r,ee(r)),(r=f[e+72>>2])&&(f[e+76>>2]=r,ee(r)),(r=f[e+52>>2])&&(f[e+56>>2]=r,ee(r)),(r=f[e+40>>2])&&(f[e+44>>2]=r,ee(r)),(r=f[e+28>>2])&&(f[e+32>>2]=r,ee(r)),(r=f[e+12>>2])&&ee(r),(e=f[e>>2])&&ee(e)}function Wr(e){var r,t=0,i=0;if((0|(t=f[e+4>>2]))!=(0|(r=f[e>>2])))for(;(i=f[t-12>>2])&&(f[t-8>>2]=i,ee(i)),(i=f[t-28>>2])&&(f[t-24>>2]=i,ee(i)),(i=f[t-40>>2])&&(f[t-36>>2]=i,ee(i)),Zr(t-140|0),(0|r)!=(0|(t=t-144|0)););f[e+4>>2]=r}function Fr(e,r,t){var i=0,n=0;e:{if(t>>>0<=10)a[(i=e)+11|0]=t;else{if(t>>>0>4294967279)break e;i=t>>>0>=11?11==(0|(i=(n=t+16&-16)-1|0))?n:i:10,i=_t(n=i+1|0),f[e>>2]=i,f[e+8>>2]=-2147483648|n,f[e+4>>2]=t}return void qt(i,r,t+1|0)}si(),T()}function xr(e,r,t){var i,n,a=0,o=0,s=0;for(V=i=(V=n=V-16|0)-16|0,r=r-e>>2;r;)f[i+12>>2]=e,a=r>>>1|0,f[i+12>>2]=f[i+12>>2]+(a<<2),s=(-1^a)+r|0,r=a,a=f[i+12>>2],r=(o=l[a>>2]<l[t>>2])?s:r,e=o?a+4|0:e;return V=i+16|0,V=n+16|0,e}function Sr(e,r){var t,i;return i=_t(40),f[i>>2]=-1,f[16+(t=i+8|0)>>2]=0,f[t+20>>2]=0,f[t+8>>2]=0,f[t>>2]=0,f[t+4>>2]=0,f[t+24>>2]=0,f[t+28>>2]=0,yi[f[f[e>>2]+16>>2]](e,i),e=f[r+88>>2],f[r+88>>2]=i,e&&((r=f[e+8>>2])&&(f[e+12>>2]=r,ee(r)),ee(e)),1}function jr(e){var r,t,i=0,n=0,a=0;return a=A[e+12|0],(n=f[e+8>>2])>>>0>4095||(0|(i=f[e+4>>2]))<=0||(i=i-1|0,f[e+4>>2]=i,n=A[i+f[e>>2]|0]|n<<8),i=p(a=0-a&255,n>>>8|0),t=(r=255&n)>>>0<a>>>0,f[e+8>>2]=t?i+r|0:n-(i+a|0)|0,t}function Or(e,r){return f[e+4>>2]=0,f[e+8>>2]=0,f[e>>2]=1804,f[e+12>>2]=0,f[e+16>>2]=0,f[e+20>>2]=0,f[e+24>>2]=0,f[e+28>>2]=0,f[e+32>>2]=0,f[e+36>>2]=0,f[e+40>>2]=0,f[e>>2]=2044,f[e+44>>2]=0,f[e+48>>2]=0,f[e+52>>2]=0,f[e+56>>2]=0,f[e+60>>2]=r,e}function Yr(e,r,t,i){if(r){if((0|i)<0)return 0;!i&f[e+4>>2]-f[e>>2]>>>0>=t>>>0||br(e,t),t&&Se(f[e>>2],r,t)}else{if((0|i)<0)return 0;br(e,t)}return r=f[e+28>>2],r=(t=f[e+24>>2]+1|0)?r:r+1|0,f[e+24>>2]=t,f[e+28>>2]=r,1}function Jr(e){var r=0,t=0;(e|=0)&&(r=f[e+88>>2],f[e+88>>2]=0,r&&((t=f[r+8>>2])&&(f[r+12>>2]=t,ee(t)),ee(r)),(r=f[e+68>>2])&&(f[e+72>>2]=r,ee(r)),r=f[e+64>>2],f[e+64>>2]=0,r&&((t=f[r>>2])&&(f[r+4>>2]=t,ee(t)),ee(r)),ee(e))}function Qr(e,r){var t,i=0,n=0;if((t=Dr(r))>>>0<4294967280){e:{if(t>>>0>=11)i=_t(n=t+16&-16),f[e+8>>2]=-2147483648|n,f[e>>2]=i,f[e+4>>2]=t;else if(a[e+11|0]=t,i=e,!t)break e;ge(i,r,t)}return a[t+i|0]=0,e}si(),T()}function zr(e,r,t,i){var n,a=0,o=0;return n=(o=r^i)>>31,o>>=31,e=Te((e^=a=r>>31)-a|0,a=(r^a)-((e>>>0<a>>>0)+a|0)|0,(r=t^(e=i>>31))-e|0,(e^i)-((e>>>0>r>>>0)+e|0)|0)^o,D=(n^D)-((e>>>0<o>>>0)+n|0)|0,e-o|0}function Lr(e,r,t){var i,n=0;V=i=V-16|0,(n=2147483647&f[e+8>>2])>>>0>t>>>0?(n=f[e>>2],f[e+4>>2]=t,qt(n,r,t),a[i+15|0]=0,a[t+n|0]=A[i+15|0]):nr(e,n-1|0,1+(t-n|0)|0,e=f[e+4>>2],e,t,r),V=i+16|0}function Pr(e,r,t,i){var n,a,o,f,s=0,c=0;return f=p(s=t>>>16|0,c=e>>>16|0),s=(65535&(c=((o=p(n=65535&t,a=65535&e))>>>16|0)+p(c,n)|0))+p(s,a)|0,D=(p(r,t)+f|0)+p(e,i)+(c>>>16)+(s>>>16)|0,65535&o|s<<16}function Xr(e,r,t){var i;if(!(i=f[e+16>>2]))return f[e+36>>2]=1,f[e+24>>2]=t,void(f[e+16>>2]=r);e:{if((0|r)==(0|i)){if(2!=f[e+24>>2])break e;return void(f[e+24>>2]=t)}a[e+54|0]=1,f[e+24>>2]=2,f[e+36>>2]=f[e+36>>2]+1}}function Hr(e){var r,t,i,n,a;r=0|R(8),f[r>>2]=11024,f[r>>2]=11068,i=_t((t=Dr(e))+13|0),f[i+8>>2]=0,f[i+4>>2]=t,f[i>>2]=t,n=r,a=ge(i+12|0,e,t+1|0),f[n+4>>2]=a,f[r>>2]=11116,G(0|r,11148,13),T()}function qr(e,r,t){var i=0;return(0|(i=e+4|0))==(0|(e=$e(e,r)))?0:((0|(r=f[e+32>>2]))!=(0|(i=f[e+28>>2]))&&(Re(t,r-i|0),ge(ut(t),t=f[e+28>>2],f[e+32>>2]-t|0)),(0|r)!=(0|i))}function Kr(e,r){var t,i=0;if(t=f[e+8>>2],e=f[e+12>>2]-t|0)for(i=(e>>=2)>>>0>1?e:1,e=0;;){if(f[f[(e<<2)+t>>2]+60>>2]==(0|r))return e;if((0|i)==(0|(e=e+1|0)))break}return-1}function $r(e){return f[e+8>>2]=0,f[e+12>>2]=0,f[e>>2]=0,f[e+40>>2]=0,f[e+44>>2]=0,f[e+28>>2]=9,a[e+24|0]=1,f[e+56>>2]=-1,f[e+60>>2]=0,f[e+16>>2]=0,f[e+20>>2]=0,f[e+48>>2]=0,f[e+52>>2]=0,e}function et(e){f[e+40>>2]=0,f[e+4>>2]=0,f[e+8>>2]=0,f[e>>2]=10064,f[e+12>>2]=0,f[e+16>>2]=0,f[e+20>>2]=0,f[e+24>>2]=0,f[e+28>>2]=0,f[e+32>>2]=0,o[e+36>>1]=0,f[e+44>>2]=0,f[e>>2]=8108}function rt(e,r,t){var i=0;return r&&(r=0,!pr(1,t,e))||(a[e+36|0]=1,f[e+32>>2]=0,t=(r=f[e+16>>2])+f[e>>2]|0,f[e+24>>2]=t,i=e,e=f[e+8>>2],f[i+28>>2]=t+(e-r|0),r=1),r}function tt(e){var r,t;return(e=(r=f[2853])+(t=e+3&-4)|0)>>>0<=r>>>0&&t||e>>>0>vi()<<16>>>0&&!(0|N(0|e))?(f[2879]=48,-1):(f[2853]=e,r)}function it(e,r,t){var i;V=i=V-16|0,t>>>0<=10?(a[e+11|0]=t,qt(e,r,t),a[i+15|0]=0,a[e+t|0]=A[i+15|0]):nr(e,10,t-10|0,e=A[e+11|0],e,t,r),V=i+16|0}function nt(e,r){r&&(nt(e,f[r>>2]),nt(e,f[r+4>>2]),e=f[r+28>>2],f[r+28>>2]=0,e&&(nt(e+12|0,f[e+16>>2]),lt(e,f[e+4>>2]),ee(e)),a[r+27|0]<0&&ee(f[r+16>>2]),ee(r))}function at(e){var r=0;return!f[(e|=0)- -64>>2]|!f[e+68>>2]|!f[e+44>>2]|!f[e+48>>2]||!f[e+52>>2]|!f[e+56>>2]||(r=-1!=f[e+92>>2]),0|r}function ot(e){var r=0;return f[(e|=0)>>2]=2164,r=f[e+20>>2],f[e+20>>2]=0,r&&yi[f[f[r>>2]+4>>2]](r),f[e>>2]=1948,r=f[e+16>>2],f[e+16>>2]=0,r&&Jr(r),0|e}function ft(e){var r=0;return!f[48+(e|=0)>>2]|!f[e+52>>2]|!f[e+28>>2]|!f[e+32>>2]||!f[e+36>>2]|!f[e+40>>2]||(r=-1!=f[e+76>>2]),0|r}function st(e){var r=0;return f[(e|=0)>>2]=8652,(r=f[e+48>>2])&&(f[e+52>>2]=r,ee(r)),f[e>>2]=8904,(r=f[e+36>>2])&&ee(r),(r=f[e+24>>2])&&ee(r),0|e}function ct(e){var r=0;f[(e|=0)>>2]=2164,r=f[e+20>>2],f[e+20>>2]=0,r&&yi[f[f[r>>2]+4>>2]](r),f[e>>2]=1948,r=f[e+16>>2],f[e+16>>2]=0,r&&Jr(r),ee(e)}function At(e,r){var t=0;return t=-1,-1==(0|r)|(0|r)>4||(r=p(r,12)+e|0,e=f[r+20>>2],(f[r+24>>2]-e|0)<=0||(t=f[e>>2])),t}function bt(e,r,t,i,n,o,s){f[e>>2]=0,f[e+56>>2]=r,f[e+48>>2]=0,f[e+52>>2]=0,f[e+40>>2]=o,f[e+44>>2]=s,a[e+32|0]=n,f[e+28>>2]=i,a[e+24|0]=t}function lt(e,r){r&&(lt(e,f[r>>2]),lt(e,f[r+4>>2]),(e=f[r+28>>2])&&(f[r+32>>2]=e,ee(e)),a[r+27|0]<0&&ee(f[r+16>>2]),ee(r))}function ut(e){return(A[e+11|0]>>>7|0?f[e+4>>2]:A[e+11|0])||(di(),T()),A[e+11|0]>>>7|0&&(e=f[e>>2]),e}function _t(e){var r=0;e=e||1;e:{for(;;){if(r=U(e))break e;if(!(r=f[2880]))break;yi[0|r]()}C(),T()}return r}function pt(e,r){r&&(pt(e,f[r>>2]),pt(e,f[r+4>>2]),a[r+39|0]<0&&ee(f[r+28>>2]),a[r+27|0]<0&&ee(f[r+16>>2]),ee(r))}function kt(e){var r,t;return f[(e|=0)>>2]=11068,r=f[e+4>>2]-12|0,t=f[r+8>>2]-1|0,f[r+8>>2]=t,(0|t)<0&&ee(r),0|e}function dt(e,r){e|=0;var t=0;switch(0|(r|=0)){case 1:r=1;case 0:f[e+28>>2]=r,t=1}return 0|t}function mt(e,r,t){return r|=0,t|=0,f[4+(e|=0)>>2]=r,r=f[f[f[r+4>>2]+8>>2]+(t<<2)>>2],f[e+12>>2]=t,f[e+8>>2]=r,1}function ht(e){var r=0;return!f[60+(e|=0)>>2]|!f[e+44>>2]|!f[e+48>>2]|!f[e+52>>2]||(r=0!=f[e+56>>2]),0|r}function yt(e,r){var t,i;br(e,r),t=r=f[e+28>>2],i=r+1|0,r=f[e+24>>2]+1|0,f[e+24>>2]=r,f[e+28>>2]=r?t:i}function vt(e){var r=0;return!f[52+(e|=0)>>2]|!f[e+44>>2]|!f[e+48>>2]||(r=0!=f[e+56>>2]),0|r}function gt(e,r){e|=0;var t=0;return f[56+(r|=0)>>2]|!r|3!=A[r+24|0]||(f[e+60>>2]=r,t=1),0|t}function wt(e,r){e|=0;var t=0;return f[56+(r|=0)>>2]|3!=A[r+24|0]||(f[e- -64>>2]=r,t=1),0|t}function Tt(e,r){e|=0;var t=0;return f[56+(r|=0)>>2]|3!=A[r+24|0]||(f[e+48>>2]=r,t=1),0|t}function Ct(e){var r;f[(e|=0)>>2]=2988,(r=f[e+32>>2])&&(f[e+36>>2]=r,ee(r)),ee(e)}function Et(e,r){r&&(Et(e,f[r>>2]),Et(e,f[r+4>>2]),pt(r+20|0,f[r+24>>2]),ee(r))}function Nt(e){for(var r=0;e;)e&=e-1,r=r+1|0;return r}function Gt(){var e;return e=_t(12),f[e>>2]=0,f[e+4>>2]=0,f[e+8>>2]=0,0|e}function Rt(e){var r=0;(e|=0)&&((r=f[e>>2])&&(f[e+4>>2]=r,ee(r)),ee(e))}function Vt(e){var r;return(-1>>>(r=31&e)&-2)<<r|(-1<<(e=0-e&31)&-2)>>>e}function Dt(e,r){return r|=0,0|yi[f[f[(e|=0)>>2]+12>>2]](e,r)}function Mt(e,r){return r|=0,f[f[(e|=0)>>2]+(r<<2)>>2]}function Ut(e,r,t){return 0|oe(e|=0,r|=0,t|=0)}function It(e){return e?31-m(e-1^e)|0:32}function Bt(e){return f[e>>2]=10332,Je(e+4|0,0,80),e}function Zt(e){return f[12+(e|=0)>>2]-f[e+8>>2]>>2}function Wt(e){(e|=0)&&yi[f[f[e>>2]+4>>2]](e)}function Ft(e,r){return r|=0,f[4+(e|=0)>>2]=r,1}function xt(e){return f[4+(e|=0)>>2]-f[e>>2]>>1}function St(e){return f[4+(e|=0)>>2]-f[e>>2]>>2}function jt(e){return f[4+(e|=0)>>2]-f[e>>2]|0}function Ot(e){return f[28+(e|=0)>>2]}function Yt(e){return f[80+(e|=0)>>2]}function Jt(e,r){return 1}function Qt(e,r){return-1}function zt(e){return f[8+(e|=0)>>2]}function Lt(e){return f[4+(e|=0)>>2]}function Pt(e,r){return 6}function Xt(e,r){return 0}function Ht(e){return f[(e|=0)>>2]}function qt(e,r,t){t&&ge(e,r,t)}function Kt(e){(e|=0)&&ee(e)}function $t(e){return 0|e}function ei(e){return 1}function ri(e){return 4}function ti(e){return 5}function ii(e){return 0}function ni(e){return 2}function ai(e){return 6}function oi(){Hr(1266),T()}function fi(e){ee(e|=0)}function si(){Hr(1313),T()}function ci(e){T()}function Ai(){return-1}function bi(){return 1}function li(){di(),T()}function ui(){return 0}function _i(){return 3}function pi(){return 4}function ki(){return 2}function di(){C(),T()}function mi(e){}n(r=A,1028,"YAQAAAEAAAACAAAAAwAAAAQAAAAFAAAABgAAAAcAAAAIAAAACQAAAAoAAAALAAAADAAAAE41ZHJhY28yOEF0dHJpYnV0ZU9jdGFoZWRyb25UcmFuc2Zvcm1FAABALAAAOAQAAPwGAAAAAAAA0AQAAA4AAAAPAAAAEAAAABEAAAASAAAAEwAAABQAAAAVAAAAFgAAAAoAAAAXAAAAGAAAAE41ZHJhY28zMEF0dHJpYnV0ZVF1YW50aXphdGlvblRyYW5zZm9ybUUAAAAAQCwAAKQEAAD8BgAAX19uZXh0X3ByaW1lIG92ZXJmbG93AHZlY3RvcgBzdGQ6OmV4Y2VwdGlvbgBza2lwX2F0dHJpYnV0ZV90cmFuc2Zvcm0AYmFzaWNfc3RyaW5nAGFsbG9jYXRvcjxUPjo6YWxsb2NhdGUoc2l6ZV90IG4pICduJyBleGNlZWRzIG1heGltdW0gc3VwcG9ydGVkIHNpemUARFJBQ08AVXNpbmcgaW5jb21wYXRpYmxlIGRlY29kZXIgZm9yIHRoZSBpbnB1dCBnZW9tZXRyeS4ARmFpbGVkIHRvIGRlY29kZSBwb2ludCBhdHRyaWJ1dGVzLgBGYWlsZWQgdG8gaW5pdGlhbGl6ZSB0aGUgZGVjb2Rlci4AVW5zdXBwb3J0ZWQgbWlub3IgdmVyc2lvbi4AVW5zdXBwb3J0ZWQgbWFqb3IgdmVyc2lvbi4ASW5wdXQgaXMgbm90IGEgbWVzaC4AVW5zdXBwb3J0ZWQgZ2VvbWV0cnkgdHlwZS4ATm90IGEgRHJhY28gZmlsZS4AVW5zdXBwb3J0ZWQgZW5jb2RpbmcgbWV0aG9kLgBGYWlsZWQgdG8gZGVjb2RlIG1ldGFkYXRhLgBGYWlsZWQgdG8gZGVjb2RlIGdlb21ldHJ5IGRhdGEuAFB1cmUgdmlydHVhbCBmdW5jdGlvbiBjYWxsZWQhAE41ZHJhY28xOEF0dHJpYnV0ZVRyYW5zZm9ybUUAABgsAADeBgAAAAAAAIgHAAAZAAAAGgAAABsAAAAcAAAAHQAAAB4AAAAfAAAAIAAAACEAAAAiAAAAIwAAACQAAABONWRyYWNvMTdBdHRyaWJ1dGVzRGVjb2RlckUATjVkcmFjbzI2QXR0cmlidXRlc0RlY29kZXJJbnRlcmZhY2VFAAAAABgsAABYBwAAQCwAADwHAACABwAAAAAAAOgHAAAlAAAAJgAAACcAAAAoAAAAKQAAACoAAAArAAAALAAAAC0AAABONWRyYWNvMjZTZXF1ZW50aWFsQXR0cmlidXRlRGVjb2RlckUAAAAAGCwAAMAHAAD/////AAAAAGAIAAAuAAAALwAAABsAAAAwAAAAMQAAAB4AAAAfAAAAIAAAADIAAAAzAAAANAAAADUAAAA2AAAATjVkcmFjbzM3U2VxdWVudGlhbEF0dHJpYnV0ZURlY29kZXJzQ29udHJvbGxlckUAQCwAADAIAACIBwAAAAAAANQIAAA3AAAAOAAAADkAAAAoAAAAKQAAACoAAAA6AAAALAAAADsAAAA8AAAAPQAAAD4AAAA/AAAATjVkcmFjbzMzU2VxdWVudGlhbEludGVnZXJBdHRyaWJ1dGVEZWNvZGVyRQBALAAAqAgAAOgHAAAAAAAAYAsAAEAAAABBAAAAQgAAAEMAAABEAAAARQAAAEYAAABHAAAASAAAAEkAAABKAAAASwAAAE41ZHJhY280ME1lc2hQcmVkaWN0aW9uU2NoZW1lUGFyYWxsZWxvZ3JhbURlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvMjdNZXNoUHJlZGljdGlvblNjaGVtZURlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvMjNQcmVkaWN0aW9uU2NoZW1lRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVFRQBONWRyYWNvMzdQcmVkaWN0aW9uU2NoZW1lVHlwZWREZWNvZGVySW50ZXJmYWNlSWlpRUUATjVkcmFjbzMyUHJlZGljdGlvblNjaGVtZURlY29kZXJJbnRlcmZhY2VFAE41ZHJhY28yNVByZWRpY3Rpb25TY2hlbWVJbnRlcmZhY2VFABgsAAAECwAAQCwAANkKAAAoCwAAQCwAAKUKAAAwCwAAQCwAAFEKAAA8CwAAQCwAALsJAABICwAAQCwAABgJAABUCwAAAAAAAFQLAABAAAAATAAAACIAAABDAAAAIgAAAEUAAABGAAAARwAAAEgAAABJAAAASgAAACIAAAAAAAAASAsAAEAAAABNAAAAIgAAAEMAAAAiAAAARQAAAEYAAABHAAAASAAAAEkAAABKAAAAIgAAAAAAAADIDAAATgAAAE8AAABQAAAAQwAAAFEAAABFAAAARgAAAEcAAABIAAAASQAAAFIAAABTAAAATjVkcmFjbzU2TWVzaFByZWRpY3Rpb25TY2hlbWVDb25zdHJhaW5lZE11bHRpUGFyYWxsZWxvZ3JhbURlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQAAQCwAABQMAABUCwAAAAAAALQNAABUAAAAVQAAAFYAAABDAAAAVwAAAFgAAABZAAAAWgAAAEgAAABJAAAAWwAAAFwAAABONWRyYWNvNDRNZXNoUHJlZGljdGlvblNjaGVtZVRleENvb3Jkc1BvcnRhYmxlRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAABALAAADA0AAFQLAAAAAAAAoA4AAF0AAABeAAAAXwAAAEMAAABgAAAAYQAAAGIAAABjAAAASAAAAEkAAABkAAAAZQAAAE41ZHJhY280Mk1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAAAAAEAsAAD4DQAAVAsAAAAAAAAoEAAAZgAAAGcAAABoAAAAaQAAAGoAAABONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckFyZWFJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckJhc2VJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQAAABgsAABzDwAAQCwAAMgOAAAgEAAAAAAAACAQAABmAAAAawAAACIAAABpAAAAIgAAAAAAAAC0EQAAQAAAAGwAAABtAAAAQwAAAG4AAABFAAAARgAAAEcAAABIAAAASQAAAEoAAABvAAAATjVkcmFjbzQwTWVzaFByZWRpY3Rpb25TY2hlbWVQYXJhbGxlbG9ncmFtRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzI3TWVzaFByZWRpY3Rpb25TY2hlbWVEZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQAAQCwAAB4RAABICwAAQCwAAIgQAACoEQAAAAAAAKgRAABAAAAAcAAAACIAAABDAAAAIgAAAEUAAABGAAAARwAAAEgAAABJAAAASgAAACIAAAAAAAAA2BIAAHEAAAByAAAAcwAAAEMAAAB0AAAARQAAAEYAAABHAAAASAAAAEkAAAB1AAAAdgAAAE41ZHJhY281Nk1lc2hQcmVkaWN0aW9uU2NoZW1lQ29uc3RyYWluZWRNdWx0aVBhcmFsbGVsb2dyYW1EZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQAAAEAsAAAwEgAAqBEAAAAAAAC4EwAAdwAAAHgAAAB5AAAAQwAAAHoAAAB7AAAAfAAAAH0AAABIAAAASQAAAH4AAAB/AAAATjVkcmFjbzQ0TWVzaFByZWRpY3Rpb25TY2hlbWVUZXhDb29yZHNQb3J0YWJsZURlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAAAAQCwAABwTAACoEQAAAAAAAJQUAACAAAAAgQAAAIIAAABDAAAAgwAAAIQAAACFAAAAhgAAAEgAAABJAAAAhwAAAIgAAABONWRyYWNvNDJNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbERlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAEAsAAD8EwAAqBEAAAAAAAAAFgAAiQAAAIoAAACLAAAAjAAAAI0AAABONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckFyZWFJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280OE1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsUHJlZGljdG9yQmFzZUlpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUAGCwAAFoVAABALAAAvBQAAPgVAAAAAAAA+BUAAIkAAACOAAAAIgAAAIwAAAAiAAAAAAAAALwWAABAAAAAjwAAAJAAAABDAAAAkQAAAEUAAABGAAAARwAAAEgAAABJAAAASgAAAJIAAABONWRyYWNvMjhQcmVkaWN0aW9uU2NoZW1lRGVsdGFEZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRUVFAAAAAEAsAABgFgAASAsAAAAAAAAwFwAAkwAAAJQAAACVAAAAKAAAACkAAACWAAAAOgAAACwAAAA7AAAAlwAAAJgAAACZAAAAmgAAAE41ZHJhY28zMlNlcXVlbnRpYWxOb3JtYWxBdHRyaWJ1dGVEZWNvZGVyRQAAQCwAAAQXAADUCAAAAAAAAGQZAACbAAAAnAAAAJ0AAACeAAAAnwAAAKAAAAChAAAAogAAAKMAAACkAAAApQAAAKYAAABONWRyYWNvNDJNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbERlY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvMjdNZXNoUHJlZGljdGlvblNjaGVtZURlY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvMjNQcmVkaWN0aW9uU2NoZW1lRGVjb2RlcklpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWREZWNvZGluZ1RyYW5zZm9ybUlpRUVFRQAAQCwAAN8YAAA8CwAAQCwAADEYAABMGQAAQCwAAHQXAABYGQAAAAAAABwbAACnAAAAqAAAAKkAAACqAAAAqwAAAE41ZHJhY280OE1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsUHJlZGljdG9yQXJlYUlpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWREZWNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280OE1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsUHJlZGljdG9yQmFzZUlpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWREZWNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAAAAGCwAAE8aAABALAAAjBkAABQbAAAAAAAAwBwAAKwAAACtAAAArgAAAJ4AAACvAAAAsAAAALEAAACyAAAAowAAAKQAAACzAAAAtAAAAE41ZHJhY280Mk1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsRGVjb2RlcklpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWREZWNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzI3TWVzaFByZWRpY3Rpb25TY2hlbWVEZWNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZERlY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQAAAABALAAAEBwAAEwZAABALAAAYBsAALQcAAAAAAAAXB4AALUAAAC2AAAAtwAAALgAAAC5AAAATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JBcmVhSWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZERlY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckJhc2VJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFABgsAACeHQAAQCwAAOgcAABUHgAAAAAAABQfAAC6AAAAuwAAALwAAACeAAAAvQAAAL4AAAC/AAAAwAAAAKMAAACkAAAAwQAAAMIAAABONWRyYWNvMjhQcmVkaWN0aW9uU2NoZW1lRGVsdGFEZWNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZERlY29kaW5nVHJhbnNmb3JtSWlFRUVFAAAAAEAsAACgHgAATBkAAAAAAACYHwAAwwAAAMQAAADFAAAAKAAAACkAAADGAAAAOgAAACwAAAA7AAAAxwAAAD0AAAA+AAAAyAAAAMkAAADKAAAATjVkcmFjbzM4U2VxdWVudGlhbFF1YW50aXphdGlvbkF0dHJpYnV0ZURlY29kZXJFAAAAAEAsAABkHwAA1AgAAAAAAAD4HwAAywAAAMwAAADNAAAAzgAAACIAAADPAAAA0AAAANEAAADSAAAA0wAAANQAAADVAAAAIgAAAE41ZHJhY28xMU1lc2hEZWNvZGVyRQAAAEAsAADgHwAAvCcAAAAAAABkIAAA1gAAANcAAADNAAAA2AAAANkAAADPAAAA0AAAANEAAADaAAAA2wAAANwAAADdAAAA3gAAAE41ZHJhY28yMk1lc2hFZGdlYnJlYWtlckRlY29kZXJFAAAAAEAsAABAIAAA+B8AAAAAAABYIQAA3wAAAOAAAADhAAAA4gAAAOMAAADkAAAA5QAAAOYAAADnAAAA6AAAAP////8AAAAAuCEAAOkAAADqAAAA6wAAAOwAAADtAAAA7gAAAO8AAADwAAAA8QAAAPIAAABONWRyYWNvMjZNZXNoRWRnZWJyZWFrZXJEZWNvZGVySW1wbElOU18zMU1lc2hFZGdlYnJlYWtlclRyYXZlcnNhbERlY29kZXJFRUUATjVkcmFjbzM1TWVzaEVkZ2VicmVha2VyRGVjb2RlckltcGxJbnRlcmZhY2VFAAAAGCwAACAhAABALAAA1CAAAFAhAABONWRyYWNvMjZNZXNoRWRnZWJyZWFrZXJEZWNvZGVySW1wbElOU18zOE1lc2hFZGdlYnJlYWtlclRyYXZlcnNhbFZhbGVuY2VEZWNvZGVyRUVFAABALAAAZCEAAFAhAAAAAAAAtCIAAPMAAAD0AAAA9QAAAE41ZHJhY28xOURlcHRoRmlyc3RUcmF2ZXJzZXJJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFTlNfMzZNZXNoQXR0cmlidXRlSW5kaWNlc0VuY29kaW5nT2JzZXJ2ZXJJUzFfRUVFRQBONWRyYWNvMTNUcmF2ZXJzZXJCYXNlSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRU5TXzM2TWVzaEF0dHJpYnV0ZUluZGljZXNFbmNvZGluZ09ic2VydmVySVMxX0VFRUUAGCwAAEUiAABALAAA2CEAAKwiAAAAAAAArCIAAPYAAAD3AAAA9Q=="),n(r,8932,"AQAAAAMAAAAFAAAABwAAAAAAAAC4IwAA+AAAAPkAAAD6AAAA+wAAAE41ZHJhY28yMk1lc2hUcmF2ZXJzYWxTZXF1ZW5jZXJJTlNfMjhNYXhQcmVkaWN0aW9uRGVncmVlVHJhdmVyc2VySU5TXzExQ29ybmVyVGFibGVFTlNfMzZNZXNoQXR0cmlidXRlSW5kaWNlc0VuY29kaW5nT2JzZXJ2ZXJJUzJfRUVFRUVFAE41ZHJhY28xNVBvaW50c1NlcXVlbmNlckUAAAAAGCwAAJMjAABALAAADCMAALAjAAD/////AAAAAKgkAAD8AAAA/QAAAP4AAABONWRyYWNvMjhNYXhQcmVkaWN0aW9uRGVncmVlVHJhdmVyc2VySU5TXzExQ29ybmVyVGFibGVFTlNfMzZNZXNoQXR0cmlidXRlSW5kaWNlc0VuY29kaW5nT2JzZXJ2ZXJJUzFfRUVFRQBONWRyYWNvMTNUcmF2ZXJzZXJCYXNlSU5TXzExQ29ybmVyVGFibGVFTlNfMzZNZXNoQXR0cmlidXRlSW5kaWNlc0VuY29kaW5nT2JzZXJ2ZXJJUzFfRUVFRQAAGCwAAEUkAABALAAA3CMAAKAkAAAAAAAAoCQAAP8AAAAAAQAA/gAAAAAAAABgJQAAAQEAAAIBAAADAQAABAEAAE41ZHJhY28yMk1lc2hUcmF2ZXJzYWxTZXF1ZW5jZXJJTlNfMTlEZXB0aEZpcnN0VHJhdmVyc2VySU5TXzExQ29ybmVyVGFibGVFTlNfMzZNZXNoQXR0cmlidXRlSW5kaWNlc0VuY29kaW5nT2JzZXJ2ZXJJUzJfRUVFRUVFAAAAQCwAAOAkAACwIwAAAAAAAOAlAAAFAQAABgEAAP4AAABONWRyYWNvMTlEZXB0aEZpcnN0VHJhdmVyc2VySU5TXzExQ29ybmVyVGFibGVFTlNfMzZNZXNoQXR0cmlidXRlSW5kaWNlc0VuY29kaW5nT2JzZXJ2ZXJJUzFfRUVFRQBALAAAgCUAAKAkAAAAAAAAkCYAAAcBAAAIAQAACQEAAAoBAABONWRyYWNvMjJNZXNoVHJhdmVyc2FsU2VxdWVuY2VySU5TXzE5RGVwdGhGaXJzdFRyYXZlcnNlcklOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVOU18zNk1lc2hBdHRyaWJ1dGVJbmRpY2VzRW5jb2RpbmdPYnNlcnZlcklTMl9FRUVFRUUAAEAsAAAEJgAAsCM="),n(r,9892,"/CYAAMsAAAALAQAAzQAAAM4AAAAMAQAAzwAAANAAAADRAAAA0gAAANMAAADUAAAA1QAAAA0BAABONWRyYWNvMjFNZXNoU2VxdWVudGlhbERlY29kZXJFAEAsAADcJgAA+B8AAAAAAAA8JwAADgEAAA8BAAAQAQAAEQEAAE41ZHJhY28xNUxpbmVhclNlcXVlbmNlckUAAABALAAAICcAALAjAAAAAAAAvCcAAMsAAAASAQAAEwEAAM4AAAAiAAAAFAEAANAAAADRAAAA0g=="),n(r,10112,"RmFpbGVkIHRvIHBhcnNlIERyYWNvIGhlYWRlci4ATjVkcmFjbzE3UG9pbnRDbG91ZERlY29kZXJFAAAAGCwAAJ4nAAABAAAAAQAAAAIAAAACAAAABAAAAAQAAAAIAAAACAAAAAQAAAAIAAAAAQ=="),n(r,10243,"wAAAAMAAAADAAAAAwP//////////AAAAAEAoAAAVAQAAFgEAABcBAAAYAQAATjVkcmFjbzRNZXNoRQAAAEAsAAAwKAAAhCgAAP////8AAAAAAAAAAIQoAAAZAQAAGgEAABsBAAAcAQAATjVkcmFjbzEwUG9pbnRDbG91ZEUAAAAAGCwAAGwo"),n(r,10388,"AgAAAAMAAAAFAAAABwAAAAsAAAANAAAAEQAAABMAAAAXAAAAHQAAAB8AAAAlAAAAKQAAACsAAAAvAAAANQAAADsAAAA9AAAAQwAAAEcAAABJAAAATwAAAFMAAABZAAAAYQAAAGUAAABnAAAAawAAAG0AAABxAAAAfwAAAIMAAACJAAAAiwAAAJUAAACXAAAAnQAAAKMAAACnAAAArQAAALMAAAC1AAAAvwAAAMEAAADFAAAAxwAAANMAAAABAAAACwAAAA0AAAARAAAAEwAAABcAAAAdAAAAHwAAACUAAAApAAAAKwAAAC8AAAA1AAAAOwAAAD0AAABDAAAARwAAAEkAAABPAAAAUwAAAFkAAABhAAAAZQAAAGcAAABrAAAAbQAAAHEAAAB5AAAAfwAAAIMAAACJAAAAiwAAAI8AAACVAAAAlwAAAJ0AAACjAAAApwAAAKkAAACtAAAAswAAALUAAAC7AAAAvwAAAMEAAADFAAAAxwAAANEAAAAwMDAxMDIwMzA0MDUwNjA3MDgwOTEwMTExMjEzMTQxNTE2MTcxODE5MjAyMTIyMjMyNDI1MjYyNzI4MjkzMDMxMzIzMzM0MzUzNjM3MzgzOTQwNDE0MjQzNDQ0NTQ2NDc0ODQ5NTA1MTUyNTM1NDU1NTY1NzU4NTk2MDYxNjI2MzY0NjU2NjY3Njg2OTcwNzE3MjczNzQ3NTc2Nzc3ODc5ODA4MTgyODM4NDg1ODY4Nzg4ODk5MDkxOTI5Mzk0OTU5Njk3OTg5OQ=="),n(r,10980,"CgAAAGQAAADoAwAAECcAAKCGAQBAQg8AgJaYAADh9QUAypo7AAAAACwrAAAdAQAAHgEAAB8BAABTdDlleGNlcHRpb24AAAAAGCwAABwrAAAAAAAAWCsAAA0AAAAgAQAAIQEAAFN0MTFsb2dpY19lcnJvcgBALAAASCsAACwrAAAAAAAAjCsAAA0AAAAiAQAAIQEAAFN0MTJsZW5ndGhfZXJyb3IAAAAAQCwAAHgrAABYKwAAU3Q5dHlwZV9pbmZvAAAAABgsAACYKwAATjEwX19jeHhhYml2MTE2X19zaGltX3R5cGVfaW5mb0UAAAAAQCwAALArAACoKwAATjEwX19jeHhhYml2MTE3X19jbGFzc190eXBlX2luZm9FAAAAQCwAAOArAADUKwAAAAAAAAQsAAAjAQAAJAEAACUBAAAmAQAAJwEAACgBAAApAQAAKgEAAAAAAACILAAAIwEAACsBAAAlAQAAJgEAACcBAAAsAQAALQEAAC4BAABOMTBfX2N4eGFiaXYxMjBfX3NpX2NsYXNzX3R5cGVfaW5mb0UAAAAAQCwAAGAsAAAELA=="),n(r,11413,"L1A=");var hi,yi=(hi=[null,$t,fi,ni,function(e,r){e|=0;var t=0;return!(r=f[88+(r|=0)>>2])|2!=f[r>>2]||(t=e,e=f[r+8>>2],f[t+4>>2]=A[0|e]|A[e+1|0]<<8|A[e+2|0]<<16|A[e+3|0]<<24,t=1),0|t},function(e,r){e|=0;var t,i=0;f[(r|=0)>>2]=2,i=f[r+8>>2],(t=f[r+12>>2]-i|0)>>>0<=4294967291&&(yt(r+8|0,t+4|0),i=f[r+8>>2]),r=i+t|0,e=f[e+4>>2],a[0|r]=e,a[r+1|0]=e>>>8,a[r+2|0]=e>>>16,a[r+3|0]=e>>>24},function(e,r,t,i){e|=0,r|=0,t|=0;var n,a=0,o=0,s=0,c=0,b=0,l=0,_=0;if(s=f[80+(i|=0)>>2],V=n=V-48|0,!((e=f[e+4>>2])-31>>>0<4294967267))if(c=f[f[i>>2]>>2]+f[i+48>>2]|0,f[n+16>>2]=e,e=-1<<e,f[n+20>>2]=-1^e,e=-2-e|0,f[n+24>>2]=e,f[n+32>>2]=(0|e)/2,u[n+28>>2]=k(2)/k(0|e),(0|(o=f[t>>2]))==f[t+4>>2])if(s)for(i=0,e=0;b=n+36|0,t=f[f[r>>2]>>2],a=f[r+40>>2],ge(b,t+(o=f[r+48>>2]+Pr(a,f[r+44>>2],A[r+84|0]?e:f[f[r+68>>2]+(e<<2)>>2],0)|0)|0,a),Ie(n+16|0,b,n+12|0,n+8|0),f[(t=i<<2)+c>>2]=f[n+12>>2],f[(4|t)+c>>2]=f[n+8>>2],i=i+2|0,a=1,(0|s)!=(0|(e=e+1|0)););else a=1;else for(e=0,i=0;a=f[(i<<2)+o>>2],s=n+36|0,b=f[f[r>>2]>>2],_=f[r+48>>2],o=f[r+44>>2],l=f[r+40>>2],A[r+84|0]||(a=f[f[r+68>>2]+(a<<2)>>2]),ge(s,(a=Pr(l,o,a,0)+_|0)+b|0,l),Ie(n+16|0,s,n+12|0,n+8|0),f[(o=e<<2)+c>>2]=f[n+12>>2],f[(4|o)+c>>2]=f[n+8>>2],a=1,e=e+2|0,i=i+1|0,o=f[t>>2],i>>>0<f[t+4>>2]-o>>2>>>0;);return V=n+48|0,0|a},Ue,function(e,r){r|=0;var t,i=0;return V=t=V-16|0,-1!=(0|(e=f[4+(e|=0)>>2]))&&(a[t+15|0]=e,i=f[r+20>>2],!!f[r+16>>2]&(0|i)>=0|(0|i)>0||pe(r,f[r+4>>2],t+15|0,t+16|0)),V=t+16|0,-1!=(0|e)|0},Mr,function(e,r,t){var i,n,o,s,c,A;return r|=0,t|=0,V=i=V+-64|0,n=0|yi[f[f[(e|=0)>>2]+44>>2]](e,r),e=0|yi[f[f[e>>2]+40>>2]](e,r),o=$r(i),s=f[r+56>>2],c=n<<24>>24,A=e,e=(e=e-1|0)>>>0<=10?f[10180+(e<<2)>>2]:-1,bt(o,s,c,A,0,e=p(e,n),e>>31),He(e=Ke(_t(96),o),t),a[e+84|0]=1,f[e+72>>2]=f[e+68>>2],f[e+60>>2]=f[r+60>>2],V=i- -64|0,0|e},Pt,function(e,r){return 2},kt,function(e){var r;return f[(e|=0)>>2]=1140,(r=f[e+8>>2])&&(f[e+12>>2]=r,ee(r)),0|e},function(e){var r;f[(e|=0)>>2]=1140,(r=f[e+8>>2])&&(f[e+12>>2]=r,ee(r)),ee(e)},ei,function(e,r){e|=0;var t=0,i=0,n=0,o=0,s=0,c=0,b=0,l=0,u=0,_=0;if(!(!(t=f[88+(r|=0)>>2])|1!=f[t>>2])){if(i=f[t+8>>2],f[e+4>>2]=A[0|i]|A[i+1|0]<<8|A[i+2|0]<<16|A[i+3|0]<<24,i=a[r+24|0],n=f[e+8>>2],i>>>0>(o=f[e+12>>2]-n>>2)>>>0?(sr(e+8|0,i-o|0),i=a[r+24|0],n=f[e+8>>2]):i>>>0>=o>>>0||(f[e+12>>2]=(i<<2)+n),u=1,o=f[t+8>>2],(0|i)<=0)r=4;else{if(c=3&i,i-1>>>0<3)r=4,i=0;else for(_=-4&i,i=0,r=4;t=r+o|0,f[(s=i<<2)+n>>2]=A[0|t]|A[t+1|0]<<8|A[t+2|0]<<16|A[t+3|0]<<24,f[(4|s)+n>>2]=A[t+4|0]|A[t+5|0]<<8|A[t+6|0]<<16|A[t+7|0]<<24,f[(8|s)+n>>2]=A[t+8|0]|A[t+9|0]<<8|A[t+10|0]<<16|A[t+11|0]<<24,f[(12|s)+n>>2]=A[t+12|0]|A[t+13|0]<<8|A[t+14|0]<<16|A[t+15|0]<<24,i=i+4|0,r=r+16|0,(0|_)!=(0|(b=b+4|0)););if(c)for(;t=r+o|0,f[(i<<2)+n>>2]=A[0|t]|A[t+1|0]<<8|A[t+2|0]<<16|A[t+3|0]<<24,i=i+1|0,r=r+4|0,(0|(l=l+1|0))!=(0|c););}t=e,e=r+o|0,f[t+20>>2]=A[0|e]|A[e+1|0]<<8|A[e+2|0]<<16|A[e+3|0]<<24}return 0|u},function(e,r){e|=0;var t,i=0,n=0,o=0,s=0;if(f[(r|=0)>>2]=1,t=r+8|0,i=f[r+8>>2],(n=f[r+12>>2]-i|0)>>>0<=4294967291&&(yt(t,n+4|0),i=f[t>>2]),i=i+n|0,n=f[e+4>>2],a[0|i]=n,a[i+1|0]=n>>>8,a[i+2|0]=n>>>16,a[i+3|0]=n>>>24,(0|(i=f[e+8>>2]))!=f[e+12>>2])for(n=0;s=(n<<2)+i|0,i=f[r+8>>2],(o=f[r+12>>2]-i|0)>>>0<=4294967291&&(yt(t,o+4|0),i=f[t>>2]),i=i+o|0,o=f[s>>2],a[0|i]=o,a[i+1|0]=o>>>8,a[i+2|0]=o>>>16,a[i+3|0]=o>>>24,n=n+1|0,i=f[e+8>>2],n>>>0<f[e+12>>2]-i>>2>>>0;);(i=(i=f[r+12>>2])-(r=f[r+8>>2])|0)>>>0<=4294967291&&(yt(t,i+4|0),r=f[t>>2]),r=r+i|0,e=f[e+20>>2],a[0|r]=e,a[r+1|0]=e>>>8,a[r+2|0]=e>>>16,a[r+3|0]=e>>>24},function(e,r,t,i){e|=0,r|=0,t|=0,i|=0;var n,o=k(0),s=0,c=0,b=0,l=0,_=0,p=k(0),m=0,h=0,y=0,g=0,w=0,T=0,C=0,E=0,N=0,G=0,R=0,D=0,M=0,U=0;if(f[t>>2]==f[t+4>>2]){if(c=f[i+80>>2],V=G=V-16|0,_=f[e+4>>2],b=f[i+48>>2],i=f[f[i>>2]>>2],l=a[r+24|0],f[(t=G+8|0)>>2]=1065353216,N=t,u[t>>2]=k(-1<<_^-1)/u[e+20>>2],R=_t((0|l)!=(1073741823&l)?-1:l<<2),!(!c|(0|l)<=0))if(C=i+b|0,M=f[r>>2],t=f[r+48>>2],U=f[r+44>>2],D=f[r+40>>2],A[r+84|0])for(y=-2&l,E=1&l,r=0;;){if(w=ge(R,(b=f[M>>2])+(i=Pr(D,U,g,s)+t|0)|0,D),p=u[N>>2],m=f[e+8>>2],i=0,h=0,1!=(0|l))for(;b=C+(r<<2)|0,o=k(v(k(k(p*k(u[(T=i<<2)+w>>2]-u[m+T>>2]))+k(.5)))),_=k(d(o))<k(2147483648)?~~o:-2147483648,f[b>>2]=_,o=k(v(k(k(p*k(u[(_=4|T)+w>>2]-u[m+_>>2]))+k(.5)))),_=k(d(o))<k(2147483648)?~~o:-2147483648,f[b+4>>2]=_,i=i+2|0,r=r+2|0,(0|y)!=(0|(h=h+2|0)););if(E&&(b=C+(r<<2)|0,o=k(v(k(k(p*k(u[(i<<=2)+w>>2]-u[i+m>>2]))+k(.5)))),i=k(d(o))<k(2147483648)?~~o:-2147483648,f[b>>2]=i,r=r+1|0),g=i=g+1|0,!((0|c)!=(0|i)|(s=i?s:s+1|0)))break}else for(y=f[r+68>>2],E=-2&l,_=1&l,r=0;;){if(w=ge(R,(s=f[M>>2])+(i=Pr(D,U,f[y+(g<<2)>>2],0)+t|0)|0,D),p=u[N>>2],m=f[e+8>>2],i=0,h=0,1!=(0|l))for(;s=C+(r<<2)|0,o=k(v(k(k(p*k(u[(T=i<<2)+w>>2]-u[m+T>>2]))+k(.5)))),b=k(d(o))<k(2147483648)?~~o:-2147483648,f[s>>2]=b,o=k(v(k(k(p*k(u[(b=4|T)+w>>2]-u[m+b>>2]))+k(.5)))),b=k(d(o))<k(2147483648)?~~o:-2147483648,f[s+4>>2]=b,i=i+2|0,r=r+2|0,(0|E)!=(0|(h=h+2|0)););if(_&&(s=C+(r<<2)|0,o=k(v(k(k(p*k(u[(i<<=2)+w>>2]-u[i+m>>2]))+k(.5)))),i=k(d(o))<k(2147483648)?~~o:-2147483648,f[s>>2]=i,r=r+1|0),(0|c)==(0|(g=g+1|0)))break}return ee(R),V=G+16|0,1}if(V=G=V-16|0,N=f[e+4>>2],c=f[i+48>>2],s=f[f[i>>2]>>2],n=a[r+24|0],f[(i=G+8|0)>>2]=1065353216,b=i,u[i>>2]=k(-1<<N^-1)/u[e+20>>2],R=_t((0|n)!=(1073741823&n)?-1:n<<2),M=f[t>>2],!(!(t=f[t+4>>2]-M|0)|(0|n)<=0))if(C=s+c|0,U=f[r>>2],i=f[r+48>>2],D=f[r+44>>2],g=f[r+40>>2],T=(t>>=2)>>>0>1?t:1,A[r+84|0])for(_=-2&n,N=1&n,r=0;;){if(m=ge(R,(s=f[U>>2])+(t=Pr(g,D,f[M+(h<<2)>>2],0)+i|0)|0,g),p=u[b>>2],y=f[e+8>>2],t=0,l=0,1!=(0|n))for(;s=C+(r<<2)|0,o=k(v(k(k(p*k(u[(E=t<<2)+m>>2]-u[y+E>>2]))+k(.5)))),c=k(d(o))<k(2147483648)?~~o:-2147483648,f[s>>2]=c,o=k(v(k(k(p*k(u[(c=4|E)+m>>2]-u[y+c>>2]))+k(.5)))),c=k(d(o))<k(2147483648)?~~o:-2147483648,f[s+4>>2]=c,t=t+2|0,r=r+2|0,(0|_)!=(0|(l=l+2|0)););if(N&&(s=C+(r<<2)|0,o=k(v(k(k(p*k(u[(t<<=2)+m>>2]-u[t+y>>2]))+k(.5)))),t=k(d(o))<k(2147483648)?~~o:-2147483648,f[s>>2]=t,r=r+1|0),(0|T)==(0|(h=h+1|0)))break}else for(E=f[r+68>>2],_=-2&n,N=1&n,r=0;;){if(w=ge(R,(s=f[U>>2])+(t=Pr(g,D,f[E+(f[M+(h<<2)>>2]<<2)>>2],0)+i|0)|0,g),p=u[b>>2],m=f[e+8>>2],t=0,l=0,1!=(0|n))for(;s=C+(r<<2)|0,o=k(v(k(k(p*k(u[(y=t<<2)+w>>2]-u[m+y>>2]))+k(.5)))),c=k(d(o))<k(2147483648)?~~o:-2147483648,f[s>>2]=c,o=k(v(k(k(p*k(u[(c=4|y)+w>>2]-u[m+c>>2]))+k(.5)))),c=k(d(o))<k(2147483648)?~~o:-2147483648,f[s+4>>2]=c,t=t+2|0,r=r+2|0,(0|_)!=(0|(l=l+2|0)););if(N&&(s=C+(r<<2)|0,o=k(v(k(k(p*k(u[(t<<=2)+w>>2]-u[t+m>>2]))+k(.5)))),t=k(d(o))<k(2147483648)?~~o:-2147483648,f[s>>2]=t,r=r+1|0),(0|T)==(0|(h=h+1|0)))break}return ee(R),V=G+16|0,1},Ee,function(e,r){r|=0;var t,i,n=0,o=0;return V=t=V-16|0,-1!=(0|(i=f[4+(e|=0)>>2]))&&(n=f[r+20>>2],!!f[r+16>>2]&(0|n)>=0|(0|n)>0||(pe(r,f[r+4>>2],f[e+8>>2],f[e+12>>2]),n=f[r+20>>2],!!f[r+16>>2]&(0|n)>=0|(0|n)>0||(n=e+20|0,pe(r,f[r+4>>2],n,n+4|0),n=f[r+20>>2],o=f[r+16>>2],a[t+15|0]=f[e+4>>2],!!o&(0|n)>=0|(0|n)>0||pe(r,f[r+4>>2],t+15|0,t+16|0)))),V=t+16|0,-1!=(0|i)|0},De,Pt,function(e,r){return a[24+(r|=0)|0]},function(e){var r=0;return f[(e|=0)>>2]=1804,(r=f[e+16>>2])&&(f[e+20>>2]=r,ee(r)),(r=f[e+4>>2])&&(f[e+8>>2]=r,ee(r)),0|e},ci,function(e,r,t){return r|=0,t|=0,f[32+(e|=0)>>2]=t,f[e+28>>2]=r,1},Ae,function(e,r){r|=0;var t=0;return 0|yi[f[f[(e|=0)>>2]+36>>2]](e,r)&&0|yi[f[f[e>>2]+40>>2]](e,r)&&(t=0|yi[f[f[e>>2]+44>>2]](e)),0|t},function(e,r){return r|=0,f[f[4+(e|=0)>>2]+(r<<2)>>2]},function(e){return f[8+(e|=0)>>2]-f[e+4>>2]>>2},Ot,Xt,function(){T()},Jt,ei,function(e){var r;return f[(e|=0)>>2]=1948,r=f[e+16>>2],f[e+16>>2]=0,r&&Jr(r),0|e},function(e){var r;f[(e|=0)>>2]=1948,r=f[e+16>>2],f[e+16>>2]=0,r&&Jr(r),ee(e)},mt,function(e,r){return r|=0,f[12+(e|=0)>>2]=-1,f[e+8>>2]=r,1},function(e,r,t){r|=0,t|=0;var i,n=0;return i=f[8+(e|=0)>>2],a[i+24|0]<=0||He(i,f[r+4>>2]-f[r>>2]>>2)&&(n=0|yi[f[f[e>>2]+32>>2]](e,r,t)),0|n},function(e,r,t){return 1},Jt,function(e,r){e|=0;var t=0,i=0,n=0,a=0,o=0;if((0|yi[f[f[(r|=0)>>2]+20>>2]](r))<=0)return 1;e:{for(;;){if(-1==(0|(i=At(f[f[e+4>>2]+4>>2],0|yi[f[f[r>>2]+24>>2]](r,n)))))break e;if(a=f[e+4>>2],t=0,(0|i)<0||(o=f[a+4>>2],(0|i)>=f[o+12>>2]-f[o+8>>2]>>2||(t=f[f[a+8>>2]+(f[f[a+20>>2]+(i<<2)>>2]<<2)>>2],t=0|yi[f[f[t>>2]+32>>2]](t,i))),!t)break e;if(!(0|yi[f[f[r>>2]+28>>2]](r,t)))break e;if(n=n+1|0,!((0|yi[f[f[r>>2]+20>>2]](r))>(0|n)))break}return 1}return 0},function(e,r,t){e|=0,t|=0;var i,n,a=0,o=0,s=0,c=0,A=0,b=0,u=0,_=0;if(a=f[(r|=0)>>2],r=f[r+4>>2],n=_t((0|(i=f[f[e+8>>2]+40>>2]))>=0?i:-1),s=1,!((0|(c=r-a|0))<=0||(r=0,s=0,a=0+f[t+20>>2]|0,a=(o=i+(A=f[t+16>>2])|0)>>>0<i>>>0?a+1|0:a,b=o,o=f[t+12>>2],b>>>0>l[t+8>>2]&(0|o)<=(0|a)|(0|a)>(0|o)))){for(s=(0|(u=c>>2))>1?u:1;o=ge(n,A+f[t>>2]|0,i),f[t+16>>2]=b,f[t+20>>2]=a,ge(f[f[f[e+8>>2]+64>>2]>>2]+r|0,o,i),(0|s)!=(0|(_=_+1|0))&&(r=r+i|0,a=0+f[t+20>>2]|0,a=(o=i+(A=f[t+16>>2])|0)>>>0<i>>>0?a+1|0:a,b=o,c=o,(0|(o=f[t+12>>2]))>=(0|a)&l[t+8>>2]>=c>>>0|(0|a)<(0|o)););s=(0|_)>=(0|u)}return ee(n),0|s},function(e){var r,t=0,i=0;if(f[(e|=0)>>2]=2044,t=f[e+60>>2],f[e+60>>2]=0,t&&yi[f[f[t>>2]+4>>2]](t),(t=f[e+48>>2])&&(f[e+52>>2]=t,ee(t)),r=f[e+36>>2]){if((0|(i=f[e+40>>2]))==(0|r))t=r;else{for(;t=f[(i=i-4|0)>>2],f[i>>2]=0,t&&yi[f[f[t>>2]+4>>2]](t),(0|r)!=(0|i););t=f[e+36>>2]}f[e+40>>2]=r,ee(t)}return f[e>>2]=1804,(t=f[e+16>>2])&&(f[e+20>>2]=t,ee(t)),(t=f[e+4>>2])&&(f[e+8>>2]=t,ee(t)),0|e},function(e){var r,t=0,i=0;if(f[(e|=0)>>2]=2044,t=f[e+60>>2],f[e+60>>2]=0,t&&yi[f[f[t>>2]+4>>2]](t),(t=f[e+48>>2])&&(f[e+52>>2]=t,ee(t)),r=f[e+36>>2]){if((0|(i=f[e+40>>2]))==(0|r))t=r;else{for(;t=f[(i=i-4|0)>>2],f[i>>2]=0,t&&yi[f[f[t>>2]+4>>2]](t),(0|r)!=(0|i););t=f[e+36>>2]}f[e+40>>2]=r,ee(t)}f[e>>2]=1804,(t=f[e+16>>2])&&(f[e+20>>2]=t,ee(t)),(t=f[e+4>>2])&&(f[e+8>>2]=t,ee(t)),ee(e)},function(e,r){var t=0,i=0,n=0,a=0,o=0,s=0,c=0,b=0,u=0,_=0,p=0,k=0;if(Ae(e|=0,r|=0)){if(c=e+36|0,(o=0|yi[f[f[e>>2]+24>>2]](e))>>>0>(t=(i=f[e+40>>2])-(n=f[e+36>>2])>>2)>>>0)Oe(c,o-t|0);else if(!(t>>>0<=o>>>0)){if((0|(n=n+(o<<2)|0))!=(0|i))for(;t=f[(i=i-4|0)>>2],f[i>>2]=0,t&&yi[f[f[t>>2]+4>>2]](t),(0|i)!=(0|n););f[e+40>>2]=n}e:if((0|o)<=0)n=0;else if(n=1,!((0|(t=f[r+20>>2]))>=(0|(i=f[r+12>>2]))&(a=f[r+16>>2])>>>0>=l[r+8>>2]|(0|t)>(0|i)))for(i=0;;){if(s=A[a+f[r>>2]|0],t=(a=a+1|0)?t:t+1|0,f[r+16>>2]=a,f[r+20>>2]=t,a=0|yi[f[f[e>>2]+48>>2]](e,s),b=(s=i<<2)+f[e+36>>2]|0,t=f[b>>2],f[b>>2]=a,t&&yi[f[f[t>>2]+4>>2]](t),!(t=f[f[c>>2]+s>>2]))break e;if(_=t,p=0|yi[f[f[e>>2]+28>>2]](e),k=0|yi[f[f[e>>2]+20>>2]](e,i),u=f[f[t>>2]+8>>2],!(0|yi[u](0|_,0|p,0|k)))break e;if(n=(0|o)>(0|(i=i+1|0)),(0|i)==(0|o))break e;if(a=f[r+16>>2],t=f[r+20>>2],s=f[r+12>>2],!(a>>>0<l[r+8>>2]&(0|t)<=(0|s)|(0|t)<(0|s)))break}e=!n}else e=0;return 0|e},function(e,r){r|=0;var t=0,i=0,n=0,a=0,o=0;if((t=f[60+(e|=0)>>2])&&(f[t+4>>2]=e+48,0|yi[f[f[t>>2]+12>>2]](t))){e:if(!((0|(t=0|yi[f[f[e>>2]+24>>2]](e)))<=0)){for(;;){if(a=f[4+(0|yi[f[f[e>>2]+28>>2]](e))>>2],o=0|yi[f[f[e>>2]+20>>2]](e,i),n=f[e+60>>2],0|yi[f[f[n>>2]+8>>2]](n,f[f[a+8>>2]+(o<<2)>>2])){if((0|t)!=(0|(i=i+1|0)))continue;break e}break}return 0}i=0,0|yi[f[f[e>>2]+36>>2]](e,r)&&0|yi[f[f[e>>2]+40>>2]](e,r)&&(i=0|yi[f[f[e>>2]+44>>2]](e))}return 0|i},function(e,r){r|=0;var t,i=0;return t=f[16+(e|=0)>>2],i=0,f[e+20>>2]-t>>2<=(0|r)||(i=0,(0|(r=f[(r<<2)+t>>2]))<0||(i=rr(f[f[e+36>>2]+(r<<2)>>2]))),0|i},function(e,r){r|=0;var t,i=0,n=0,a=0,o=0;if(i=1,!((0|(t=0|yi[f[f[(e|=0)>>2]+24>>2]](e)))<=0)&&(n=f[f[e+36>>2]>>2],a=e+48|0,i=0,0|yi[f[f[n>>2]+16>>2]](n,a,r))){for(n=1;(0|t)!=(0|(i=n))&&(n=i+1|0,o=f[f[e+36>>2]+(i<<2)>>2],0|yi[f[f[o>>2]+16>>2]](o,a,r)););i=(0|i)>=(0|t)}return 0|i},function(e,r){r|=0;var t,i=0,n=0,a=0,o=0;if(i=1,!((0|(t=0|yi[f[f[(e|=0)>>2]+24>>2]](e)))<=0)&&(n=f[f[e+36>>2]>>2],a=e+48|0,i=0,0|yi[f[f[n>>2]+20>>2]](n,a,r))){for(n=1;(0|t)!=(0|(i=n))&&(n=i+1|0,o=f[f[e+36>>2]+(i<<2)>>2],0|yi[f[f[o>>2]+20>>2]](o,a,r)););i=(0|i)>=(0|t)}return 0|i},function(e){var r,t,i=0,n=0,o=0,s=0,c=0,b=0,l=0,u=0,_=0,k=0,d=0,m=0,h=0,y=0;V=r=V-16|0,m=1;e:if((0|(t=0|yi[f[f[(e|=0)>>2]+24>>2]](e)))<=0)m=0;else for(y=e+48|0;;){r:{if(f[40+(0|yi[f[f[e>>2]+28>>2]](e))>>2]&&(i=f[(s=k<<2)+f[e+36>>2]>>2],o=f[i+8>>2],b=rr(i))){i=f[40+(0|yi[f[f[e>>2]+28>>2]](e))>>2],l=f[o+56>>2],n=_t(32),f[r>>2]=n,f[r+4>>2]=24,f[r+8>>2]=-2147483616,a[n+24|0]=0,c=A[1308]|A[1309]<<8|A[1310]<<16|A[1311]<<24,o=A[1304]|A[1305]<<8|A[1306]<<16|A[1307]<<24,a[n+16|0]=o,a[n+17|0]=o>>>8,a[n+18|0]=o>>>16,a[n+19|0]=o>>>24,a[n+20|0]=c,a[n+21|0]=c>>>8,a[n+22|0]=c>>>16,a[n+23|0]=c>>>24,c=A[1300]|A[1301]<<8|A[1302]<<16|A[1303]<<24,o=A[1296]|A[1297]<<8|A[1298]<<16|A[1299]<<24,a[n+8|0]=o,a[n+9|0]=o>>>8,a[n+10|0]=o>>>16,a[n+11|0]=o>>>24,a[n+12|0]=c,a[n+13|0]=c>>>8,a[n+14|0]=c>>>16,a[n+15|0]=c>>>24,c=A[1292]|A[1293]<<8|A[1294]<<16|A[1295]<<24,o=A[1288]|A[1289]<<8|A[1290]<<16|A[1291]<<24,a[0|n]=o,a[n+1|0]=o>>>8,a[n+2|0]=o>>>16,a[n+3|0]=o>>>24,a[n+4|0]=c,a[n+5|0]=c>>>8,a[n+6|0]=c>>>16,a[n+7|0]=c>>>24,_=c=i+16|0;t:if(u=f[c>>2]){for(;_=(o=(0|l)>f[u+16>>2])?_:u,u=f[(o<<2)+u>>2];);if(!((0|c)==(0|_)|(0|l)<f[_+16>>2])&&(u=f[_+24>>2]))for(o=_+20|0;;){i:{n:{a:{if(_=(h=(d=(l=(c=A[u+27|0])<<24>>24<0)?f[u+20>>2]:c)>>>0<24)?d:24){c=u+16|0;o:{if(!(c=Rr(n,l=l?f[c>>2]:c,_))){if(d>>>0<=24)break o;break i}if((0|c)<0)break i}if(!(c=Rr(l,n,_)))break a;if((0|c)<0)break n;i=o;break t}if(d>>>0>24)break i}if(!h){i=o;break t}}u=u+4|0}if(!(u=f[u>>2]))break}}if(u=0,(0|(o=i+4|0))!=(0|(i=$e(i,r)))){for(o=a[i+39|0]<0?f[i+28>>2]:i+28|0,_=0,c=0;o=(i=o)+1|0,32==(0|(n=a[0|i]))|n-9>>>0<5;);t:{i:{n:switch((n=a[0|i])-43|0){case 0:break i;case 2:break n;default:break t}c=1}n=a[0|o],i=o}if(n-48>>>0<10)for(;_=48+(p(_,10)-a[0|i]|0)|0,o=a[i+1|0],i=i+1|0,o-48>>>0<10;);-1!=(0|(i=c?_:0-_|0))&&(u=0!=(0|i))}if(a[r+11|0]<0&&ee(f[r>>2]),u){s=f[f[f[e+36>>2]+s>>2]+8>>2],f[s+64>>2]||(n=i=_t(32),f[i+16>>2]=0,f[i+20>>2]=0,f[i+8>>2]=0,f[i>>2]=0,f[i+4>>2]=0,f[i+24>>2]=0,f[i+28>>2]=0,o=f[s+64>>2],f[s+64>>2]=i,o&&((i=f[o>>2])&&(f[o+4>>2]=i,ee(i)),ee(o),n=f[s+64>>2]),f[s>>2]=n,i=f[n+20>>2],f[s+8>>2]=f[n+16>>2],f[s+12>>2]=i,o=f[n+24>>2],i=f[n+28>>2],f[s+48>>2]=0,f[s+52>>2]=0,f[s+40>>2]=0,f[s+44>>2]=0,f[s+16>>2]=o,f[s+20>>2]=i);t:if(a[s+24|0]=A[b+24|0],f[s+28>>2]=f[b+28>>2],a[s+32|0]=A[b+32|0],i=f[b+44>>2],f[s+40>>2]=f[b+40>>2],f[s+44>>2]=i,i=f[b+52>>2],f[s+48>>2]=f[b+48>>2],f[s+52>>2]=i,f[s+56>>2]=f[b+56>>2],i=f[b+12>>2],f[s+8>>2]=f[b+8>>2],f[s+12>>2]=i,i=f[b+20>>2],f[s+16>>2]=f[b+16>>2],f[s+20>>2]=i,f[s+60>>2]=f[b+60>>2],(o=f[b>>2])?(n=0,(i=f[s>>2])&&(Yr(n=i,i=f[o>>2],f[o+4>>2]-i|0,0),n=1)):(f[s>>2]=0,n=1),n){a[s+84|0]=A[b+84|0],f[s+80>>2]=f[b+80>>2],(0|s)!=(0|b)&&Le(s+68|0,f[b+68>>2],f[b+72>>2]);i:{n:{if(l=f[b+88>>2]){if(i=_t(40),o=f[l>>2],f[i+16>>2]=0,f[i+8>>2]=0,f[i+12>>2]=0,f[i>>2]=o,n=f[l+12>>2]-f[l+8>>2]|0){if((0|n)<0)break i;o=_t(n),f[i+8>>2]=o,f[i+12>>2]=o,f[i+16>>2]=n+o,n=f[l+8>>2],(0|(c=f[l+12>>2]-n|0))>0&&(o=ge(o,n,c)+c|0),f[i+12>>2]=o}if(o=f[l+36>>2],f[i+32>>2]=f[l+32>>2],f[i+36>>2]=o,o=f[l+28>>2],f[i+24>>2]=f[l+24>>2],f[i+28>>2]=o,n=f[s+88>>2],f[s+88>>2]=i,n)break n;break t}if(n=f[s+88>>2],f[s+88>>2]=0,!n)break t}(i=f[n+8>>2])&&(f[n+12>>2]=i,ee(i)),ee(n);break t}oi(),T()}break r}}if(i=f[f[e+36>>2]+(k<<2)>>2],!(0|yi[f[f[i>>2]+24>>2]](i,y)))break e}if(m=(0|t)>(0|(k=k+1|0)),(0|k)==(0|t))break}return V=r+16|0,1&(-1^m)},function(e,r){switch(e|=0,e=0,0|(r|=0)){case 0:return e=_t(20),f[e+12>>2]=-1,f[e+16>>2]=0,f[e+4>>2]=0,f[e+8>>2]=0,f[e>>2]=1948,0|e;case 1:return e=_t(24),f[e+12>>2]=-1,f[e+16>>2]=0,f[e+4>>2]=0,f[e+8>>2]=0,f[e>>2]=1948,f[e+20>>2]=0,f[e>>2]=2164,0|e;case 2:return e=_t(48),f[e+12>>2]=-1,f[e+16>>2]=0,f[e+4>>2]=0,f[e+8>>2]=0,f[e>>2]=1948,f[e+20>>2]=0,f[e>>2]=2164,f[e+32>>2]=0,f[e+36>>2]=0,f[e+28>>2]=-1,f[e+24>>2]=1140,f[e>>2]=7976,f[e+40>>2]=0,f[e+44>>2]=0,0|e;case 3:e=_t(32),f[e+12>>2]=-1,f[e+16>>2]=0,f[e+4>>2]=0,f[e+8>>2]=0,f[e>>2]=1948,f[e+20>>2]=0,f[e>>2]=2164,f[e+28>>2]=-1,f[e+24>>2]=1032,f[e>>2]=5840}return 0|e},ot,ct,mt,function(e,r){return r|=0,0|yi[f[f[(e|=0)>>2]+48>>2]](e,f[r+4>>2]-f[r>>2]>>2)},function(e,r,t){e|=0,r|=0;var i,n,o=0,s=0,c=0,A=0,b=0,l=0,u=0;e:if(!((0|(o=i=f[12+(t|=0)>>2]))<=(0|(s=f[t+20>>2]))&(n=f[t+8>>2])>>>0<=(c=f[t+16>>2])>>>0|(0|o)<(0|s))){if(b=f[t>>2],l=a[b+c|0],o=s,o=(A=c+1|0)?o:o+1|0,f[t+16>>2]=A,f[t+20>>2]=o,-2!=(0|l)){if((0|o)>=(0|i)&A>>>0>=n>>>0|(0|o)>(0|i))break e;if(o=a[A+b|0],s=(c=c+2|0)>>>0<2?s+1|0:s,f[t+16>>2]=c,f[t+20>>2]=s,(o-4&255)>>>0<251)break e;s=0|yi[f[f[e>>2]+40>>2]](e,l,o),o=f[e+20>>2],f[e+20>>2]=s,o&&yi[f[f[o>>2]+4>>2]](o)}(!(o=f[e+20>>2])||0|yi[f[f[e>>2]+28>>2]](e,o))&&(u=0|yi[f[f[e>>2]+36>>2]](e,r,t))}return 0|u},oe,function(e,r,t){e|=0,r|=0;var i,n=0,o=0,s=0,c=0,A=0,b=0,l=0,u=0,_=0,p=0;if(V=i=V-48|0,1==(0|(t|=0))){s=f[e+4>>2],e=f[e+12>>2],f[i+40>>2]=0,f[i+32>>2]=0,f[i+36>>2]=0,f[i+24>>2]=0,f[i+28>>2]=0,f[i+16>>2]=0,f[i+20>>2]=0,f[i+8>>2]=0,f[i+12>>2]=0,o=i+8|0;e:if(-2!=(0|r)){if(u=f[f[f[s+4>>2]+8>>2]+(e<<2)>>2],1==(0|yi[f[f[s>>2]+8>>2]](s))){V=l=V-32|0,c=f[f[f[s+4>>2]+8>>2]+(e<<2)>>2];r:{t:{if(!(1!=(0|yi[f[f[s>>2]+8>>2]](s))|r-1>>>0>5||!(b=0|yi[f[f[s>>2]+36>>2]](s))|!(A=0|yi[f[f[s>>2]+44>>2]](s,e))))if(t=0|yi[f[f[s>>2]+40>>2]](s,e)){e=f[s+44>>2],f[l+12>>2]=t,f[l+8>>2]=e,f[l+20>>2]=A,f[l+16>>2]=A+12,s=l+8|0,e=0;i:{n:switch(r-1|0){case 0:if(e=_t(60),f[e+4>>2]=c,f[e>>2]=2988,c=f[o+8>>2],A=f[o+12>>2],b=f[o+16>>2],n=f[o+20>>2],t=f[o>>2],r=f[o+4>>2],f[e+40>>2]=0,f[e+32>>2]=0,f[e+36>>2]=0,f[e+24>>2]=b,f[e+28>>2]=n,f[e+16>>2]=c,f[e+20>>2]=A,f[e+8>>2]=t,f[e+12>>2]=r,r=f[o+24>>2],n=f[o+28>>2]-r|0){if((0|n)<0)break t;t=_t(n),f[e+32>>2]=t,f[e+40>>2]=t+(n>>2<<2),_=e,p=ge(t,r,n)+n|0,f[_+36>>2]=p}r=f[s+4>>2],f[e+44>>2]=f[s>>2],f[e+48>>2]=r,r=f[s+12>>2],f[e+52>>2]=f[s+8>>2],f[e+56>>2]=r,f[e>>2]=2280;break i;case 3:if(e=_t(112),f[e+4>>2]=c,f[e>>2]=2988,c=f[o+8>>2],A=f[o+12>>2],b=f[o+16>>2],n=f[o+20>>2],t=f[o>>2],r=f[o+4>>2],f[e+40>>2]=0,f[e+32>>2]=0,f[e+36>>2]=0,f[e+24>>2]=b,f[e+28>>2]=n,f[e+16>>2]=c,f[e+20>>2]=A,f[e+8>>2]=t,f[e+12>>2]=r,r=f[o+24>>2],n=f[o+28>>2]-r|0){if((0|n)<0)break t;t=_t(n),f[e+32>>2]=t,f[e+40>>2]=t+(n>>2<<2),_=e,p=ge(t,r,n)+n|0,f[_+36>>2]=p}r=f[s+4>>2],f[e+44>>2]=f[s>>2],f[e+48>>2]=r,r=f[s+12>>2],f[e+52>>2]=f[s+8>>2],f[e+56>>2]=r,f[e+60>>2]=0,f[e+64>>2]=0,f[e>>2]=3044,f[e+68>>2]=0,f[e+72>>2]=0,f[e+76>>2]=0,f[e+80>>2]=0,f[e+84>>2]=0,f[e+88>>2]=0,f[e+92>>2]=0,f[e+96>>2]=0,f[e+100>>2]=0,f[e+104>>2]=0,f[e+108>>2]=0;break i;case 4:if(e=_t(104),f[e+4>>2]=c,f[e>>2]=2988,c=f[o+8>>2],A=f[o+12>>2],b=f[o+16>>2],n=f[o+20>>2],t=f[o>>2],r=f[o+4>>2],f[e+40>>2]=0,f[e+32>>2]=0,f[e+36>>2]=0,f[e+24>>2]=b,f[e+28>>2]=n,f[e+16>>2]=c,f[e+20>>2]=A,f[e+8>>2]=t,f[e+12>>2]=r,r=f[o+24>>2],n=f[o+28>>2]-r|0){if((0|n)<0)break t;t=_t(n),f[e+32>>2]=t,f[e+40>>2]=t+(n>>2<<2),_=e,p=ge(t,r,n)+n|0,f[_+36>>2]=p}r=f[s+4>>2],f[e+44>>2]=f[s>>2],f[e+48>>2]=r,t=f[s+8>>2],r=f[s+12>>2],f[e+84>>2]=0,f[e+76>>2]=0,f[e+80>>2]=0,f[e+60>>2]=0,f[e+64>>2]=0,f[e>>2]=3292,f[e+52>>2]=t,f[e+56>>2]=r,r=f[s+4>>2],f[e+88>>2]=f[s>>2],f[e+92>>2]=r,r=f[s+12>>2],f[e+96>>2]=f[s+8>>2],f[e+100>>2]=r;break i;case 5:break n;default:break i}e=_t(128),f[e+4>>2]=c,f[e>>2]=2988,c=f[o+8>>2],A=f[o+12>>2],b=f[o+16>>2],n=f[o+20>>2],t=f[o>>2],r=f[o+4>>2],f[e+40>>2]=0,f[e+32>>2]=0,f[e+36>>2]=0,f[e+24>>2]=b,f[e+28>>2]=n,f[e+16>>2]=c,f[e+20>>2]=A,f[e+8>>2]=t,f[e+12>>2]=r;n:{a:{if(t=f[o+28>>2]-f[o+24>>2]|0){if((0|t)<0)break a;r=_t(t),f[e+32>>2]=r,f[e+36>>2]=r,f[e+40>>2]=r+(t>>2<<2),t=f[o+24>>2],(0|(n=f[o+28>>2]-t|0))>0&&(r=ge(r,t,n)+n|0),f[e+36>>2]=r}f[e>>2]=2932,r=f[s+4>>2],f[e+44>>2]=f[s>>2],f[e+48>>2]=r,r=f[s+12>>2],f[e+52>>2]=f[s+8>>2],f[e+56>>2]=r,f[(r=e- -64|0)>>2]=0,f[r+4>>2]=0,f[e+60>>2]=4156,f[e>>2]=3528,r=f[s+4>>2],f[e+72>>2]=f[s>>2],f[e+76>>2]=r,r=f[s+12>>2],f[e+80>>2]=f[s+8>>2],f[e+84>>2]=r,f[e+104>>2]=1065353216,f[e+108>>2]=-1,f[e+96>>2]=-1,f[e+100>>2]=-1,f[e+88>>2]=1,f[e+92>>2]=-1,f[e+60>>2]=3764,f[e+112>>2]=0,f[e+116>>2]=0,a[e+117|0]=0,a[e+118|0]=0,a[e+119|0]=0,a[e+120|0]=0,a[e+121|0]=0,a[e+122|0]=0,a[e+123|0]=0,a[e+124|0]=0;break n}oi(),T()}}n=e}else{e=f[s+44>>2],f[l+12>>2]=b,f[l+8>>2]=e,f[l+20>>2]=A,f[l+16>>2]=A+12,s=l+8|0,e=0;i:{n:switch(r-1|0){case 0:if(e=_t(60),f[e+4>>2]=c,f[e>>2]=2988,c=f[o+8>>2],A=f[o+12>>2],b=f[o+16>>2],n=f[o+20>>2],t=f[o>>2],r=f[o+4>>2],f[e+40>>2]=0,f[e+32>>2]=0,f[e+36>>2]=0,f[e+24>>2]=b,f[e+28>>2]=n,f[e+16>>2]=c,f[e+20>>2]=A,f[e+8>>2]=t,f[e+12>>2]=r,r=f[o+24>>2],n=f[o+28>>2]-r|0){if((0|n)<0)break t;t=_t(n),f[e+32>>2]=t,f[e+40>>2]=t+(n>>2<<2),_=e,p=ge(t,r,n)+n|0,f[_+36>>2]=p}r=f[s+4>>2],f[e+44>>2]=f[s>>2],f[e+48>>2]=r,r=f[s+12>>2],f[e+52>>2]=f[s+8>>2],f[e+56>>2]=r,f[e>>2]=4184;break i;case 3:if(e=_t(112),f[e+4>>2]=c,f[e>>2]=2988,c=f[o+8>>2],A=f[o+12>>2],b=f[o+16>>2],n=f[o+20>>2],t=f[o>>2],r=f[o+4>>2],f[e+40>>2]=0,f[e+32>>2]=0,f[e+36>>2]=0,f[e+24>>2]=b,f[e+28>>2]=n,f[e+16>>2]=c,f[e+20>>2]=A,f[e+8>>2]=t,f[e+12>>2]=r,r=f[o+24>>2],n=f[o+28>>2]-r|0){if((0|n)<0)break t;t=_t(n),f[e+32>>2]=t,f[e+40>>2]=t+(n>>2<<2),_=e,p=ge(t,r,n)+n|0,f[_+36>>2]=p}r=f[s+4>>2],f[e+44>>2]=f[s>>2],f[e+48>>2]=r,r=f[s+12>>2],f[e+52>>2]=f[s+8>>2],f[e+56>>2]=r,f[e+60>>2]=0,f[e+64>>2]=0,f[e>>2]=4608,f[e+68>>2]=0,f[e+72>>2]=0,f[e+76>>2]=0,f[e+80>>2]=0,f[e+84>>2]=0,f[e+88>>2]=0,f[e+92>>2]=0,f[e+96>>2]=0,f[e+100>>2]=0,f[e+104>>2]=0,f[e+108>>2]=0;break i;case 4:if(e=_t(104),f[e+4>>2]=c,f[e>>2]=2988,c=f[o+8>>2],A=f[o+12>>2],b=f[o+16>>2],n=f[o+20>>2],t=f[o>>2],r=f[o+4>>2],f[e+40>>2]=0,f[e+32>>2]=0,f[e+36>>2]=0,f[e+24>>2]=b,f[e+28>>2]=n,f[e+16>>2]=c,f[e+20>>2]=A,f[e+8>>2]=t,f[e+12>>2]=r,r=f[o+24>>2],n=f[o+28>>2]-r|0){if((0|n)<0)break t;t=_t(n),f[e+32>>2]=t,f[e+40>>2]=t+(n>>2<<2),_=e,p=ge(t,r,n)+n|0,f[_+36>>2]=p}r=f[s+4>>2],f[e+44>>2]=f[s>>2],f[e+48>>2]=r,t=f[s+8>>2],r=f[s+12>>2],f[e+84>>2]=0,f[e+76>>2]=0,f[e+80>>2]=0,f[e+60>>2]=0,f[e+64>>2]=0,f[e>>2]=4844,f[e+52>>2]=t,f[e+56>>2]=r,r=f[s+4>>2],f[e+88>>2]=f[s>>2],f[e+92>>2]=r,r=f[s+12>>2],f[e+96>>2]=f[s+8>>2],f[e+100>>2]=r;break i;case 5:break n;default:break i}e=_t(128),f[e+4>>2]=c,f[e>>2]=2988,c=f[o+8>>2],A=f[o+12>>2],b=f[o+16>>2],n=f[o+20>>2],t=f[o>>2],r=f[o+4>>2],f[e+40>>2]=0,f[e+32>>2]=0,f[e+36>>2]=0,f[e+24>>2]=b,f[e+28>>2]=n,f[e+16>>2]=c,f[e+20>>2]=A,f[e+8>>2]=t,f[e+12>>2]=r;n:{a:{if(t=f[o+28>>2]-f[o+24>>2]|0){if((0|t)<0)break a;r=_t(t),f[e+32>>2]=r,f[e+36>>2]=r,f[e+40>>2]=r+(t>>2<<2),t=f[o+24>>2],(0|(n=f[o+28>>2]-t|0))>0&&(r=ge(r,t,n)+n|0),f[e+36>>2]=r}f[e>>2]=4552,r=f[s+4>>2],f[e+44>>2]=f[s>>2],f[e+48>>2]=r,r=f[s+12>>2],f[e+52>>2]=f[s+8>>2],f[e+56>>2]=r,f[(r=e- -64|0)>>2]=0,f[r+4>>2]=0,f[e+60>>2]=5652,f[e>>2]=5068,r=f[s+4>>2],f[e+72>>2]=f[s>>2],f[e+76>>2]=r,r=f[s+12>>2],f[e+80>>2]=f[s+8>>2],f[e+84>>2]=r,f[e+104>>2]=1065353216,f[e+108>>2]=-1,f[e+96>>2]=-1,f[e+100>>2]=-1,f[e+88>>2]=1,f[e+92>>2]=-1,f[e+60>>2]=5288,f[e+112>>2]=0,f[e+116>>2]=0,a[e+117|0]=0,a[e+118|0]=0,a[e+119|0]=0,a[e+120|0]=0,a[e+121|0]=0,a[e+122|0]=0,a[e+123|0]=0,a[e+124|0]=0;break n}oi(),T()}}n=e}V=l+32|0;break r}oi(),T()}if(n)break e}n=_t(44),f[n+4>>2]=u,f[n>>2]=2988,c=f[o+8>>2],A=f[o+12>>2],b=f[o+16>>2],t=f[o+20>>2],r=f[o>>2],e=f[o+4>>2],f[n+40>>2]=0,f[n+32>>2]=0,f[n+36>>2]=0,f[n+24>>2]=b,f[n+28>>2]=t,f[n+16>>2]=c,f[n+20>>2]=A,f[n+8>>2]=r,f[n+12>>2]=e;r:{if(e=f[o+24>>2],t=f[o+28>>2]-e|0){if((0|t)<0)break r;r=_t(t),f[n+32>>2]=r,f[n+40>>2]=r+(t>>2<<2),_=n,p=ge(r,e,t)+t|0,f[_+36>>2]=p}f[n>>2]=5680;break e}oi(),T()}(e=f[i+32>>2])&&(f[i+36>>2]=e,ee(e))}return V=i+48|0,0|n},function(e){return a[f[8+(e|=0)>>2]+24|0]},function(e,r){r|=0;var t,i=0,n=0,s=0,c=0,A=0,b=0,l=0,u=0,_=0,p=0,k=0,d=0;t=e|=0;e:{r:{t:{i:{n:{a:{o:{f:switch(u=f[e+8>>2],f[u+28>>2]-1|0){case 4:break t;case 5:break i;case 2:break n;case 3:break a;case 0:break o;case 1:break f;default:break e}if(n=_t((0|(i=a[u+24|0]))>=0?i:-1),e=f[t+16>>2],b=f[e+80>>2]?f[f[e>>2]>>2]+f[e+48>>2]|0:0,!r)break r;if((0|i)>0){for(u=-4&i,p=3&i,s=i-1>>>0<3;;){if(e=0,A=0,!s)for(;l=b+(c<<2)|0,a[e+n|0]=f[l>>2],a[(1|e)+n|0]=f[l+4>>2],a[(2|e)+n|0]=f[l+8>>2],a[(3|e)+n|0]=f[l+12>>2],e=e+4|0,c=c+4|0,(0|u)!=(0|(A=A+4|0)););if(A=0,p)for(;a[e+n|0]=f[b+(c<<2)>>2],e=e+1|0,c=c+1|0,(0|p)!=(0|(A=A+1|0)););if(ge(f[f[f[t+8>>2]+64>>2]>>2]+k|0,n,i),k=i+k|0,(0|(_=_+1|0))==(0|r))break}break r}if(ge(f[f[u+64>>2]>>2],n,i),1==(0|r))break r;if(b=1&(s=r-1|0),e=0,2!=(0|r))for(r=-2&s;ge((e=e+i|0)+f[f[f[t+8>>2]+64>>2]>>2]|0,n,i),ge((e=e+i|0)+f[f[f[t+8>>2]+64>>2]>>2]|0,n,i),(0|r)!=(0|(c=c+2|0)););if(!b)break r;ge(f[f[f[t+8>>2]+64>>2]>>2]+(e+i|0)|0,n,i);break r}if(n=_t((0|(i=a[u+24|0]))>=0?i:-1),e=f[t+16>>2],b=f[e+80>>2]?f[f[e>>2]>>2]+f[e+48>>2]|0:0,!r)break r;if((0|i)>0){for(u=-4&i,p=3&i,s=i-1>>>0<3;;){if(e=0,A=0,!s)for(;l=b+(c<<2)|0,a[e+n|0]=f[l>>2],a[(1|e)+n|0]=f[l+4>>2],a[(2|e)+n|0]=f[l+8>>2],a[(3|e)+n|0]=f[l+12>>2],e=e+4|0,c=c+4|0,(0|u)!=(0|(A=A+4|0)););if(A=0,p)for(;a[e+n|0]=f[b+(c<<2)>>2],e=e+1|0,c=c+1|0,(0|p)!=(0|(A=A+1|0)););if(ge(f[f[f[t+8>>2]+64>>2]>>2]+k|0,n,i),k=i+k|0,(0|(_=_+1|0))==(0|r))break}break r}if(ge(f[f[u+64>>2]>>2],n,i),1==(0|r))break r;if(b=1&(s=r-1|0),e=0,2!=(0|r))for(r=-2&s;ge((e=e+i|0)+f[f[f[t+8>>2]+64>>2]>>2]|0,n,i),ge((e=e+i|0)+f[f[f[t+8>>2]+64>>2]>>2]|0,n,i),(0|r)!=(0|(c=c+2|0)););if(!b)break r;ge(f[f[f[t+8>>2]+64>>2]>>2]+(e+i|0)|0,n,i);break r}if(n=_t((e=(s=a[u+24|0])+s|0)>>>0<s>>>0?-1:e),e=f[t+16>>2],b=f[e+80>>2]?f[f[e>>2]>>2]+f[e+48>>2]|0:0,!r)break r;if(i=s<<1,(0|s)>0){for(u=-4&s,p=3&s,s=s-1>>>0<3;;){if(e=0,A=0,!s)for(;l=b+(c<<2)|0,o[(_=e<<1)+n>>1]=f[l>>2],o[(2|_)+n>>1]=f[l+4>>2],o[(4|_)+n>>1]=f[l+8>>2],o[(6|_)+n>>1]=f[l+12>>2],e=e+4|0,c=c+4|0,(0|u)!=(0|(A=A+4|0)););if(A=0,p)for(;o[(e<<1)+n>>1]=f[b+(c<<2)>>2],e=e+1|0,c=c+1|0,(0|p)!=(0|(A=A+1|0)););if(ge(f[f[f[t+8>>2]+64>>2]>>2]+d|0,n,i),d=i+d|0,(0|(k=k+1|0))==(0|r))break}break r}if(ge(f[f[u+64>>2]>>2],n,i),1==(0|r))break r;if(b=1&(s=r-1|0),e=0,2!=(0|r))for(r=-2&s;ge((e=e+i|0)+f[f[f[t+8>>2]+64>>2]>>2]|0,n,i),ge((e=e+i|0)+f[f[f[t+8>>2]+64>>2]>>2]|0,n,i),(0|r)!=(0|(c=c+2|0)););if(!b)break r;ge(f[f[f[t+8>>2]+64>>2]>>2]+(e+i|0)|0,n,i);break r}if(n=_t((e=(s=a[u+24|0])+s|0)>>>0<s>>>0?-1:e),e=f[t+16>>2],b=f[e+80>>2]?f[f[e>>2]>>2]+f[e+48>>2]|0:0,!r)break r;if(i=s<<1,(0|s)>0){for(u=-4&s,p=3&s,s=s-1>>>0<3;;){if(e=0,A=0,!s)for(;l=b+(c<<2)|0,o[(_=e<<1)+n>>1]=f[l>>2],o[(2|_)+n>>1]=f[l+4>>2],o[(4|_)+n>>1]=f[l+8>>2],o[(6|_)+n>>1]=f[l+12>>2],e=e+4|0,c=c+4|0,(0|u)!=(0|(A=A+4|0)););if(A=0,p)for(;o[(e<<1)+n>>1]=f[b+(c<<2)>>2],e=e+1|0,c=c+1|0,(0|p)!=(0|(A=A+1|0)););if(ge(f[f[f[t+8>>2]+64>>2]>>2]+d|0,n,i),d=i+d|0,(0|(k=k+1|0))==(0|r))break}break r}if(ge(f[f[u+64>>2]>>2],n,i),1==(0|r))break r;if(b=1&(s=r-1|0),e=0,2!=(0|r))for(r=-2&s;ge((e=e+i|0)+f[f[f[t+8>>2]+64>>2]>>2]|0,n,i),ge((e=e+i|0)+f[f[f[t+8>>2]+64>>2]>>2]|0,n,i),(0|r)!=(0|(c=c+2|0)););if(!b)break r;ge(f[f[f[t+8>>2]+64>>2]>>2]+(e+i|0)|0,n,i);break r}if(i=(s=a[u+24|0])<<2,n=_t((0|s)!=(1073741823&s)?-1:i),e=f[t+16>>2],b=f[e+80>>2]?f[f[e>>2]>>2]+f[e+48>>2]|0:0,!r)break r;if((0|s)>0){for(u=-4&s,p=3&s,s=s-1>>>0<3;;){if(e=0,A=0,!s)for(;l=b+(c<<2)|0,f[(_=e<<2)+n>>2]=f[l>>2],f[(4|_)+n>>2]=f[l+4>>2],f[(8|_)+n>>2]=f[l+8>>2],f[(12|_)+n>>2]=f[l+12>>2],e=e+4|0,c=c+4|0,(0|u)!=(0|(A=A+4|0)););if(A=0,p)for(;f[(e<<2)+n>>2]=f[b+(c<<2)>>2],e=e+1|0,c=c+1|0,(0|p)!=(0|(A=A+1|0)););if(ge(f[f[f[t+8>>2]+64>>2]>>2]+d|0,n,i),d=i+d|0,(0|(k=k+1|0))==(0|r))break}break r}if(ge(f[f[u+64>>2]>>2],n,i),1==(0|r))break r;if(b=1&(s=r-1|0),e=0,2!=(0|r))for(r=-2&s;ge((e=e+i|0)+f[f[f[t+8>>2]+64>>2]>>2]|0,n,i),ge((e=e+i|0)+f[f[f[t+8>>2]+64>>2]>>2]|0,n,i),(0|r)!=(0|(c=c+2|0)););if(!b)break r;ge(f[f[f[t+8>>2]+64>>2]>>2]+(e+i|0)|0,n,i);break r}if(i=(s=a[u+24|0])<<2,n=_t((0|s)!=(1073741823&s)?-1:i),e=f[t+16>>2],b=f[e+80>>2]?f[f[e>>2]>>2]+f[e+48>>2]|0:0,r)if((0|s)>0)for(u=-4&s,p=3&s,s=s-1>>>0<3;;){if(e=0,A=0,!s)for(;l=b+(c<<2)|0,f[(_=e<<2)+n>>2]=f[l>>2],f[(4|_)+n>>2]=f[l+4>>2],f[(8|_)+n>>2]=f[l+8>>2],f[(12|_)+n>>2]=f[l+12>>2],e=e+4|0,c=c+4|0,(0|u)!=(0|(A=A+4|0)););if(A=0,p)for(;f[(e<<2)+n>>2]=f[b+(c<<2)>>2],e=e+1|0,c=c+1|0,(0|p)!=(0|(A=A+1|0)););if(ge(f[f[f[t+8>>2]+64>>2]>>2]+d|0,n,i),d=i+d|0,(0|(k=k+1|0))==(0|r))break}else if(ge(f[f[u+64>>2]>>2],n,i),1!=(0|r)){if(b=1&(s=r-1|0),e=0,2!=(0|r))for(r=-2&s;ge((e=e+i|0)+f[f[f[t+8>>2]+64>>2]>>2]|0,n,i),ge((e=e+i|0)+f[f[f[t+8>>2]+64>>2]>>2]|0,n,i),(0|r)!=(0|(c=c+2|0)););b&&ge(f[f[f[t+8>>2]+64>>2]>>2]+(e+i|0)|0,n,i)}}ee(n),n=1}return 0|n},function(e){var r;return f[(e|=0)>>2]=2988,(r=f[e+32>>2])&&(f[e+36>>2]=r,ee(r)),0|e},Ct,ei,Lt,vt,ii,Qt,Xt,ii,ei,function(e,r){e|=0;var t,i,n,a=0,o=0,s=0,c=0,b=0,l=0;return i=o=f[12+(r|=0)>>2],s=a=f[r+20>>2],a=(t=(c=f[r+16>>2])+4|0)>>>0<4?a+1|0:a,(n=f[r+8>>2])>>>0<t>>>0&(0|a)>=(0|o)|(0|a)>(0|o)||(b=f[r>>2],o=A[0|(o=b+c|0)]|A[o+1|0]<<8|A[o+2|0]<<16|A[o+3|0]<<24,f[r+16>>2]=t,f[r+20>>2]=a,a=s,c=s=c+8|0,s=a=s>>>0<8?a+1|0:a,c>>>0>n>>>0&(0|a)>=(0|i)|(0|a)>(0|i)||(a=A[0|(a=t+b|0)]|A[a+1|0]<<8|A[a+2|0]<<16|A[a+3|0]<<24,f[r+16>>2]=c,f[r+20>>2]=s,(0|a)<(0|o)||(f[e+16>>2]=a,f[e+12>>2]=o,!(r=(a>>31)-((o>>31)+(a>>>0<o>>>0)|0)|0)&(a=a-o|0)>>>0>2147483646|r||(l=1,r=a+1|0,f[e+20>>2]=r,a=r>>>1|0,f[e+24>>2]=a,f[e+28>>2]=0-a,1&r||(f[e+24>>2]=a-1))))),0|l},function(e,r,t,i,n,a){r|=0,t|=0,i|=0,n|=0,a|=0;var o,s,c,A=0,b=0,l=0,u=0,_=0,k=0,d=0,m=0,h=0,y=0,v=0,g=0;if(f[8+(e|=0)>>2]=n,_=f[(i=e+32|0)>>2],(a=f[e+36>>2]-_>>2)>>>0<n>>>0?(sr(i,n-a|0),_=f[i>>2],i=f[e+8>>2]):(n>>>0<a>>>0&&(f[e+36>>2]=(n<<2)+_),i=n),c=f[e+52>>2],o=f[e+48>>2],a=0,k=Je(_t(k=(1073741823&n)!=(0|n)?-1:n<<2),0,k),!((0|i)<=0)){for(;(0|(A=f[(i=a<<2)+k>>2]))>(0|(b=f[e+16>>2]))?f[i+_>>2]=b:(i=i+_|0,b=f[e+12>>2],f[i>>2]=(0|b)>(0|A)?b:A),(0|(i=f[e+8>>2]))>(0|(a=a+1|0)););if(!((0|i)<=0))for(a=0;;){i=(A=a<<2)+t|0,A=f[r+A>>2]+f[A+_>>2]|0,f[i>>2]=A;e:{if((0|A)>f[e+16>>2])A=A-f[e+20>>2]|0;else{if((0|A)>=f[e+12>>2])break e;A=A+f[e+20>>2]|0}f[i>>2]=A}if(!((0|(i=f[e+8>>2]))>(0|(a=a+1|0))))break}}if(a=f[e+56>>2],s=f[a>>2],(0|(a=f[a+4>>2]-s|0))>=5)for(h=(0|(a>>=2))>2?a:2,y=a>>>0>1?a:1,v=-2&n,g=1&n,_=1;;){e:{r:{if((0|_)!=(0|y)){if(m=p(n,_),-1==(0|(a=f[(_<<2)+s>>2]))|f[f[o>>2]+(a>>>3&536870908)>>2]>>>a&1)break r;if(-1==(0|(a=f[f[f[o+64>>2]+12>>2]+(a<<2)>>2])))break r;if(b=f[c>>2],A=f[o+28>>2],(0|(u=f[b+(f[A+(a<<2)>>2]<<2)>>2]))>=(0|_))break r;if((0|(l=f[b+(f[A+((((l=a+1|0)>>>0)%3|0?l:a-2|0)<<2)>>2]<<2)>>2]))>=(0|_))break r;if((0|(a=f[b+(f[A+(a+((a>>>0)%3|0?-1:2)<<2)>>2]<<2)>>2]))>=(0|_))break r;if(!((0|n)<=0)){if(A=p(n,a),b=p(n,l),u=p(n,u),a=0,d=0,1!=(0|n))for(;f[k+(a<<2)>>2]=(f[(a+A<<2)+t>>2]+f[(a+b<<2)+t>>2]|0)-f[(a+u<<2)+t>>2],f[k+((l=1|a)<<2)>>2]=(f[(A+l<<2)+t>>2]+f[(b+l<<2)+t>>2]|0)-f[(u+l<<2)+t>>2],a=a+2|0,(0|v)!=(0|(d=d+2|0)););g&&(f[k+(a<<2)>>2]=(f[(a+A<<2)+t>>2]+f[(a+b<<2)+t>>2]|0)-f[(a+u<<2)+t>>2])}if((0|i)<=0)break e;for(b=f[e+32>>2],a=0;(0|(A=f[(i=a<<2)+k>>2]))>(0|(u=f[e+16>>2]))?f[i+b>>2]=u:(i=i+b|0,u=f[e+12>>2],f[i>>2]=(0|u)>(0|A)?u:A),(0|(i=f[e+8>>2]))>(0|(a=a+1|0)););if(a=0,(0|i)<=0)break e;for(u=(i=m<<2)+t|0,l=r+i|0;;){i=(A=a<<2)+u|0,A=f[A+l>>2]+f[A+b>>2]|0,f[i>>2]=A;t:{if((0|A)>f[e+16>>2])A=A-f[e+20>>2]|0;else{if((0|A)>=f[e+12>>2])break t;A=A+f[e+20>>2]|0}f[i>>2]=A}if(!((0|(i=f[e+8>>2]))>(0|(a=a+1|0))))break}break e}li(),T()}if(!((0|i)<=0)){for(u=(p(_-1|0,n)<<2)+t|0,b=f[e+32>>2],a=0;(0|(A=f[(i=a<<2)+u>>2]))>(0|(l=f[e+16>>2]))?f[i+b>>2]=l:(i=i+b|0,l=f[e+12>>2],f[i>>2]=(0|l)>(0|A)?l:A),(0|(i=f[e+8>>2]))>(0|(a=a+1|0)););if(a=0,!((0|i)<=0))for(u=(i=m<<2)+t|0,l=r+i|0;;){i=(A=a<<2)+u|0,A=f[A+l>>2]+f[A+b>>2]|0,f[i>>2]=A;r:{if((0|A)>f[e+16>>2])A=A-f[e+20>>2]|0;else{if((0|A)>=f[e+12>>2])break r;A=A+f[e+20>>2]|0}f[i>>2]=A}if(!((0|(i=f[e+8>>2]))>(0|(a=a+1|0))))break}}}if((0|h)==(0|(_=_+1|0)))break}return ee(k),1},ci,ci,function(e){var r=0;return f[(e|=0)>>2]=3044,(r=f[e+96>>2])&&ee(r),(r=f[e+84>>2])&&ee(r),(r=f[e+72>>2])&&ee(r),(r=f[e+60>>2])&&ee(r),f[e>>2]=2988,(r=f[e+32>>2])&&(f[e+36>>2]=r,ee(r)),0|e},function(e){var r=0;f[(e|=0)>>2]=3044,(r=f[e+96>>2])&&ee(r),(r=f[e+84>>2])&&ee(r),(r=f[e+72>>2])&&ee(r),(r=f[e+60>>2])&&ee(r),f[e>>2]=2988,(r=f[e+32>>2])&&(f[e+36>>2]=r,ee(r)),ee(e)},ri,vt,fe,function(e,r,t,i,n,a){r|=0,t|=0,i|=0,n|=0,a|=0;var o,s,c,A,b=0,l=0,u=0,_=0,k=0,d=0,m=0,h=0,y=0,v=0,g=0,w=0,C=0,E=0,N=0,G=0,R=0,D=0,M=0,U=0,I=0,B=0,Z=0,W=0,F=0;V=o=V+-64|0,f[8+(e|=0)>>2]=n,b=f[(a=e+32|0)>>2];e:{if((i=f[e+36>>2]-b>>2)>>>0<n>>>0)sr(a,n-i|0),f[o+56>>2]=0,f[o+60>>2]=0,f[o+48>>2]=0,f[o+52>>2]=0,f[o+40>>2]=0,f[o+44>>2]=0,f[o+32>>2]=0,f[o+36>>2]=0,f[o+24>>2]=0,f[o+28>>2]=0,f[o+16>>2]=0,f[o+20>>2]=0,f[o>>2]=0;else if(i>>>0>n>>>0&&(f[e+36>>2]=b+(n<<2)),f[o+56>>2]=0,f[o+60>>2]=0,f[o+48>>2]=0,f[o+52>>2]=0,f[o+40>>2]=0,f[o+44>>2]=0,f[o+32>>2]=0,f[o+36>>2]=0,f[o+24>>2]=0,f[o+28>>2]=0,f[o+16>>2]=0,f[o+20>>2]=0,f[o>>2]=0,i=0,!n)break e;ve(o+16|0,n,o),l=f[o+28>>2],i=f[o+32>>2]}f[o>>2]=0;e:if((i=i-l>>2)>>>0>=n>>>0){if(i>>>0<=n>>>0)break e;f[o+32>>2]=(n<<2)+l}else ve(o+16|12,n-i|0,o);f[o>>2]=0,a=f[o+40>>2];e:if((i=f[o+44>>2]-a>>2)>>>0>=n>>>0){if(i>>>0<=n>>>0)break e;f[o+44>>2]=a+(n<<2)}else ve(o+40|0,n-i|0,o);f[o>>2]=0,a=f[o+52>>2];e:if((i=f[o+56>>2]-a>>2)>>>0>=n>>>0){if(i>>>0<=n>>>0)break e;f[o+56>>2]=a+(n<<2)}else ve(o+52|0,n-i|0,o);if(l=0,!(f[e+8>>2]<=0)){for(u=f[e+32>>2],b=f[o+16>>2];(0|(a=f[(i=l<<2)+b>>2]))>(0|(d=f[e+16>>2]))?f[i+u>>2]=d:(i=i+u|0,d=f[e+12>>2],f[i>>2]=(0|d)>(0|a)?d:a),(0|(l=l+1|0))<(0|(i=f[e+8>>2])););if(!((0|i)<=0))for(i=0;;){a=(b=i<<2)+t|0,b=f[r+b>>2]+f[b+u>>2]|0,f[a>>2]=b;e:{if((0|b)>f[e+16>>2])b=b-f[e+20>>2]|0;else{if((0|b)>=f[e+12>>2])break e;b=b+f[e+20>>2]|0}f[a>>2]=b}if(!((0|(i=i+1|0))<f[e+8>>2]))break}}A=f[e+52>>2],s=f[e+48>>2],c=_t(16),f[(i=c)>>2]=0,f[i+4>>2]=0,f[i+8>>2]=0,f[i+12>>2]=0,f[o+8>>2]=0,f[o>>2]=0,f[o+4>>2]=0;e:{if(n){if(n>>>0>=1073741824)break e;E=_t(i=n<<2),f[o>>2]=E,f[o+8>>2]=i+E,Je(E,0,i)}y=1,i=f[e+56>>2],R=f[i>>2];r:if(!((0|(i=f[i+4>>2]-R|0))<5))for(I=(0|(i>>=2))>2?i:2,B=i>>>0>1?i:1,D=-2&n,M=1&n,Z=-4&n,U=3&n,N=n-1|0,W=n<<2,d=1;;){t:{i:{n:{a:{if((0|d)!=(0|B)){i=((a=f[(d<<2)+R>>2])>>>0)%3|0;o:{f:if(-1!=(0|a)){u=0,G=0!=(0|i)|-1!=(0|(b=a+2|0)),m=1,h=1<<(v=i?a-1|0:b),g=v>>>5|0,F=f[s>>2],i=a;s:{for(;;){if(!(f[(i>>>3&536870908)+F>>2]>>>i&1||-1==(0|(b=f[f[f[s+64>>2]+12>>2]+(i<<2)>>2]))||(_=f[A>>2],l=f[s+28>>2],(0|(y=f[_+(f[l+(b<<2)>>2]<<2)>>2]))>=(0|d)||(0|(k=f[_+(f[l+((((k=b+1|0)>>>0)%3|0?k:b-2|0)<<2)>>2]<<2)>>2]))>=(0|d)||(0|(l=f[_+(f[l+(b+((b>>>0)%3|0?-1:2)<<2)>>2]<<2)>>2]))>=(0|d)))){if(n){if(b=f[(o+16|0)+p(u,12)>>2],_=p(n,l),k=p(n,k),y=p(n,y),l=0,C=0,N)for(;f[b+(l<<2)>>2]=(f[(l+_<<2)+t>>2]+f[(l+k<<2)+t>>2]|0)-f[(l+y<<2)+t>>2],f[b+((w=1|l)<<2)>>2]=(f[(_+w<<2)+t>>2]+f[(k+w<<2)+t>>2]|0)-f[(y+w<<2)+t>>2],l=l+2|0,(0|D)!=(0|(C=C+2|0)););M&&(f[b+(l<<2)>>2]=(f[(l+_<<2)+t>>2]+f[(l+k<<2)+t>>2]|0)-f[(l+y<<2)+t>>2])}if(b=4,4==(0|(u=u+1|0)))break s}c:if(1&m){if(l=i-2|0,b=i+1|0,i=-1,-1==(0|(b=(b>>>0)%3|0?b:l))|f[f[s>>2]+(b>>>3&536870908)>>2]>>>b&1)break c;if(-1==(0|(b=f[f[f[s+64>>2]+12>>2]+(b<<2)>>2])))break c;i=((i=b+1|0)>>>0)%3|0?i:b-2|0}else{if((i>>>0)%3|0)l=i-1|0;else if(l=i+2|0,i=-1,-1==(0|l))break c;i=-1,f[f[s>>2]+(l>>>3&536870908)>>2]>>>l&1||-1!=(0|(b=f[f[f[s+64>>2]+12>>2]+(l<<2)>>2]))&&(i=(b>>>0)%3|0?b-1|0:b+2|0)}c:if((0|i)!=(0|a)){if(!(1&(1^m)|-1!=(0|i))){if(!G|h&f[f[s>>2]+(g<<2)>>2])break c;if(-1==(0|(i=f[f[f[s+64>>2]+12>>2]+(v<<2)>>2])))break c;m=0,i=(i>>>0)%3|0?i-1|0:i+2|0}if(-1!=(0|i))continue}break}if((0|(b=u))<=0)break f}for(n&&Je(f[o>>2],0,W),w=((i=b-1|0)<<2)+c|0,C=i=p(i,12)+e|0,G=f[i- -64>>2],y=0,m=0,i=0;;){if(a=f[w>>2],f[w>>2]=a+1,a>>>0>=G>>>0)break r;if(!(f[f[C+60>>2]+(a>>>3&536870908)>>2]>>>a&1)&&(i=i+1|0,n)){if(u=f[o>>2],_=f[(o+16|0)+p(m,12)>>2],v=0,l=0,a=0,N>>>0>=3)for(;f[(h=(k=l<<2)+u|0)>>2]=f[h>>2]+f[_+k>>2],f[(g=(h=4|k)+u|0)>>2]=f[g>>2]+f[_+h>>2],f[(g=(h=8|k)+u|0)>>2]=f[g>>2]+f[_+h>>2],f[(h=(k|=12)+u|0)>>2]=f[h>>2]+f[_+k>>2],l=l+4|0,(0|Z)!=(0|(a=a+4|0)););if(U)for(;f[(k=(a=l<<2)+u|0)>>2]=f[k>>2]+f[a+_>>2],l=l+1|0,(0|U)!=(0|(v=v+1|0)););}if((0|(m=m+1|0))==(0|b))break}if(a=m=p(n,d),!i)break o;if(!n)break i;if(a=f[o>>2],l=0,b=0,N)break a;break n}a=p(n,d)}if(f[e+8>>2]<=0)break t;for(m=(p(d-1|0,n)<<2)+t|0,u=f[e+32>>2],l=0;(0|(b=f[(i=l<<2)+m>>2]))>(0|(_=f[e+16>>2]))?f[i+u>>2]=_:(i=i+u|0,_=f[e+12>>2],f[i>>2]=(0|_)>(0|b)?_:b),(0|(l=l+1|0))<(0|(b=f[e+8>>2])););if(i=0,(0|b)<=0)break t;for(l=(a<<=2)+t|0,m=r+a|0;;){a=(b=i<<2)+l|0,b=f[b+m>>2]+f[b+u>>2]|0,f[a>>2]=b;o:{if((0|b)>f[e+16>>2])b=b-f[e+20>>2]|0;else{if((0|b)>=f[e+12>>2])break o;b=b+f[e+20>>2]|0}f[a>>2]=b}if(!((0|(i=i+1|0))<f[e+8>>2]))break}break t}li(),T()}for(;f[(_=(u=l<<2)+a|0)>>2]=f[_>>2]/(0|i),f[(u=a+(4|u)|0)>>2]=f[u>>2]/(0|i),l=l+2|0,(0|D)!=(0|(b=b+2|0)););}M&&(f[(a=a+(l<<2)|0)>>2]=f[a>>2]/(0|i))}if(!(f[e+8>>2]<=0)){for(u=f[e+32>>2],l=0;(0|(a=f[(i=l<<2)+E>>2]))>(0|(b=f[e+16>>2]))?f[i+u>>2]=b:(i=i+u|0,b=f[e+12>>2],f[i>>2]=(0|b)>(0|a)?b:a),(0|(l=l+1|0))<(0|(a=f[e+8>>2])););if(i=0,!((0|a)<=0))for(l=(a=m<<2)+t|0,m=r+a|0;;){a=(b=i<<2)+l|0,b=f[b+m>>2]+f[b+u>>2]|0,f[a>>2]=b;i:{if((0|b)>f[e+16>>2])b=b-f[e+20>>2]|0;else{if((0|b)>=f[e+12>>2])break i;b=b+f[e+20>>2]|0}f[a>>2]=b}if(!((0|(i=i+1|0))<f[e+8>>2]))break}}}if(y=1,(0|I)==(0|(d=d+1|0)))break}return(e=f[o>>2])&&ee(e),ee(c),(e=f[o+52>>2])&&(f[o+56>>2]=e,ee(e)),(e=f[o+40>>2])&&(f[o+44>>2]=e,ee(e)),(e=f[o+28>>2])&&(f[o+32>>2]=e,ee(e)),(e=f[o+16>>2])&&(f[o+20>>2]=e,ee(e)),V=o- -64|0,0|y}oi(),T()},function(e){var r=0;return f[(e|=0)>>2]=3292,(r=f[e+76>>2])&&ee(r),f[e>>2]=2988,(r=f[e+32>>2])&&(f[e+36>>2]=r,ee(r)),0|e},function(e){var r=0;f[(e|=0)>>2]=3292,(r=f[e+76>>2])&&ee(r),f[e>>2]=2988,(r=f[e+32>>2])&&(f[e+36>>2]=r,ee(r)),ee(e)},ti,ht,ei,Xt,gt,me,function(e,r,t,i,n,o){e|=0,r|=0,t|=0,i|=0,o|=0;var s=0,c=0,b=0,l=0,u=0,_=0,p=0,k=0,d=0,m=0,h=0,y=0,v=0,g=0,w=0,C=0,E=0,N=0,G=0,R=0,M=0,U=0,I=0,B=0,Z=0,W=0,F=0,x=0,S=0,j=0,O=0,J=0,Q=0,z=0,L=0,P=0,X=0,H=0,q=0,K=0;if(2==(0|(n|=0))){f[e+8>>2]=2,f[e- -64>>2]=o,n=f[(i=e+32|0)>>2],(s=(o=f[e+36>>2]-n|0)>>2)>>>0<=1?sr(i,2-s|0):8!=(0|o)&&(f[e+36>>2]=n+8);e:if(i=f[e+56>>2],(0|(o=(n=f[i+4>>2])-(i=f[i>>2])|0))<=0)o=0;else{if((0|i)!=(0|n))for(p=e+60|0,X=(0|(F=o>>2))>1?F:1,o=1;;){V=l=V-80|0,n=-1,s=-1,-1!=(0|(i=f[(h<<2)+i>>2]))&&(n=((n=i+1|0)>>>0)%3|0?n:i-2|0,s=i-1|0,(i>>>0)%3|0||(s=i+2|0)),b=f[p+36>>2],i=f[b>>2];r:{t:{i:{n:{if(b=f[b+4>>2]-i>>2,c=n<<2,n=f[f[p+32>>2]+28>>2],!(b>>>0<=(u=f[c+n>>2])>>>0||(n=f[n+(s<<2)>>2])>>>0>=b>>>0)){a:{if(!((0|(s=f[i+(n<<2)>>2]))>=(0|h)|(0|(b=f[i+(u<<2)>>2]))>=(0|h))){if(C=f[4+(i=(s<<3)+t|0)>>2],v=f[4+(n=(b<<3)+t|0)>>2],!((0|(N=f[i>>2]))!=(0|(I=f[n>>2]))|(0|v)!=(0|C))){f[p+8>>2]=I,f[p+12>>2]=v;break a}if(i=f[f[p+4>>2]+(h<<2)>>2],f[l+72>>2]=0,f[l+76>>2]=0,f[(n=l- -64|0)>>2]=0,f[n+4>>2]=0,f[l+56>>2]=0,f[l+60>>2]=0,n=f[p>>2],A[n+84|0]||(i=f[f[n+68>>2]+(i<<2)>>2]),Y(n,i,a[n+24|0],l+56|0),i=f[f[p+4>>2]+(b<<2)>>2],f[l+48>>2]=0,f[l+52>>2]=0,f[l+40>>2]=0,f[l+44>>2]=0,f[l+32>>2]=0,f[l+36>>2]=0,n=f[p>>2],A[n+84|0]||(i=f[f[n+68>>2]+(i<<2)>>2]),Y(n,i,a[n+24|0],l+32|0),i=f[f[p+4>>2]+(s<<2)>>2],f[l+24>>2]=0,f[l+28>>2]=0,f[l+16>>2]=0,f[l+20>>2]=0,f[l+8>>2]=0,f[l+12>>2]=0,n=f[p>>2],A[n+84|0]||(i=f[f[n+68>>2]+(i<<2)>>2]),Y(n,i,a[n+24|0],l+8|0),x=f[l+44>>2],i=Pr(d=(i=f[l+16>>2])-(n=B=f[l+40>>2])|0,u=f[l+20>>2]-(x+(i>>>0<n>>>0)|0)|0,d,u),n=D,k=i,S=f[l+36>>2],s=Pr(g=(i=f[l+8>>2])-(s=Z=f[l+32>>2])|0,c=f[l+12>>2]-(S+(i>>>0<s>>>0)|0)|0,g,c),n=D+n|0,n=(i=k+s|0)>>>0<s>>>0?n+1|0:n,k=i,j=f[l+52>>2],y=Pr(m=(i=f[l+24>>2])-(s=W=f[l+48>>2])|0,_=f[l+28>>2]-(j+(i>>>0<s>>>0)|0)|0,m,_),s=D+n|0,w=i=k+y|0,i|(y=i>>>0<y>>>0?s+1|0:s)){if(i=Pr((i=k=f[l+64>>2])-B|0,(J=f[l+68>>2])-((i>>>0<B>>>0)+x|0)|0,d,u),n=D,i=(s=i)+(b=Pr((i=Q=f[l+56>>2])-Z|0,(z=f[l+60>>2])-((i>>>0<Z>>>0)+S|0)|0,g,c))|0,s=D+n|0,s=i>>>0<b>>>0?s+1|0:s,i=(n=i)+(b=Pr((i=L=f[l+72>>2])-W|0,(P=f[l+76>>2])-((i>>>0<W>>>0)+j|0)|0,m,_))|0,n=D+s|0,G=i,E=i>>>0<b>>>0?n+1|0:n,s=(i=_>>31)+_|0,s=(n=i+m|0)>>>0<i>>>0?s+1|0:s,n^=i,b=i^=s,s=(i=u>>31)+u|0,M=i^(R=i+d|0),R=i^=i>>>0>R>>>0?s+1|0:s,O=0,s=(i=c>>31)+c|0,s=(U=i+g|0)>>>0<i>>>0?s+1|0:s,H=n,U^=i,(n=Te(-1,2147483647,(n=(0|b)==(0|(i=(s=(0|R)==(0|(i^=s))&M>>>0>U>>>0|i>>>0<R>>>0)?R:i))&n>>>0>(M=s?M:U)>>>0|i>>>0<b>>>0)?H:M,n?b:i)>>>0<G>>>0)&(0|(i=D))<=(0|E)|(0|i)<(0|E))break r;if(b=1,i=0,n=k,d=zr(Pr(d,u,G,E),D,w,y),s=D+x|0,s=J-((n>>>0<(u=d+B|0)>>>0)+(s=u>>>0<d>>>0?s+1|0:s)|0)|0,s=Pr(n=n-u|0,s,n,s),d=D,n=Q,k=s,c=zr(Pr(g,c,G,E),D,w,y),s=D+S|0,s=z-((n>>>0<(u=c+Z|0)>>>0)+(s=c>>>0>u>>>0?s+1|0:s)|0)|0,u=Pr(n=n-u|0,s,n,s),n=D+d|0,u=n=(s=k+u|0)>>>0<u>>>0?n+1|0:n,n=L,k=s,_=zr(Pr(m,_,G,E),D,w,y),s=D+j|0,s=P-((n>>>0<(c=_+W|0)>>>0)+(s=c>>>0<_>>>0?s+1|0:s)|0)|0,c=Pr(n=n-c|0,s,n,s),s=D+u|0,u=Pr(n=k+c|0,n>>>0<c>>>0?s+1|0:s,w,y),c=n=D,!n&u>>>0<=1)break n;for(_=u,n=c;s=i<<1|b>>>31,b<<=1,i=s,d=!n&_>>>0>7|0!=(0|n),_=(3&n)<<30|_>>>2,n=n>>>2|0,d;);break i}}if((0|b)<(0|h))i=b<<1;else{if((0|h)<=0){f[p+8>>2]=0,f[p+12>>2]=0;break a}i=(h<<1)-2|0}i=(i<<2)+t|0,f[p+8>>2]=f[i>>2],f[p+12>>2]=f[i+4>>2]}O=1;break r}li(),T()}if(i=c,(b=u)-1|0)break t}for(;n=Te(u,c,b,i)+b|0,s=i+D|0,n=Pr(b=(1&(s=n>>>0<b>>>0?s+1|0:s))<<31|n>>>1,i=s>>>1|0,b,i),(0|c)==(0|(s=D))&n>>>0>u>>>0|s>>>0>c>>>0;);}(u=f[p+20>>2])&&(n=u-1|0,_=f[f[p+16>>2]+(n>>>3&536870908)>>2],f[p+20>>2]=n,s=Pr(G,E,d=C-(s=v)|0,g=(C>>31)-((c=s>>31)+(s>>>0>C>>>0)|0)|0),m=D,c=(v=Pr(v,c,w,y))+s|0,s=D+m|0,s=c>>>0<v>>>0?s+1|0:s,k=c,N=c=Pr(b,i,m=N-(c=I)|0,C=(N>>31)-((v=c>>31)+(c>>>0>N>>>0)|0)|0),c=k+(_=(n=_>>>n&1)?0-c|0:c)|0,k=s,s=D,s=k+(n?0-(s+(0!=(0|N))|0)|0:s)|0,q=p,K=zr(c,c>>>0<_>>>0?s+1|0:s,w,y),f[q+12>>2]=K,s=Pr(m,C,G,E),_=D,c=(m=Pr(w,y,I,v))+s|0,s=D+_|0,s=c>>>0<m>>>0?s+1|0:s,k=c,i=Pr(b,i,d,g),b=k+(c=n?i:0-i|0)|0,k=s,s=D,n=k+(n?s:0-((0!=(0|i))+s|0)|0)|0,q=p,K=zr(b,b>>>0<c>>>0?n+1|0:n,w,y),f[q+8>>2]=K),O=0!=(0|u)}if(V=l+80|0,!O)break e;if(!(f[e+8>>2]<=0)){for(s=f[e+32>>2],i=0;(0|(o=f[68+((n=i<<2)+e|0)>>2]))>(0|(b=f[e+16>>2]))?f[n+s>>2]=b:(n=n+s|0,b=f[e+12>>2],f[n>>2]=(0|b)>(0|o)?b:o),(0|(i=i+1|0))<(0|(o=f[e+8>>2])););if(n=0,!((0|o)<=0))for(b=(i=h<<3)+t|0,u=r+i|0;;){i=(o=n<<2)+b|0,o=f[o+u>>2]+f[o+s>>2]|0,f[i>>2]=o;r:{if((0|o)>f[e+16>>2])o=o-f[e+20>>2]|0;else{if((0|o)>=f[e+12>>2])break r;o=o+f[e+20>>2]|0}f[i>>2]=o}if(!((0|(n=n+1|0))<f[e+8>>2]))break}}if(o=(0|F)>(0|(h=h+1|0)),(0|h)==(0|X))break e;if(n=f[e+56>>2],i=f[n>>2],!(f[n+4>>2]-i>>2>>>0>h>>>0))break}li(),T()}e=1^o}else e=0;return 1&e},function(e){var r;return f[(e|=0)>>2]=3528,f[e>>2]=2988,(r=f[e+32>>2])&&(f[e+36>>2]=r,ee(r)),0|e},function(e){var r;f[(e|=0)>>2]=3528,f[e>>2]=2988,(r=f[e+32>>2])&&(f[e+36>>2]=r,ee(r)),ee(e)},ai,at,ei,Xt,wt,Ye,function(e,r,t,i,n,a){r|=0,t|=0,i|=0,n|=0,a|=0;var o,s=0,c=0,A=0,b=0,l=0,u=0,_=0,p=0;V=o=V-32|0,f[68+(e|=0)>>2]=a,n=f[e+56>>2],i=f[n>>2],a=f[n+4>>2],f[o+24>>2]=0,f[o+16>>2]=0,f[o+20>>2]=0;e:if(!((0|(a=a-i|0))<=0)){if((0|(i=f[n>>2]))!=f[n+4>>2])for(u=e+112|0,_=e+60|0,p=(n=a>>>2|0)>>>0>1?n:1;;){if(J(_,f[(b<<2)+i>>2],o+16|0),i=(n=f[o+20>>2])>>31,s=(a=f[o+16>>2])>>31,c=(A=f[o+24>>2])>>31,s=(c^=c+A)+((i^i+n)+(s^a+s)|0)|0,i=0,(i=s>>>0<c>>>0?1:i)|s?(a=zr(Pr(c=f[e+108>>2],l=c>>31,a,a>>31),D,s,i),f[o+16>>2]=a,i=zr(Pr(c,l,n,n>>31),D,s,i),f[o+20>>2]=i,i=(n=(n=i)+(i>>=31)^i)+((i=a>>31)+a^i)|0,f[o+24>>2]=(0|A)>=0?c-i:i-c):f[o+16>>2]=f[e+108>>2],i=jr(u),a=f[o+16>>2],i?(f[o+24>>2]=0-f[o+24>>2],n=0-f[o+20>>2]|0,f[o+20>>2]=n,a=0-a|0,f[o+16>>2]=a):n=f[o+20>>2],(0|a)>=0?(a=(i=f[e+108>>2])+f[o+24>>2]|0,i=i+n|0):((0|n)<0?(i=(a=f[o+24>>2])>>31,i^=i+a):(i=(a=f[o+24>>2])>>31,i=f[e+100>>2]-(i^i+a)|0),(0|a)<0?a=(a=n)+(n>>=31)^n:(a=n,n>>=31,a=f[e+100>>2]-(a+n^n)|0)),n=f[e+100>>2],i|a?(0|n)!=(0|a)|i?a|(s=(0|i)!=(0|n))?i||(0|(A=f[e+108>>2]))>=(0|a)?s||(0|(s=f[e+108>>2]))<=(0|a)?(0|n)!=(0|a)||(0|(n=f[e+108>>2]))<=(0|i)?a||(a=0,(0|(n=f[e+108>>2]))>=(0|i)||(i=(n<<1)-i|0)):i=(n<<1)-i|0:a=(s<<1)-a|0:(a=(A<<1)-a|0,i=0):a=i:i=a:i=a=n,f[o+12>>2]=a,f[o+8>>2]=i,!(f[e+8>>2]<=0)){for(s=f[e+32>>2],a=0;(0|(n=f[e+16>>2]))<(0|i)?f[s+(a<<2)>>2]=n:(n=s+(a<<2)|0,A=f[e+12>>2],f[n>>2]=(0|A)>(0|i)?A:i),(0|(a=a+1|0))<(0|(n=f[e+8>>2]));)i=f[(o+8|0)+(a<<2)>>2];if(i=0,!((0|n)<=0))for(A=(n=b<<3)+t|0,c=r+n|0;;){n=(a=i<<2)+A|0,a=f[a+c>>2]+f[a+s>>2]|0,f[n>>2]=a;r:{if((0|a)>f[e+16>>2])a=a-f[e+20>>2]|0;else{if((0|a)>=f[e+12>>2])break r;a=a+f[e+20>>2]|0}f[n>>2]=a}if(!((0|(i=i+1|0))<f[e+8>>2]))break}}if((0|p)==(0|(b=b+1|0)))break e;if(n=f[e+56>>2],i=f[n>>2],!(f[n+4>>2]-i>>2>>>0>b>>>0))break}li(),T()}return V=o+32|0,1},$t,fi,dt,Ot,J,ci,Ct,ei,vt,function(e,r,t,i,n,a){r|=0,t|=0,i|=0,n|=0,a|=0;var o,s,c,A=0,b=0,l=0,u=0,_=0,k=0,d=0,m=0,h=0,y=0,v=0,g=0;if(f[8+(e|=0)>>2]=n,_=f[(i=e+32|0)>>2],(a=f[e+36>>2]-_>>2)>>>0<n>>>0?(sr(i,n-a|0),_=f[i>>2],i=f[e+8>>2]):(n>>>0<a>>>0&&(f[e+36>>2]=(n<<2)+_),i=n),c=f[e+52>>2],o=f[e+48>>2],a=0,d=Je(_t(d=(1073741823&n)!=(0|n)?-1:n<<2),0,d),!((0|i)<=0)){for(;(0|(A=f[(i=a<<2)+d>>2]))>(0|(l=f[e+16>>2]))?f[i+_>>2]=l:(i=i+_|0,l=f[e+12>>2],f[i>>2]=(0|l)>(0|A)?l:A),(0|(i=f[e+8>>2]))>(0|(a=a+1|0)););if(!((0|i)<=0))for(a=0;;){i=(A=a<<2)+t|0,A=f[r+A>>2]+f[A+_>>2]|0,f[i>>2]=A;e:{if((0|A)>f[e+16>>2])b=A-f[e+20>>2]|0;else{if((0|A)>=f[e+12>>2])break e;b=A+f[e+20>>2]|0}f[i>>2]=b}if(!((0|(i=f[e+8>>2]))>(0|(a=a+1|0))))break}}if(a=f[e+56>>2],s=f[a>>2],(0|(a=f[a+4>>2]-s|0))>=5)for(h=(0|(a>>=2))>2?a:2,y=a>>>0>1?a:1,v=-2&n,g=1&n,_=1;;){e:{r:{if((0|_)!=(0|y)){if(m=p(n,_),-1==(0|(a=f[(_<<2)+s>>2])))break r;if(-1==(0|(a=f[f[o+12>>2]+(a<<2)>>2])))break r;l=f[c>>2],A=f[o>>2],u=f[l+(f[A+(a<<2)>>2]<<2)>>2],b=-1!=(0|(b=((b=a+1|0)>>>0)%3|0?b:a-2|0))?f[A+(b<<2)>>2]:-1;t:{if((a>>>0)%3|0)a=a-1|0;else if(k=-1,-1==(0|(a=a+2|0)))break t;k=f[A+(a<<2)>>2]}if((0|u)>=(0|_))break r;if((0|(a=f[(b<<2)+l>>2]))>=(0|_))break r;if((0|(A=f[l+(k<<2)>>2]))>=(0|_))break r;if(!((0|n)<=0)){if(A=p(n,A),l=p(n,a),u=p(n,u),a=0,k=0,1!=(0|n))for(;f[d+(a<<2)>>2]=(f[(a+A<<2)+t>>2]+f[(a+l<<2)+t>>2]|0)-f[(a+u<<2)+t>>2],f[d+((b=1|a)<<2)>>2]=(f[(A+b<<2)+t>>2]+f[(l+b<<2)+t>>2]|0)-f[(b+u<<2)+t>>2],a=a+2|0,(0|v)!=(0|(k=k+2|0)););g&&(f[d+(a<<2)>>2]=(f[(a+A<<2)+t>>2]+f[(a+l<<2)+t>>2]|0)-f[(a+u<<2)+t>>2])}if((0|i)<=0)break e;for(l=f[e+32>>2],a=0;(0|(A=f[(i=a<<2)+d>>2]))>(0|(u=f[e+16>>2]))?f[i+l>>2]=u:(i=i+l|0,u=f[e+12>>2],f[i>>2]=(0|u)>(0|A)?u:A),(0|(i=f[e+8>>2]))>(0|(a=a+1|0)););if(a=0,(0|i)<=0)break e;for(u=(i=m<<2)+t|0,b=r+i|0;;){i=(A=a<<2)+u|0,A=f[A+b>>2]+f[A+l>>2]|0,f[i>>2]=A;t:{if((0|A)>f[e+16>>2])k=A-f[e+20>>2]|0;else{if((0|A)>=f[e+12>>2])break t;k=A+f[e+20>>2]|0}f[i>>2]=k}if(!((0|(i=f[e+8>>2]))>(0|(a=a+1|0))))break}break e}li(),T()}if(!((0|i)<=0)){for(u=(p(_-1|0,n)<<2)+t|0,l=f[e+32>>2],a=0;(0|(A=f[(i=a<<2)+u>>2]))>(0|(b=f[e+16>>2]))?f[i+l>>2]=b:(i=i+l|0,b=f[e+12>>2],f[i>>2]=(0|b)>(0|A)?b:A),(0|(i=f[e+8>>2]))>(0|(a=a+1|0)););if(a=0,!((0|i)<=0))for(u=(i=m<<2)+t|0,b=r+i|0;;){i=(A=a<<2)+u|0,A=f[A+b>>2]+f[A+l>>2]|0,f[i>>2]=A;r:{if((0|A)>f[e+16>>2])k=A-f[e+20>>2]|0;else{if((0|A)>=f[e+12>>2])break r;k=A+f[e+20>>2]|0}f[i>>2]=k}if(!((0|(i=f[e+8>>2]))>(0|(a=a+1|0))))break}}}if((0|h)==(0|(_=_+1|0)))break}return ee(d),1},ci,function(e){var r=0;return f[(e|=0)>>2]=4608,(r=f[e+96>>2])&&ee(r),(r=f[e+84>>2])&&ee(r),(r=f[e+72>>2])&&ee(r),(r=f[e+60>>2])&&ee(r),f[e>>2]=2988,(r=f[e+32>>2])&&(f[e+36>>2]=r,ee(r)),0|e},function(e){var r=0;f[(e|=0)>>2]=4608,(r=f[e+96>>2])&&ee(r),(r=f[e+84>>2])&&ee(r),(r=f[e+72>>2])&&ee(r),(r=f[e+60>>2])&&ee(r),f[e>>2]=2988,(r=f[e+32>>2])&&(f[e+36>>2]=r,ee(r)),ee(e)},ri,vt,fe,function(e,r,t,i,n,a){r|=0,t|=0,i|=0,n|=0,a|=0;var o,s,c,A,b=0,l=0,u=0,_=0,k=0,d=0,m=0,h=0,y=0,v=0,g=0,w=0,C=0,E=0,N=0,G=0,R=0,D=0,M=0,U=0,I=0,B=0,Z=0,W=0;V=o=V+-64|0,f[8+(e|=0)>>2]=n,b=f[(a=e+32|0)>>2];e:{if((i=f[e+36>>2]-b>>2)>>>0<n>>>0)sr(a,n-i|0),f[o+56>>2]=0,f[o+60>>2]=0,f[o+48>>2]=0,f[o+52>>2]=0,f[o+40>>2]=0,f[o+44>>2]=0,f[o+32>>2]=0,f[o+36>>2]=0,f[o+24>>2]=0,f[o+28>>2]=0,f[o+16>>2]=0,f[o+20>>2]=0,f[o>>2]=0;else if(i>>>0>n>>>0&&(f[e+36>>2]=b+(n<<2)),f[o+56>>2]=0,f[o+60>>2]=0,f[o+48>>2]=0,f[o+52>>2]=0,f[o+40>>2]=0,f[o+44>>2]=0,f[o+32>>2]=0,f[o+36>>2]=0,f[o+24>>2]=0,f[o+28>>2]=0,f[o+16>>2]=0,f[o+20>>2]=0,f[o>>2]=0,i=0,!n)break e;ve(o+16|0,n,o),l=f[o+28>>2],i=f[o+32>>2]}f[o>>2]=0;e:if((i=i-l>>2)>>>0>=n>>>0){if(i>>>0<=n>>>0)break e;f[o+32>>2]=(n<<2)+l}else ve(o+16|12,n-i|0,o);f[o>>2]=0,a=f[o+40>>2];e:if((i=f[o+44>>2]-a>>2)>>>0>=n>>>0){if(i>>>0<=n>>>0)break e;f[o+44>>2]=a+(n<<2)}else ve(o+40|0,n-i|0,o);f[o>>2]=0,a=f[o+52>>2];e:if((i=f[o+56>>2]-a>>2)>>>0>=n>>>0){if(i>>>0<=n>>>0)break e;f[o+56>>2]=a+(n<<2)}else ve(o+52|0,n-i|0,o);if(l=0,!(f[e+8>>2]<=0)){for(_=f[e+32>>2],b=f[o+16>>2];(0|(a=f[(i=l<<2)+b>>2]))>(0|(m=f[e+16>>2]))?f[i+_>>2]=m:(i=i+_|0,m=f[e+12>>2],f[i>>2]=(0|m)>(0|a)?m:a),(0|(l=l+1|0))<(0|(i=f[e+8>>2])););if(!((0|i)<=0))for(i=0;;){a=(b=i<<2)+t|0,b=f[r+b>>2]+f[b+_>>2]|0,f[a>>2]=b;e:{if((0|b)>f[e+16>>2])u=b-f[e+20>>2]|0;else{if((0|b)>=f[e+12>>2])break e;u=b+f[e+20>>2]|0}f[a>>2]=u}if(!((0|(i=i+1|0))<f[e+8>>2]))break}}A=f[e+52>>2],c=f[e+48>>2],s=_t(16),f[(i=s)>>2]=0,f[i+4>>2]=0,f[i+8>>2]=0,f[i+12>>2]=0,f[o+8>>2]=0,f[o>>2]=0,f[o+4>>2]=0;e:{if(n){if(n>>>0>=1073741824)break e;E=_t(i=n<<2),f[o>>2]=E,f[o+8>>2]=i+E,Je(E,0,i)}g=1,i=f[e+56>>2],R=f[i>>2];r:if(!((0|(i=f[i+4>>2]-R|0))<5))for(I=(0|(i>>=2))>2?i:2,B=i>>>0>1?i:1,D=-2&n,M=1&n,Z=-4&n,U=3&n,N=n-1|0,W=n<<2,m=1;;){t:{i:{n:{a:{if((0|m)!=(0|B)){i=((a=f[(m<<2)+R>>2])>>>0)%3|0;o:{f:if(-1!=(0|a)){_=0,G=0!=(0|i)|-1!=(0|(b=a+2|0)),v=(w=f[c+12>>2])+((i?a-1|0:b)<<2)|0,h=1,i=a;s:{for(;;){if(-1!=(0|(b=f[w+(i<<2)>>2]))){k=-1,g=f[A>>2],d=f[c>>2],l=g+(f[d+(b<<2)>>2]<<2)|0,-1!=(0|(y=((y=b+1|0)>>>0)%3|0?y:b-2|0))&&(k=f[d+(y<<2)>>2]),y=f[l>>2];c:{if((b>>>0)%3|0)l=b-1|0;else if(u=-1,-1==(0|(l=b+2|0)))break c;u=f[d+(l<<2)>>2]}if(!((0|m)<=(0|y)||(0|(l=f[g+(k<<2)>>2]))>=(0|m)||(0|(k=f[g+(u<<2)>>2]))>=(0|m))){if(b=f[(o+16|0)+p(_,12)>>2],n){if(k=p(n,k),d=p(n,l),g=p(n,y),l=0,u=0,N)for(;f[b+(l<<2)>>2]=(f[(l+k<<2)+t>>2]+f[(l+d<<2)+t>>2]|0)-f[(l+g<<2)+t>>2],f[b+((y=1|l)<<2)>>2]=(f[(k+y<<2)+t>>2]+f[(d+y<<2)+t>>2]|0)-f[(y+g<<2)+t>>2],l=l+2|0,(0|D)!=(0|(u=u+2|0)););M&&(f[b+(l<<2)>>2]=(f[(l+k<<2)+t>>2]+f[(l+d<<2)+t>>2]|0)-f[(l+g<<2)+t>>2])}if(b=4,4==(0|(_=_+1|0)))break s}}c:if(1&h){if(u=-1,-1==(0|(i=((l=i+1|0)>>>0)%3|0?l:i-2|0)))break c;if(u=-1,-1==(0|(i=f[w+(i<<2)>>2])))break c;u=((b=i+1|0)>>>0)%3|0?b:i-2|0}else{if((i>>>0)%3|0)l=i-1|0;else if(u=-1,-1==(0|(l=i+2|0)))break c;u=-1,-1!=(0|(i=f[w+(l<<2)>>2]))&&(u=i-1|0,(i>>>0)%3|0||(u=i+2|0))}c:if((0|a)!=(0|(i=u))){if(!(1&(1^h)|-1!=(0|i))){if(!G)break c;if(-1==(0|(i=f[v>>2])))break c;h=0,i=(i>>>0)%3|0?i-1|0:i+2|0}if(-1!=(0|i))continue}break}if((0|(b=_))<=0)break f}for(n&&Je(f[o>>2],0,W),y=((i=b-1|0)<<2)+s|0,u=i=p(i,12)+e|0,G=f[i- -64>>2],g=0,h=0,i=0;;){if(a=f[y>>2],f[y>>2]=a+1,a>>>0>=G>>>0)break r;if(!(f[f[u+60>>2]+(a>>>3&536870908)>>2]>>>a&1)&&(i=i+1|0,n)){if(_=f[o>>2],w=f[(o+16|0)+p(h,12)>>2],k=0,l=0,a=0,N>>>0>=3)for(;f[(v=(d=l<<2)+_|0)>>2]=f[v>>2]+f[d+w>>2],f[(C=(v=4|d)+_|0)>>2]=f[C>>2]+f[w+v>>2],f[(C=(v=8|d)+_|0)>>2]=f[C>>2]+f[w+v>>2],f[(v=(d|=12)+_|0)>>2]=f[v>>2]+f[d+w>>2],l=l+4|0,(0|Z)!=(0|(a=a+4|0)););if(U)for(;f[(d=(a=l<<2)+_|0)>>2]=f[d>>2]+f[a+w>>2],l=l+1|0,(0|U)!=(0|(k=k+1|0)););}if((0|(h=h+1|0))==(0|b))break}if(a=h=p(n,m),!i)break o;if(!n)break i;if(a=f[o>>2],l=0,b=0,N)break a;break n}a=p(n,m)}if(f[e+8>>2]<=0)break t;for(h=(p(m-1|0,n)<<2)+t|0,_=f[e+32>>2],l=0;(0|(b=f[(i=l<<2)+h>>2]))>(0|(k=f[e+16>>2]))?f[i+_>>2]=k:(i=i+_|0,k=f[e+12>>2],f[i>>2]=(0|k)>(0|b)?k:b),(0|(l=l+1|0))<(0|(b=f[e+8>>2])););if(i=0,(0|b)<=0)break t;for(l=(a<<=2)+t|0,h=r+a|0;;){a=(b=i<<2)+l|0,b=f[b+h>>2]+f[b+_>>2]|0,f[a>>2]=b;o:{if((0|b)>f[e+16>>2])u=b-f[e+20>>2]|0;else{if((0|b)>=f[e+12>>2])break o;u=b+f[e+20>>2]|0}f[a>>2]=u}if(!((0|(i=i+1|0))<f[e+8>>2]))break}break t}li(),T()}for(;f[(k=(_=l<<2)+a|0)>>2]=f[k>>2]/(0|i),f[(_=a+(4|_)|0)>>2]=f[_>>2]/(0|i),l=l+2|0,(0|D)!=(0|(b=b+2|0)););}M&&(f[(a=a+(l<<2)|0)>>2]=f[a>>2]/(0|i))}if(!(f[e+8>>2]<=0)){for(_=f[e+32>>2],l=0;(0|(a=f[(i=l<<2)+E>>2]))>(0|(b=f[e+16>>2]))?f[i+_>>2]=b:(i=i+_|0,b=f[e+12>>2],f[i>>2]=(0|b)>(0|a)?b:a),(0|(l=l+1|0))<(0|(a=f[e+8>>2])););if(i=0,!((0|a)<=0))for(l=(a=h<<2)+t|0,h=r+a|0;;){a=(b=i<<2)+l|0,b=f[b+h>>2]+f[b+_>>2]|0,f[a>>2]=b;i:{if((0|b)>f[e+16>>2])u=b-f[e+20>>2]|0;else{if((0|b)>=f[e+12>>2])break i;u=b+f[e+20>>2]|0}f[a>>2]=u}if(!((0|(i=i+1|0))<f[e+8>>2]))break}}}if(g=1,(0|I)==(0|(m=m+1|0)))break}return(e=f[o>>2])&&ee(e),ee(s),(e=f[o+52>>2])&&(f[o+56>>2]=e,ee(e)),(e=f[o+40>>2])&&(f[o+44>>2]=e,ee(e)),(e=f[o+28>>2])&&(f[o+32>>2]=e,ee(e)),(e=f[o+16>>2])&&(f[o+20>>2]=e,ee(e)),V=o- -64|0,0|g}oi(),T()},function(e){var r=0;return f[(e|=0)>>2]=4844,(r=f[e+76>>2])&&ee(r),f[e>>2]=2988,(r=f[e+32>>2])&&(f[e+36>>2]=r,ee(r)),0|e},function(e){var r=0;f[(e|=0)>>2]=4844,(r=f[e+76>>2])&&ee(r),f[e>>2]=2988,(r=f[e+32>>2])&&(f[e+36>>2]=r,ee(r)),ee(e)},ti,ht,ei,Xt,gt,me,function(e,r,t,i,n,o){e|=0,r|=0,t|=0,i|=0,o|=0;var s=0,c=0,b=0,l=0,u=0,_=0,p=0,k=0,d=0,m=0,h=0,y=0,v=0,g=0,w=0,C=0,E=0,N=0,G=0,R=0,M=0,U=0,I=0,B=0,Z=0,W=0,F=0,x=0,S=0,j=0,O=0,J=0,Q=0,z=0,L=0,P=0,X=0,H=0,q=0;if(2==(0|(n|=0))){f[e+8>>2]=2,f[e- -64>>2]=o,n=f[(i=e+32|0)>>2],(s=(o=f[e+36>>2]-n|0)>>2)>>>0<=1?sr(i,2-s|0):8!=(0|o)&&(f[e+36>>2]=n+8);e:if(i=f[e+56>>2],(0|(o=(n=f[i+4>>2])-(i=f[i>>2])|0))<=0)o=0;else{if((0|i)!=(0|n))for(p=e+60|0,X=(0|(W=o>>2))>1?W:1,o=1;;){if(V=b=V-80|0,n=-1,-1==(0|(s=f[(m<<2)+i>>2]))||(c=f[p+32>>2],-1!=(0|(i=((i=s+1|0)>>>0)%3|0?i:s-2|0))&&(n=f[f[c>>2]+(i<<2)>>2]),i=-1,-1!=(0|(s=s+((s>>>0)%3|0?-1:2)|0))&&(i=f[f[c>>2]+(s<<2)>>2]),c=f[p+36>>2],s=f[c>>2],(c=f[c+4>>2]-s>>2)>>>0<=n>>>0|i>>>0>=c>>>0))li(),T();else{c=f[s+(n<<2)>>2];r:{t:{i:{n:{a:{if(!((0|(s=f[s+(i<<2)>>2]))>=(0|m)|(0|c)>=(0|m))){if(E=f[4+(i=(s<<3)+t|0)>>2],y=f[4+(n=(c<<3)+t|0)>>2],!((0|(g=f[i>>2]))!=(0|(I=f[n>>2]))|(0|y)!=(0|E))){f[p+8>>2]=I,f[p+12>>2]=y;break a}if(i=f[f[p+4>>2]+(m<<2)>>2],f[b+72>>2]=0,f[b+76>>2]=0,f[(n=b- -64|0)>>2]=0,f[n+4>>2]=0,f[b+56>>2]=0,f[b+60>>2]=0,n=f[p>>2],A[n+84|0]||(i=f[f[n+68>>2]+(i<<2)>>2]),Y(n,i,a[n+24|0],b+56|0),i=f[f[p+4>>2]+(c<<2)>>2],f[b+48>>2]=0,f[b+52>>2]=0,f[b+40>>2]=0,f[b+44>>2]=0,f[b+32>>2]=0,f[b+36>>2]=0,n=f[p>>2],A[n+84|0]||(i=f[f[n+68>>2]+(i<<2)>>2]),Y(n,i,a[n+24|0],b+32|0),n=f[f[p+4>>2]+(s<<2)>>2],f[b+24>>2]=0,f[b+28>>2]=0,f[b+16>>2]=0,f[b+20>>2]=0,f[b+8>>2]=0,f[b+12>>2]=0,i=f[p>>2],A[i+84|0]||(n=f[f[i+68>>2]+(n<<2)>>2]),Y(i,n,a[i+24|0],b+8|0),F=f[b+44>>2],i=Pr(k=(i=f[b+16>>2])-(n=N=f[b+40>>2])|0,u=f[b+20>>2]-(F+(i>>>0<n>>>0)|0)|0,k,u),n=D,d=i,x=f[b+36>>2],s=Pr(w=(i=f[b+8>>2])-(s=B=f[b+32>>2])|0,l=f[b+12>>2]-(x+(i>>>0<s>>>0)|0)|0,w,l),n=D+n|0,n=(i=d+s|0)>>>0<s>>>0?n+1|0:n,d=i,S=f[b+52>>2],h=Pr(v=(i=f[b+24>>2])-(s=Z=f[b+48>>2])|0,_=f[b+28>>2]-(S+(i>>>0<s>>>0)|0)|0,v,_),s=D+n|0,C=i=d+h|0,i|(h=i>>>0<h>>>0?s+1|0:s)){if(i=Pr((i=O=f[b+64>>2])-N|0,(J=f[b+68>>2])-((i>>>0<N>>>0)+F|0)|0,k,u),n=D,i=(s=i)+(c=Pr((i=Q=f[b+56>>2])-B|0,(z=f[b+60>>2])-((i>>>0<B>>>0)+x|0)|0,w,l))|0,s=D+n|0,s=i>>>0<c>>>0?s+1|0:s,i=(n=i)+(c=Pr((i=L=f[b+72>>2])-Z|0,(P=f[b+76>>2])-((i>>>0<Z>>>0)+S|0)|0,v,_))|0,n=D+s|0,R=i,G=i>>>0<c>>>0?n+1|0:n,s=(i=_>>31)+_|0,c=(n=i+v|0)^i,j=i^=s=n>>>0<i>>>0?s+1|0:s,n=(i=u>>31)+u|0,M=(s=i+k|0)^i,d=i^=s>>>0<i>>>0?n+1|0:n,n=0,s=(i=l>>31)+l|0,s=(U=i+w|0)>>>0<i>>>0?s+1|0:s,U^=i,(s=Te(-1,2147483647,(s=(0|j)==(0|(i=(s=(0|d)==(0|(i^=s))&M>>>0>U>>>0|i>>>0<d>>>0)?d:i))&c>>>0>(M=s?M:U)>>>0|i>>>0<j>>>0)?c:M,s?j:i)>>>0<R>>>0)&(0|(i=D))<=(0|G)|(0|i)<(0|G))break r;if(c=1,i=0,n=O,k=zr(Pr(k,u,R,G),D,C,h),s=D+F|0,s=J-((n>>>0<(u=k+N|0)>>>0)+(s=u>>>0<k>>>0?s+1|0:s)|0)|0,s=Pr(n=n-u|0,s,n,s),k=D,n=Q,d=s,l=zr(Pr(w,l,R,G),D,C,h),s=D+x|0,s=z-((n>>>0<(u=l+B|0)>>>0)+(s=l>>>0>u>>>0?s+1|0:s)|0)|0,u=Pr(n=n-u|0,s,n,s),n=D+k|0,u=n=(s=d+u|0)>>>0<u>>>0?n+1|0:n,n=L,d=s,_=zr(Pr(v,_,R,G),D,C,h),s=D+S|0,s=P-((n>>>0<(l=_+Z|0)>>>0)+(s=l>>>0<_>>>0?s+1|0:s)|0)|0,l=Pr(n=n-l|0,s,n,s),s=D+u|0,u=Pr(n=d+l|0,n>>>0<l>>>0?s+1|0:s,C,h),l=n=D,!n&u>>>0<=1)break n;for(_=u,n=l;s=i<<1|c>>>31,c<<=1,i=s,k=!n&_>>>0>7|0!=(0|n),_=(3&n)<<30|_>>>2,n=n>>>2|0,k;);break i}}if((0|c)<(0|m))i=c<<1;else{if((0|m)<=0){f[p+8>>2]=0,f[p+12>>2]=0;break a}i=(m<<1)-2|0}i=(i<<2)+t|0,f[p+8>>2]=f[i>>2],f[p+12>>2]=f[i+4>>2]}n=1;break r}if(i=l,(c=u)-1|0)break t}for(;s=Te(u,l,c,i)+c|0,n=i+D|0,n=Pr(c=(1&(n=s>>>0<c>>>0?n+1|0:n))<<31|s>>>1,i=n>>>1|0,c,i),(0|l)==(0|(s=D))&n>>>0>u>>>0|s>>>0>l>>>0;);}(u=f[p+20>>2])&&(n=u-1|0,_=f[f[p+16>>2]+(n>>>3&536870908)>>2],f[p+20>>2]=n,s=Pr(R,G,k=E-(s=y)|0,w=(E>>31)-((l=s>>31)+(s>>>0>E>>>0)|0)|0),v=D,l=(y=Pr(y,l,C,h))+s|0,s=D+v|0,s=l>>>0<y>>>0?s+1|0:s,d=l,g=l=Pr(c,i,v=g-(l=I)|0,E=(g>>31)-((y=l>>31)+(l>>>0>g>>>0)|0)|0),_=d+(N=(n=l=_>>>n&1)?0-g|0:g)|0,d=s,s=D,n=d+(n?0-(s+(0!=(0|g))|0)|0:s)|0,H=p,q=zr(_,_>>>0<N>>>0?n+1|0:n,C,h),f[H+12>>2]=q,n=Pr(v,E,R,G),s=D,_=Pr(C,h,I,y),s=D+s|0,s=(n=_+n|0)>>>0<_>>>0?s+1|0:s,i=Pr(c,i,k,w),c=(_=l?i:0-i|0)+n|0,n=D,n=(l?n:0-((0!=(0|i))+n|0)|0)+s|0,H=p,q=zr(c,c>>>0<_>>>0?n+1|0:n,C,h),f[H+8>>2]=q),n=0!=(0|u)}V=b+80|0}if(!n)break e;if(!(f[e+8>>2]<=0)){for(s=f[e+32>>2],i=0;(0|(o=f[68+((n=i<<2)+e|0)>>2]))>(0|(c=f[e+16>>2]))?f[n+s>>2]=c:(n=n+s|0,c=f[e+12>>2],f[n>>2]=(0|c)>(0|o)?c:o),(0|(i=i+1|0))<(0|(o=f[e+8>>2])););if(n=0,!((0|o)<=0))for(c=(i=m<<3)+t|0,u=r+i|0;;){i=(o=n<<2)+c|0,o=f[o+u>>2]+f[o+s>>2]|0,f[i>>2]=o;r:{if((0|o)>f[e+16>>2])o=o-f[e+20>>2]|0;else{if((0|o)>=f[e+12>>2])break r;o=o+f[e+20>>2]|0}f[i>>2]=o}if(!((0|(n=n+1|0))<f[e+8>>2]))break}}if(o=(0|W)>(0|(m=m+1|0)),(0|m)==(0|X))break e;if(n=f[e+56>>2],i=f[n>>2],!(f[n+4>>2]-i>>2>>>0>m>>>0))break}li(),T()}e=1^o}else e=0;return 1&e},function(e){var r;return f[(e|=0)>>2]=5068,f[e>>2]=2988,(r=f[e+32>>2])&&(f[e+36>>2]=r,ee(r)),0|e},function(e){var r;f[(e|=0)>>2]=5068,f[e>>2]=2988,(r=f[e+32>>2])&&(f[e+36>>2]=r,ee(r)),ee(e)},ai,at,ei,Xt,wt,Ye,function(e,r,t,i,n,a){r|=0,t|=0,i|=0,n|=0,a|=0;var o,s=0,c=0,A=0,b=0,l=0,u=0,_=0,p=0;V=o=V-32|0,f[68+(e|=0)>>2]=a,n=f[e+56>>2],i=f[n>>2],a=f[n+4>>2],f[o+24>>2]=0,f[o+16>>2]=0,f[o+20>>2]=0;e:if(!((0|(a=a-i|0))<=0)){if((0|(i=f[n>>2]))!=f[n+4>>2])for(u=e+112|0,_=e+60|0,p=(n=a>>>2|0)>>>0>1?n:1;;){if(K(_,f[(b<<2)+i>>2],o+16|0),i=(n=f[o+20>>2])>>31,s=(a=f[o+16>>2])>>31,c=(A=f[o+24>>2])>>31,s=(c^=c+A)+((i^i+n)+(s^a+s)|0)|0,i=0,(i=s>>>0<c>>>0?1:i)|s?(a=zr(Pr(c=f[e+108>>2],l=c>>31,a,a>>31),D,s,i),f[o+16>>2]=a,i=zr(Pr(c,l,n,n>>31),D,s,i),f[o+20>>2]=i,i=(n=(n=i)+(i>>=31)^i)+((i=a>>31)+a^i)|0,f[o+24>>2]=(0|A)>=0?c-i:i-c):f[o+16>>2]=f[e+108>>2],i=jr(u),a=f[o+16>>2],i?(f[o+24>>2]=0-f[o+24>>2],n=0-f[o+20>>2]|0,f[o+20>>2]=n,a=0-a|0,f[o+16>>2]=a):n=f[o+20>>2],(0|a)>=0?(a=(i=f[e+108>>2])+f[o+24>>2]|0,i=i+n|0):((0|n)<0?(i=(a=f[o+24>>2])>>31,i^=i+a):(i=(a=f[o+24>>2])>>31,i=f[e+100>>2]-(i^i+a)|0),(0|a)<0?a=(a=n)+(n>>=31)^n:(a=n,n>>=31,a=f[e+100>>2]-(a+n^n)|0)),n=f[e+100>>2],i|a?(0|n)!=(0|a)|i?a|(s=(0|i)!=(0|n))?i||(0|(A=f[e+108>>2]))>=(0|a)?s||(0|(s=f[e+108>>2]))<=(0|a)?(0|n)!=(0|a)||(0|(n=f[e+108>>2]))<=(0|i)?a||(a=0,(0|(n=f[e+108>>2]))>=(0|i)||(i=(n<<1)-i|0)):i=(n<<1)-i|0:a=(s<<1)-a|0:(a=(A<<1)-a|0,i=0):a=i:i=a:i=a=n,f[o+12>>2]=a,f[o+8>>2]=i,!(f[e+8>>2]<=0)){for(s=f[e+32>>2],a=0;(0|(n=f[e+16>>2]))<(0|i)?f[s+(a<<2)>>2]=n:(n=s+(a<<2)|0,A=f[e+12>>2],f[n>>2]=(0|A)>(0|i)?A:i),(0|(a=a+1|0))<(0|(n=f[e+8>>2]));)i=f[(o+8|0)+(a<<2)>>2];if(i=0,!((0|n)<=0))for(A=(n=b<<3)+t|0,c=r+n|0;;){n=(a=i<<2)+A|0,a=f[a+c>>2]+f[a+s>>2]|0,f[n>>2]=a;r:{if((0|a)>f[e+16>>2])a=a-f[e+20>>2]|0;else{if((0|a)>=f[e+12>>2])break r;a=a+f[e+20>>2]|0}f[n>>2]=a}if(!((0|(i=i+1|0))<f[e+8>>2]))break}}if((0|p)==(0|(b=b+1|0)))break e;if(n=f[e+56>>2],i=f[n>>2],!(f[n+4>>2]-i>>2>>>0>b>>>0))break}li(),T()}return V=o+32|0,1},$t,fi,dt,Ot,K,ci,Ct,ii,ei,function(e,r,t,i,n,a){r|=0,t|=0,i|=0,n|=0,a|=0;var o,s=0,c=0,A=0,b=0,l=0,u=0,_=0,p=0,k=0;if(f[8+(e|=0)>>2]=n,A=f[(a=e+32|0)>>2],(c=f[e+36>>2]-A>>2)>>>0<n>>>0?(sr(a,n-c|0),A=f[a>>2],a=f[e+8>>2]):(n>>>0<c>>>0&&(f[e+36>>2]=(n<<2)+A),a=n),c=0,o=Je(_t(s=(1073741823&n)!=(0|n)?-1:n<<2),0,s),!((0|a)<=0)){for(;(0|(s=f[(a=c<<2)+o>>2]))>(0|(b=f[e+16>>2]))?f[a+A>>2]=b:(a=a+A|0,b=f[e+12>>2],f[a>>2]=(0|b)>(0|s)?b:s),(0|(a=f[e+8>>2]))>(0|(c=c+1|0)););if(!((0|a)<=0))for(c=0;;){a=(s=c<<2)+t|0,s=f[r+s>>2]+f[s+A>>2]|0,f[a>>2]=s;e:{if((0|s)>f[e+16>>2])s=s-f[e+20>>2]|0;else{if((0|s)>=f[e+12>>2])break e;s=s+f[e+20>>2]|0}f[a>>2]=s}if(!((0|(a=f[e+8>>2]))>(0|(c=c+1|0))))break}}if(!((0|i)<=(0|n)|(0|a)<=0))for(p=0-n<<2,A=n;;){if(!((0|a)<=0)){for(k=(_=(u=A<<2)+t|0)+p|0,b=f[e+32>>2],c=0;(0|(s=f[(a=c<<2)+k>>2]))>(0|(l=f[e+16>>2]))?f[a+b>>2]=l:(a=a+b|0,l=f[e+12>>2],f[a>>2]=(0|l)>(0|s)?l:s),(0|(a=f[e+8>>2]))>(0|(c=c+1|0)););if(c=0,!((0|a)<=0))for(u=r+u|0;;){a=(s=c<<2)+_|0,s=f[s+u>>2]+f[s+b>>2]|0,f[a>>2]=s;e:{if((0|s)>f[e+16>>2])s=s-f[e+20>>2]|0;else{if((0|s)>=f[e+12>>2])break e;s=s+f[e+20>>2]|0}f[a>>2]=s}if(!((0|(a=f[e+8>>2]))>(0|(c=c+1|0))))break}}if(!((0|(A=n+A|0))<(0|i)))break}return ee(o),1},ot,ct,function(e,r,t){r|=0,t|=0;var i=0;return f[4+(e|=0)>>2]=r,r=f[f[f[r+4>>2]+8>>2]+(t<<2)>>2],f[e+12>>2]=t,f[e+8>>2]=r,e=f[e+8>>2],3==A[e+24|0]&&(i=9==f[e+28>>2]),0|i},function(e,r,t){return r|=0,t|=0,A[f[4+(e|=0)>>2]+36|0]>=2&&(r=0,!Mr(e+24|0,rr(e),t))||(r=Sr(e+24|0,f[e+16>>2])),0|r},Ut,function(e,r,t){e|=0,r|=0;var i,n=0,o=0,s=0,c=0,A=0,b=0,l=0;V=i=V-32|0;e:if(3==(0|(t|=0))&&(t=f[e+4>>2],e=f[e+12>>2],f[i+24>>2]=-1,f[i+16>>2]=-1,f[i+20>>2]=1065353216,f[i+8>>2]=-1,f[i+12>>2]=-1,-2!=(0|r))){if(l=f[f[f[t+4>>2]+8>>2]+(e<<2)>>2],1==(0|yi[f[f[t>>2]+8>>2]](t))){b=f[f[f[t+4>>2]+8>>2]+(e<<2)>>2];r:{t:if(!(1!=(0|yi[f[f[t>>2]+8>>2]](t))|r-1>>>0>5||!(c=0|yi[f[f[t>>2]+36>>2]](t))|!(o=0|yi[f[f[t>>2]+44>>2]](t,e)))){if(s=o+12|0,A=0|yi[f[f[t>>2]+40>>2]](t,e),t=f[t+44>>2],A){if(6!=(0|r))break t;e=_t(112),f[e+4>>2]=b,r=f[i+12>>2],f[e+8>>2]=f[i+8>>2],f[e+12>>2]=r,r=f[i+20>>2],f[e+16>>2]=f[i+16>>2],f[e+20>>2]=r,f[e+24>>2]=f[i+24>>2],f[e+40>>2]=o,f[e+36>>2]=s,f[e+32>>2]=A,f[e+28>>2]=t,f[e+68>>2]=o,f[e- -64>>2]=s,f[e+60>>2]=A,f[e+56>>2]=t,f[e+48>>2]=0,f[e+52>>2]=0,f[e>>2]=5956,f[e+88>>2]=1065353216,f[e+92>>2]=-1,f[e+80>>2]=-1,f[e+84>>2]=-1,f[e+72>>2]=1,f[e+76>>2]=-1,f[e+44>>2]=6520,f[(r=e+96|0)>>2]=0,f[r+4>>2]=0,a[r+5|0]=0,a[r+6|0]=0,a[r+7|0]=0,a[r+8|0]=0,a[r+9|0]=0,a[r+10|0]=0,a[r+11|0]=0,a[r+12|0]=0;break r}6==(0|r)&&(n=_t(112),f[n+4>>2]=b,e=f[i+12>>2],f[n+8>>2]=f[i+8>>2],f[n+12>>2]=e,e=f[i+20>>2],f[n+16>>2]=f[i+16>>2],f[n+20>>2]=e,f[n+24>>2]=f[i+24>>2],f[n+40>>2]=o,f[n+36>>2]=s,f[n+32>>2]=c,f[n+28>>2]=t,f[n+68>>2]=o,f[n- -64>>2]=s,f[n+60>>2]=c,f[n+56>>2]=t,f[n+48>>2]=0,f[n+52>>2]=0,f[n>>2]=6960,f[n+88>>2]=1065353216,f[n+92>>2]=-1,f[n+80>>2]=-1,f[n+84>>2]=-1,f[n+72>>2]=1,f[n+76>>2]=-1,f[n+44>>2]=7380,f[(e=n+96|0)>>2]=0,f[e+4>>2]=0,a[e+5|0]=0,a[e+6|0]=0,a[e+7|0]=0,a[e+8|0]=0,a[e+9|0]=0,a[e+10|0]=0,a[e+11|0]=0,a[e+12|0]=0)}e=n}if(n=e,e)break e}n=_t(28),f[n+4>>2]=l,e=f[i+12>>2],f[n+8>>2]=f[i+8>>2],f[n+12>>2]=e,e=f[i+20>>2],f[n+16>>2]=f[i+16>>2],f[n+20>>2]=e,f[n+24>>2]=f[i+24>>2],f[n>>2]=7792}return V=i+32|0,0|n},ni,function(e,r){return 0|Ue(24+(e|=0)|0,rr(e),f[e+8>>2])},function(e){return f[(e|=0)>>2]=5956,0|e},function(e){f[(e|=0)>>2]=5956,ee(e)},ai,Lt,ft,ei,Xt,Tt,ei,function(e){return 3},Pe,function(e,r,t,i,n,a){r|=0,t|=0,i|=0,n|=0,a|=0;var o,s=0,c=0,A=0,b=0,l=0,_=0,p=0,d=0,m=0;V=o=V-48|0,(i=f[8+(e|=0)>>2])-31>>>0>=4294967267&&(f[e+76>>2]=i,i=-2-(n=-1<<i)|0,f[e+84>>2]=i,f[e+80>>2]=-1^n,f[e+92>>2]=(0|i)/2,u[e+88>>2]=k(2)/k(0|i)),f[e+52>>2]=a,n=f[e+40>>2],i=f[n>>2],s=f[n+4>>2],a=0,f[o+16>>2]=0,f[o+8>>2]=0,f[o+12>>2]=0;e:if(!((0|(s=s-i|0))<=0)){if((0|(i=f[n>>2]))!=f[n+4>>2])for(_=e+8|0,p=e+96|0,d=e+44|0,m=(n=s>>>2|0)>>>0>1?n:1;;){if(J(d,f[(a<<2)+i>>2],o+8|0),i=(n=f[o+12>>2])>>31,c=(s=f[o+8>>2])>>31,A=(b=f[o+16>>2])>>31,c=(A^=A+b)+((i^i+n)+(c^s+c)|0)|0,i=0,(i=c>>>0<A>>>0?1:i)|c?(s=zr(Pr(A=f[e+92>>2],l=A>>31,s,s>>31),D,c,i),f[o+8>>2]=s,i=zr(Pr(A,l,n,n>>31),D,c,i),f[o+12>>2]=i,i=(n=(n=i)+(i>>=31)^i)+((i=s>>31)+s^i)|0,f[o+16>>2]=(0|b)>=0?A-i:i-A):f[o+8>>2]=f[e+92>>2],i=jr(p),n=f[o+8>>2],i?(f[o+16>>2]=0-f[o+16>>2],s=0-f[o+12>>2]|0,f[o+12>>2]=s,n=0-n|0,f[o+8>>2]=n):s=f[o+12>>2],(0|n)>=0?(i=(n=f[e+92>>2])+f[o+16>>2]|0,n=n+s|0):((0|s)<0?(n=(i=f[o+16>>2])>>31,n^=i+n):(n=(i=f[o+16>>2])>>31,n=f[e+84>>2]-(n^i+n)|0),(0|i)<0?(i=s>>31,i^=i+s):(i=s>>31,i=f[e+84>>2]-(i+s^i)|0)),s=f[e+84>>2],i|n?(0|i)!=(0|s)|n?i|(c=(0|n)!=(0|s))?n||(0|(b=f[e+92>>2]))>=(0|i)?c||(0|(c=f[e+92>>2]))<=(0|i)?(0|i)!=(0|s)||(0|(s=f[e+92>>2]))<=(0|n)?i||(i=0,(0|(s=f[e+92>>2]))>=(0|n)||(n=(s<<1)-n|0)):n=(s<<1)-n|0:i=(c<<1)-i|0:(i=(b<<1)-i|0,n=0):i=n:n=i:n=i=s,b=f[4+(c=(s=a<<3)+r|0)>>2],c=f[c>>2],f[o+36>>2]=i,f[o+32>>2]=n,f[o+24>>2]=c,f[o+28>>2]=b,_e(o+40|0,_,o+32|0,o+24|0),f[(i=t+s|0)>>2]=f[o+40>>2],f[i+4>>2]=f[o+44>>2],(0|m)==(0|(a=a+1|0)))break e;if(n=f[e+40>>2],i=f[n>>2],!(f[n+4>>2]-i>>2>>>0>a>>>0))break}li(),T()}return V=o+48|0,1},$t,fi,dt,Ot,J,function(e){return f[(e|=0)>>2]=6960,0|e},function(e){f[(e|=0)>>2]=6960,ee(e)},ai,ft,ei,Xt,Tt,Pe,function(e,r,t,i,n,a){r|=0,t|=0,i|=0,n|=0,a|=0;var o,s=0,c=0,A=0,b=0,l=0,_=0,p=0,d=0,m=0;V=o=V-48|0,(i=f[8+(e|=0)>>2])-31>>>0>=4294967267&&(f[e+76>>2]=i,i=-2-(n=-1<<i)|0,f[e+84>>2]=i,f[e+80>>2]=-1^n,f[e+92>>2]=(0|i)/2,u[e+88>>2]=k(2)/k(0|i)),f[e+52>>2]=a,n=f[e+40>>2],i=f[n>>2],s=f[n+4>>2],a=0,f[o+16>>2]=0,f[o+8>>2]=0,f[o+12>>2]=0;e:if(!((0|(s=s-i|0))<=0)){if((0|(i=f[n>>2]))!=f[n+4>>2])for(_=e+8|0,p=e+96|0,d=e+44|0,m=(n=s>>>2|0)>>>0>1?n:1;;){if(K(d,f[(a<<2)+i>>2],o+8|0),i=(n=f[o+12>>2])>>31,c=(s=f[o+8>>2])>>31,A=(b=f[o+16>>2])>>31,c=(A^=A+b)+((i^i+n)+(c^s+c)|0)|0,i=0,(i=c>>>0<A>>>0?1:i)|c?(s=zr(Pr(A=f[e+92>>2],l=A>>31,s,s>>31),D,c,i),f[o+8>>2]=s,i=zr(Pr(A,l,n,n>>31),D,c,i),f[o+12>>2]=i,i=(n=(n=i)+(i>>=31)^i)+((i=s>>31)+s^i)|0,f[o+16>>2]=(0|b)>=0?A-i:i-A):f[o+8>>2]=f[e+92>>2],i=jr(p),n=f[o+8>>2],i?(f[o+16>>2]=0-f[o+16>>2],s=0-f[o+12>>2]|0,f[o+12>>2]=s,n=0-n|0,f[o+8>>2]=n):s=f[o+12>>2],(0|n)>=0?(i=(n=f[e+92>>2])+f[o+16>>2]|0,n=n+s|0):((0|s)<0?(n=(i=f[o+16>>2])>>31,n^=i+n):(n=(i=f[o+16>>2])>>31,n=f[e+84>>2]-(n^i+n)|0),(0|i)<0?(i=s>>31,i^=i+s):(i=s>>31,i=f[e+84>>2]-(i+s^i)|0)),s=f[e+84>>2],i|n?(0|i)!=(0|s)|n?i|(c=(0|n)!=(0|s))?n||(0|(b=f[e+92>>2]))>=(0|i)?c||(0|(c=f[e+92>>2]))<=(0|i)?(0|i)!=(0|s)||(0|(s=f[e+92>>2]))<=(0|n)?i||(i=0,(0|(s=f[e+92>>2]))>=(0|n)||(n=(s<<1)-n|0)):n=(s<<1)-n|0:i=(c<<1)-i|0:(i=(b<<1)-i|0,n=0):i=n:n=i:n=i=s,b=f[4+(c=(s=a<<3)+r|0)>>2],c=f[c>>2],f[o+36>>2]=i,f[o+32>>2]=n,f[o+24>>2]=c,f[o+28>>2]=b,_e(o+40|0,_,o+32|0,o+24|0),f[(i=t+s|0)>>2]=f[o+40>>2],f[i+4>>2]=f[o+44>>2],(0|m)==(0|(a=a+1|0)))break e;if(n=f[e+40>>2],i=f[n>>2],!(f[n+4>>2]-i>>2>>>0>a>>>0))break}li(),T()}return V=o+48|0,1},$t,fi,dt,Ot,K,$t,fi,ii,ei,ii,Qt,Xt,function(e,r){e|=0;var t,i,n,a,o=0,s=0,c=0,b=0;return t=f[12+(r|=0)>>2],c=o=f[r+20>>2],o=(s=(i=f[r+16>>2])+4|0)>>>0<4?o+1|0:o,a=s,(n=f[r+8>>2])>>>0<s>>>0&(0|o)>=(0|t)|(0|o)>(0|t)||(s=i+f[r>>2]|0,s=A[0|s]|A[s+1|0]<<8|A[s+2|0]<<16|A[s+3|0]<<24,f[r+16>>2]=a,f[r+20>>2]=o,o=c,(c=i+8|0)>>>0>n>>>0&(0|(o=c>>>0<8?o+1|0:o))>=(0|t)|(0|o)>(0|t)||(f[r+16>>2]=c,f[r+20>>2]=o,1&s&&((r=31^m(s))-30>>>0<4294967267||(b=1,f[e+8>>2]=r+1,r=-2-(o=-2<<r)|0,f[e+16>>2]=r,f[e+12>>2]=-1^o,f[e+24>>2]=(0|r)/2,u[e+20>>2]=k(2)/k(0|r))))),0|b},function(e,r,t,i,n,a){e|=0,r|=0,t|=0,i|=0,a|=0;var o=0,s=0,c=0,A=0,b=0,l=0,u=0,_=0;if(V=a=V-32|0,s=Je(_t(s=(1073741823&(n|=0))!=(0|n)?-1:n<<2),0,s),o=f[r>>2],c=f[r+4>>2],b=f[s+4>>2],f[a+16>>2]=f[s>>2],f[a+20>>2]=b,f[a+8>>2]=o,f[a+12>>2]=c,_e(a+24|0,c=e+8|0,a+16|0,a+8|0),f[t>>2]=f[a+24>>2],f[t+4>>2]=f[a+28>>2],(0|i)>(0|n))for(b=0-n<<2,e=n;u=f[(A=(o=e<<2)+r|0)>>2],A=f[A+4>>2],_=f[4+(l=(o=t+o|0)+b|0)>>2],f[a+16>>2]=f[l>>2],f[a+20>>2]=_,f[a+8>>2]=u,f[a+12>>2]=A,_e(a+24|0,c,a+16|0,a+8|0),f[o>>2]=f[a+24>>2],f[o+4>>2]=f[a+28>>2],(0|i)>(0|(e=e+n|0)););return ee(s),V=a+32|0,1},function(e){var r=0;return f[24+(e|=0)>>2]=1140,f[e>>2]=7976,(r=f[e+32>>2])&&(f[e+36>>2]=r,ee(r)),f[e>>2]=2164,r=f[e+20>>2],f[e+20>>2]=0,r&&yi[f[f[r>>2]+4>>2]](r),f[e>>2]=1948,r=f[e+16>>2],f[e+16>>2]=0,r&&Jr(r),0|e},function(e){var r=0;f[24+(e|=0)>>2]=1140,f[e>>2]=7976,(r=f[e+32>>2])&&(f[e+36>>2]=r,ee(r)),f[e>>2]=2164,r=f[e+20>>2],f[e+20>>2]=0,r&&yi[f[f[r>>2]+4>>2]](r),f[e>>2]=1948,r=f[e+16>>2],f[e+16>>2]=0,r&&Jr(r),ee(e)},function(e,r,t){var i;return r|=0,t|=0,f[4+(e|=0)>>2]=r,i=f[f[f[r+4>>2]+8>>2]+(t<<2)>>2],f[e+12>>2]=t,f[e+8>>2]=i,9==f[f[f[f[r+4>>2]+8>>2]+(t<<2)>>2]+28>>2]|0},function(e,r,t){return r|=0,A[f[4+(e|=0)>>2]+36|0]>=2&&(r=0,!(0|yi[f[f[e>>2]+52>>2]](e)))||(r=Sr(e+24|0,f[e+16>>2])),0|r},Ut,function(e,r){return r|=0,0|yi[f[f[(e|=0)>>2]+56>>2]](e,r)},function(e){return 0|De(24+(e|=0)|0,rr(e)||f[e+8>>2],f[f[e+4>>2]+32>>2])},function(e,r){return 0|Ee(24+(e|=0)|0,rr(e),f[e+8>>2])},function(e){var r,t=0,i=0;if(f[(e|=0)>>2]=10064,(t=f[e+20>>2])&&(f[e+24>>2]=t,ee(t)),r=f[e+8>>2]){if((0|(i=f[e+12>>2]))==(0|r))t=r;else{for(;t=f[(i=i-4|0)>>2],f[i>>2]=0,t&&yi[f[f[t>>2]+4>>2]](t),(0|r)!=(0|i););t=f[e+8>>2]}f[e+12>>2]=r,ee(t)}return 0|e},ci,ei,ei,function(e){return f[44+(e|=0)>>2]?0|yi[f[f[e>>2]+48>>2]](e):0},function(e){var r=0,t=0,i=0,n=0,a=0,o=0,s=0,c=0,b=0,l=0;e:{if(r=f[32+(e|=0)>>2],a=f[r+8>>2],n=0,!((0|(o=f[r+12>>2]))<=(0|(i=f[r+20>>2]))&(s=a)>>>0<=(a=f[r+16>>2])>>>0|(0|i)>(0|o))){s=A[a+f[r>>2]|0],i=(o=a+1|0)?i:i+1|0,f[r+16>>2]=o,f[r+20>>2]=i;r:if(s){for(;;){if(0|yi[f[f[e>>2]+16>>2]](e,t)){if((0|s)!=(0|(t=t+1|0)))continue;break r}break}return 0}if((0|(t=f[e+8>>2]))!=(0|(i=f[e+12>>2])))for(;;){if(r=f[t>>2],!(0|yi[f[f[r>>2]+8>>2]](r,e,f[e+4>>2])))break e;if((0|i)==(0|(t=t+4|0)))break}if(s){for(t=0;;){if(r=f[f[e+8>>2]+(t<<2)>>2],!(0|yi[f[f[r>>2]+12>>2]](r,f[e+32>>2])))break e;if((0|s)==(0|(t=t+1|0)))break}if(s)for(a=e+20|0;;){if(t=0,r=f[(o=c<<2)+f[e+8>>2]>>2],(0|(i=0|yi[f[f[r>>2]+24>>2]](r)))>0)for(;r=f[f[e+8>>2]+o>>2],l=0|yi[f[f[r>>2]+20>>2]](r,t),n=f[e+20>>2],l>>>0<(b=f[e+24>>2]-n>>2)>>>0||((r=l+1|0)>>>0>b>>>0?(sr(a,r-b|0),n=f[a>>2]):r>>>0>=b>>>0||(f[e+24>>2]=(r<<2)+n)),f[(l<<2)+n>>2]=c,(0|i)!=(0|(t=t+1|0)););if((0|s)==(0|(c=c+1|0)))break}}n=0,0|yi[f[f[e>>2]+28>>2]](e)&&(n=0|yi[f[f[e>>2]+32>>2]](e))}return 0|n}return 0},function(e){var r,t=0,i=0;if((0|(t=f[8+(e|=0)>>2]))==(0|(r=f[e+12>>2])))return 1;for(;i=f[t>>2],(i=0|yi[f[f[i>>2]+16>>2]](i,f[e+32>>2]))&&(0|r)!=(0|(t=t+4|0)););return 0|i},ei,ii,Xt,Xt,function(e){var r,t=0,i=0;if(f[(e|=0)>>2]=8204,t=f[e+48>>2],f[e+48>>2]=0,t&&yi[f[f[t>>2]+4>>2]](t),f[e>>2]=10064,(t=f[e+20>>2])&&(f[e+24>>2]=t,ee(t)),r=f[e+8>>2]){if((0|(i=f[e+12>>2]))==(0|r))t=r;else{for(;t=f[(i=i-4|0)>>2],f[i>>2]=0,t&&yi[f[f[t>>2]+4>>2]](t),(0|r)!=(0|i););t=f[e+8>>2]}f[e+12>>2]=r,ee(t)}return 0|e},function(e){var r,t=0,i=0;if(f[(e|=0)>>2]=8204,t=f[e+48>>2],f[e+48>>2]=0,t&&yi[f[f[t>>2]+4>>2]](t),f[e>>2]=10064,(t=f[e+20>>2])&&(f[e+24>>2]=t,ee(t)),r=f[e+8>>2]){if((0|(i=f[e+12>>2]))==(0|r))t=r;else{for(;t=f[(i=i-4|0)>>2],f[i>>2]=0,t&&yi[f[f[t>>2]+4>>2]](t),(0|r)!=(0|i););t=f[e+8>>2]}f[e+12>>2]=r,ee(t)}ee(e)},function(e){var r,t=0,i=0,n=0,s=0;if(i=f[32+(e|=0)>>2],r=f[i+16>>2],n=f[i+12>>2],t=f[i+20>>2],l[i+8>>2]>r>>>0&(0|n)>=(0|t)|(0|t)<(0|n)){s=A[r+f[i>>2]|0],t=(n=r+1|0)?t:t+1|0,f[i+16>>2]=n,f[i+20>>2]=t,i=f[e+48>>2],f[e+48>>2]=0,i&&yi[f[f[i>>2]+4>>2]](i);e:{r:{t:{i:switch(0|s){case 0:i=_t(384),f[i>>2]=8312,Je(i+4|0,0,80),f[i+96>>2]=0,f[i+100>>2]=0,f[i+92>>2]=-1,f[i+84>>2]=-1,f[i+88>>2]=-1,f[i+104>>2]=0,f[i+108>>2]=0,f[i+112>>2]=0,f[i+116>>2]=0,f[i+120>>2]=0,f[i+124>>2]=0,f[i+128>>2]=0,f[i+132>>2]=0,f[i+136>>2]=0,f[i+140>>2]=0,f[i+144>>2]=0,f[i+148>>2]=0,f[i+156>>2]=0,f[i+160>>2]=0,f[i+152>>2]=1065353216,f[i+164>>2]=0,f[i+168>>2]=0,f[i+172>>2]=0,f[i+176>>2]=0,f[i+180>>2]=0,f[i+184>>2]=0,f[i+188>>2]=0,f[i+192>>2]=0,f[i+196>>2]=0,f[i+200>>2]=0,f[i+204>>2]=0,f[i+208>>2]=0,f[i+212>>2]=-1,f[i+216>>2]=0,f[i+220>>2]=0,f[i+224>>2]=0,o[38+(t=i+232|0)>>1]=0,f[t>>2]=0,f[t+8>>2]=0,f[t+12>>2]=0,f[t+16>>2]=0,f[t+20>>2]=0,f[t+24>>2]=0,f[t+28>>2]=0,a[t+29|0]=0,a[t+30|0]=0,a[t+31|0]=0,a[t+32|0]=0,a[t+33|0]=0,a[t+34|0]=0,a[t+35|0]=0,a[t+36|0]=0,o[38+(t=i+272|0)>>1]=0,f[t>>2]=0,f[t+8>>2]=0,f[t+12>>2]=0,f[t+16>>2]=0,f[t+20>>2]=0,f[t+24>>2]=0,f[t+28>>2]=0,a[t+29|0]=0,a[t+30|0]=0,a[t+31|0]=0,a[t+32|0]=0,a[t+33|0]=0,a[t+34|0]=0,a[t+35|0]=0,a[t+36|0]=0,f[(t=i+312|0)>>2]=0,f[t+4>>2]=0,a[t+5|0]=0,a[t+6|0]=0,a[t+7|0]=0,a[t+8|0]=0,a[t+9|0]=0,a[t+10|0]=0,a[t+11|0]=0,a[t+12|0]=0,o[38+(t=i+328|0)>>1]=0,f[t>>2]=0,f[t+8>>2]=0,f[t+12>>2]=0,f[t+16>>2]=0,f[t+20>>2]=0,f[t+24>>2]=0,f[t+28>>2]=0,a[t+29|0]=0,a[t+30|0]=0,a[t+31|0]=0,a[t+32|0]=0,a[t+33|0]=0,a[t+34|0]=0,a[t+35|0]=0,a[t+36|0]=0,f[i+376>>2]=0,f[i+368>>2]=0,f[i+372>>2]=0;break t;case 2:break i;default:break r}i=_t(440),f[i>>2]=8364,Je(i+4|0,0,80),f[i+96>>2]=0,f[i+100>>2]=0,f[i+92>>2]=-1,f[i+84>>2]=-1,f[i+88>>2]=-1,f[i+104>>2]=0,f[i+108>>2]=0,f[i+112>>2]=0,f[i+116>>2]=0,f[i+120>>2]=0,f[i+124>>2]=0,f[i+128>>2]=0,f[i+132>>2]=0,f[i+136>>2]=0,f[i+140>>2]=0,f[i+144>>2]=0,f[i+148>>2]=0,f[i+156>>2]=0,f[i+160>>2]=0,f[i+152>>2]=1065353216,f[i+164>>2]=0,f[i+168>>2]=0,f[i+172>>2]=0,f[i+176>>2]=0,f[i+180>>2]=0,f[i+184>>2]=0,f[i+188>>2]=0,f[i+192>>2]=0,f[i+196>>2]=0,f[i+200>>2]=0,f[i+204>>2]=0,f[i+208>>2]=0,f[i+212>>2]=-1,f[i+216>>2]=0,f[i+220>>2]=0,f[i+224>>2]=0,o[38+(t=i+232|0)>>1]=0,f[t>>2]=0,f[t+8>>2]=0,f[t+12>>2]=0,f[t+16>>2]=0,f[t+20>>2]=0,f[t+24>>2]=0,f[t+28>>2]=0,a[t+29|0]=0,a[t+30|0]=0,a[t+31|0]=0,a[t+32|0]=0,a[t+33|0]=0,a[t+34|0]=0,a[t+35|0]=0,a[t+36|0]=0,o[38+(t=i+272|0)>>1]=0,f[t>>2]=0,f[t+8>>2]=0,f[t+12>>2]=0,f[t+16>>2]=0,f[t+20>>2]=0,f[t+24>>2]=0,f[t+28>>2]=0,a[t+29|0]=0,a[t+30|0]=0,a[t+31|0]=0,a[t+32|0]=0,a[t+33|0]=0,a[t+34|0]=0,a[t+35|0]=0,a[t+36|0]=0,f[(t=i+312|0)>>2]=0,f[t+4>>2]=0,a[t+5|0]=0,a[t+6|0]=0,a[t+7|0]=0,a[t+8|0]=0,a[t+9|0]=0,a[t+10|0]=0,a[t+11|0]=0,a[t+12|0]=0,o[38+(t=i+328|0)>>1]=0,f[t>>2]=0,f[t+8>>2]=0,f[t+12>>2]=0,f[t+16>>2]=0,f[t+20>>2]=0,f[t+24>>2]=0,f[t+28>>2]=0,a[t+29|0]=0,a[t+30|0]=0,a[t+31|0]=0,a[t+32|0]=0,a[t+33|0]=0,a[t+34|0]=0,a[t+35|0]=0,a[t+36|0]=0,f[i+392>>2]=0,f[i+396>>2]=0,f[i+384>>2]=0,f[i+388>>2]=0,f[i+376>>2]=0,f[i+380>>2]=0,f[i+368>>2]=0,f[i+372>>2]=0,f[i+416>>2]=0,f[i+420>>2]=0,f[i+408>>2]=2,f[i+412>>2]=7,f[i+400>>2]=-1,f[i+404>>2]=-1,f[i+424>>2]=0,f[i+428>>2]=0,f[i+432>>2]=0,f[i+436>>2]=0}if(t=f[e+48>>2],f[e+48>>2]=i,!t)break e;yi[f[f[t>>2]+4>>2]](t)}if(!(i=f[e+48>>2]))return 0}e=0|yi[f[f[i>>2]+8>>2]](i,e)}else e=0;return 0|e},function(e,r){return r|=0,e=f[48+(e|=0)>>2],0|yi[f[f[e>>2]+20>>2]](e,r)},function(e){return e=f[48+(e|=0)>>2],0|yi[f[f[e>>2]+28>>2]](e)},function(e){return e=f[48+(e|=0)>>2],0|yi[f[f[e>>2]+36>>2]](e)},function(e,r){return r|=0,e=f[48+(e|=0)>>2],0|yi[f[f[e>>2]+12>>2]](e,r)},function(e,r){return r|=0,e=f[48+(e|=0)>>2],0|yi[f[f[e>>2]+16>>2]](e,r)},function(e){return e=f[48+(e|=0)>>2],0|yi[f[f[e>>2]+24>>2]](e)},we,function(e){ee(we(e|=0))},Ft,ir,ar,W,function(e){var r,t=0,i=0,n=0,s=0,c=0,u=0,_=0,k=0,d=0,m=0,h=0,y=0,v=0,g=0,w=0,C=0,E=0,N=0,G=0,R=0,D=0,M=0,U=0,I=0,B=0,Z=0,W=0,F=0,x=0;if(V=r=V+-64|0,f[132+(e|=0)>>2]=0,f[e+148>>2]){if(t=f[e+144>>2])for(;s=f[t>>2],ee(t),t=s,s;);if(t=0,f[e+144>>2]=0,s=f[e+140>>2]){if(s-1>>>0>=3)for(_=-4&s;f[(i=t<<2)+f[e+136>>2]>>2]=0,f[f[e+136>>2]+(4|i)>>2]=0,f[f[e+136>>2]+(8|i)>>2]=0,f[f[e+136>>2]+(12|i)>>2]=0,t=t+4|0,(0|_)!=(0|(n=n+4|0)););if(s&=3)for(;f[f[e+136>>2]+(t<<2)>>2]=0,t=t+1|0,(0|s)!=(0|(v=v+1|0)););}f[e+148>>2]=0}if(Nr(1,r+60|0,f[f[e+4>>2]+32>>2])&&(f[e+156>>2]=f[r+60>>2],Nr(1,r+56|0,f[f[e+4>>2]+32>>2])&&!((n=f[r+56>>2])>>>0>1431655765|l[e+156>>2]>p(n,3)>>>0)&&(s=f[f[e+4>>2]+32>>2],i=f[s+8>>2],!((0|(v=f[s+12>>2]))<=(0|(t=f[s+20>>2]))&(c=i)>>>0<=(i=f[s+16>>2])>>>0|(0|t)>(0|v))&&(v=A[i+f[s>>2]|0],t=(i=i+1|0)?t:t+1|0,f[s+16>>2]=i,f[s+20>>2]=t,Nr(1,r+52|0,s)&&!((y=f[r+52>>2])>>>0>n>>>0|n>>>0>y+((y>>>0)/3|0)>>>0)&&Nr(1,r+48|0,f[f[e+4>>2]+32>>2])&&!((s=f[r+48>>2])>>>0>y>>>0)&&(f[e+28>>2]=f[e+24>>2],vr(i=_t(88)),t=f[e+8>>2],f[e+8>>2]=i,(!t||(Br(t),f[e+8>>2]))&&(f[e+164>>2]=f[e+160>>2],Ir(e+160|0,n),f[e+176>>2]=f[e+172>>2],Ir(e+172|0,n),f[e- -64>>2]=0,f[e+92>>2]=-1,f[e+84>>2]=-1,f[e+88>>2]=-1,f[e+40>>2]=f[e+36>>2],f[e+52>>2]=f[e+48>>2],f[e+76>>2]=f[e+72>>2],Wr(Z=e+216|0),q(Z,v),er(f[e+8>>2],n,s+f[e+156>>2]|0)&&(t=f[e+156>>2],a[r+8|0]=1,ze(e+120|0,t+s|0,r+8|0),-1!=(0|le(e,f[f[e+4>>2]+32>>2]))))))))){yr(s=e+232|0,e),f[e+372>>2]=v,o[38+(g=r+8|0)>>1]=0,f[g>>2]=0,f[g+8>>2]=0,f[g+12>>2]=0,f[g+16>>2]=0,f[g+20>>2]=0,f[g+24>>2]=0,f[g+28>>2]=0,a[g+29|0]=0,a[g+30|0]=0,a[g+31|0]=0,a[g+32|0]=0,a[g+33|0]=0,a[g+34|0]=0,a[g+35|0]=0,a[g+36|0]=0,t=0,V=v=V-16|0,n=f[s+4>>2],f[s+40>>2]=f[s>>2],f[s+44>>2]=n,n=f[s+36>>2],f[s+72>>2]=f[s+32>>2],f[s+76>>2]=n,i=f[s+28>>2],f[(n=s- -64|0)>>2]=f[s+24>>2],f[n+4>>2]=i,n=f[s+20>>2],f[s+56>>2]=f[s+16>>2],f[s+60>>2]=n,n=f[s+12>>2],f[s+48>>2]=f[s+8>>2],f[s+52>>2]=n,rt(s+40|0,1,v+8|0)&&(n=f[s+44>>2],f[s>>2]=f[s+40>>2],f[s+4>>2]=n,n=f[s+76>>2],f[s+32>>2]=f[s+72>>2],f[s+36>>2]=n,n=f[s+68>>2],f[s+24>>2]=f[s+64>>2],f[s+28>>2]=n,_=i=f[s+60>>2],n=f[s+56>>2],f[s+16>>2]=n,f[s+20>>2]=i,c=f[s+52>>2],i=f[s+48>>2],f[s+8>>2]=i,f[s+12>>2]=c,u=i-n|0,(0|(m=f[v+12>>2]))==(0|(c=c-((i>>>0<n>>>0)+_|0)|0))&u>>>0>=(i=f[v+8>>2])>>>0|c>>>0>m>>>0)&&(c=i+n|0,n=_+m|0,f[s+16>>2]=c,f[s+20>>2]=i>>>0>c>>>0?n+1|0:n,Ve(s+80|0,s)&&Xe(s)&&(t=f[s+4>>2],f[g>>2]=f[s>>2],f[g+4>>2]=t,t=f[s+36>>2],f[g+32>>2]=f[s+32>>2],f[g+36>>2]=t,t=f[s+28>>2],f[g+24>>2]=f[s+24>>2],f[g+28>>2]=t,t=f[s+20>>2],f[g+16>>2]=f[s+16>>2],f[g+20>>2]=t,t=f[s+12>>2],f[g+8>>2]=f[s+8>>2],f[g+12>>2]=t,t=1)),V=v+16|0;e:if(t){n=0,s=0,t=0,v=0,V=m=V-96|0,f[m+72>>2]=0,f[m+64>>2]=0,f[m+68>>2]=0,f[m+48>>2]=0,f[m+52>>2]=0,f[m+40>>2]=0,f[m+44>>2]=0,f[m+56>>2]=1065353216,f[m+32>>2]=0,f[m+24>>2]=0,f[m+28>>2]=0,k=1,_=e,G=f[e+124>>2];r:{t:{i:{n:{a:{o:{f:{s:if(!((0|y)<=0)){for(W=f[_+216>>2]!=f[_+220>>2];;){E=(c=E)+1|0;c:{A:{b:{l:{u:{_:{p:{k:{d:{m:{h:if(A[_+308|0]){y:{if(!((e=(u=f[_+296>>2])+((i=f[_+304>>2])>>>3|0)|0)>>>0>=(h=f[_+300>>2])>>>0)&&(d=A[0|e],e=i+1|0,f[_+304>>2]=e,d>>>(7&i)&1))switch((w=u+(d=e>>>3|0)|0)>>>0>=h>>>0?(i=e,e=0):(w=A[0|w],i=i+2|0,f[_+304>>2]=i,d=i>>>3|0,e=w>>>(7&e)&1),(u=u+d|0)>>>0<h>>>0?(u=A[0|u],f[_+304>>2]=i+1,i=u>>>(7&i)<<1&2):i=0,(e=(e|i)<<1)-1|0){case 0:case 2:case 4:break i;case 5:break m;case 1:case 3:break y;default:break h}if((0|t)==(0|s)){i=-1;break f}d=-1,u=f[_+8>>2],w=f[u+24>>2],e=-1,-1!=(0|(i=f[(N=s-4|0)>>2]))&&(e=-1,-1!=(0|(k=((k=i+1|0)>>>0)%3|0?k:i-2|0))&&(e=f[f[u>>2]+(k<<2)>>2])),-1!=(0|(n=f[w+(e<<2)>>2]))&&(d=((k=n+1|0)>>>0)%3|0?k:n-2|0),n=f[u+12>>2],k=(c=p(c,3))+1|0,f[n+(i<<2)>>2]=k,f[(D=k<<2)+n>>2]=i,h=c+2|0,f[n+(d<<2)>>2]=h,f[(M=h<<2)+n>>2]=d,k=-1,n=-1;v:if(-1!=(0|i)){if((i>>>0)%3|0)i=i-1|0;else if(n=-1,-1==(0|(i=i+2|0)))break v;n=f[f[u>>2]+(i<<2)>>2]}if(-1!=(0|d)&&-1!=(0|(i=((i=d+1|0)>>>0)%3|0?i:d-2|0))&&(k=f[f[u>>2]+(i<<2)>>2]),i=-1,(0|e)==(0|n)|(0|e)==(0|k))break f;i=f[u>>2],f[i+(c<<2)>>2]=e,f[i+D>>2]=k,f[i+M>>2]=n,-1!=(0|n)&&(f[w+(n<<2)>>2]=h),n=f[_+120>>2]+(e>>>3&536870908)|0,i=f[n>>2],F=n,x=Vt(e)&i,f[F>>2]=x,f[N>>2]=c,n=t;break c}if((0|t)==(0|s)){i=-1;break f}if(n=f[_+8>>2],i=f[n+12>>2],D=(d=(u=p(c,3))+((w=5==(1|e))?2:1)|0)<<2,e=f[(M=s-4|0)>>2],f[i+D>>2]=e,f[i+(e<<2)>>2]=d,ur(n+24|0),i=-1,N=f[_+8>>2],h=f[N+24>>2],(0|G)<f[N+28>>2]-h>>2)break f;if(i=f[N>>2],N=((n=f[n+28>>2]-f[n+24>>2]|0)>>2)-1|0,f[i+D>>2]=N,n&&(f[h+(N<<2)>>2]=d),d=w?u:u+2|0,w=i+(u+w<<2)|0,-1!=(0|e)){y:{v:{if((e>>>0)%3|0)n=e-1|0;else if(-1==(0|(n=e+2|0)))break v;if(n=f[i+(n<<2)>>2],f[i+(d<<2)>>2]=n,-1==(0|n))break y;f[h+(n<<2)>>2]=d;break y}f[i+(d<<2)>>2]=-1}n=-1,-1!=(0|(e=((d=e+1|0)>>>0)%3|0?d:e-2|0))&&(n=f[i+(e<<2)>>2])}else f[i+(d<<2)>>2]=-1,n=-1;f[w>>2]=n,f[M>>2]=u,n=t;break d}if((0|t)==(0|s)){i=-1;break f}h=f[(e=s-4|0)>>2],f[m+68>>2]=e;h:if(d=f[m+44>>2])if((u=Nt(d)>>>0>1)?d>>>0>(n=c)>>>0||(n=(c>>>0)%(d>>>0)|0):n=c&d+2147483647,i=f[f[m+40>>2]+(n<<2)>>2])if(i=f[i>>2]){y:{if(!u){for(u=d-1|0;;){v:{if((0|(d=f[i+4>>2]))!=(0|c)){if((u&d)==(0|n))break v;s=e;break h}if((0|c)==f[i+8>>2])break y}if(!(i=f[i>>2]))break}s=e;break h}for(;;){v:{if((0|(u=f[i+4>>2]))!=(0|c)){if(u>>>0>=d>>>0&&(u=(u>>>0)%(d>>>0)|0),(0|n)==(0|u))break v;s=e;break h}if((0|c)==f[i+8>>2])break y}if(!(i=f[i>>2]))break}s=e;break h}if((0|e)==(0|R)){if((s=1+(n=(e=R-t|0)>>2)|0)>>>0>=1073741824)break p;if(C=e>>1,s=n>>>0<536870911?s>>>0>C>>>0?s:C:1073741823){if(s>>>0>=1073741824)break t;C=_t(s<<2)}else C=0;f[(n=C+(n<<2)|0)>>2]=f[i+12>>2],R=(s<<2)+C|0,s=n+4|0,(0|e)>0&&ge(C,t,e),f[m+72>>2]=R,f[m+68>>2]=s,f[m+64>>2]=C,t&&ee(t)}else f[e>>2]=f[i+12>>2],f[m+68>>2]=s}else s=e;else s=e;else s=e;if((0|s)==(0|C))break k;if(n=-1==(0|(e=f[(D=s-4|0)>>2])),t=f[_+8>>2],!n&-1!=f[f[t+12>>2]+(e<<2)>>2])break k;if(u=f[t+12>>2],-1!=(0|h)&-1!=f[u+(h<<2)>>2])break k;if(N=(c=p(c,3))+2|0,f[u+(e<<2)>>2]=N,f[(w=N<<2)+u>>2]=e,i=c+1|0,f[u+(h<<2)>>2]=i,f[(M=i<<2)+u>>2]=h,n)break _;if((e>>>0)%3|0){k=e-1|0;break l}if(-1!=(0|(k=e+2|0)))break l;d=f[t>>2],n=-1;break b}if(ur((d=f[_+8>>2])+24|0),i=-1,u=f[_+8>>2],e=p(c,3),N=(d=(h=f[d+28>>2]-f[d+24>>2]|0)>>2)-1|0,f[f[u>>2]+(e<<2)>>2]=N,ur(u+24|0),w=e+1|0,f[f[u>>2]+(w<<2)>>2]=(f[u+28>>2]-f[u+24>>2]>>2)-1,ur((u=f[_+8>>2])+24|0),D=e+2|0,f[f[u>>2]+(D<<2)>>2]=(f[u+28>>2]-f[u+24>>2]>>2)-1,M=f[_+8>>2],u=f[M+24>>2],(0|G)<f[M+28>>2]-u>>2)break f;m:{if(h){if(f[u+(N<<2)>>2]=e,i=0,-4!=(0|h)&&(f[u+(d<<2)>>2]=w,-1==(0|(i=d+1|0))))break m}else f[u+(d<<2)>>2]=w,i=1;f[u+(i<<2)>>2]=D}if((0|s)==(0|R)){if((s=1+(i=(t=s-n|0)>>2)|0)>>>0>=1073741824)break u;if(C=t>>1,s=i>>>0<536870911?s>>>0>C>>>0?s:C:1073741823){if(s>>>0>=1073741824)break t;C=_t(s<<2)}else C=0;f[(i=C+(i<<2)|0)>>2]=e,R=(s<<2)+C|0,s=i+4|0,(0|t)>0&&ge(C,n,t),f[m+72>>2]=R,f[m+68>>2]=s,f[m+64>>2]=C,n&&ee(n),n=t=C}else f[s>>2]=e,s=s+4|0,f[m+68>>2]=s}if((0|(i=f[_+40>>2]))==f[_+36>>2])break c;for(c=y+(-1^c)|0,u=s-4|0;;){if((e=f[i-8>>2])>>>0>c>>>0)break k;if((0|e)!=(0|c))break c;if(d=A[i-4|0],i=f[(e=i-12|0)>>2],f[_+40>>2]=e,(0|i)<0)break k;e=f[u>>2],f[m+20>>2]=y+(-1^i),i=m+20|0,f[m+88>>2]=i,re(m,m+40|0,i,m+88|0),w=f[m>>2];d:if(1&d){if(i=-1,-1==(0|e))break d;i=((i=e+1|0)>>>0)%3|0?i:e-2|0}else i=-1,-1!=(0|e)&&(i=e-1|0,(e>>>0)%3|0||(i=e+2|0));if(f[w+12>>2]=i,(0|(i=f[_+40>>2]))==f[_+36>>2])break}break c}if(i=-1,1&k)break f;break s}oi(),T()}n=-1,d=f[t>>2],f[d+(c<<2)>>2]=-1,i=-1;break A}oi(),T()}d=f[t>>2],n=f[d+(k<<2)>>2]}f[(c<<2)+d>>2]=n,i=-1,-1!=(0|(e=((k=e+1|0)>>>0)%3|0?k:e-2|0))&&(i=f[(e<<2)+d>>2])}if(f[d+M>>2]=i,-1!=(0|h)){A:{b:{if((h>>>0)%3|0)i=h-1|0;else if(-1==(0|(i=h+2|0)))break b;if(e=f[(i<<2)+d>>2],f[d+w>>2]=e,-1==(0|e))break A;f[f[t+24>>2]+(e<<2)>>2]=N;break A}f[d+w>>2]=-1}k=-1,i=-1,-1!=(0|(e=((e=h+1|0)>>>0)%3|0?e:h-2|0))&&(k=f[(e<<2)+d>>2],i=e)}else f[d+w>>2]=-1,k=-1,i=-1;e=(t=f[t+24>>2])+(k<<2)|0,-1!=(0|n)&&(f[t+(n<<2)>>2]=f[e>>2]);A:if(-1!=(0|i))for(;;){if(f[(i<<2)+d>>2]=n,-1==(0|(t=((t=i+1|0)>>>0)%3|0?t:i-2|0)))break A;if(-1==(0|(t=f[u+(t<<2)>>2])))break A;if(-1==(0|(i=((i=t+1|0)>>>0)%3|0?i:t-2|0)))break}f[e>>2]=-1;A:if(!W){if((0|U)==(0|I)){b:{if((e=1+(i=(t=I-v|0)>>2)|0)>>>0<1073741824){if(n=t>>1,n=i>>>0<536870911?e>>>0>n>>>0?e:n:1073741823){if(n>>>0>=1073741824)break b;e=_t(n<<2)}else e=0;f[(i=e+(i<<2)|0)>>2]=k,I=e+(n<<2)|0,U=i+4|0,(0|t)>0&&ge(e,v,t),f[m+32>>2]=I,f[m+28>>2]=U,f[m+24>>2]=e,v&&ee(v),v=e;break A}oi(),T()}break t}f[U>>2]=k,U=U+4|0,f[m+28>>2]=U}f[D>>2]=c,n=t=C}if(k=(0|y)>(0|E),(0|y)==(0|E))break}E=y}if(i=-1,k=f[_+8>>2],!((0|G)<f[k+28>>2]-f[k+24>>2]>>2)){if((0|s)!=(0|C)){for(e=_+60|0,w=_+312|0;;){h=f[(s=s-4|0)>>2],f[m+68>>2]=s;s:if(jr(w)){if(G=f[_+8>>2],R=f[G>>2],((f[G+4>>2]-R>>2>>>0)/3|0)<=(0|E))break f;if(t=-1,n=-1,y=f[G+24>>2],c=-1,-1!=(0|h)&&(c=-1,-1!=(0|(u=((u=h+1|0)>>>0)%3|0?u:h-2|0))&&(c=f[R+(u<<2)>>2])),-1!=(0|(c=f[y+((u=c)<<2)>>2]))&&-1!=(0|(c=((k=c+1|0)>>>0)%3|0?k:c-2|0))&&(-1!=(0|(t=((t=c+1|0)>>>0)%3|0?t:c-2|0))&&(n=f[R+(t<<2)>>2]),t=c),k=-1,d=-1,c=-1,-1!=(0|(y=f[y+(n<<2)>>2]))&&(c=-1,-1!=(0|(y=((I=y+1|0)>>>0)%3|0?I:y-2|0))&&(-1!=(0|(c=((c=y+1|0)>>>0)%3|0?c:y-2|0))&&(d=f[R+(c<<2)>>2]),c=y)),G=f[G+12>>2],y=p(E,3),f[G+(I=y<<2)>>2]=h,f[G+(h<<2)>>2]=y,f[(N=(h=y+1|0)<<2)+G>>2]=t,f[G+(t<<2)>>2]=h,f[(W=(t=y+2|0)<<2)+G>>2]=c,f[G+(c<<2)>>2]=t,f[R+I>>2]=n,f[(c=R+N|0)>>2]=d,f[(d=R+W|0)>>2]=u,u=h>>>0<y>>>0?-1:n,n=f[_+120>>2],G=f[(R=(u>>>3&536870908)+n|0)>>2],F=R,x=Vt(u)&G,f[F>>2]=x,k=-1!=(0|h)?f[c>>2]:k,u=f[(c=n+(k>>>3&536870908)|0)>>2],F=c,x=Vt(k)&u,f[F>>2]=x,k=-1,k=-1!=(0|t)?f[d>>2]:k,n=f[(t=n+(k>>>3&536870908)|0)>>2],F=t,x=Vt(k)&n,f[F>>2]=x,(0|(k=f[_+64>>2]))==(t=f[_+68>>2])<<5){if((k+1|0)<0)break o;or(e,t=k>>>0<=1073741822?(t<<=6)>>>0<(n=k+32&-32)>>>0?n:t:2147483647),k=f[_+64>>2]}if(E=E+1|0,f[_+64>>2]=k+1,t=f[_+60>>2]+(k>>>3&536870908)|0,f[t>>2]=f[t>>2]|1<<k,(0|(t=f[_+76>>2]))!=f[_+80>>2]){f[t>>2]=y,f[_+76>>2]=t+4;break s}if((t=1+(k=(c=t-(n=f[_+72>>2])|0)>>2)|0)>>>0>=1073741824)break a;if(u=c>>1,u=k>>>0<536870911?t>>>0>u>>>0?t:u:1073741823){if(u>>>0>=1073741824)break t;t=_t(u<<2)}else t=0;if(f[(k=t+(k<<2)|0)>>2]=y,(0|c)>0&&ge(t,n,c),f[_+80>>2]=t+(u<<2),f[_+76>>2]=k+4,f[_+72>>2]=t,!n)break s;ee(n)}else{if((0|(t=f[_+64>>2]))==(n=f[_+68>>2])<<5){if((t+1|0)<0)break o;or(e,t=t>>>0<=1073741822?(t=t+32&-32)>>>0>(n<<=6)>>>0?t:n:2147483647),t=f[_+64>>2]}if(f[_+64>>2]=t+1,n=f[_+60>>2]+(t>>>3&536870908)|0,c=f[n>>2],F=n,x=Vt(t)&c,f[F>>2]=x,(0|(t=f[_+76>>2]))==f[_+80>>2]){if((t=1+(u=(c=t-(n=f[_+72>>2])|0)>>2)|0)>>>0>=1073741824)break a;if(y=c>>1,y=u>>>0<536870911?t>>>0>y>>>0?t:y:1073741823){if(y>>>0>=1073741824)break n;t=_t(y<<2)}else t=0;f[(u=t+(u<<2)|0)>>2]=h,(0|c)>0&&ge(t,n,c),f[_+80>>2]=t+(y<<2),f[_+76>>2]=u+4,f[_+72>>2]=t,n&&ee(n)}else f[t>>2]=h,f[_+76>>2]=t+4}if((0|s)==(0|C))break}k=f[_+8>>2]}if(((f[k+4>>2]-f[k>>2]>>2>>>0)/3|0)==(0|E))if(E=f[k+24>>2],i=f[k+28>>2]-E>>2,(0|v)!=(0|U))for(n=v;;){if(e=f[n>>2],-1==f[(d=((s=i-1|0)<<2)+E|0)>>2])for(;s=i-2|0,i=i-1|0,-1==f[(d=(s<<2)+E|0)>>2];);if(e>>>0<=s>>>0){if(f[m>>2]=k,E=f[d>>2],a[m+12|0]=1,f[m+8>>2]=E,f[m+4>>2]=E,-1!=(0|E))for(;f[f[k>>2]+(E<<2)>>2]=e,Fe(m),k=f[_+8>>2],-1!=(0|(E=f[m+8>>2])););t=(E=f[k+24>>2])+(s<<2)|0,-1!=(0|e)&&(f[(e<<2)+E>>2]=f[t>>2]),f[t>>2]=-1,t=1<<e,e=(c=f[_+120>>2])+(e>>>3&536870908)|0,c=c+(s>>>3&536870908)|0,s=1<<s,f[c>>2]&s?t|=f[e>>2]:t=f[e>>2]&(-1^t),f[e>>2]=t,f[c>>2]=f[c>>2]&(-1^s),i=i-1|0}if((0|U)==(0|(n=n+4|0)))break}else v=U}}if(v&&ee(v),s=f[m+48>>2])for(;e=f[s>>2],ee(s),s=e,e;);e=f[m+40>>2],f[m+40>>2]=0,e&&ee(e),C&&(f[m+68>>2]=C,ee(C)),V=m+96|0;break r}oi(),T()}oi(),T()}Hr(1326)}T()}Hr(1326),T()}if(-1!=(0|i)){s=(e=f[g+16>>2])+f[g>>2]|0,t=(t=f[g+8>>2])-e|0,e=f[f[_+4>>2]+32>>2],o[e+38>>1]=b[e+38>>1],f[e>>2]=s,f[e+16>>2]=0,f[e+20>>2]=0,f[e+8>>2]=t,f[e+12>>2]=0;r:if(f[_+216>>2]!=f[_+220>>2]&&(e=f[_+8>>2],f[e+4>>2]!=f[e>>2])){for(t=0;;){if(be(_,t)){if(t=t+3|0,e=f[_+8>>2],t>>>0<f[e+4>>2]-f[e>>2]>>2>>>0)continue;break r}break}break e}if(A[_+308|0]&&(a[_+308|0]=0,s=f[_+292>>2],e=0,n=(e=(t=f[_+304>>2]+7|0)>>>0<7?1:e)>>>3|0,e=(t=e<<29|t>>>3)+f[_+288>>2]|0,n=s+n|0,f[_+288>>2]=e,f[_+292>>2]=e>>>0<t>>>0?n+1|0:n),(0|(t=f[_+216>>2]))!=f[_+220>>2])for(;;){if(Me(4+((e=p(B,144))+t|0)|0,f[_+8>>2]),v=f[Z>>2],(0|(t=f[132+(s=e+v|0)>>2]))!=(0|(s=f[s+136>>2])))for(;Be(4+(e+v|0)|0,f[t>>2]),v=f[Z>>2],(0|s)!=(0|(t=t+4|0)););if(te(4+(e+v|0)|0),B=B+1|0,t=f[_+216>>2],!(B>>>0<(f[_+220>>2]-t|0)/144>>>0))break}if(e=f[_+8>>2],_r(_+184|0,f[e+28>>2]-f[e+24>>2]>>2),(0|(v=f[_+216>>2]))!=f[_+220>>2])for(t=0;e=p(t,144)+v|0,s=f[e+60>>2]-f[e+56>>2]>>2,n=e+104|0,e=f[_+8>>2],_r(n,(0|(e=f[e+28>>2]-f[e+24>>2]>>2))>(0|s)?e:s),t=t+1|0,v=f[_+216>>2],t>>>0<(f[_+220>>2]-v|0)/144>>>0;);B=O(_,i)}}}return V=r- -64|0,0|B},ei,Lt,zt,de,function(e){ee(de(e|=0))},Ft,ir,ar,W,function(e){var r,t=0,i=0,n=0,s=0,c=0,u=0,_=0,k=0,d=0,m=0,h=0,y=0,v=0,g=0,w=0,C=0,E=0,N=0,G=0,R=0,D=0,U=0,I=0,B=0,Z=0,W=0,F=0,x=0,S=0,j=0,Y=0;if(V=r=V+-64|0,f[132+(e|=0)>>2]=0,f[e+148>>2]){if(t=f[e+144>>2])for(;_=f[t>>2],ee(t),t=_;);if(t=0,f[e+144>>2]=0,_=f[e+140>>2]){if(_-1>>>0>=3)for(g=-4&_;f[(u=t<<2)+f[e+136>>2]>>2]=0,f[f[e+136>>2]+(4|u)>>2]=0,f[f[e+136>>2]+(8|u)>>2]=0,f[f[e+136>>2]+(12|u)>>2]=0,t=t+4|0,(0|g)!=(0|(m=m+4|0)););if(_&=3)for(;f[f[e+136>>2]+(t<<2)>>2]=0,t=t+1|0,(0|_)!=(0|(i=i+1|0)););}f[e+148>>2]=0}e:{if(Nr(1,r+60|0,f[f[e+4>>2]+32>>2])&&(f[e+156>>2]=f[r+60>>2],Nr(1,r+56|0,f[f[e+4>>2]+32>>2])&&!((i=f[r+56>>2])>>>0>1431655765|l[e+156>>2]>p(i,3)>>>0)&&(_=f[f[e+4>>2]+32>>2],u=f[_+8>>2],!((0|(g=f[_+12>>2]))<=(0|(t=f[_+20>>2]))&(n=u)>>>0<=(u=f[_+16>>2])>>>0|(0|t)>(0|g))&&(g=A[u+f[_>>2]|0],t=(u=u+1|0)?t:t+1|0,f[_+16>>2]=u,f[_+20>>2]=t,Nr(1,r+52|0,_)&&!((N=f[r+52>>2])>>>0>i>>>0|i>>>0>N+((N>>>0)/3|0)>>>0)&&Nr(1,r+48|0,f[f[e+4>>2]+32>>2])&&!((t=f[r+48>>2])>>>0>N>>>0)&&(f[e+28>>2]=f[e+24>>2],vr(u=_t(88)),_=f[e+8>>2],f[e+8>>2]=u,(!_||(Br(_),f[e+8>>2]))&&(f[e+164>>2]=f[e+160>>2],Ir(e+160|0,i),f[e+176>>2]=f[e+172>>2],Ir(e+172|0,i),f[e- -64>>2]=0,f[e+92>>2]=-1,f[e+84>>2]=-1,f[e+88>>2]=-1,f[e+40>>2]=f[e+36>>2],f[e+52>>2]=f[e+48>>2],f[e+76>>2]=f[e+72>>2],Wr(F=e+216|0),q(F,g),er(f[e+8>>2],i,t+f[e+156>>2]|0)&&(_=f[e+156>>2],a[r+8|0]=1,ze(e+120|0,t+_|0,r+8|0),-1!=(0|le(e,f[f[e+4>>2]+32>>2]))))))))){yr(c=e+232|0,e),j=e,Y=0|yi[f[f[e>>2]+36>>2]](e),f[j+380>>2]=Y,f[e+372>>2]=g,f[e+384>>2]=t+f[e+156>>2],o[38+(t=r+8|0)>>1]=0,f[t>>2]=0,f[t+8>>2]=0,f[t+12>>2]=0,f[t+16>>2]=0,f[t+20>>2]=0,f[t+24>>2]=0,f[t+28>>2]=0,a[t+29|0]=0,a[t+30|0]=0,a[t+31|0]=0,a[t+32|0]=0,a[t+33|0]=0,a[t+34|0]=0,a[t+35|0]=0,a[t+36|0]=0,x=t,g=t,u=0,V=s=V-16|0;r:if(Ve(c+80|0,c)&&Xe(c)&&(t=f[c+4>>2],f[g>>2]=f[c>>2],f[g+4>>2]=t,t=f[c+36>>2],f[g+32>>2]=f[c+32>>2],f[g+36>>2]=t,t=f[c+28>>2],f[g+24>>2]=f[c+24>>2],f[g+28>>2]=t,t=f[c+20>>2],f[g+16>>2]=f[c+16>>2],f[g+20>>2]=t,t=f[c+12>>2],f[g+8>>2]=f[c+8>>2],f[g+12>>2]=t,f[c+176>>2]=2,f[c+180>>2]=7,!((0|(t=f[c+152>>2]))<0))){if(f[s+12>>2]=0,u=2,m=f[c+156>>2],(_=f[c+160>>2]-m>>2)>>>0<t>>>0?(ve(c+156|0,t-_|0,s+12|0),u=f[c+176>>2],i=f[c+180>>2]):(i=7,t>>>0>=_>>>0||(f[c+160>>2]=m+(t<<2))),_=c+184|0,(i=1+(i-u|0)|0)>>>0>(m=((t=f[c+188>>2])-(u=f[c+184>>2])|0)/12|0)>>>0){if((t=i-m|0)>>>0<=((n=f[_+8>>2])-(u=f[_+4>>2])|0)/12>>>0)t&&(u=Je(u,0,t=p((p(t,12)-12>>>0)/12|0,12)+12|0)+t|0),f[_+4>>2]=u;else{t:{i:{n:{if((i=(w=(u-(m=f[_>>2])|0)/12|0)+t|0)>>>0<357913942){if(C=(n=(n-m|0)/12|0)<<1,n=n>>>0<178956970?i>>>0>C>>>0?i:C:357913941){if(n>>>0>=357913942)break n;k=_t(p(n,12))}if(w=(t=Je(i=p(w,12)+k|0,0,w=p((p(t,12)-12>>>0)/12|0,12)+12|0))+w|0,k=p(n,12)+k|0,(0|u)==(0|m))break i;for(;u=u-12|0,f[(i=i-12|0)>>2]=f[u>>2],f[i+4>>2]=f[u+4>>2],f[i+8>>2]=f[u+8>>2],f[u+8>>2]=0,f[u>>2]=0,f[u+4>>2]=0,(0|u)!=(0|m););if(f[_+8>>2]=k,t=f[_+4>>2],f[_+4>>2]=w,u=f[_>>2],f[_>>2]=i,(0|t)==(0|u))break t;for(;(m=f[(i=t-12|0)>>2])&&(f[t-8>>2]=m,ee(m)),(0|(t=i))!=(0|u););break t}break e}Hr(1326),T()}f[_+8>>2]=k,f[_+4>>2]=w,f[_>>2]=t}u&&ee(u)}i=f[c+188>>2]}else if(i>>>0>=m>>>0)i=t;else{if((0|t)!=(0|(i=u+p(i,12)|0)))for(;(m=f[(u=t-12|0)>>2])&&(f[t-8>>2]=m,ee(m)),(0|(t=u))!=(0|i););f[c+188>>2]=i}if(k=c+196|0,t=(i-(u=f[c+184>>2])|0)/12|0,n=f[c+196>>2],t>>>0>(m=f[c+200>>2]-n>>2)>>>0?(sr(k,t-m|0),u=f[c+184>>2],i=f[c+188>>2]):t>>>0>=m>>>0||(f[c+200>>2]=n+(t<<2)),(0|i)!=(0|u)){for(t=0;;){if(Nr(1,s+8|0,g)&&(u=f[s+8>>2],i=f[c+148>>2],!(u>>>0>(f[i+4>>2]-f[i>>2]>>2>>>0)/3>>>0))){if(u&&(i=f[_>>2],C=p(t,12),n=f[(m=i+C|0)>>2],(w=f[m+4>>2]-n>>2)>>>0<u>>>0?(sr(m,u-w|0),i=f[_>>2]):u>>>0>=w>>>0||(f[m+4>>2]=n+(u<<2)),M(u,1,g,f[i+C>>2]),f[f[k>>2]+(t<<2)>>2]=u),u=1,(t=t+1|0)>>>0<(f[c+188>>2]-f[c+184>>2]|0)/12>>>0)continue;break r}break}u=0}else u=1}V=s+16|0;r:if(u){i=0,t=0,u=0,C=0,_=0,g=0,m=0,w=0,V=y=V-96|0,f[y+72>>2]=0,f[y+64>>2]=0,f[y+68>>2]=0,f[y+48>>2]=0,f[y+52>>2]=0,f[y+40>>2]=0,f[y+44>>2]=0,f[y+56>>2]=1065353216,f[y+32>>2]=0,f[y+24>>2]=0,f[y+28>>2]=0,k=1,c=e,U=f[e+124>>2];t:{i:{n:{a:if(!((0|N)<=0)){B=c+232|0,S=f[c+216>>2]!=f[c+220>>2];o:{for(;;){m=(e=m)+1|0;f:{s:{c:{if(-1!=(0|(n=f[c+404>>2]))){if(s=-1,d=f[c+428>>2]+(n<<2)|0,n=(h=f[d>>2])-1|0,f[d>>2]=n,(0|h)<=0)break n;if(d=f[f[f[c+416>>2]+p(f[c+404>>2],12)>>2]+(n<<2)>>2],n=f[8928+(d<<2)>>2],f[c+400>>2]=n,!d){if((0|i)==(0|_))break n;n=-1,k=f[c+8>>2],E=f[k+24>>2],t=-1,-1!=(0|(s=f[(G=i-4|0)>>2]))&&(t=-1,-1!=(0|(h=((h=s+1|0)>>>0)%3|0?h:s-2|0))&&(t=f[f[k>>2]+(h<<2)>>2])),-1!=(0|(d=f[E+(t<<2)>>2]))&&(n=((n=d+1|0)>>>0)%3|0?n:d-2|0),h=f[k+12>>2],e=(d=p(e,3))+1|0,f[h+(s<<2)>>2]=e,f[(D=e<<2)+h>>2]=s,v=d+2|0,f[h+(n<<2)>>2]=v,f[(I=v<<2)+h>>2]=n,h=-1,e=-1;A:if(-1!=(0|s)){if((s>>>0)%3|0)s=s-1|0;else if(e=-1,-1==(0|(s=s+2|0)))break A;e=f[f[k>>2]+(s<<2)>>2]}if(-1!=(0|n)&&-1!=(0|(s=((s=n+1|0)>>>0)%3|0?s:n-2|0))&&(h=f[f[k>>2]+(s<<2)>>2]),s=-1,(0|e)==(0|t)|(0|t)==(0|h))break n;s=f[k>>2],f[s+(d<<2)>>2]=t,f[s+D>>2]=h,f[s+I>>2]=e,-1!=(0|e)&&(f[E+(e<<2)>>2]=v),e=f[c+120>>2]+(t>>>3&536870908)|0,s=f[e>>2],j=e,Y=Vt(t)&s,f[j>>2]=Y,f[G>>2]=d,t=_,he(B,d);break f}A:switch(n-1|0){case 2:case 4:if((0|i)==(0|_))break n;if(n=f[c+8>>2],s=f[n+12>>2],G=(E=((v=3==(0|d))?2:1)+(d=p(e,3))|0)<<2,t=f[(D=i-4|0)>>2],f[s+G>>2]=t,f[s+(t<<2)>>2]=E,ur(n+24|0),s=-1,i=f[c+8>>2],h=f[i+24>>2],(0|U)<f[i+28>>2]-h>>2)break n;if(i=f[i>>2],n=((s=f[n+28>>2]-f[n+24>>2]|0)>>2)-1|0,f[i+G>>2]=n,s&&(f[h+(n<<2)>>2]=E),s=v?d:d+2|0,E=i+(d+v<<2)|0,-1!=(0|t)){b:{l:{if((t>>>0)%3|0)n=t-1|0;else if(-1==(0|(n=t+2|0)))break l;if(n=f[i+(n<<2)>>2],f[i+(s<<2)>>2]=n,-1==(0|n))break b;f[h+(n<<2)>>2]=s;break b}f[i+(s<<2)>>2]=-1}t=((n=t+1|0)>>>0)%3|0?n:t-2|0,n=-1,-1!=(0|t)&&(n=f[i+(t<<2)>>2])}else f[i+(s<<2)>>2]=-1,n=-1;f[E>>2]=n,f[D>>2]=d,t=_;break s;case 6:break c;case 0:break A;default:break n}if((0|t)==(0|i))break n;h=f[(u=i-4|0)>>2],f[y+68>>2]=u;A:if((v=f[y+44>>2])&&(s=f[y+40>>2],n=e&v+2147483647,(E=Nt(v)>>>0>1)&&(n=e,e>>>0<v>>>0||(n=(e>>>0)%(v>>>0)|0)),(s=f[s+((d=n)<<2)>>2])&&(s=f[s>>2]))){b:{if(!E){for(n=v-1|0;;){l:{if((0|(v=f[s+4>>2]))!=(0|e)){if((0|d)==(n&v))break l;break A}if((0|e)==f[s+8>>2])break b}if(!(s=f[s>>2]))break}break A}for(;;){l:{if((0|(n=f[s+4>>2]))!=(0|e)){if(n>>>0>=v>>>0&&(n=(n>>>0)%(v>>>0)|0),(0|n)==(0|d))break l;break A}if((0|e)==f[s+8>>2])break b}if(!(s=f[s>>2]))break}break A}if((0|u)==(0|R)){if((_=1+(n=(i=R-t|0)>>2)|0)>>>0>=1073741824)break e;if(u=i>>1,u=n>>>0<536870911?u>>>0<_>>>0?_:u:1073741823){if(u>>>0>=1073741824)break i;_=_t(u<<2)}else _=0;f[(n=_+(n<<2)|0)>>2]=f[s+12>>2],R=(u<<2)+_|0,u=n+4|0,(0|i)>0&&ge(_,t,i),f[y+72>>2]=R,f[y+68>>2]=u,f[y+64>>2]=_,t&&ee(t),t=_}else f[u>>2]=f[s+12>>2],f[y+68>>2]=i,u=i}if((0|t)==(0|u))break o;if(s=-1==(0|(i=f[(D=u-4|0)>>2])),d=f[c+8>>2],!s&-1!=f[f[d+12>>2]+(i<<2)>>2])break o;if(v=f[d+12>>2],-1!=(0|h)&-1!=f[v+(h<<2)>>2])break o;G=(E=p(e,3))+2|0,f[v+(i<<2)>>2]=G,f[(e=G<<2)+v>>2]=i,k=E+1|0,f[v+(h<<2)>>2]=k,f[v+(I=k<<2)>>2]=h;A:{b:{l:{if(!s){if((i>>>0)%3|0){n=i-1|0;break l}if(-1!=(0|(n=i+2|0)))break l;k=f[d>>2],n=-1;break b}n=-1,k=f[d>>2],f[k+(E<<2)>>2]=-1,s=-1;break A}k=f[d>>2],n=f[k+(n<<2)>>2]}f[(E<<2)+k>>2]=n,i=((s=i+1|0)>>>0)%3|0?s:i-2|0,s=-1,-1!=(0|i)&&(s=f[(i<<2)+k>>2])}if(f[k+I>>2]=s,-1!=(0|h)){A:{b:{if((h>>>0)%3|0)s=h-1|0;else if(-1==(0|(s=h+2|0)))break b;if(i=e+k|0,e=f[(s<<2)+k>>2],f[i>>2]=e,-1==(0|e))break A;f[f[d+24>>2]+(e<<2)>>2]=G;break A}f[e+k>>2]=-1}s=-1,i=-1,-1!=(0|(e=((e=h+1|0)>>>0)%3|0?e:h-2|0))&&(s=e,i=f[(e<<2)+k>>2])}else f[e+k>>2]=-1,s=-1,i=-1;G=(e=f[c+388>>2])+(h=n<<2)|0,I=e,e=i<<2,f[G>>2]=f[G>>2]+f[I+e>>2],e=(d=f[d+24>>2])+e|0,-1!=(0|n)&&(f[d+h>>2]=f[e>>2]);A:if(-1!=(0|s))for(;;){if(f[(s<<2)+k>>2]=n,-1==(0|(s=((d=s+1|0)>>>0)%3|0?d:s-2|0)))break A;if(-1==(0|(s=f[v+(s<<2)>>2])))break A;if(-1==(0|(s=((d=s+1|0)>>>0)%3|0?d:s-2|0)))break}f[e>>2]=-1;A:if(!S){if((0|w)==(0|Z)){b:{if((g=1+(k=(e=Z-C|0)>>2)|0)>>>0<1073741824){if(s=e>>1,s=k>>>0<536870911?s>>>0<g>>>0?g:s:1073741823){if(s>>>0>=1073741824)break b;g=_t(s<<2)}else g=0;f[(k=g+(k<<2)|0)>>2]=i,Z=(s<<2)+g|0,w=k+4|0,(0|e)>0&&ge(g,C,e),f[y+32>>2]=Z,f[y+28>>2]=w,f[y+24>>2]=g,C&&ee(C),C=g;break A}break e}break i}f[w>>2]=i,w=w+4|0,f[y+28>>2]=w}f[D>>2]=E,i=u,he(B,E);break f}f[c+400>>2]=7}if(ur((d=f[c+8>>2])+24|0),s=-1,n=f[c+8>>2],u=p(e,3),E=(d=(h=f[d+28>>2]-f[d+24>>2]|0)>>2)-1|0,f[f[n>>2]+(u<<2)>>2]=E,ur(n+24|0),v=u+1|0,f[f[n>>2]+(v<<2)>>2]=(f[n+28>>2]-f[n+24>>2]>>2)-1,ur((n=f[c+8>>2])+24|0),G=u+2|0,f[f[n>>2]+(G<<2)>>2]=(f[n+28>>2]-f[n+24>>2]>>2)-1,D=f[c+8>>2],n=f[D+24>>2],(0|U)<f[D+28>>2]-n>>2)break n;c:{if(h){if(f[n+(E<<2)>>2]=u,s=0,-4!=(0|h)&&(f[n+(d<<2)>>2]=v,-1==(0|(s=d+1|0))))break c}else f[n+(d<<2)>>2]=v,s=1;f[n+(s<<2)>>2]=G}if((0|i)==(0|R)){if((t=1+(n=(i=R-_|0)>>2)|0)>>>0>=1073741824)break e;if(s=i>>1,s=n>>>0<536870911?t>>>0>s>>>0?t:s:1073741823){if(s>>>0>=1073741824)break i;t=_t(s<<2)}else t=0;f[(n=t+(n<<2)|0)>>2]=u,R=(s<<2)+t|0,u=n+4|0,(0|i)>0&&ge(t,_,i),f[y+72>>2]=R,f[y+68>>2]=u,f[y+64>>2]=t,_&&ee(_),_=t}else f[i>>2]=u,u=i+4|0,f[y+68>>2]=u}he(B,f[u-4>>2]);s:if((0|(s=f[c+40>>2]))!=f[c+36>>2])for(n=N+(-1^e)|0,d=u-4|0;;){if((e=f[s-8>>2])>>>0>n>>>0)break o;if((0|e)!=(0|n))break s;if(h=A[s-4|0],i=f[(e=s-12|0)>>2],f[c+40>>2]=e,(0|i)<0)break o;e=f[d>>2],f[y+20>>2]=N+(-1^i),i=y+20|0,f[y+88>>2]=i,re(y,y+40|0,i,y+88|0),s=f[y>>2];c:if(1&h){if(i=-1,-1==(0|e))break c;i=((i=e+1|0)>>>0)%3|0?i:e-2|0}else i=-1,-1!=(0|e)&&(i=e-1|0,(e>>>0)%3|0||(i=e+2|0));if(f[s+12>>2]=i,(0|(s=f[c+40>>2]))==f[c+36>>2])break}i=u}if(k=(0|m)<(0|N),(0|m)==(0|N))break}m=N;break a}if(s=-1,1&k)break n}if(s=-1,i=f[c+8>>2],!((0|U)<f[i+28>>2]-f[i+24>>2]>>2)){if((0|u)!=(0|_)){for(N=c+60|0,E=c+312|0;;){d=f[(u=u-4|0)>>2],f[y+68>>2]=u;a:if(jr(E)){if(v=f[c+8>>2],h=f[v>>2],((f[v+4>>2]-h>>2>>>0)/3|0)<=(0|m))break n;if(t=-1,e=-1,n=f[v+24>>2],i=-1,-1!=(0|d)&&(i=-1,-1!=(0|(C=((C=d+1|0)>>>0)%3|0?C:d-2|0))&&(i=f[h+(C<<2)>>2])),-1!=(0|(i=f[n+((C=i)<<2)>>2]))&&-1!=(0|(i=((k=i+1|0)>>>0)%3|0?k:i-2|0))&&(-1!=(0|(t=((t=i+1|0)>>>0)%3|0?t:i-2|0))&&(e=f[h+(t<<2)>>2]),t=i),R=-1,k=-1,i=-1,-1!=(0|(n=f[n+(e<<2)>>2]))&&(i=-1,-1!=(0|(n=((U=n+1|0)>>>0)%3|0?U:n-2|0))&&(k=n,i=-1!=(0|(i=((i=n+1|0)>>>0)%3|0?i:n-2|0))?f[h+(i<<2)>>2]:-1)),n=f[v+12>>2],v=p(m,3),f[n+(U=v<<2)>>2]=d,f[n+(d<<2)>>2]=v,f[(B=(d=v+1|0)<<2)+n>>2]=t,f[n+(t<<2)>>2]=d,f[(Z=(t=v+2|0)<<2)+n>>2]=k,f[n+(k<<2)>>2]=t,f[h+U>>2]=e,f[(k=h+B|0)>>2]=i,f[(i=h+Z|0)>>2]=C,n=d>>>0<v>>>0?-1:e,e=f[c+120>>2],h=f[(C=(n>>>3&536870908)+e|0)>>2],j=C,Y=Vt(n)&h,f[j>>2]=Y,R=-1!=(0|d)?f[k>>2]:R,n=f[(k=e+(R>>>3&536870908)|0)>>2],j=k,Y=Vt(R)&n,f[j>>2]=Y,n=-1,n=-1!=(0|t)?f[i>>2]:n,t=f[(e=e+(n>>>3&536870908)|0)>>2],j=e,Y=Vt(n)&t,f[j>>2]=Y,(0|(n=f[c+64>>2]))==(e=f[c+68>>2])<<5){if((n+1|0)<0)break e;or(N,e=n>>>0<=1073741822?(e<<=6)>>>0<(t=n+32&-32)>>>0?t:e:2147483647),n=f[c+64>>2]}if(m=m+1|0,f[c+64>>2]=n+1,e=f[c+60>>2]+(n>>>3&536870908)|0,f[e>>2]=f[e>>2]|1<<n,(0|(e=f[c+76>>2]))!=f[c+80>>2]){f[e>>2]=v,f[c+76>>2]=e+4;break a}if((e=1+(n=(i=e-(t=f[c+72>>2])|0)>>2)|0)>>>0>=1073741824)break e;if(k=i>>1,k=n>>>0<536870911?e>>>0>k>>>0?e:k:1073741823){if(k>>>0>=1073741824)break i;e=_t(k<<2)}else e=0;if(f[(n=e+(n<<2)|0)>>2]=v,(0|i)>0&&ge(e,t,i),f[c+80>>2]=e+(k<<2),f[c+76>>2]=n+4,f[c+72>>2]=e,!t)break a;ee(t)}else{if((0|(i=f[c+64>>2]))==(e=f[c+68>>2])<<5){if((i+1|0)<0)break e;or(N,e=i>>>0<=1073741822?(e<<=6)>>>0<(t=i+32&-32)>>>0?t:e:2147483647),i=f[c+64>>2]}if(f[c+64>>2]=i+1,e=f[c+60>>2]+(i>>>3&536870908)|0,t=f[e>>2],j=e,Y=Vt(i)&t,f[j>>2]=Y,(0|(e=f[c+76>>2]))==f[c+80>>2]){if((e=1+(n=(i=e-(t=f[c+72>>2])|0)>>2)|0)>>>0>=1073741824)break e;if(k=i>>1,k=n>>>0<536870911?e>>>0>k>>>0?e:k:1073741823){if(k>>>0>=1073741824)break i;e=_t(k<<2)}else e=0;f[(n=e+(n<<2)|0)>>2]=d,(0|i)>0&&ge(e,t,i),f[c+80>>2]=e+(k<<2),f[c+76>>2]=n+4,f[c+72>>2]=e,t&&ee(t)}else f[e>>2]=d,f[c+76>>2]=e+4}if((0|u)==(0|_))break}i=f[c+8>>2]}if(((f[i+4>>2]-f[i>>2]>>2>>>0)/3|0)==(0|m))if(n=f[i+24>>2],s=f[i+28>>2]-n>>2,(0|g)!=(0|w))for(e=g;;){if(t=f[e>>2],-1==f[(k=((u=s-1|0)<<2)+n|0)>>2])for(;u=s-2|0,s=s-1|0,-1==f[(k=(u<<2)+n|0)>>2];);if(t>>>0<=u>>>0){if(f[y>>2]=i,n=f[k>>2],a[y+12|0]=1,f[y+8>>2]=n,f[y+4>>2]=n,-1!=(0|n))for(;f[f[i>>2]+(n<<2)>>2]=t,Fe(y),i=f[c+8>>2],-1!=(0|(n=f[y+8>>2])););m=(n=f[i+24>>2])+(u<<2)|0,-1!=(0|t)&&(f[(t<<2)+n>>2]=f[m>>2]),f[m>>2]=-1,m=1<<t,t=(N=f[c+120>>2])+(t>>>3&536870908)|0,N=N+(u>>>3&536870908)|0,u=1<<u,f[N>>2]&u?m|=f[t>>2]:m=f[t>>2]&(-1^m),f[t>>2]=m,f[N>>2]=f[N>>2]&(-1^u),s=s-1|0}if((0|w)==(0|(e=e+4|0)))break}else g=w}}if(g&&ee(g),e=f[y+48>>2])for(;t=f[e>>2],ee(e),e=t;);e=f[y+40>>2],f[y+40>>2]=0,e&&ee(e),_&&(f[y+68>>2]=_,ee(_)),V=y+96|0;break t}Hr(1326),T()}if(-1!=(0|s)){t=(e=f[x+16>>2])+f[x>>2]|0,_=(_=f[x+8>>2])-e|0,e=f[f[c+4>>2]+32>>2],o[e+38>>1]=b[e+38>>1],f[e>>2]=t,f[e+16>>2]=0,f[e+20>>2]=0,f[e+8>>2]=_,f[e+12>>2]=0;t:if(f[c+216>>2]!=f[c+220>>2]&&(e=f[c+8>>2],f[e+4>>2]!=f[e>>2])){for(t=0;;){if(be(c,t)){if(t=t+3|0,e=f[c+8>>2],t>>>0<f[e+4>>2]-f[e>>2]>>2>>>0)continue;break t}break}break r}if(A[c+308|0]&&(a[c+308|0]=0,t=f[c+292>>2],e=0,i=(e=(_=f[c+304>>2]+7|0)>>>0<7?1:e)>>>3|0,e=(_=e<<29|_>>>3)+f[c+288>>2]|0,t=t+i|0,f[c+288>>2]=e,f[c+292>>2]=e>>>0<_>>>0?t+1|0:t),(0|(t=f[c+216>>2]))!=f[c+220>>2])for(;;){if(Me(4+((e=p(W,144))+t|0)|0,f[c+8>>2]),i=f[F>>2],(0|(t=f[132+(_=e+i|0)>>2]))!=(0|(_=f[_+136>>2])))for(;Be(4+(e+i|0)|0,f[t>>2]),i=f[F>>2],(0|_)!=(0|(t=t+4|0)););if(te(4+(e+i|0)|0),W=W+1|0,t=f[c+216>>2],!(W>>>0<(f[c+220>>2]-t|0)/144>>>0))break}if(e=f[c+8>>2],_r(c+184|0,f[e+28>>2]-f[e+24>>2]>>2),(0|(i=f[c+216>>2]))!=f[c+220>>2])for(t=0;e=p(t,144)+i|0,_=f[e+60>>2]-f[e+56>>2]>>2,i=e+104|0,e=f[c+8>>2],_r(i,(0|(e=f[e+28>>2]-f[e+24>>2]>>2))>(0|_)?e:_),t=t+1|0,i=f[c+216>>2],t>>>0<(f[c+220>>2]-i|0)/144>>>0;);W=O(c,s)}}}return V=r- -64|0,0|W}oi(),T()},ei,Lt,zt,st,function(e){var r=0;f[(e|=0)>>2]=8652,(r=f[e+48>>2])&&(f[e+52>>2]=r,ee(r)),f[e>>2]=8904,(r=f[e+36>>2])&&ee(r),(r=f[e+24>>2])&&ee(r),ee(e)},mr,function(e){var r=0;return f[(e|=0)>>2]=8904,(r=f[e+36>>2])&&ee(r),(r=f[e+24>>2])&&ee(r),0|e},function(e){var r=0;f[(e|=0)>>2]=8904,(r=f[e+36>>2])&&ee(r),(r=f[e+24>>2])&&ee(r),ee(e)},function(e){var r=0;return f[8+(e|=0)>>2]=9168,f[e>>2]=8956,(r=f[e+96>>2])&&(f[e+100>>2]=r,ee(r)),(r=f[e+80>>2])&&(f[e+84>>2]=r,ee(r)),(r=f[e+68>>2])&&(f[e+72>>2]=r,ee(r)),(r=f[e+56>>2])&&(f[e+60>>2]=r,ee(r)),f[e+8>>2]=9404,(r=f[e+44>>2])&&ee(r),(r=f[e+32>>2])&&ee(r),0|e},function(e){var r=0;f[8+(e|=0)>>2]=9168,f[e>>2]=8956,(r=f[e+96>>2])&&(f[e+100>>2]=r,ee(r)),(r=f[e+80>>2])&&(f[e+84>>2]=r,ee(r)),(r=f[e+68>>2])&&(f[e+72>>2]=r,ee(r)),(r=f[e+56>>2])&&(f[e+60>>2]=r,ee(r)),f[e+8>>2]=9404,(r=f[e+44>>2])&&ee(r),(r=f[e+32>>2])&&ee(r),ee(e)},function(e,r){r|=0;var t,i,n,o=0,s=0,c=0,A=0,b=0,l=0,u=0,_=0;if(i=f[12+(e|=0)>>2],o=f[e+108>>2],c=f[o+80>>2],a[r+84|0]=0,A=f[r+68>>2],(s=f[r+72>>2]-A>>2)>>>0<c>>>0?(ve(r+68|0,c-s|0,9156),o=f[e+108>>2],c=f[o+80>>2]):c>>>0>=s>>>0||(f[r+72>>2]=A+(c<<2)),t=f[o+96>>2],!(o=f[o+100>>2]-t|0))return 1;n=(o=(0|o)/12|0)>>>0>1?o:1,o=0;e:{for(;;){if(1431655765==(0|o))break e;if(s=f[i>>2]+(p(o,3)<<2)|0,-1==(0|(l=f[s>>2])))break e;if(A=p(o,12)+t|0,(b=f[A>>2])>>>0>=c>>>0)break e;if(_=f[f[e+112>>2]+12>>2],(u=f[_+(l<<2)>>2])>>>0>=c>>>0)break e;if(l=f[r+68>>2],f[l+(b<<2)>>2]=u,-1==(0|(b=f[s+4>>2])))break e;if((u=f[A+4>>2])>>>0>=c>>>0)break e;if((b=f[(b<<2)+_>>2])>>>0>=c>>>0)break e;if(f[l+(u<<2)>>2]=b,-1==(0|(s=f[s+8>>2])))break e;if((A=f[A+8>>2])>>>0>=c>>>0)break e;if((s=f[(s<<2)+_>>2])>>>0>=c>>>0)break e;if(f[l+(A<<2)>>2]=s,(0|n)==(0|(o=o+1|0)))break}return 1}return 0},function(e){var r,t=0,i=0,n=0,a=0,o=0,s=0;V=r=V-16|0,t=f[4+(e|=0)>>2],n=f[t>>2];e:{if(i=f[e+12>>2],!((a=(i=f[i+28>>2]-f[i+24>>2]|0)>>2)>>>0<=f[t+8>>2]-n>>2>>>0)){if((0|i)<0)break e;o=f[t+4>>2],s=(i=_t(i))+(a<<2)|0,o=(a=o-n|0)+i|0,(0|a)>0&&ge(i,n,a),f[t+8>>2]=s,f[t+4>>2]=o,f[t>>2]=i,n&&ee(n)}t=f[e+12>>2],n=f[t+28>>2],t=f[t+24>>2],f[r+12>>2]=0,t=n-t>>2,a=f[(i=e+96|0)>>2],t>>>0>(n=f[e+100>>2]-a>>2)>>>0?ve(i,t-n|0,r+12|0):t>>>0>=n>>>0||(f[e+100>>2]=a+(t<<2)),a=e+8|0;r:if(t=f[e+116>>2]){if((0|(i=f[t>>2]))==f[t+4>>2]){n=1;break r}for(t=0;;){if(!(n=j(a,f[(t<<2)+i>>2])))break r;if(o=f[e+116>>2],i=f[o>>2],!((t=t+1|0)>>>0<f[o+4>>2]-i>>2>>>0))break}}else if(n=1,e=f[e+12>>2],!((e=f[e+4>>2]-f[e>>2]>>2)>>>0<3))for(e=(e>>>0)/3|0,t=0;;){if(!(n=j(a,p(t,3))))break r;if((0|e)==(0|(t=t+1|0)))break}return V=r+16|0,0|n}Hr(1326),T()},function(e){var r=0;return f[(e|=0)>>2]=9168,(r=f[e+88>>2])&&(f[e+92>>2]=r,ee(r)),(r=f[e+72>>2])&&(f[e+76>>2]=r,ee(r)),(r=f[e+60>>2])&&(f[e- -64>>2]=r,ee(r)),(r=f[e+48>>2])&&(f[e+52>>2]=r,ee(r)),f[e>>2]=9404,(r=f[e+36>>2])&&ee(r),(r=f[e+24>>2])&&ee(r),0|e},function(e){var r=0;f[(e|=0)>>2]=9168,(r=f[e+88>>2])&&(f[e+92>>2]=r,ee(r)),(r=f[e+72>>2])&&(f[e+76>>2]=r,ee(r)),(r=f[e+60>>2])&&(f[e- -64>>2]=r,ee(r)),(r=f[e+48>>2])&&(f[e+52>>2]=r,ee(r)),f[e>>2]=9404,(r=f[e+36>>2])&&ee(r),(r=f[e+24>>2])&&ee(r),ee(e)},function(e,r,t){r|=0,t|=0;var i,n=0;V=i=V-16|0,f[4+(e|=0)>>2]=r,n=f[r>>2],r=f[r+4>>2],a[i+15|0]=0,ze(e+24|0,(r-n>>2>>>0)/3|0,i+15|0),r=f[e+4>>2],n=f[r+28>>2],r=f[r+24>>2],a[i+14|0]=0,ze(e+36|0,n-r>>2,i+14|0),r=f[t+12>>2],f[e+16>>2]=f[t+8>>2],f[e+20>>2]=r,r=f[t+4>>2],f[e+8>>2]=f[t>>2],f[e+12>>2]=r,V=i+16|0},function(e){var r=0;return f[(e|=0)>>2]=9404,(r=f[e+36>>2])&&ee(r),(r=f[e+24>>2])&&ee(r),0|e},function(e){var r=0;f[(e|=0)>>2]=9404,(r=f[e+36>>2])&&ee(r),(r=f[e+24>>2])&&ee(r),ee(e)},function(e){var r=0;return f[8+(e|=0)>>2]=9588,f[e>>2]=9424,(r=f[e+56>>2])&&(f[e+60>>2]=r,ee(r)),f[e+8>>2]=9404,(r=f[e+44>>2])&&ee(r),(r=f[e+32>>2])&&ee(r),0|e},function(e){var r=0;f[8+(e|=0)>>2]=9588,f[e>>2]=9424,(r=f[e+56>>2])&&(f[e+60>>2]=r,ee(r)),f[e+8>>2]=9404,(r=f[e+44>>2])&&ee(r),(r=f[e+32>>2])&&ee(r),ee(e)},function(e,r){r|=0;var t,i,n,o=0,s=0,c=0,A=0,b=0,l=0,u=0,_=0;if(i=f[12+(e|=0)>>2],o=f[e+68>>2],c=f[o+80>>2],a[r+84|0]=0,A=f[r+68>>2],(s=f[r+72>>2]-A>>2)>>>0<c>>>0?(ve(r+68|0,c-s|0,9156),o=f[e+68>>2],c=f[o+80>>2]):c>>>0>=s>>>0||(f[r+72>>2]=A+(c<<2)),t=f[o+96>>2],!(o=f[o+100>>2]-t|0))return 1;n=(o=(0|o)/12|0)>>>0>1?o:1,o=0;e:{for(;;){if(1431655765==(0|o))break e;if(s=f[i>>2]+(p(o,3)<<2)|0,-1==(0|(l=f[s>>2])))break e;if(A=p(o,12)+t|0,(b=f[A>>2])>>>0>=c>>>0)break e;if(_=f[f[e+72>>2]+12>>2],(u=f[_+(l<<2)>>2])>>>0>=c>>>0)break e;if(l=f[r+68>>2],f[l+(b<<2)>>2]=u,-1==(0|(b=f[s+4>>2])))break e;if((u=f[A+4>>2])>>>0>=c>>>0)break e;if((b=f[(b<<2)+_>>2])>>>0>=c>>>0)break e;if(f[l+(u<<2)>>2]=b,-1==(0|(s=f[s+8>>2])))break e;if((A=f[A+8>>2])>>>0>=c>>>0)break e;if((s=f[(s<<2)+_>>2])>>>0>=c>>>0)break e;if(f[l+(A<<2)>>2]=s,(0|n)==(0|(o=o+1|0)))break}return 1}return 0},function(e){var r=0,t=0,i=0,n=0,a=0,o=0;r=f[4+(e|=0)>>2],i=f[r>>2];e:{if(t=f[e+12>>2],!((n=(t=f[t+28>>2]-f[t+24>>2]|0)>>2)>>>0<=f[r+8>>2]-i>>2>>>0)){if((0|t)<0)break e;a=f[r+4>>2],o=(t=_t(t))+(n<<2)|0,a=(n=a-i|0)+t|0,(0|n)>0&&ge(t,i,n),f[r+8>>2]=o,f[r+4>>2]=a,f[r>>2]=t,i&&ee(i)}n=e+8|0;r:if(r=f[e+76>>2]){if((0|(i=f[r>>2]))==f[r+4>>2])return 1;for(r=0;;){if(!(t=ae(n,f[(r<<2)+i>>2])))break r;if(a=f[e+76>>2],i=f[a>>2],!((r=r+1|0)>>>0<f[a+4>>2]-i>>2>>>0))break}}else if(t=1,e=f[e+12>>2],!((e=f[e+4>>2]-f[e>>2]>>2)>>>0<3))for(e=(e>>>0)/3|0,r=0;;){if(!(t=ae(n,p(r,3))))break r;if((0|e)==(0|(r=r+1|0)))break}return 0|t}Hr(1326),T()},function(e){var r=0;return f[(e|=0)>>2]=9588,(r=f[e+48>>2])&&(f[e+52>>2]=r,ee(r)),f[e>>2]=9404,(r=f[e+36>>2])&&ee(r),(r=f[e+24>>2])&&ee(r),0|e},function(e){var r=0;f[(e|=0)>>2]=9588,(r=f[e+48>>2])&&(f[e+52>>2]=r,ee(r)),f[e>>2]=9404,(r=f[e+36>>2])&&ee(r),(r=f[e+24>>2])&&ee(r),ee(e)},function(e){var r=0;return f[8+(e|=0)>>2]=8652,f[e>>2]=9716,(r=f[e+56>>2])&&(f[e+60>>2]=r,ee(r)),f[e+8>>2]=8904,(r=f[e+44>>2])&&ee(r),(r=f[e+32>>2])&&ee(r),0|e},function(e){var r=0;f[8+(e|=0)>>2]=8652,f[e>>2]=9716,(r=f[e+56>>2])&&(f[e+60>>2]=r,ee(r)),f[e+8>>2]=8904,(r=f[e+44>>2])&&ee(r),(r=f[e+32>>2])&&ee(r),ee(e)},function(e,r){r|=0;var t,i,n,o=0,s=0,c=0,A=0,b=0,l=0,u=0,_=0;if(l=f[12+(e|=0)>>2],o=f[e+68>>2],c=f[o+80>>2],a[r+84|0]=0,b=f[r+68>>2],(s=f[r+72>>2]-b>>2)>>>0<c>>>0?(ve(r+68|0,c-s|0,9156),o=f[e+68>>2],c=f[o+80>>2]):c>>>0>=s>>>0||(f[r+72>>2]=b+(c<<2)),t=f[o+96>>2],!(o=f[o+100>>2]-t|0))return 1;i=(o=(0|o)/12|0)>>>0>1?o:1,n=f[l+28>>2],o=0;e:{for(;;){if(s=(p(o,3)<<2)+n|0,-1==(0|(b=f[s>>2])))break e;if(l=p(o,12)+t|0,(u=f[l>>2])>>>0>=c>>>0)break e;if(A=b<<2,b=f[f[e+72>>2]+12>>2],(A=f[A+b>>2])>>>0>=c>>>0)break e;if(_=u<<2,u=f[r+68>>2],f[_+u>>2]=A,-1==(0|(A=f[s+4>>2])))break e;if((_=f[l+4>>2])>>>0>=c>>>0)break e;if((A=f[b+(A<<2)>>2])>>>0>=c>>>0)break e;if(f[u+(_<<2)>>2]=A,-1==(0|(s=f[s+8>>2])))break e;if((l=f[l+8>>2])>>>0>=c>>>0)break e;if((s=f[b+(s<<2)>>2])>>>0>=c>>>0)break e;if(f[u+(l<<2)>>2]=s,(0|i)==(0|(o=o+1|0)))break}return 1}return 0},function(e){var r=0,t=0,i=0,n=0,a=0,o=0;r=f[4+(e|=0)>>2],i=f[r>>2];e:{if(t=f[e+12>>2],!((n=(t=f[t+56>>2]-f[t+52>>2]|0)>>2)>>>0<=f[r+8>>2]-i>>2>>>0)){if((0|t)<0)break e;a=f[r+4>>2],o=(t=_t(t))+(n<<2)|0,a=(n=a-i|0)+t|0,(0|n)>0&&ge(t,i,n),f[r+8>>2]=o,f[r+4>>2]=a,f[r>>2]=t,i&&ee(i)}n=e+8|0;r:if(r=f[e+76>>2]){if((0|(i=f[r>>2]))==f[r+4>>2])return 1;for(r=0;;){if(!(t=ie(n,f[(r<<2)+i>>2])))break r;if(a=f[e+76>>2],i=f[a>>2],!((r=r+1|0)>>>0<f[a+4>>2]-i>>2>>>0))break}}else if(t=1,e=f[f[e+12>>2]+64>>2],!((e=f[e+4>>2]-f[e>>2]>>2)>>>0<3))for(e=(e>>>0)/3|0,r=0;;){if(!(t=ie(n,p(r,3))))break r;if((0|e)==(0|(r=r+1|0)))break}return 0|t}Hr(1326),T()},function(e){var r,t=0,i=0;if(f[(e|=0)>>2]=10064,(t=f[e+20>>2])&&(f[e+24>>2]=t,ee(t)),r=f[e+8>>2]){if((0|(i=f[e+12>>2]))==(0|r))t=r;else{for(;t=f[(i=i-4|0)>>2],f[i>>2]=0,t&&yi[f[f[t>>2]+4>>2]](t),(0|r)!=(0|i););t=f[e+8>>2]}f[e+12>>2]=r,ee(t)}ee(e)},function(e,r){e|=0,r|=0;var t=0,i=0,n=0,a=0,o=0,s=0;a=_t(64),t=_t(12),f[t+8>>2]=f[f[e+4>>2]+80>>2],f[t>>2]=1e4,f[t+4>>2]=0,a=Or(a,t);e:{if((0|r)<0)t=a;else{if(s=e+8|0,!((0|(o=(t=f[e+12>>2])-(n=f[e+8>>2])>>2))>(0|r)))if(i=r+1|0,r>>>0>=o>>>0)Oe(s,i-o|0);else if(!(i>>>0>=o>>>0)){if((0|(n=n+(i<<2)|0))!=(0|t))for(;i=f[(t=t-4|0)>>2],f[t>>2]=0,i&&yi[f[f[i>>2]+4>>2]](i),(0|t)!=(0|n););f[e+12>>2]=n}if(e=f[s>>2]+(r<<2)|0,t=f[e>>2],f[e>>2]=a,!t)break e}yi[f[f[t>>2]+4>>2]](t)}return(-1^r)>>>31|0},function(e){var r,t=0,i=0,n=0,a=0,o=0,s=0,c=0,u=0,_=0,k=0,d=0,m=0,h=0;V=r=V-32|0;e:if(Gr(1,r+28|0,f[32+(e|=0)>>2])&&Gr(1,r+24|0,f[e+32>>2])&&!((_=f[r+28>>2])>>>0>1431655765||(n=f[e+32>>2],a=zr(a=(t=u=f[n+8>>2])-(i=f[n+16>>2])|0,(o=f[n+12>>2])-((m=t>>>0<i>>>0)+(t=f[n+20>>2])|0)|0,3,0),!D&a>>>0<_>>>0||(h=f[r+24>>2],a=Pr(_,0,3,0),!D&a>>>0<h>>>0|(0|t)>=(0|o)&i>>>0>=u>>>0|(0|t)>(0|o))))){o=A[i+f[n>>2]|0],a=(u=i+1|0)?t:t+1|0,f[n+16>>2]=u,f[n+20>>2]=a;r:{if(o){t:if(h>>>0<=255){if(!_)break r;if(f[r+16>>2]=0,f[r+8>>2]=0,f[r+12>>2]=0,(0|a)>=(0|(t=i=f[n+12>>2]))&u>>>0>=(s=f[n+8>>2])>>>0|(0|t)<(0|a))break t;for(;;){if(o=f[n>>2],k=A[o+u|0],t=a,t=(c=u+1|0)?t:t+1|0,f[n+16>>2]=c,f[n+20>>2]=t,f[r+8>>2]=k,s>>>0<=c>>>0&(0|t)>=(0|i)|(0|t)>(0|i))break t;if(k=A[o+c|0],t=a,t=(c=u+2|0)>>>0<2?t+1|0:t,f[n+16>>2]=c,f[n+20>>2]=t,f[r+12>>2]=k,s>>>0<=c>>>0&(0|t)>=(0|i)|(0|t)>(0|i))break t;if(t=A[o+c|0],a=(i=u+3|0)>>>0<3?a+1|0:a,f[n+16>>2]=i,f[n+20>>2]=a,f[r+16>>2]=t,tr(f[e+44>>2]+96|0,r+8|0),(0|_)==(0|(d=d+1|0)))break r;if(n=f[e+32>>2],u=f[(t=n)+16>>2],a=f[t+20>>2],f[r+16>>2]=0,f[r+8>>2]=0,f[r+12>>2]=0,!(u>>>0<(s=f[t+8>>2])>>>0&(0|a)<=(0|(t=i=f[t+12>>2]))|(0|t)>(0|a)))break}}else if(h>>>0<=65535){if(!_)break r;if(f[r+16>>2]=0,f[r+8>>2]=0,f[r+12>>2]=0,o=f[n+12>>2],s=i=i+3|0,i=t=i>>>0<3?t+1|0:t,(c=f[n+8>>2])>>>0<s>>>0&(0|t)>=(0|o)|(0|t)>(0|o))break t;for(;;){if(k=f[n>>2],t=A[0|(t=k+u|0)]|A[t+1|0]<<8,f[n+16>>2]=s,f[n+20>>2]=i,f[r+8>>2]=t,t=a,(i=u+4|0)>>>0>c>>>0&(0|(t=i>>>0<4?t+1|0:t))>=(0|o)|(0|t)>(0|o))break t;if(s=A[0|(s=s+k|0)]|A[s+1|0]<<8,f[n+16>>2]=i,f[n+20>>2]=t,f[r+12>>2]=s,t=a,(a=u+6|0)>>>0>c>>>0&(0|(t=a>>>0<6?t+1|0:t))>=(0|o)|(0|t)>(0|o))break t;if(i=A[0|(i=i+k|0)]|A[i+1|0]<<8,f[n+16>>2]=a,f[n+20>>2]=t,f[r+16>>2]=i,tr(f[e+44>>2]+96|0,r+8|0),(0|_)==(0|(d=d+1|0)))break r;if(n=f[e+32>>2],u=f[(t=n)+16>>2],a=f[t+20>>2],f[r+16>>2]=0,f[r+8>>2]=0,f[r+12>>2]=0,o=f[t+12>>2],c=f[t+8>>2],t=a,s=i=u+2|0,i=t=i>>>0<2?t+1|0:t,!((0|t)<=(0|o)&s>>>0<=c>>>0|(0|t)<(0|o)))break}}else if(l[f[e+44>>2]+80>>2]>2097151||(65535&((o=b[e+36>>1])<<8|o>>>8))>>>0<514){if(!_)break r;if(f[r+16>>2]=0,f[r+8>>2]=0,f[r+12>>2]=0,o=f[n+12>>2],s=i=i+5|0,i=t=i>>>0<5?t+1|0:t,!((c=f[n+8>>2])>>>0<s>>>0&(0|t)>=(0|o)|(0|t)>(0|o)))for(;;){if(k=f[n>>2],t=A[0|(t=k+u|0)]|A[t+1|0]<<8|A[t+2|0]<<16|A[t+3|0]<<24,f[n+16>>2]=s,f[n+20>>2]=i,f[r+8>>2]=t,t=a,m=i=u+8|0,i>>>0>c>>>0&(0|(t=i>>>0<8?t+1|0:t))>=(0|o)|(0|t)>(0|o))break t;if(i=A[0|(i=s+k|0)]|A[i+1|0]<<8|A[i+2|0]<<16|A[i+3|0]<<24,f[n+16>>2]=m,f[n+20>>2]=t,f[r+12>>2]=i,i=t=u+12|0,t>>>0>c>>>0&(0|(a=t>>>0<12?a+1|0:a))>=(0|o)|(0|a)>(0|o))break t;if(t=A[0|(t=k+m|0)]|A[t+1|0]<<8|A[t+2|0]<<16|A[t+3|0]<<24,f[n+16>>2]=i,f[n+20>>2]=a,f[r+16>>2]=t,tr(f[e+44>>2]+96|0,r+8|0),(0|_)==(0|(d=d+1|0)))break r;if(n=f[e+32>>2],u=f[(t=n)+16>>2],a=f[t+20>>2],f[r+16>>2]=0,f[r+8>>2]=0,f[r+12>>2]=0,o=f[t+12>>2],c=f[t+8>>2],t=a,s=i=u+4|0,i=t=i>>>0<4?t+1|0:t,!((0|t)<=(0|o)&s>>>0<=c>>>0|(0|t)<(0|o)))break}}else{if(!_)break r;if(f[r+16>>2]=0,f[r+8>>2]=0,f[r+12>>2]=0,!Gr(1,r+4|0,n))break t;for(;;){if(f[r+8>>2]=f[r+4>>2],!Gr(1,r+4|0,f[e+32>>2]))break t;if(f[r+12>>2]=f[r+4>>2],!Gr(1,r+4|0,f[e+32>>2]))break t;if(f[r+16>>2]=f[r+4>>2],tr(f[e+44>>2]+96|0,r+8|0),(0|_)==(0|(d=d+1|0)))break r;if(a=f[e+32>>2],f[r+16>>2]=0,f[r+8>>2]=0,f[r+12>>2]=0,!Gr(1,r+4|0,a))break}}d=0;break e}n=0,V=t=V-32|0,f[t+24>>2]=0,f[t+16>>2]=0,f[t+20>>2]=0;t:{i:{if(a=p(_,3)){if(a>>>0>=1073741824)break i;n=_t(i=p(_,12)),f[t+16>>2]=n,Je(n,0,i)}n:{if(!(a=M(a,1,f[e+32>>2],n))|!_){if(!n)break n}else for(o=0,i=0;m=s,c=(s=f[(u=(i<<2)+n|0)>>2])>>>1|0,s=m+(1&s?0-c|0:c)|0,f[t>>2]=s,k=(c=f[u+4>>2])>>>1|0,s=s+(1&c?0-k|0:k)|0,f[t+4>>2]=s,c=(u=f[u+8>>2])>>>1|0,s=s+(1&u?0-c|0:c)|0,f[t+8>>2]=s,tr(f[e+44>>2]+96|0,t),i=i+3|0,(0|(o=o+1|0))!=(0|_););ee(n)}V=t+32|0;break t}oi(),T()}if(!a)break e}f[f[e+4>>2]+80>>2]=h,d=1}return V=r+32|0,0|d},$t,fi,function(e,r){return a[84+(r|=0)|0]=1,f[r+72>>2]=f[r+68>>2],1},function(e){var r=0,t=0,i=0,n=0,a=0;e:{if(!((0|(r=f[8+(e|=0)>>2]))<0||(t=f[e+4>>2],n=f[t>>2],(i=f[t+4>>2]-n>>2)>>>0<r>>>0?(sr(t,r-i|0),a=f[e+8>>2]):(a=r,r>>>0>=i>>>0||(f[t+4>>2]=n+(r<<2),a=r)),(0|(i=a))<=0)))for(e=f[e+4>>2],t=f[e>>2],n=f[e+4>>2]-t>>2,e=0;;){if((0|e)==(0|n))break e;if(f[t+(e<<2)>>2]=e,(0|i)==(0|(e=e+1|0)))break}return(-1^r)>>>31|0}li(),T()},ci,ii,ei,function(e){var r=0;return f[(e|=0)>>2]=10272,(r=f[e+96>>2])&&(f[e+100>>2]=r,ee(r)),(r=f[e+84>>2])&&(f[e+88>>2]=r,ee(r)),fr(e),0|e},function(e){var r=0;f[(e|=0)>>2]=10272,(r=f[e+96>>2])&&(f[e+100>>2]=r,ee(r)),(r=f[e+84>>2])&&(f[e+88>>2]=r,ee(r)),fr(e),ee(e)},function(e,r,t){var i=0,n=0,a=0,o=0,s=0,c=0,A=0,b=0;if(ce(e|=0,r|=0,t|=0),t=f[e+84>>2],!((0|(i=f[e+88>>2]-t>>2))>(0|r))){if((r=r+1|0)>>>0>i>>>0){e:if((i=r-i|0)>>>0<=(n=f[e+92>>2])-(t=f[e+88>>2])>>2>>>0){if(i){if(r=t,o=1+((a=(i<<2)-4|0)>>>2|0)&7)for(;f[r>>2]=1,r=r+4|0,(0|o)!=(0|(s=s+1|0)););if(t=(i<<2)+t|0,!(a>>>0<28))for(;f[r+24>>2]=1,f[r+28>>2]=1,f[r+16>>2]=1,f[r+20>>2]=1,f[r+8>>2]=1,f[r+12>>2]=1,f[r>>2]=1,f[r+4>>2]=1,(0|t)!=(0|(r=r+32|0)););}f[e+88>>2]=t}else{r:{if((r=(t=(A=t-(a=f[e+84>>2])|0)>>2)+i|0)>>>0<1073741824){if(c=(n=n-a|0)>>1,n=n>>2>>>0<536870911?r>>>0>c>>>0?r:c:1073741823){if(n>>>0>=1073741824)break r;o=_t(n<<2)}if(r=t=(t<<2)+o|0,b=1+((c=(i<<=2)-4|0)>>>2|0)&7)for(r=t;f[r>>2]=1,r=r+4|0,(0|b)!=(0|(s=s+1|0)););if(t=t+i|0,c>>>0>=28)for(;f[r+24>>2]=1,f[r+28>>2]=1,f[r+16>>2]=1,f[r+20>>2]=1,f[r+8>>2]=1,f[r+12>>2]=1,f[r>>2]=1,f[r+4>>2]=1,(0|t)!=(0|(r=r+32|0)););(0|A)>0&&ge(o,a,A),f[e+92>>2]=(n<<2)+o,f[e+88>>2]=t,f[e+84>>2]=o,a&&ee(a);break e}oi(),T()}Hr(1326),T()}return}r>>>0>=i>>>0||(f[e+88>>2]=t+(r<<2))}},function(e,r){var t=0,i=0;$(e|=0,r|=0),(0|r)<0||(t=f[e+88>>2])-(i=f[e+84>>2])>>2<=(0|r)||((t=t-(i=4+(r=i+(r<<2)|0)|0)|0)&&Se(r,i,t),f[e+88>>2]=r+t)},fr,function(e){ee(fr(e|=0))},ce,$,$t,fi,function(e){return 1273},function(e){ee(kt(e|=0))},Lt,function(e){kt(e|=0),ee(e)},$t,fi,mi,mi,function(e,r,t){t|=0;var i,n=0,a=0,o=0,s=0;if(V=i=V+-64|0,n=1,!Ur(e|=0,r|=0,0)&&(n=0,r)){V=n=V+-64|0,a=f[r>>2],o=f[a-4>>2],s=f[a-8>>2],f[n+20>>2]=0,f[n+16>>2]=11220,f[n+12>>2]=r,f[n+8>>2]=11268,a=0,Je(n+24|0,0,39),r=r+s|0;e:if(Ur(o,11268,0))f[n+56>>2]=1,yi[f[f[o>>2]+20>>2]](o,n+8|0,r,r,1,0),a=1==f[n+32>>2]?r:0;else{yi[f[f[o>>2]+24>>2]](o,n+8|0,r,1,0);r:switch(f[n+44>>2]){case 0:a=1==f[n+48>>2]&&1==f[n+36>>2]&&1==f[n+40>>2]?f[n+28>>2]:0;break e;case 1:break r;default:break e}1!=f[n+32>>2]&&f[n+48>>2]|1!=f[n+36>>2]|1!=f[n+40>>2]||(a=f[n+24>>2])}V=n- -64|0,n=0,a&&(Je(4|(r=i+8|0),0,52),f[i+56>>2]=1,f[i+20>>2]=-1,f[i+16>>2]=e,f[i+8>>2]=a,yi[f[f[a>>2]+28>>2]](a,r,f[t>>2],1),1==(0|(e=f[i+32>>2]))&&(f[t>>2]=f[i+24>>2]),n=1==(0|e))}return V=i- -64|0,0|n},function(e,r,t,i,n,a){t|=0,i|=0,n|=0,a|=0,Ur(e|=0,f[8+(r|=0)>>2],a)&&dr(r,t,i,n)},function(e,r,t,i,n){if(t|=0,i|=0,n|=0,Ur(e|=0,f[8+(r|=0)>>2],n))1==f[r+28>>2]|f[r+4>>2]!=(0|t)||(f[r+28>>2]=i);else e:if(Ur(e,f[r>>2],n)){if(!(f[r+16>>2]!=(0|t)&f[r+20>>2]!=(0|t))){if(1!=(0|i))break e;return void(f[r+32>>2]=1)}f[r+20>>2]=t,f[r+32>>2]=i,f[r+40>>2]=f[r+40>>2]+1,1!=f[r+36>>2]|2!=f[r+24>>2]||(a[r+54|0]=1),f[r+44>>2]=4}},function(e,r,t,i){t|=0,i|=0,Ur(e|=0,f[8+(r|=0)>>2],0)&&Xr(r,t,i)},fi,function(e,r,t,i,n,a){t|=0,i|=0,n|=0,a|=0,Ur(e|=0,f[8+(r|=0)>>2],a)?dr(r,t,i,n):(e=f[e+8>>2],yi[f[f[e>>2]+20>>2]](e,r,t,i,n,a))},function(e,r,t,i,n){if(t|=0,i|=0,n|=0,Ur(e|=0,f[8+(r|=0)>>2],n))1==f[r+28>>2]|f[r+4>>2]!=(0|t)||(f[r+28>>2]=i);else e:{if(Ur(e,f[r>>2],n)){if(!(f[r+16>>2]!=(0|t)&f[r+20>>2]!=(0|t))){if(1!=(0|i))break e;return void(f[r+32>>2]=1)}f[r+32>>2]=i;r:if(4!=f[r+44>>2]){if(o[r+52>>1]=0,e=f[e+8>>2],yi[f[f[e>>2]+20>>2]](e,r,t,t,1,n),A[r+53|0]){if(f[r+44>>2]=3,!A[r+52|0])break r;break e}f[r+44>>2]=4}if(f[r+20>>2]=t,f[r+40>>2]=f[r+40>>2]+1,1!=f[r+36>>2]|2!=f[r+24>>2])break e;return void(a[r+54|0]=1)}e=f[e+8>>2],yi[f[f[e>>2]+24>>2]](e,r,t,i,n)}},function(e,r,t,i){t|=0,i|=0,Ur(e|=0,f[8+(r|=0)>>2],0)?Xr(r,t,i):(e=f[e+8>>2],yi[f[f[e>>2]+28>>2]](e,r,t,i))}],hi.set=function(e,r){this[e]=r},hi.get=function(e){return this[e]},hi);function vi(){return i.byteLength/65536|0}return{g:function(){},h:yi,i:Kt,j:function(){var e;return e=_t(40),o[e+38>>1]=0,f[e>>2]=0,f[e+8>>2]=0,f[e+12>>2]=0,f[e+16>>2]=0,f[e+20>>2]=0,f[e+24>>2]=0,f[e+28>>2]=0,a[e+29|0]=0,a[e+30|0]=0,a[e+31|0]=0,a[e+32|0]=0,a[e+33|0]=0,a[e+34|0]=0,a[e+35|0]=0,a[e+36|0]=0,0|e},k:function(e,r,t){r|=0,t|=0,f[16+(e|=0)>>2]=0,f[e+20>>2]=0,f[e>>2]=r,f[e+8>>2]=t,f[e+12>>2]=0},l:Kt,m:function(){var e,r;return r=_t(40),f[r>>2]=-1,f[16+(e=r+8|0)>>2]=0,f[e+20>>2]=0,f[e+8>>2]=0,f[e>>2]=0,f[e+4>>2]=0,f[e+24>>2]=0,f[e+28>>2]=0,0|r},n:Ht,o:function(e){var r=0;(e|=0)&&((r=f[e+8>>2])&&(f[e+12>>2]=r,ee(r)),ee(e))},p:function(){return 0|$r(_t(64))},q:Kt,r:function(){var e;return $r(e=_t(96)),f[e+64>>2]=0,f[e+68>>2]=0,f[e+88>>2]=0,f[e+72>>2]=0,f[e+76>>2]=0,a[e+77|0]=0,a[e+78|0]=0,a[e+79|0]=0,a[e+80|0]=0,a[e+81|0]=0,a[e+82|0]=0,a[e+83|0]=0,a[e+84|0]=0,0|e},s:Yt,t:function(e){return f[88+(e|=0)>>2]},u:function(e){return f[56+(e|=0)>>2]},v:Ot,w:function(e){return a[24+(e|=0)|0]},x:function(e){return A[32+(e|=0)|0]},y:function(e){return f[40+(e|=0)>>2]},z:function(e){return f[48+(e|=0)>>2]},A:function(e){return f[60+(e|=0)>>2]},B:Jr,C:function(){var e;return e=_t(24),f[e+8>>2]=0,f[e+12>>2]=0,f[e+4>>2]=-1,f[e>>2]=1140,f[e+16>>2]=0,f[e+20>>2]=0,0|e},D:Dt,E:Lt,F:function(e,r){return r|=0,k(u[f[8+(e|=0)>>2]+(r<<2)>>2])},G:function(e){return k(u[20+(e|=0)>>2])},H:Wt,I:function(){var e;return e=_t(8),f[e+4>>2]=-1,f[e>>2]=1032,0|e},J:Dt,K:Lt,L:Wt,M:function(){return 0|Bt(_t(84))},N:Zt,O:Yt,P:Wt,Q:function(){var e;return Bt(e=_t(108)),f[e+84>>2]=0,f[e+88>>2]=0,f[e>>2]=10272,f[e+92>>2]=0,f[e+96>>2]=0,f[e+100>>2]=0,f[e+104>>2]=0,0|e},R:function(e){return(f[100+(e|=0)>>2]-f[e+96>>2]|0)/12|0},S:Zt,T:Yt,U:Wt,V:function(){var e,r;return e=_t(24),f[e+4>>2]=0,f[e+8>>2]=0,f[(r=e+16|0)>>2]=0,f[r+4>>2]=0,f[e>>2]=e+4,f[e+12>>2]=r,0|e},W:function(e){(e|=0)&&(nt(e+12|0,f[e+16>>2]),lt(e,f[e+4>>2]),ee(e))},X:Ht,Y:function(e){return 0|!f[(e|=0)>>2]},Z:function(e){return 0|(a[15+(e|=0)|0]<0?f[e+4>>2]:e+4|0)},_:function(e){(e|=0)&&(a[e+15|0]<0&&ee(f[e+4>>2]),ee(e))},$:Gt,aa:function(e,r){return r|=0,k(u[f[(e|=0)>>2]+(r<<2)>>2])},ba:St,ca:Rt,da:Gt,ea:function(e,r){return r|=0,a[f[(e|=0)>>2]+r|0]},fa:jt,ga:Rt,ha:Gt,ia:function(e,r){return r|=0,A[f[(e|=0)>>2]+r|0]},ja:jt,ka:Rt,la:Gt,ma:function(e,r){return r|=0,o[f[(e|=0)>>2]+(r<<1)>>1]},na:xt,oa:Rt,pa:Gt,qa:function(e,r){return r|=0,b[f[(e|=0)>>2]+(r<<1)>>1]},ra:xt,sa:Rt,ta:Gt,ua:Mt,va:St,wa:Rt,xa:Gt,ya:Mt,za:St,Aa:Rt,Ba:function(){var e;return e=_t(28),f[e>>2]=0,f[e+4>>2]=0,f[e+24>>2]=0,f[e+16>>2]=0,f[e+20>>2]=0,f[e+8>>2]=0,f[e+12>>2]=0,0|e},Ca:function(e,r,t){e|=0,r|=0;var i,n=0,o=0,s=0,c=0,b=0,l=0,u=0;if(V=i=V-16|0,(n=Dr(t|=0))>>>0<4294967280){e:{if(n>>>0>=11)e=_t(o=n+16&-16),f[i+8>>2]=-2147483648|o,f[i>>2]=e,f[i+4>>2]=n;else if(a[i+11|0]=n,e=i,!n)break e;ge(e,t,n)}a[e+n|0]=0,n=(t=A[i+11|0])<<24>>24,o=f[i>>2],e=0;e:if(r=f[r+4>>2]){for(e=t,e=(t=(0|n)<0)?f[i+4>>2]:e,l=t?o:i;;){r:{t:{i:{if(b=(u=(t=(s=(t=A[r+27|0])<<24>>24<0)?f[r+20>>2]:t)>>>0<e>>>0)?t:e){c=r+16|0;n:{if(!(c=Rr(l,s=s?f[c>>2]:c,b))){if(e>>>0>=t>>>0)break n;break r}if((0|c)<0)break r}if(!(t=Rr(s,l,b)))break i;if((0|t)<0)break t;e=1;break e}if(e>>>0<t>>>0)break r}if(!u){e=1;break e}}r=r+4|0}if(!(r=f[r>>2]))break}e=0}(0|n)<0&&ee(o),V=i+16|0}else si(),T();return 0|e},Da:function(e,r,t){e|=0,r|=0,t|=0;var i,n,o=0;if(V=i=V-16|0,f[i+12>>2]=0,(n=Dr(t))>>>0<4294967280){e:{if(n>>>0>=11)e=_t(o=n+16&-16),f[i+8>>2]=-2147483648|o,f[i>>2]=e,f[i+4>>2]=n;else if(a[i+11|0]=n,e=i,!n)break e;ge(e,t,n)}a[e+n|0]=0,(0|(e=$e(r,i)))!=(r+4|0)&&4==((r=f[e+32>>2])-(e=f[e+28>>2])|0)&&(f[i+12>>2]=A[0|e]|A[e+1|0]<<8|A[e+2|0]<<16|A[e+3|0]<<24),e=f[i+12>>2],a[i+11|0]<0&&ee(f[i>>2]),V=i+16|0}else si(),T();return 0|e},Ea:function(e,r,t,i){e|=0,r|=0,i|=0;var n=0,o=0,s=0;if(V=e=V-32|0,(n=Dr(t|=0))>>>0<4294967280){e:{if(n>>>0>=11)o=_t(s=n+16&-16),f[e+24>>2]=-2147483648|s,f[e+16>>2]=o,f[e+20>>2]=n;else if(a[e+27|0]=n,o=e+16|0,!n)break e;ge(o,t,n)}a[n+o|0]=0,f[e+8>>2]=0,f[e>>2]=0,f[e+4>>2]=0,(0|(t=$e(r,e+16|0)))!=(r+4|0)&&(0|(r=f[t+28>>2]))!=(0|(o=f[t+32>>2]))&&(3&(r=o-r|0)||((n=r>>>2|0)>>>0>(s=(o=f[e+4>>2])-(r=f[e>>2])>>2)>>>0?(sr(e,n-s|0),r=f[e>>2],o=f[e+4>>2]):n>>>0>=s>>>0||(o=(n<<2)+r|0,f[e+4>>2]=o),(0|r)==(0|o)?(li(),T()):ge(n=r,r=f[t+28>>2],f[t+32>>2]-r|0))),(r=f[i>>2])&&(f[i+4>>2]=r,ee(r)),f[i>>2]=f[e>>2],f[i+4>>2]=f[e+4>>2],f[i+8>>2]=f[e+8>>2],a[e+27|0]<0&&ee(f[e+16>>2]),V=e+32|0}else si(),T()},Fa:function(e,r,t){e|=0,r|=0,t|=0;var i,n=0,o=0,s=0;if(V=e=V-32|0,f[e+24>>2]=0,f[e+28>>2]=0,(i=Dr(t))>>>0<4294967280){e:{if(i>>>0>=11)n=_t(o=i+16&-16),f[e+16>>2]=-2147483648|o,f[e+8>>2]=n,f[e+12>>2]=i;else if(a[e+19|0]=i,n=e+8|0,!i)break e;ge(n,t,i)}a[i+n|0]=0,(0|(t=r+4|0))!=(0|(r=$e(r,e+8|0)))&&8==((t=f[r+32>>2])-(r=f[r+28>>2])|0)&&(t=A[r+4|0]|A[r+5|0]<<8|A[r+6|0]<<16|A[r+7|0]<<24,f[e+24>>2]=A[0|r]|A[r+1|0]<<8|A[r+2|0]<<16|A[r+3|0]<<24,f[e+28>>2]=t),s=_[e+24>>3],a[e+19|0]<0&&ee(f[e+8>>2]),V=e+32|0}else si(),T();return+s},Ga:function(e,r,t){e|=0,r|=0;var i,n,o=0,s=0;if(V=i=V-16|0,(n=Dr(t|=0))>>>0<4294967280){e:{if(n>>>0>=11)o=_t(s=n+16&-16),f[i+8>>2]=-2147483648|s,f[i>>2]=o,f[i+4>>2]=n;else if(a[i+11|0]=n,o=i,!n)break e;ge(o,t,n)}a[n+o|0]=0,t=qr(r,i,o=e+16|0),r=a[e+27|0],e=f[e+16>>2],a[i+11|0]<0&&ee(f[i>>2]),V=i+16|0,e=t?(0|r)<0?e:o:0}else si(),T();return 0|e},Ha:function(e,r){return f[8+(r|=0)>>2]},Ia:function(e,r,t){r|=0;var i,n=0,o=0,s=0,c=0,A=0,b=0,l=0;i=t|=0;e:if(f[12+(n=e|=0)>>2]!=(0|r)){if(e=r,(0|(r=f[n+4>>2]))!=(0|(t=f[n>>2])))for(;o=r-12|0,a[r-1|0]<0&&ee(f[o>>2]),(0|t)!=(0|(r=o)););if(f[n+12>>2]=e,f[n+4>>2]=t,(0|(r=f[e>>2]))!=(0|(b=e+4|0)))for(;;){if(f[n+8>>2]==(0|t)){c=0;r:{t:{i:{if((t=1+(s=((o=f[n+4>>2])-(e=f[n>>2])|0)/12|0)|0)>>>0<357913942){if(l=(A=(f[n+8>>2]-e|0)/12|0)<<1,t=A>>>0<178956970?t>>>0>l>>>0?t:l:357913941){if(t>>>0>=357913942)break i;c=_t(p(t,12))}if(A=p(t,12),t=p(s,12)+c|0,a[r+27|0]>=0?(s=f[r+20>>2],f[t>>2]=f[r+16>>2],f[t+4>>2]=s,f[t+8>>2]=f[r+24>>2]):(Fr(t,f[r+16>>2],f[r+20>>2]),o=f[n+4>>2],e=f[n>>2]),c=c+A|0,s=t+12|0,(0|e)==(0|o))break t;for(;A=f[4+(o=o-12|0)>>2],f[(t=t-12|0)>>2]=f[o>>2],f[t+4>>2]=A,f[t+8>>2]=f[o+8>>2],f[o>>2]=0,f[o+4>>2]=0,f[o+8>>2]=0,(0|e)!=(0|o););if(f[n+8>>2]=c,e=f[n+4>>2],f[n+4>>2]=s,o=f[n>>2],f[n>>2]=t,(0|e)==(0|o))break r;for(;t=e-12|0,a[e-1|0]<0&&ee(f[t>>2]),e=t,(0|t)!=(0|o););break r}oi(),T()}Hr(1326),T()}f[n+8>>2]=c,f[n+4>>2]=s,f[n>>2]=t}o&&ee(o)}else a[r+27|0]>=0?(e=f[r+20>>2],f[t>>2]=f[r+16>>2],f[t+4>>2]=e,f[t+8>>2]=f[r+24>>2]):Fr(t,f[r+16>>2],f[r+20>>2]),f[n+4>>2]=t+12;r:if(t=f[r+4>>2])for(;e=t,t=f[t>>2];);else{if(e=f[r+8>>2],f[e>>2]==(0|r))break r;for(r=r+8|0;r=(t=f[r>>2])+8|0,e=f[t+8>>2],(0|t)!=f[e>>2];);}if((0|e)==(0|b))break e;t=f[n+4>>2],r=e}}return t=0,(0|i)<0||(e=f[n>>2],(f[n+4>>2]-e|0)/12>>>0<=i>>>0||(e=e+p(i,12)|0,t=a[e+11|0]<0?f[e>>2]:e)),0|t},Ja:function(e){var r=0,t=0,i=0;if(e|=0){if(a[e+27|0]<0&&ee(f[e+16>>2]),r=f[e>>2]){if((0|(t=f[e+4>>2]))==(0|r))i=r;else{for(;i=t-12|0,a[t-1|0]<0&&ee(f[i>>2]),(0|(t=i))!=(0|r););i=f[e>>2]}f[e+4>>2]=r,ee(i)}ee(e)}},Ka:function(){var e,r;return e=_t(40),f[e+4>>2]=0,f[e+8>>2]=0,f[e>>2]=e+4,f[(r=e+16|0)>>2]=0,f[r+4>>2]=0,f[e+24>>2]=0,f[e+28>>2]=0,f[e+12>>2]=r,f[e+32>>2]=0,f[e+36>>2]=0,0|e},La:function(e,r,t,i){e|=0,r|=0,t|=0,i|=0;var n,s=0;V=i=V+-64|0,o[i+46>>1]=0,f[i+8>>2]=0,f[i+16>>2]=0,f[i+20>>2]=0,f[i+24>>2]=0,f[i+28>>2]=0,f[i+32>>2]=0,f[i+36>>2]=0,a[i+37|0]=0,a[i+38|0]=0,a[i+39|0]=0,a[i+40|0]=0,a[i+41|0]=0,a[i+42|0]=0,a[i+43|0]=0,a[i+44|0]=0,f[i+24>>2]=0,f[i+28>>2]=0,f[i+8>>2]=r,f[i+16>>2]=t,f[i+20>>2]=0,xe(r=i+48|0),f[e+24>>2]=f[i+48>>2];e:if((0|r)!=(0|(n=e+24|0)))if(r=i+48|4,t=(s=A[i+63|0])<<24>>24,a[11+(e=e+28|0)|0]>=0){if((0|t)>=0){t=f[r+4>>2],f[e>>2]=f[r>>2],f[e+4>>2]=t,f[e+8>>2]=f[r+8>>2];break e}it(e,f[i+52>>2],f[i+56>>2])}else Lr(e,(e=(0|t)<0)?f[i+52>>2]:r,e?f[i+56>>2]:s);return a[i+63|0]<0&&ee(f[i+52>>2]),V=i- -64|0,0|n},Ma:function(e,r,t,i){e|=0,r|=0,t|=0,i|=0;var n,s=0,c=0;V=n=V+-64|0,o[38+(s=n+8|0)>>1]=0,f[s>>2]=0,f[s+8>>2]=0,f[s+12>>2]=0,f[s+16>>2]=0,f[s+20>>2]=0,f[s+24>>2]=0,f[s+28>>2]=0,a[s+29|0]=0,a[s+30|0]=0,a[s+31|0]=0,a[s+32|0]=0,a[s+33|0]=0,a[s+34|0]=0,a[s+35|0]=0,a[s+36|0]=0,f[s+16>>2]=0,f[s+20>>2]=0,f[s>>2]=r,f[s+8>>2]=t,f[s+12>>2]=0,I(r=n+48|0,e,s,i),f[e+24>>2]=f[n+48>>2];e:if((0|(t=e+24|0))!=(0|r))if(s=n+48|4,i=(r=A[n+63|0])<<24>>24,a[11+(c=e+28|0)|0]>=0){if((0|i)>=0){e=f[s+4>>2],f[c>>2]=f[s>>2],f[c+4>>2]=e,f[c+8>>2]=f[s+8>>2];break e}it(c,f[n+52>>2],f[n+56>>2])}else Lr(c,(e=(0|i)<0)?f[n+52>>2]:s,e?f[n+56>>2]:r);return a[n+63|0]<0&&ee(f[n+52>>2]),V=n- -64|0,0|t},Na:function(e,r,t){return 0|At(r|=0,t|=0)},Oa:function(e,r,t){e|=0,r|=0;var i=0,n=0,o=0;if(V=e=V-32|0,(i=Dr(t|=0))>>>0<4294967280){e:{if(i>>>0>=11)n=_t(o=i+16&-16),f[e+24>>2]=-2147483648|o,f[e+16>>2]=n,f[e+20>>2]=i;else if(a[e+27|0]=i,n=e+16|0,!i)break e;ge(n,t,i)}a[i+n|0]=0,a[e+4|0]=0,f[e>>2]=1701667182,a[e+11|0]=4,t=-1,(i=f[r+4>>2])&&(t=-1,(i=je(i,e,e+16|0))&&(t=Kr(r,f[i+24>>2]))),r=t,a[e+11|0]<0&&ee(f[e>>2]),a[e+27|0]<0&&ee(f[e+16>>2]),V=e+32|0}else si(),T();return 0|r},Pa:function(e,r,t,i){e|=0,r|=0,i|=0;var n,o=0,s=0;V=n=V-32|0;e:{r:{if((o=Dr(t|=0))>>>0<4294967280){t:{if(o>>>0>=11)e=_t(s=o+16&-16),f[n+24>>2]=-2147483648|s,f[n+16>>2]=e,f[n+20>>2]=o;else if(a[n+27|0]=o,e=n+16|0,!o)break t;ge(e,t,o)}if(a[e+o|0]=0,(t=Dr(i))>>>0>=4294967280)break r;t:{if(t>>>0>=11)e=_t(o=t+16&-16),f[n+8>>2]=-2147483648|o,f[n>>2]=e,f[n+4>>2]=t;else if(a[n+11|0]=t,e=n,!t)break t;ge(e,i,t)}a[e+t|0]=0,e=-1,(t=f[r+4>>2])&&(e=-1,(t=je(t,n+16|0,n))&&(e=Kr(r,f[t+24>>2]))),a[n+11|0]<0&&ee(f[n>>2]),a[n+27|0]<0&&ee(f[n+16>>2]),V=n+32|0;break e}si(),T()}si(),T()}return 0|e},Qa:function(e,r,t){return t|=0,f[f[8+(r|=0)>>2]+(t<<2)>>2]},Ra:function(e,r,t){e|=0,t|=0;var i=0,n=0;i=(e=f[12+(r|=0)>>2])-(r=f[r+8>>2])|0,e=0;e:if(i){i=(e=i>>2)>>>0>1?e:1,e=0;r:{for(;;){if(n=f[r+(e<<2)>>2],f[n+60>>2]==(0|t))break r;if((0|i)==(0|(e=e+1|0)))break}e=0;break e}e=-1==(0|e)?0:n}return 0|e},Sa:function(e,r){return f[4+(r|=0)>>2]},Ta:function(e,r,t){e|=0,t|=0;var i,n=0;if((i=f[4+(r|=0)>>2])&&!((0|(r=f[f[f[r+8>>2]+(t<<2)>>2]+60>>2]))<0)&&(0|(e=f[i+24>>2]))!=(0|(t=f[i+28>>2])))e:{for(;;){if(n=f[e>>2],(0|r)==f[n+24>>2])break e;if((0|t)==(0|(e=e+4|0)))break}n=0}return 0|n},Ua:function(e,r,t,i){var n,a;return e|=0,t|=0,i|=0,V=e=V-16|0,r=f[96+(r|=0)>>2],f[e+8>>2]=0,f[e>>2]=0,f[e+4>>2]=0,a=(t=ge(n=_t(12),r+p(t,12)|0,12))+12|0,(r=f[i>>2])&&(f[i+4>>2]=r,ee(r)),f[i+8>>2]=t+12,f[i+4>>2]=a,f[i>>2]=n,V=e+16|0,1},Va:function(e,r,t){e|=0,r|=0;var i,n,o,s,c,b,l=0,u=0,_=0,k=0,d=0,m=0,h=0,y=0,v=0,g=0,w=0,C=0,E=0,N=0,G=0,R=0,D=0,M=0,U=0,I=0,B=0,Z=0,W=0,F=0,x=0,S=0,j=0;b=t|=0,t=0,V=n=V-96|0,Je(i=n+16|0,0,76),f[n+92>>2]=-1,f[n+8>>2]=0,f[n>>2]=0,f[n+4>>2]=0,V=o=V-16|0,f[i+68>>2]=0,f[i+72>>2]=0,f[i>>2]=r,V=s=V-16|0,c=r,e=f[r+20>>2],(f[r+24>>2]-e|0)<=0||-1!=(0|(e=f[e>>2]))&&(t=f[f[r+8>>2]+(e<<2)>>2]);e:{r:{if(t){e=f[c+100>>2],_=f[c+96>>2],f[s+8>>2]=0,f[s>>2]=0,f[s+4>>2]=0,r=(0|(d=e-_|0))/12|0;t:if(d){if(r>>>0>=357913942)break r;if(l=_t(d),f[s>>2]=l,f[s+8>>2]=l+p(r,12),e=0,d=Je(m=l,0,l=p((d-12>>>0)/12|0,12)+12|0),f[s+4>>2]=l+d,A[t+84|0]){if(l=1&(t=r>>>0>1?r:1),r>>>0>=2)for(m=-2&t;t=p(e,12),y=f[4+(r=t+_|0)>>2],v=f[r>>2],f[8+(t=t+d|0)>>2]=f[r+8>>2],f[t>>2]=v,f[t+4>>2]=y,t=p(1|e,12),y=f[8+(r=t+_|0)>>2],v=f[r+4>>2],f[(t=t+d|0)>>2]=f[r>>2],f[t+4>>2]=v,f[t+8>>2]=y,e=e+2|0,(0|m)!=(0|(u=u+2|0)););if(!l)break t;r=p(e,12),t=f[4+(e=r+_|0)>>2],u=f[e>>2],f[8+(r=r+d|0)>>2]=f[e+8>>2],f[r>>2]=u,f[r+4>>2]=t}else for(l=r>>>0>1?r:1,e=f[t+68>>2];t=p(u,12),m=f[e+(f[(r=t+_|0)>>2]<<2)>>2],y=f[e+(f[r+4>>2]<<2)>>2],f[8+(t=t+d|0)>>2]=f[e+(f[r+8>>2]<<2)>>2],f[t+4>>2]=y,f[t>>2]=m,(0|l)!=(0|(u=u+1|0)););}if(V=I=V-16|0,l=_t(88),f[l>>2]=0,f[l+4>>2]=0,f[l+56>>2]=0,f[l+48>>2]=0,f[l+52>>2]=0,f[l+40>>2]=0,f[l+44>>2]=0,f[l+32>>2]=0,f[l+36>>2]=0,f[l+24>>2]=0,f[l+28>>2]=0,f[l+16>>2]=0,f[l+20>>2]=0,f[l+8>>2]=0,f[l+12>>2]=0,f[(e=l- -64|0)>>2]=0,f[e+4>>2]=0,f[l+72>>2]=0,f[l+76>>2]=0,f[l+80>>2]=0,f[l+84>>2]=0,f[l+60>>2]=l,V=M=V-16|0,f[l+80>>2]=0,f[l+84>>2]=0,e=f[l+76>>2],f[l+76>>2]=0,e&&ee(e),f[l+68>>2]=0,f[l+72>>2]=0,e=f[(r=l- -64|0)>>2],f[r>>2]=0,e&&ee(e),u=f[s>>2],r=f[s+4>>2]-u|0,e=p(y=(0|r)/12|0,3),t=f[l>>2],e>>>0>(_=f[l+4>>2]-t>>2)>>>0?(sr(l,e-_|0),u=f[s>>2],y=(0|(r=f[s+4>>2]-u|0))/12|0,t=f[l>>2]):e>>>0>=_>>>0||(f[l+4>>2]=(e<<2)+t),r)for(d=y>>>0>1?y:1,e=0;r=(_=p(e,12))+t|0,_=_+u|0,f[r>>2]=f[_>>2],f[r+4>>2]=f[_+4>>2],f[r+8>>2]=f[_+8>>2],(0|d)!=(0|(e=e+1|0)););f[M+12>>2]=-1,V=_=V-48|0;t:{i:{n:{if(R=M+12|0){if(w=(r=(m=f[l+4>>2])-(v=f[l>>2])|0)>>2,t=f[l+12>>2],w>>>0>(e=f[l+16>>2]-t>>2)>>>0?(ve(l+12|0,w-e|0,10260),w=(r=(m=f[l+4>>2])-(v=f[l>>2])|0)>>2):e>>>0<=w>>>0||(f[l+16>>2]=t+(w<<2)),t=0,f[_+40>>2]=0,f[_+32>>2]=0,f[_+36>>2]=0,r){a:{if((0|r)>=0)for(t=_t(r),f[_+36>>2]=t,f[_+32>>2]=t,f[_+40>>2]=(w<<2)+t,e=t,r=0;;){if((d=f[(r<<2)+v>>2])>>>0<(e=e-t>>2)>>>0||(f[_+16>>2]=0,(u=d+1|0)>>>0>e>>>0?(ve(_+32|0,u-e|0,_+16|0),v=f[l>>2],m=f[l+4>>2],t=f[_+32>>2]):e>>>0<=u>>>0||(f[_+36>>2]=(u<<2)+t)),f[(e=(d<<2)+t|0)>>2]=f[e>>2]+1,(r=r+1|0)>>>0>=(w=(e=m-v|0)>>2)>>>0)break a;e=f[_+36>>2]}break n}if(f[_+24>>2]=0,f[_+16>>2]=0,f[_+20>>2]=0,e){if(w>>>0>=536870912)break i;e=_t(r=e<<1),f[_+16>>2]=e,u=e+(w<<3)|0,f[_+24>>2]=u,Je(e,255,r),f[_+20>>2]=u}}else f[_+24>>2]=0,f[_+16>>2]=0,f[_+20>>2]=0;if(m=0,f[_+8>>2]=0,f[_>>2]=0,f[_+4>>2]=0,d=(e=f[_+36>>2]-t|0)>>2,e){if((0|e)<0)break i;if(E=_t(e),f[_>>2]=E,f[_+8>>2]=(d<<2)+E,r=e,e=Je(E,0,e),f[_+4>>2]=r+e,y=3&(u=d>>>0>1?d:1),r=0,u-1>>>0>=3)for(C=-4&u;f[(u=k<<2)+e>>2]=r,D=4|u,r=f[t+u>>2]+r|0,f[D+e>>2]=r,G=8|u,r=r+f[t+D>>2]|0,f[G+e>>2]=r,u|=12,r=r+f[t+G>>2]|0,f[u+e>>2]=r,r=r+f[t+u>>2]|0,k=k+4|0,(0|C)!=(0|(h=h+4|0)););if(y)for(;f[(u=k<<2)+e>>2]=r,k=k+1|0,r=f[t+u>>2]+r|0,(0|y)!=(0|(g=g+1|0)););}if(w)for(D=f[l+12>>2];;){r=(B=m<<2)+v|0,h=-1,-1!=(0|(e=((u=m+1|0)>>>0)%3|0?u:m-2|0))&&(h=f[(e<<2)+v>>2]),e=f[r>>2];a:{o:{if(!((m>>>0)%3|0)){if(g=-1,-1!=(0|(r=m+2|0))&&(g=f[(r<<2)+v>>2]),!((0|e)==(0|h)|(0|e)==(0|g))&(0|h)!=(0|g))break o;f[l+40>>2]=f[l+40>>2]+1,u=m+3|0;break a}g=f[r-4>>2]}o:{f:if(!((0|(G=f[(r=g<<2)+t>>2]))<=0))for(y=f[_+16>>2],r=f[r+E>>2],k=0;;){if(-1==(0|(N=f[(C=y+(r<<3)|0)>>2])))break f;if((0|h)==(0|N)&&(0|(N=-1!=(0|(C=f[C+4>>2]))?f[(C<<2)+v>>2]:-1))!=(0|e)){for(;e=r,!((0|G)<=(0|(k=k+1|0))||(N=y+(e<<3)|0,W=f[(Z=y+((r=e+1|0)<<3)|0)>>2],f[N>>2]=W,f[N+4>>2]=f[Z+4>>2],-1==(0|W))););if(f[y+(e<<3)>>2]=-1,-1==(0|C))break f;f[D+B>>2]=C,f[D+(C<<2)>>2]=m;break o}if(r=r+1|0,(0|G)==(0|(k=k+1|0)))break}if(!((0|(y=f[(e=h<<2)+t>>2]))<=0))for(h=f[_+16>>2],r=f[e+E>>2],k=0;;){if(-1==f[(e=h+(r<<3)|0)>>2]){f[e>>2]=g,f[e+4>>2]=m;break o}if(r=r+1|0,(0|y)==(0|(k=k+1|0)))break}}}if(!(w>>>0>(m=u)>>>0))break}f[R>>2]=d,E&&ee(E),(e=f[_+16>>2])&&(f[_+20>>2]=e,ee(e)),(e=f[_+32>>2])&&(f[_+36>>2]=e,ee(e))}if(V=_+48|0,D=0!=(0|R)){if(V=h=V-32|0,g=f[l>>2],e=f[l+4>>2],f[h+24>>2]=0,f[h+16>>2]=0,f[h+20>>2]=0,r=e-g|0){if((0|r)<0)break i;t=_t((u=1+(k=(r>>=2)-1>>>5|0)|0)<<2),f[h+24>>2]=u,f[h+16>>2]=t,f[h+20>>2]=r,f[t+((r>>>0<33?0:k)<<2)>>2]=0,k=Je(k=t,0,t=r>>>5<<2),(r&=31)&&(f[(t=t+k|0)>>2]=f[t>>2]&(-1>>>32-r^-1))}for(f[h+8>>2]=0,f[h>>2]=0;;){if(w=0,u=0,(0|e)!=(0|g)){for(;;){t=f[h+16>>2];a:if(!(f[t+(u>>>3&536870908)>>2]>>>u&1)){for(k=f[h>>2],f[h+4>>2]=k,r=f[l+12>>2],e=u;d=e,!(-1==(0|(e=((_=e+1|0)>>>0)%3|0?_:e-2|0))||-1==(0|(e=f[r+(e<<2)>>2]))||(0|u)==(0|(e=((_=e+1|0)>>>0)%3|0?_:e-2|0))|-1==(0|e)||f[(e>>>3&536870908)+t>>2]>>>e&1););r=k,y=d;o:{f:{for(;;){if(f[(e=(y>>>3&536870908)+t|0)>>2]=f[e>>2]|1<<y,_=((e=y+1|0)>>>0)%3|0?e:y-2|0,C=(v=((G=(y>>>0)%3|0)?-1:2)+y|0)<<2,(0|r)!=(0|k))if(R=f[(_<<2)+g>>2],E=f[l+12>>2],e=r,-1==(0|v))for(;;){if((0|R)==f[e>>2]&&(m=-1,v=-1,-1!=(0|(t=f[e+4>>2]))))break f;if((0|k)==(0|(e=e+8|0)))break}else for(N=E+C|0;;){if((0|R)==f[e>>2]&&(0|(t=f[e+4>>2]))!=(0|(m=f[N>>2]))){if(k=-1,e=-1,-1==(0|t))break o;break f}if((0|k)==(0|(e=e+8|0)))break}if(v=f[g+C>>2],f[h+8>>2]==(0|k)){if((e=1+(k=(t=k-r|0)>>3)|0)>>>0>=536870912)break i;if(m=t>>2,m=k>>>0<268435455?e>>>0>m>>>0?e:m:536870911){if(m>>>0>=536870912)break n;e=_t(m<<3)}else e=0;f[(k=e+(k<<3)|0)>>2]=v,f[k+4>>2]=_,k=k+8|0,(0|t)>0&&ge(e,r,t),f[h+8>>2]=e+(m<<3),f[h+4>>2]=k,f[h>>2]=e,r&&ee(r)}else f[k>>2]=v,f[k+4>>2]=_,k=k+8|0,f[h+4>>2]=k;s:{if(G)e=y-1|0;else if(-1==(0|(e=y+2|0)))break s;if(-1!=(0|(e=f[f[l+12>>2]+(e<<2)>>2]))&&!((0|d)==(0|(y=e+((e>>>0)%3|0?-1:2)|0))|-1==(0|y))){g=f[l>>2],r=f[h>>2],t=f[h+16>>2];continue}}break}g=f[l>>2];break a}k=t,e=f[E+(t<<2)>>2]}-1!=(0|m)&&(f[E+(m<<2)>>2]=-1),-1!=(0|e)&&(f[f[l+12>>2]+(e<<2)>>2]=-1),e=f[l+12>>2],f[e+(v<<2)>>2]=-1,f[e+(k<<2)>>2]=-1,w=1}if(!((u=u+1|0)>>>0<(e=f[l+4>>2])-g>>2>>>0))break}if(w)continue}break}(e=f[h>>2])&&ee(e),(e=f[h+16>>2])&&ee(e),u=0,v=0,w=0,V=d=(V=h+32|0)-32|0,e=f[M+12>>2],f[l+36>>2]=e,g=l+24|0,t=f[l+24>>2];a:{if((r=f[l+28>>2]-t>>2)>>>0<e>>>0)ve(g,e-r|0,10260),f[d+24>>2]=0,f[d+16>>2]=0,f[d+20>>2]=0;else if(e>>>0<r>>>0&&(f[l+28>>2]=t+(e<<2)),f[d+24>>2]=0,f[d+16>>2]=0,f[d+20>>2]=0,!e)break a;if((0|e)<0)break i;u=_t((t=1+(r=e-1>>>5|0)|0)<<2),f[d+24>>2]=t,f[d+16>>2]=u,f[d+20>>2]=e,f[((e>>>0<33?0:r)<<2)+u>>2]=0,t=Je(u,0,r=e>>>5<<2),(k=31&e)&&(f[(r=r+t|0)>>2]=f[r>>2]&(-1>>>32-k^-1))}if(m=f[l>>2],y=f[l+4>>2],f[d+8>>2]=0,f[d>>2]=0,f[d+4>>2]=0,r=y-m|0){if((0|r)<0)break i;if(h=_t((k=1+(t=(r>>=2)-1>>>5|0)|0)<<2),f[d+8>>2]=k,f[d>>2]=h,f[d+4>>2]=r,f[((r>>>0<33?0:t)<<2)+h>>2]=0,k=Je(h,0,t=r>>>5<<2),(_=31&r)&&(f[(t=t+k|0)>>2]=f[t>>2]&(-1>>>32-_^-1)),!(r>>>0<3)){for(;;){if(C=p(v,3),r=f[(k=(C<<2)+m|0)>>2],t=-1,-1!=(0|(_=C+1|0))&&(t=f[(_<<2)+m>>2]),(0|r)!=(0|t)&&(0|(_=r))!=(0|(r=f[k+8>>2]))&&(E=0,(0|r)!=(0|t))){for(;;){if(!(f[((k=E+C|0)>>>3&536870908)+h>>2]>>>k&1)){if(y=(t=1<<(r=f[(k<<2)+m>>2]))&f[((h=r>>>5|0)<<2)+u>>2]){if((0|(t=f[l+28>>2]))==f[l+32>>2]){if((t=1+(h=(_=t-(u=f[g>>2])|0)>>2)|0)>>>0>=1073741824)break i;if(m=_>>1,m=h>>>0<536870911?t>>>0>m>>>0?t:m:1073741823){if(m>>>0>=1073741824)break n;t=_t(m<<2)}else t=0;f[(h=t+(h<<2)|0)>>2]=-1,(0|_)>0&&ge(t,u,_),f[l+32>>2]=t+(m<<2),f[l+28>>2]=h+4,f[l+24>>2]=t,u&&ee(u)}else f[t>>2]=-1,f[l+28>>2]=t+4;if((0|(t=f[l+52>>2]))==f[l+56>>2]){if((t=1+(h=(_=t-(u=f[l+48>>2])|0)>>2)|0)>>>0>=1073741824)break i;if(m=_>>1,m=h>>>0<536870911?t>>>0>m>>>0?t:m:1073741823){if(m>>>0>=1073741824)break n;t=_t(m<<2)}else t=0;f[(h=t+(h<<2)|0)>>2]=r,(0|_)>0&&ge(t,u,_),f[l+56>>2]=t+(m<<2),f[l+52>>2]=h+4,f[l+48>>2]=t,u&&ee(u)}else f[t>>2]=r,f[l+52>>2]=t+4;if((0|(t=f[d+20>>2]))==(r=f[d+24>>2])<<5){if((t+1|0)<0)break i;or(u=d+16|0,r=t>>>0<=1073741822?(r<<=6)>>>0<(t=t+32&-32)>>>0?t:r:2147483647),t=f[d+20>>2]}f[d+20>>2]=t+1,r=f[d+16>>2]+(t>>>3&536870908)|0,u=f[r>>2],S=r,j=Vt(t)&u,f[S>>2]=j,t=1<<e,h=e>>>5|0,r=e,e=e+1|0}_=e,u=f[d+16>>2],f[(e=u+(h<<2)|0)>>2]=f[e>>2]|t,G=f[l+24>>2]+(r<<2)|0,R=f[l+12>>2],m=f[l>>2],h=f[d>>2],e=k;a:{o:{f:{s:{c:{A:{for(;;){if(-1==(0|e))break A;if(f[(t=(e>>>3&536870908)+h|0)>>2]=f[t>>2]|1<<e,f[G>>2]=e,y&&(f[(e<<2)+m>>2]=r),t=-1,-1!=(0|(e=((N=e+1|0)>>>0)%3|0?N:e-2|0))&&(t=-1,-1!=(0|(e=f[R+(e<<2)>>2]))&&(t=((t=e+1|0)>>>0)%3|0?t:e-2|0)),(0|k)==(0|(e=t)))break}if(-1!=(0|k))break a;e=1;break c}if((k>>>0)%3|0)e=k-1|0;else if(-1==(0|(e=k+2|0)))break s}if(-1!=(0|(e=f[R+(e<<2)>>2]))){if(!((e>>>0)%3|0))break f;e=e-1|0,m=f[l>>2],h=f[d>>2];break o}}m=f[l>>2],h=f[d>>2];break a}if(m=f[l>>2],h=f[d>>2],-1==(0|(e=e+2|0)))break a}for(t=f[l+12>>2];;){if(f[(k=(e>>>3&536870908)+h|0)>>2]=f[k>>2]|1<<e,y&&(f[(e<<2)+m>>2]=r),(e>>>0)%3|0)e=e-1|0;else if(-1==(0|(e=e+2|0)))break a;if(-1==(0|(e=f[t+(e<<2)>>2])))break a;if(-1==(0|(e=e+((e>>>0)%3|0?-1:2)|0)))break}}e=_}if(3==(0|(E=E+1|0)))break}m=f[l>>2],y=f[l+4>>2]}if(!((v=v+1|0)>>>0<(y-m>>2>>>0)/3>>>0))break}u=f[d+16>>2]}}if(f[l+44>>2]=0,e=f[d+20>>2])for(r=31&e,k=(e>>>3&536870908)+u|0,e=0,t=u;f[t>>2]>>>e&1||(w=w+1|0,f[l+44>>2]=w),(0|k)!=(0|(t=((_=31==(0|e))<<2)+t|0))|(0|(e=_?0:e+1|0))!=(0|r););(e=f[d>>2])&&(ee(e),u=f[d+16>>2]),u&&ee(u),V=d+32|0}V=M+16|0,D||(f[I+8>>2]=0,Br(l),l=0),V=I+16|0,e=l;break t}Hr(1326),T()}oi(),T()}(r=f[s>>2])&&(f[s+4>>2]=r,ee(r))}else e=0;V=s+16|0;break e}oi(),T()}if(r=f[i+4>>2],f[i+4>>2]=e,r&&(Br(r),e=f[i+4>>2]),e)if(e=f[c+100>>2],r=f[c+96>>2],a[o+12|0]=0,ze(i+56|0,(e-r|0)/12|0,o+12|0),(0|(e=f[c+100>>2]))!=(0|(r=f[c+96>>2])))for(;;){if(!(f[f[i+56>>2]+(U>>>3&536870908)>>2]>>>U&1)){if(ne(i,0,e=p(U,3)),r=f[i+8>>2],t=f[i+12>>2],ne(i,1,e+1|0),k=f[i+20>>2],u=f[i+24>>2],ne(i,2,e+2|0),e=(k=u-k>>2)>>>0>(t=(r=t-r|0)>>2)>>>0,t=f[i+36>>2]-f[i+32>>2]>>2>>>0>(e?k:t)>>>0?2:e?1:r?0:-1,f[i+68>>2]<=0||(f[o+12>>2]=f[i+76>>2],f[o+8>>2]=n,Ar(o+8|0,o+12|0),(0|(e=f[44+((t<<2)+i|0)>>2]))<0?e=-1:(r=(e>>>0)/3|0,e=f[(f[f[i>>2]+96>>2]+p(r,12)|0)+(e-p(r,3)<<2)>>2]),f[o+12>>2]=e,f[o+8>>2]=n,Ar(o+8|0,o+12|0),r=f[i+72>>2],f[i+72>>2]=r+2,1&r&&(f[o+12>>2]=e,f[o+8>>2]=n,Ar(o+8|0,o+12|0),f[i+72>>2]=f[i+72>>2]+1)),V=r=V-16|0,f[i+68>>2]=f[i+68>>2]+1,e=p(t,12)+i|0,!((0|(k=f[e+12>>2]-f[e+8>>2]|0))<=0)){e=-1,u=((t=f[44+((t<<2)+i|0)>>2])>>>0)/3|0,_=(d=-1==(0|t))?-1:u,l=f[i+56>>2]+(_>>>3&536870908)|0,f[l>>2]=f[l>>2]|1<<_,f[i+72>>2]=f[i+72>>2]+1,f[r+12>>2]=(0|t)>=0?f[(f[f[i>>2]+96>>2]+p(u,12)|0)+((t>>>0)%3<<2)>>2]:-1,f[r+8>>2]=n,Ar(r+8|0,r+12|0);e:if(d)f[r+12>>2]=-1,f[r+8>>2]=n,Ar(r+8|0,r+12|0);else{if((0|(_=((_=t+1|0)>>>0)%3|0?_:t-2|0))>=0?(d=(_>>>0)/3|0,l=f[(f[f[i>>2]+96>>2]+p(d,12)|0)+(_-p(d,3)<<2)>>2]):l=-1,f[r+12>>2]=l,f[r+8>>2]=n,Ar(r+8|0,r+12|0),(0|(u=t+(t-p(u,3)|0?-1:2)|0))<0)break e;e=(u>>>0)/3|0,e=f[(f[f[i>>2]+96>>2]+p(e,12)|0)+(u-p(e,3)<<2)>>2]}if(f[i+76>>2]=e,f[r+12>>2]=e,f[r+8>>2]=n,e=-1,Ar(r+8|0,r+12|0),e=-1!=(0|t)?f[f[f[i+4>>2]+12>>2]+(t<<2)>>2]:e,!(k>>>0<=7))for(d=(t=k>>>2|0)>>>0>1?t:1,t=1;;){k=e,_=(e>>>0)/3|0,e=-1==(0|e)?-1:_,u=f[i+56>>2]+(e>>>3&536870908)|0,f[u>>2]=f[u>>2]|1<<e,f[i+72>>2]=f[i+72>>2]+1,e=-1,e=(0|k)>=0?f[(f[f[i>>2]+96>>2]+p(_,12)|0)+((k>>>0)%3<<2)>>2]:e,f[i+76>>2]=e,f[r+12>>2]=e,f[r+8>>2]=n,Ar(r+8|0,r+12|0);e:{r:{if(1&t){if(u=-1,-1==(0|k))break e;if((0|k)!=(0|p(_,3))){e=k-1|0;break r}e=k+2|0}else{if(u=-1,-1==(0|k))break e;e=((e=k+1|0)>>>0)%3|0?e:k-2|0}if(u=-1,-1==(0|e))break e}u=f[f[f[i+4>>2]+12>>2]+(e<<2)>>2]}if(e=u,(0|d)==(0|(t=t+1|0)))break}}V=r+16|0,r=f[c+96>>2],e=f[c+100>>2]}if(F=1,!((U=U+1|0)>>>0<(e-r|0)/12>>>0))break}else F=1;return V=o+16|0,F?((e=f[b>>2])&&(f[b+4>>2]=e,ee(e)),f[b>>2]=f[n>>2],f[b+4>>2]=f[n+4>>2],f[b+8>>2]=f[n+8>>2],x=f[n+84>>2]):(e=f[n>>2])&&(f[n+4>>2]=e,ee(e)),(e=f[n+72>>2])&&ee(e),(e=f[n+48>>2])&&(f[n+52>>2]=e,ee(e)),(e=f[n+36>>2])&&(f[n+40>>2]=e,ee(e)),(e=f[n+24>>2])&&(f[n+28>>2]=e,ee(e)),e=f[n+20>>2],f[n+20>>2]=0,e&&Br(e),V=n+96|0,0|x},Wa:function(e,r,t,i){e|=0,t|=0,i|=0;var n=0,a=0,s=0;if(!(l[80+(r|=0)>>2]>65535||(a=f[r+96>>2],r=f[r+100>>2]-a|0,s=(0|(n=p(e=(0|r)/12|0,6)))==(0|t),!r|(0|t)!=(0|n))))for(s=1,n=e>>>0>1?e:1,e=0;r=p(e,6)+i|0,t=p(e,12)+a|0,o[r>>1]=f[t>>2],o[r+2>>1]=f[t+4>>2],o[r+4>>1]=f[t+8>>2],(0|n)!=(0|(e=e+1|0)););return 0|s},Xa:function(e,r,t,i){e|=0,t|=0,i|=0;var n,a=0,o=0,s=0;if(n=f[96+(r|=0)>>2],!((0|(r=f[r+100>>2]-n|0))!=(0|t)|!r))for(s=(e=(0|t)/12|0)>>>0>1?e:1,e=0;o=(a=p(e,12))+i|0,a=a+n|0,f[o>>2]=f[a>>2],f[o+4>>2]=f[a+4>>2],f[o+8>>2]=f[a+8>>2],(0|s)!=(0|(e=e+1|0)););return(0|r)==(0|t)|0},Ya:function(e,r,t,i){e|=0,t|=0,i|=0;var n=0,o=0,s=0;V=e=V-32|0,n=a[24+(r|=0)|0],o=f[2563],f[e+24>>2]=f[2562],f[e+28>>2]=o,o=f[2561],f[e+16>>2]=f[2560],f[e+20>>2]=o;e:{r:{if(t=Z(r,t,n,e+16|0)){if(f[e+8>>2]=0,f[e>>2]=0,f[e+4>>2]=0,r=0,n){if((0|n)<0)break r;s=ge(r=_t(n<<=2),e+16|0,n)+n|0}(n=f[i>>2])&&(f[i+4>>2]=n,ee(n)),f[i+8>>2]=s,f[i+4>>2]=s,f[i>>2]=r}V=e+32|0;break e}oi(),T()}return 0|t},Za:function(e,r,t,i){e|=0,t|=0,i|=0;var n,o,s=0,c=0,b=0,l=0,_=0,k=0,d=0,m=0,h=0,y=0,v=0;e=0,V=n=V-16|0,o=f[80+(r|=0)>>2],s=a[t+24|0],f[n+8>>2]=0,f[n>>2]=0,f[n+4>>2]=0;e:{r:{if(s){if((0|s)<0)break r;if(e=_t(r=s<<2),f[n>>2]=e,b=e+r|0,f[n+8>>2]=b,k=1+((l=r-4|0)>>>2|0)&7)for(r=e;f[r>>2]=-1073741824,r=r+4|0,(0|k)!=(0|(c=c+1|0)););else r=e;if(l>>>0>=28)for(;f[r+24>>2]=-1073741824,f[r+28>>2]=-1073741824,f[r+16>>2]=-1073741824,f[r+20>>2]=-1073741824,f[r+8>>2]=-1073741824,f[r+12>>2]=-1073741824,f[r>>2]=-1073741824,f[r+4>>2]=-1073741824,(0|b)!=(0|(r=r+32|0)););f[n+4>>2]=b}r=p(s,o),b=f[i>>2],r>>>0>(c=f[i+4>>2]-b>>2)>>>0?sr(i,r-c|0):r>>>0>=c>>>0||(f[i+4>>2]=b+(r<<2));t:if(o)if(_=1,(0|s)<=0)for(r=0;;){if(!Z(t,A[t+84|0]?r:f[f[t+68>>2]+(r<<2)>>2],a[t+24|0],e))break t;if(_=o>>>0>(r=r+1|0)>>>0,(0|r)==(0|o))break}else{for(y=-4&s,k=3&s,c=0,v=s-1>>>0<3;;){if(Z(t,A[t+84|0]?d:f[f[t+68>>2]+(d<<2)>>2],a[t+24|0],e)){if(h=f[i>>2],m=0,s=f[n>>2],r=0,_=0,!v)for(;l=r<<2,u[(b=h+(c<<2)|0)>>2]=u[l+s>>2],u[b+4>>2]=u[(4|l)+s>>2],u[b+8>>2]=u[(8|l)+s>>2],u[b+12>>2]=u[(12|l)+s>>2],r=r+4|0,c=c+4|0,(0|y)!=(0|(_=_+4|0)););if(k)for(;u[h+(c<<2)>>2]=u[(r<<2)+s>>2],r=r+1|0,c=c+1|0,(0|k)!=(0|(m=m+1|0)););if(_=(d=d+1|0)>>>0<o>>>0,(0|o)!=(0|d))continue}break}e=f[n>>2]}e&&ee(e),V=n+16|0,e=1&(-1^_);break e}oi(),T()}return 0|e},_a:ke,$a:function(e,r,t,i){e|=0,t|=0,i|=0;var n,o,s,c=0,b=0,l=0,u=0,_=0,k=0,d=0;V=n=V-16|0,o=f[80+(r|=0)>>2],s=A[t+24|0],c=p(o,r=s<<24>>24);e:{r:{t:{if(!(1==(0|(e=f[t+28>>2]))|2==(0|e))|!A[t+84|0]){if(f[n+8>>2]=0,f[n>>2]=0,f[n+4>>2]=0,r){if((0|r)<0)break t;b=_t(r),f[n>>2]=b,e=r+b|0,f[n+8>>2]=e,Je(b,0,r),f[n+4>>2]=e}i:if((_=(e=f[i+4>>2])-(u=f[i>>2])|0)>>>0<c>>>0){if((k=c-_|0)>>>0<=(d=f[i+8>>2])-e>>>0){k&&(e=Je(e,0,k)+k|0),f[i+4>>2]=e;break i}if((0|c)<0)break r;if(d=(e=d-u|0)<<1,(e=e>>>0<1073741823?c>>>0>d>>>0?c:d:2147483647)&&(l=_t(e)),Je(l+_|0,0,k),(0|_)>0&&ge(l,u,_),f[i+8>>2]=e+l,f[i+4>>2]=c+l,f[i>>2]=l,!u)break i;ee(u)}else c>>>0>=_>>>0||(f[i+4>>2]=c+u);i:if(o)if(r){for(u=-2&(e=r-1|0),_=1&e,e=0,r=1,l=0;;){if(c=f[n>>2],x(t,A[t+84|0]?l:f[f[t+68>>2]+(l<<2)>>2],a[t+24|0],c)){a[f[i>>2]+e|0]=A[0|c],r=1,e=e+1|0,b=0;n:{switch(s-1|0){default:for(;a[f[i>>2]+e|0]=A[f[n>>2]+r|0],a[1+(f[i>>2]+e|0)|0]=A[1+(f[n>>2]+r|0)|0],r=r+2|0,e=e+2|0,(0|u)!=(0|(b=b+2|0)););break;case 0:break n;case 1:}_&&(a[f[i>>2]+e|0]=A[f[n>>2]+r|0],e=e+1|0)}if(r=o>>>0>(l=l+1|0)>>>0,(0|l)!=(0|o))continue}break}b=f[n>>2]}else for(e=0,r=1;;){if(!x(t,A[t+84|0]?e:f[f[t+68>>2]+(e<<2)>>2],a[t+24|0],b))break i;if(r=o>>>0>(e=e+1|0)>>>0,(0|e)==(0|o))break}else r=0;b&&ee(b),e=!r}else{if(e=f[t+48>>2],t=f[f[t>>2]>>2],r=0,f[n+8>>2]=0,f[n>>2]=0,f[n+4>>2]=0,c){if((0|c)<0)break t;r=ge(b=_t(c),e+t|0,c)+c|0}(e=f[i>>2])&&(f[i+4>>2]=e,ee(e)),f[i+8>>2]=r,f[i+4>>2]=r,f[i>>2]=b,e=1}V=n+16|0,e&=1;break e}oi(),T()}oi(),T()}return 0|e},ab:function(e,r,t,i){e|=0,t|=0,i|=0;var n,o,s,c=0,b=0,l=0,u=0,_=0,k=0,d=0;V=n=V-16|0,o=f[80+(r|=0)>>2],s=A[t+24|0],c=p(o,r=s<<24>>24);e:{r:{t:{if(!(1==(0|(e=f[t+28>>2]))|2==(0|e))|!A[t+84|0]){if(f[n+8>>2]=0,f[n>>2]=0,f[n+4>>2]=0,r){if((0|r)<0)break t;b=_t(r),f[n>>2]=b,e=r+b|0,f[n+8>>2]=e,Je(b,0,r),f[n+4>>2]=e}i:if((_=(e=f[i+4>>2])-(u=f[i>>2])|0)>>>0<c>>>0){if((k=c-_|0)>>>0<=(d=f[i+8>>2])-e>>>0){k&&(e=Je(e,0,k)+k|0),f[i+4>>2]=e;break i}if((0|c)<0)break r;if(d=(e=d-u|0)<<1,(e=e>>>0<1073741823?c>>>0>d>>>0?c:d:2147483647)&&(l=_t(e)),Je(l+_|0,0,k),(0|_)>0&&ge(l,u,_),f[i+8>>2]=e+l,f[i+4>>2]=c+l,f[i>>2]=l,!u)break i;ee(u)}else c>>>0>=_>>>0||(f[i+4>>2]=c+u);i:if(o)if(r){for(u=-2&(e=r-1|0),_=1&e,e=0,r=1,l=0;;){if(c=f[n>>2],S(t,A[t+84|0]?l:f[f[t+68>>2]+(l<<2)>>2],a[t+24|0],c)){a[f[i>>2]+e|0]=A[0|c],r=1,e=e+1|0,b=0;n:{switch(s-1|0){default:for(;a[f[i>>2]+e|0]=A[f[n>>2]+r|0],a[1+(f[i>>2]+e|0)|0]=A[1+(f[n>>2]+r|0)|0],r=r+2|0,e=e+2|0,(0|u)!=(0|(b=b+2|0)););break;case 0:break n;case 1:}_&&(a[f[i>>2]+e|0]=A[f[n>>2]+r|0],e=e+1|0)}if(r=o>>>0>(l=l+1|0)>>>0,(0|l)!=(0|o))continue}break}b=f[n>>2]}else for(e=0,r=1;;){if(!S(t,A[t+84|0]?e:f[f[t+68>>2]+(e<<2)>>2],a[t+24|0],b))break i;if(r=o>>>0>(e=e+1|0)>>>0,(0|e)==(0|o))break}else r=0;b&&ee(b),e=!r}else{if(e=f[t+48>>2],t=f[f[t>>2]>>2],r=0,f[n+8>>2]=0,f[n>>2]=0,f[n+4>>2]=0,c){if((0|c)<0)break t;r=ge(b=_t(c),e+t|0,c)+c|0}(e=f[i>>2])&&(f[i+4>>2]=e,ee(e)),f[i+8>>2]=r,f[i+4>>2]=r,f[i>>2]=b,e=1}V=n+16|0,e&=1;break e}oi(),T()}oi(),T()}return 0|e},bb:function(e,r,t,i){e|=0,t|=0,i|=0;var n,s=0,c=0,l=0,u=0,_=0,k=0,d=0,m=0,h=0,y=0,v=0,g=0;V=n=V-16|0,u=f[80+(r|=0)>>2],e=a[t+24|0],s=p(u,e);e:{r:{if(!(3==(0|(r=f[t+28>>2]))|4==(0|r))|!A[t+84|0]){if(f[n+8>>2]=0,f[n>>2]=0,f[n+4>>2]=0,e){if((0|e)<0)break r;l=_t(r=e<<1),f[n>>2]=l,c=r+l|0,f[n+8>>2]=c,Je(l,0,r),f[n+4>>2]=c}c=f[i>>2],(r=f[i+4>>2]-c>>1)>>>0<s>>>0?lr(i,s-r|0):r>>>0<=s>>>0||(f[i+4>>2]=c+(s<<1));t:if(u)if(e){for(v=-4&e,h=3&e,g=e-1>>>0<3,r=1,s=0;;){if(Q(t,A[t+84|0]?s:f[f[t+68>>2]+(s<<2)>>2],a[t+24|0],l)){if(y=f[i>>2],m=0,c=f[n>>2],e=0,r=0,!g)for(;d=e<<1,o[(k=(_<<1)+y|0)>>1]=b[c+d>>1],o[k+2>>1]=b[c+(2|d)>>1],o[k+4>>1]=b[c+(4|d)>>1],o[k+6>>1]=b[c+(6|d)>>1],e=e+4|0,_=_+4|0,(0|v)!=(0|(r=r+4|0)););if(h)for(;o[(_<<1)+y>>1]=b[c+(e<<1)>>1],e=e+1|0,_=_+1|0,(0|(m=m+1|0))!=(0|h););if(r=u>>>0>(s=s+1|0)>>>0,(0|s)!=(0|u))continue}break}l=f[n>>2]}else for(e=0,r=1;;){if(!Q(t,A[t+84|0]?e:f[f[t+68>>2]+(e<<2)>>2],a[t+24|0],l))break t;if(r=u>>>0>(e=e+1|0)>>>0,(0|e)==(0|u))break}else r=0;l&&ee(l),e=1^r}else{if(l=f[t+48>>2],u=f[f[t>>2]>>2],r=0,f[n+8>>2]=0,f[n>>2]=0,f[n+4>>2]=0,t=0,e=s<<1){if((0|e)<0)break r;_=(r=ge(t=_t(e),l+u|0,e))+e|0,r=r+(e>>1<<1)|0}(e=f[i>>2])&&(f[i+4>>2]=e,ee(e)),f[i+8>>2]=r,f[i+4>>2]=_,f[i>>2]=t,e=1}V=n+16|0,e&=1;break e}oi(),T()}return 0|e},cb:function(e,r,t,i){e|=0,t|=0,i|=0;var n,s=0,c=0,l=0,u=0,_=0,k=0,d=0,m=0,h=0,y=0,v=0,g=0;V=n=V-16|0,u=f[80+(r|=0)>>2],e=a[t+24|0],s=p(u,e);e:{r:{if(!(3==(0|(r=f[t+28>>2]))|4==(0|r))|!A[t+84|0]){if(f[n+8>>2]=0,f[n>>2]=0,f[n+4>>2]=0,e){if((0|e)<0)break r;l=_t(r=e<<1),f[n>>2]=l,c=r+l|0,f[n+8>>2]=c,Je(l,0,r),f[n+4>>2]=c}c=f[i>>2],(r=f[i+4>>2]-c>>1)>>>0<s>>>0?lr(i,s-r|0):r>>>0<=s>>>0||(f[i+4>>2]=c+(s<<1));t:if(u)if(e){for(v=-4&e,h=3&e,g=e-1>>>0<3,r=1,s=0;;){if(z(t,A[t+84|0]?s:f[f[t+68>>2]+(s<<2)>>2],a[t+24|0],l)){if(y=f[i>>2],m=0,c=f[n>>2],e=0,r=0,!g)for(;d=e<<1,o[(k=(_<<1)+y|0)>>1]=b[c+d>>1],o[k+2>>1]=b[c+(2|d)>>1],o[k+4>>1]=b[c+(4|d)>>1],o[k+6>>1]=b[c+(6|d)>>1],e=e+4|0,_=_+4|0,(0|v)!=(0|(r=r+4|0)););if(h)for(;o[(_<<1)+y>>1]=b[c+(e<<1)>>1],e=e+1|0,_=_+1|0,(0|(m=m+1|0))!=(0|h););if(r=u>>>0>(s=s+1|0)>>>0,(0|s)!=(0|u))continue}break}l=f[n>>2]}else for(e=0,r=1;;){if(!z(t,A[t+84|0]?e:f[f[t+68>>2]+(e<<2)>>2],a[t+24|0],l))break t;if(r=u>>>0>(e=e+1|0)>>>0,(0|e)==(0|u))break}else r=0;l&&ee(l),e=1^r}else{if(l=f[t+48>>2],u=f[f[t>>2]>>2],r=0,f[n+8>>2]=0,f[n>>2]=0,f[n+4>>2]=0,t=0,e=s<<1){if((0|e)<0)break r;_=(r=ge(t=_t(e),l+u|0,e))+e|0,r=r+(e>>1<<1)|0}(e=f[i>>2])&&(f[i+4>>2]=e,ee(e)),f[i+8>>2]=r,f[i+4>>2]=_,f[i>>2]=t,e=1}V=n+16|0,e&=1;break e}oi(),T()}return 0|e},db:ke,eb:function(e,r,t,i){e|=0,t|=0,i|=0;var n,o=0,s=0,c=0,b=0,l=0,u=0,_=0,k=0,d=0,m=0,h=0,y=0;V=n=V-16|0,b=f[80+(r|=0)>>2],e=a[t+24|0],o=p(b,e);e:{r:{if(!(5==(0|(r=f[t+28>>2]))|6==(0|r))|!A[t+84|0]){if(f[n+8>>2]=0,f[n>>2]=0,f[n+4>>2]=0,e){if((0|e)<0)break r;c=_t(r=e<<2),f[n>>2]=c,s=r+c|0,f[n+8>>2]=s,Je(c,0,r),f[n+4>>2]=s}s=f[i>>2],(r=f[i+4>>2]-s>>2)>>>0<o>>>0?sr(i,o-r|0):r>>>0<=o>>>0||(f[i+4>>2]=s+(o<<2));t:if(b)if(e){for(h=-4&e,d=3&e,y=e-1>>>0<3,r=1,o=0;;){if(X(t,A[t+84|0]?o:f[f[t+68>>2]+(o<<2)>>2],a[t+24|0],c)){if(m=f[i>>2],k=0,s=f[n>>2],e=0,r=0,!y)for(;_=e<<2,f[(u=(l<<2)+m|0)>>2]=f[s+_>>2],f[u+4>>2]=f[s+(4|_)>>2],f[u+8>>2]=f[s+(8|_)>>2],f[u+12>>2]=f[s+(12|_)>>2],e=e+4|0,l=l+4|0,(0|h)!=(0|(r=r+4|0)););if(d)for(;f[(l<<2)+m>>2]=f[s+(e<<2)>>2],e=e+1|0,l=l+1|0,(0|(k=k+1|0))!=(0|d););if(r=b>>>0>(o=o+1|0)>>>0,(0|o)!=(0|b))continue}break}c=f[n>>2]}else for(e=0,r=1;;){if(!X(t,A[t+84|0]?e:f[f[t+68>>2]+(e<<2)>>2],a[t+24|0],c))break t;if(r=b>>>0>(e=e+1|0)>>>0,(0|e)==(0|b))break}else r=0;c&&ee(c),e=1^r}else{if(c=f[t+48>>2],b=f[f[t>>2]>>2],r=0,f[n+8>>2]=0,f[n>>2]=0,f[n+4>>2]=0,t=0,e=o<<2){if((0|e)<0)break r;l=(r=ge(t=_t(e),c+b|0,e))+e|0,r=r+(e>>2<<2)|0}(e=f[i>>2])&&(f[i+4>>2]=e,ee(e)),f[i+8>>2]=r,f[i+4>>2]=l,f[i>>2]=t,e=1}V=n+16|0,e&=1;break e}oi(),T()}return 0|e},fb:function(e,r,t,i,n,s){e|=0,r|=0,t|=0,n|=0,s|=0;var c=0,l=0,_=0,k=0,d=0,m=0,h=0,y=0,v=0,g=0,w=0,C=0,E=0,N=0,G=0,R=0,D=0;e:{r:{t:{i:{n:switch((i|=0)-1|0){case 0:e=0,V=m=V-16|0,k=f[r+80>>2],c=a[t+24|0];a:if((0|p(k,c))==(0|n))if((r=1!=f[t+28>>2])|!(e=A[t+84|0])){if(i=0,f[m+8>>2]=0,f[m>>2]=0,f[m+4>>2]=0,c){if((0|c)<0)break i;l=_t(c),f[m>>2]=l,Je(l,0,c)}o:{f:if(k){if(r){if(!c)for(r=0,i=1;;){if(!x(t,255&e?r:f[f[t+68>>2]+(r<<2)>>2],a[t+24|0],l))break f;if(i=k>>>0>(r=r+1|0)>>>0,(0|r)==(0|k))break f;e=A[t+84|0]}for(_=-4&c,d=3&c,r=0,v=c-1>>>0<3,i=1,n=0;;){if(!x(t,255&e?n:f[f[t+68>>2]+(n<<2)>>2],a[t+24|0],l))break f;if(i=0,e=0,h=0,!v)for(;a[0|(c=r+s|0)]=A[e+l|0],a[c+1|0]=A[(1|e)+l|0],a[c+2|0]=A[(2|e)+l|0],a[c+3|0]=A[(3|e)+l|0],e=e+4|0,r=r+4|0,(0|_)!=(0|(h=h+4|0)););if(d)for(;a[r+s|0]=A[e+l|0],e=e+1|0,r=r+1|0,(0|d)!=(0|(i=i+1|0)););if((0|k)==(0|(n=n+1|0)))break;i=n>>>0<k>>>0,e=A[t+84|0]}e=n>>>0>=k>>>0;break o}if(c)for(v=-4&c,d=3&c,r=0,E=c-1>>>0<3;;){if(n=f[f[t>>2]>>2],w=f[t+40>>2],n=ge(l,n+(e=f[t+48>>2]+Pr(w,f[t+44>>2],255&e?i:f[f[t+68>>2]+(i<<2)>>2],0)|0)|0,w),h=0,e=0,_=0,!E)for(;a[0|(c=r+s|0)]=A[e+n|0],a[c+1|0]=A[n+(1|e)|0],a[c+2|0]=A[n+(2|e)|0],a[c+3|0]=A[n+(3|e)|0],e=e+4|0,r=r+4|0,(0|v)!=(0|(_=_+4|0)););if(d)for(;a[r+s|0]=A[e+n|0],e=e+1|0,r=r+1|0,(0|d)!=(0|(h=h+1|0)););if(e=1,(0|k)==(0|(i=i+1|0)))break o;e=A[t+84|0]}if(h=f[t>>2],n=f[t+48>>2],E=f[t+68>>2],s=f[t+44>>2],w=t=f[t+40>>2],r=0,1!=(0|k))for(g=-2&k,C=255&e;c=1|r,d=ge(l,(y=f[h>>2])+(d=Pr(t,s,C?r:f[E+(r<<2)>>2],0)+n|0)|0,w),y=f[h>>2],C||(c=f[E+(c<<2)>>2]),ge(d,(c=Pr(t,s,c,0)+n|0)+y|0,w),r=r+2|0,(0|g)!=(0|(_=_+2|0)););if(!(1&k))break f;c=f[h>>2],255&e||(r=f[E+(r<<2)>>2]),ge(l,(e=Pr(t,s,r,0)+n|0)+c|0,w)}if(e=1^i,!l)break a}ee(l)}else ge(s,f[f[t>>2]>>2]+f[t+48>>2]|0,n),e=1;break t;case 2:e=0,V=h=V-16|0,c=(i=a[t+24|0])<<1,k=f[r+80>>2];a:if((0|p(c,k))==(0|n))if((r=3!=f[t+28>>2])|!(e=A[t+84|0])){if(f[h+8>>2]=0,f[h>>2]=0,f[h+4>>2]=0,i){if((0|i)<0)break i;l=_t(c),f[h>>2]=l,Je(l,0,c)}o:{f:if(k){if(r){if(!i)for(r=0,_=1;;){if(!Q(t,255&e?r:f[f[t+68>>2]+(r<<2)>>2],a[t+24|0],l))break f;if(_=k>>>0>(r=r+1|0)>>>0,(0|r)==(0|k))break f;e=A[t+84|0]}for(v=-4&i,m=3&i,r=0,E=i-1>>>0<3,_=1,i=0;;){if(!Q(t,255&e?i:f[f[t+68>>2]+(i<<2)>>2],a[t+24|0],l))break f;if(_=0,e=0,n=0,!E)for(;d=e<<1,o[(c=(r<<1)+s|0)>>1]=b[d+l>>1],o[c+2>>1]=b[(2|d)+l>>1],o[c+4>>1]=b[(4|d)+l>>1],o[c+6>>1]=b[(6|d)+l>>1],e=e+4|0,r=r+4|0,(0|v)!=(0|(n=n+4|0)););if(m)for(;o[(r<<1)+s>>1]=b[(e<<1)+l>>1],e=e+1|0,r=r+1|0,(0|m)!=(0|(_=_+1|0)););if((0|k)==(0|(i=i+1|0)))break;_=i>>>0<k>>>0,e=A[t+84|0]}e=i>>>0>=k>>>0;break o}if(v=f[t>>2],c=f[t+48>>2],w=f[t+68>>2],d=f[t+44>>2],C=m=f[t+40>>2],i){for(G=-4&i,N=3&i,r=0,R=255&e,D=i-1>>>0<3,i=0;;){if(_=ge(l,(t=f[v>>2])+(e=Pr(m,d,R?i:f[w+(i<<2)>>2],0)+c|0)|0,C),n=0,e=0,t=0,!D)for(;y=e<<1,o[(g=(r<<1)+s|0)>>1]=b[y+_>>1],o[g+2>>1]=b[_+(2|y)>>1],o[g+4>>1]=b[_+(4|y)>>1],o[g+6>>1]=b[_+(6|y)>>1],e=e+4|0,r=r+4|0,(0|G)!=(0|(t=t+4|0)););if(N)for(;o[(r<<1)+s>>1]=b[_+(e<<1)>>1],e=e+1|0,r=r+1|0,(0|N)!=(0|(n=n+1|0)););if(e=1,(0|k)==(0|(i=i+1|0)))break}break o}if(r=0,1!=(0|k))for(g=-2&k,s=255&e,i=0;t=1|r,n=ge(l,(y=f[v>>2])+(n=Pr(m,d,s?r:f[w+(r<<2)>>2],0)+c|0)|0,C),y=f[v>>2],s||(t=f[w+(t<<2)>>2]),ge(n,(t=Pr(m,d,t,0)+c|0)+y|0,C),r=r+2|0,(0|g)!=(0|(i=i+2|0)););if(!(1&k))break f;t=f[v>>2],255&e||(r=f[w+(r<<2)>>2]),ge(l,(e=Pr(m,d,r,0)+c|0)+t|0,C)}if(e=1^_,!l)break a}ee(l)}else ge(s,f[f[t>>2]>>2]+f[t+48>>2]|0,n),e=1;break r;case 4:e=0,V=h=V-16|0,c=(i=a[t+24|0])<<2,k=f[r+80>>2];a:if((0|p(c,k))==(0|n))if((r=5!=f[t+28>>2])|!(e=A[t+84|0])){if(f[h+8>>2]=0,f[h>>2]=0,f[h+4>>2]=0,i){if((0|i)<0)break i;l=_t(c),f[h>>2]=l,Je(l,0,c)}o:{f:if(k){if(r){if(!i)for(r=0,_=1;;){if(!P(t,255&e?r:f[f[t+68>>2]+(r<<2)>>2],a[t+24|0],l))break f;if(_=k>>>0>(r=r+1|0)>>>0,(0|r)==(0|k))break f;e=A[t+84|0]}for(v=-4&i,m=3&i,r=0,E=i-1>>>0<3,_=1,i=0;;){if(!P(t,255&e?i:f[f[t+68>>2]+(i<<2)>>2],a[t+24|0],l))break f;if(_=0,e=0,n=0,!E)for(;d=e<<2,f[(c=(r<<2)+s|0)>>2]=f[d+l>>2],f[c+4>>2]=f[(4|d)+l>>2],f[c+8>>2]=f[(8|d)+l>>2],f[c+12>>2]=f[(12|d)+l>>2],e=e+4|0,r=r+4|0,(0|v)!=(0|(n=n+4|0)););if(m)for(;f[(r<<2)+s>>2]=f[(e<<2)+l>>2],e=e+1|0,r=r+1|0,(0|m)!=(0|(_=_+1|0)););if((0|k)==(0|(i=i+1|0)))break;_=i>>>0<k>>>0,e=A[t+84|0]}e=i>>>0>=k>>>0;break o}if(v=f[t>>2],c=f[t+48>>2],w=f[t+68>>2],d=f[t+44>>2],C=m=f[t+40>>2],i){for(G=-4&i,N=3&i,r=0,R=255&e,D=i-1>>>0<3,i=0;;){if(_=ge(l,(t=f[v>>2])+(e=Pr(m,d,R?i:f[w+(i<<2)>>2],0)+c|0)|0,C),n=0,e=0,t=0,!D)for(;y=e<<2,f[(g=(r<<2)+s|0)>>2]=f[y+_>>2],f[g+4>>2]=f[_+(4|y)>>2],f[g+8>>2]=f[_+(8|y)>>2],f[g+12>>2]=f[_+(12|y)>>2],e=e+4|0,r=r+4|0,(0|G)!=(0|(t=t+4|0)););if(N)for(;f[(r<<2)+s>>2]=f[_+(e<<2)>>2],e=e+1|0,r=r+1|0,(0|N)!=(0|(n=n+1|0)););if(e=1,(0|k)==(0|(i=i+1|0)))break}break o}if(r=0,1!=(0|k))for(g=-2&k,s=255&e,i=0;t=1|r,n=ge(l,(y=f[v>>2])+(n=Pr(m,d,s?r:f[w+(r<<2)>>2],0)+c|0)|0,C),y=f[v>>2],s||(t=f[w+(t<<2)>>2]),ge(n,(t=Pr(m,d,t,0)+c|0)+y|0,C),r=r+2|0,(0|g)!=(0|(i=i+2|0)););if(!(1&k))break f;t=f[v>>2],255&e||(r=f[w+(r<<2)>>2]),ge(l,(e=Pr(m,d,r,0)+c|0)+t|0,C)}if(e=1^_,!l)break a}ee(l)}else ge(s,f[f[t>>2]>>2]+f[t+48>>2]|0,n),e=1;break r;case 1:e=0,V=m=V-16|0,k=f[r+80>>2],c=a[t+24|0];a:if((0|p(k,c))==(0|n))if((r=2!=f[t+28>>2])|!(e=A[t+84|0])){if(i=0,f[m+8>>2]=0,f[m>>2]=0,f[m+4>>2]=0,c){if((0|c)<0)break i;l=_t(c),f[m>>2]=l,Je(l,0,c)}o:{f:if(k){if(r){if(!c)for(r=0,i=1;;){if(!S(t,255&e?r:f[f[t+68>>2]+(r<<2)>>2],a[t+24|0],l))break f;if(i=k>>>0>(r=r+1|0)>>>0,(0|r)==(0|k))break f;e=A[t+84|0]}for(_=-4&c,d=3&c,r=0,v=c-1>>>0<3,i=1,n=0;;){if(!S(t,255&e?n:f[f[t+68>>2]+(n<<2)>>2],a[t+24|0],l))break f;if(i=0,e=0,h=0,!v)for(;a[0|(c=r+s|0)]=A[e+l|0],a[c+1|0]=A[(1|e)+l|0],a[c+2|0]=A[(2|e)+l|0],a[c+3|0]=A[(3|e)+l|0],e=e+4|0,r=r+4|0,(0|_)!=(0|(h=h+4|0)););if(d)for(;a[r+s|0]=A[e+l|0],e=e+1|0,r=r+1|0,(0|d)!=(0|(i=i+1|0)););if((0|k)==(0|(n=n+1|0)))break;i=n>>>0<k>>>0,e=A[t+84|0]}e=n>>>0>=k>>>0;break o}if(c)for(v=-4&c,d=3&c,r=0,E=c-1>>>0<3;;){if(n=f[f[t>>2]>>2],w=f[t+40>>2],n=ge(l,n+(e=f[t+48>>2]+Pr(w,f[t+44>>2],255&e?i:f[f[t+68>>2]+(i<<2)>>2],0)|0)|0,w),h=0,e=0,_=0,!E)for(;a[0|(c=r+s|0)]=A[e+n|0],a[c+1|0]=A[n+(1|e)|0],a[c+2|0]=A[n+(2|e)|0],a[c+3|0]=A[n+(3|e)|0],e=e+4|0,r=r+4|0,(0|v)!=(0|(_=_+4|0)););if(d)for(;a[r+s|0]=A[e+n|0],e=e+1|0,r=r+1|0,(0|d)!=(0|(h=h+1|0)););if(e=1,(0|k)==(0|(i=i+1|0)))break o;e=A[t+84|0]}if(h=f[t>>2],n=f[t+48>>2],E=f[t+68>>2],s=f[t+44>>2],w=t=f[t+40>>2],r=0,1!=(0|k))for(g=-2&k,C=255&e;c=1|r,d=ge(l,(y=f[h>>2])+(d=Pr(t,s,C?r:f[E+(r<<2)>>2],0)+n|0)|0,w),y=f[h>>2],C||(c=f[E+(c<<2)>>2]),ge(d,(c=Pr(t,s,c,0)+n|0)+y|0,w),r=r+2|0,(0|g)!=(0|(_=_+2|0)););if(!(1&k))break f;c=f[h>>2],255&e||(r=f[E+(r<<2)>>2]),ge(l,(e=Pr(t,s,r,0)+n|0)+c|0,w)}if(e=1^i,!l)break a}ee(l)}else ge(s,f[f[t>>2]>>2]+f[t+48>>2]|0,n),e=1;break t;case 3:e=0,V=h=V-16|0,c=(i=a[t+24|0])<<1,k=f[r+80>>2];a:if((0|p(c,k))==(0|n))if((r=4!=f[t+28>>2])|!(e=A[t+84|0])){if(f[h+8>>2]=0,f[h>>2]=0,f[h+4>>2]=0,i){if((0|i)<0)break i;l=_t(c),f[h>>2]=l,Je(l,0,c)}o:{f:if(k){if(r){if(!i)for(r=0,_=1;;){if(!z(t,255&e?r:f[f[t+68>>2]+(r<<2)>>2],a[t+24|0],l))break f;if(_=k>>>0>(r=r+1|0)>>>0,(0|r)==(0|k))break f;e=A[t+84|0]}for(v=-4&i,m=3&i,r=0,E=i-1>>>0<3,_=1,i=0;;){if(!z(t,255&e?i:f[f[t+68>>2]+(i<<2)>>2],a[t+24|0],l))break f;if(_=0,e=0,n=0,!E)for(;d=e<<1,o[(c=(r<<1)+s|0)>>1]=b[d+l>>1],o[c+2>>1]=b[(2|d)+l>>1],o[c+4>>1]=b[(4|d)+l>>1],o[c+6>>1]=b[(6|d)+l>>1],e=e+4|0,r=r+4|0,(0|v)!=(0|(n=n+4|0)););if(m)for(;o[(r<<1)+s>>1]=b[(e<<1)+l>>1],e=e+1|0,r=r+1|0,(0|m)!=(0|(_=_+1|0)););if((0|k)==(0|(i=i+1|0)))break;_=i>>>0<k>>>0,e=A[t+84|0]}e=i>>>0>=k>>>0;break o}if(v=f[t>>2],c=f[t+48>>2],w=f[t+68>>2],d=f[t+44>>2],C=m=f[t+40>>2],i){for(G=-4&i,N=3&i,r=0,R=255&e,D=i-1>>>0<3,i=0;;){if(_=ge(l,(t=f[v>>2])+(e=Pr(m,d,R?i:f[w+(i<<2)>>2],0)+c|0)|0,C),n=0,e=0,t=0,!D)for(;y=e<<1,o[(g=(r<<1)+s|0)>>1]=b[y+_>>1],o[g+2>>1]=b[_+(2|y)>>1],o[g+4>>1]=b[_+(4|y)>>1],o[g+6>>1]=b[_+(6|y)>>1],e=e+4|0,r=r+4|0,(0|G)!=(0|(t=t+4|0)););if(N)for(;o[(r<<1)+s>>1]=b[_+(e<<1)>>1],e=e+1|0,r=r+1|0,(0|N)!=(0|(n=n+1|0)););if(e=1,(0|k)==(0|(i=i+1|0)))break}break o}if(r=0,1!=(0|k))for(g=-2&k,s=255&e,i=0;t=1|r,n=ge(l,(y=f[v>>2])+(n=Pr(m,d,s?r:f[w+(r<<2)>>2],0)+c|0)|0,C),y=f[v>>2],s||(t=f[w+(t<<2)>>2]),ge(n,(t=Pr(m,d,t,0)+c|0)+y|0,C),r=r+2|0,(0|g)!=(0|(i=i+2|0)););if(!(1&k))break f;t=f[v>>2],255&e||(r=f[w+(r<<2)>>2]),ge(l,(e=Pr(m,d,r,0)+c|0)+t|0,C)}if(e=1^_,!l)break a}ee(l)}else ge(s,f[f[t>>2]>>2]+f[t+48>>2]|0,n),e=1;break r;case 5:e=0,V=h=V-16|0,c=(i=a[t+24|0])<<2,k=f[r+80>>2];a:if((0|p(c,k))==(0|n))if((r=6!=f[t+28>>2])|!(e=A[t+84|0])){if(f[h+8>>2]=0,f[h>>2]=0,f[h+4>>2]=0,i){if((0|i)<0)break i;l=_t(c),f[h>>2]=l,Je(l,0,c)}o:{f:if(k){if(r){if(!i)for(r=0,_=1;;){if(!X(t,255&e?r:f[f[t+68>>2]+(r<<2)>>2],a[t+24|0],l))break f;if(_=k>>>0>(r=r+1|0)>>>0,(0|r)==(0|k))break f;e=A[t+84|0]}for(v=-4&i,m=3&i,r=0,E=i-1>>>0<3,_=1,i=0;;){if(!X(t,255&e?i:f[f[t+68>>2]+(i<<2)>>2],a[t+24|0],l))break f;if(_=0,e=0,n=0,!E)for(;d=e<<2,f[(c=(r<<2)+s|0)>>2]=f[d+l>>2],f[c+4>>2]=f[(4|d)+l>>2],f[c+8>>2]=f[(8|d)+l>>2],f[c+12>>2]=f[(12|d)+l>>2],e=e+4|0,r=r+4|0,(0|v)!=(0|(n=n+4|0)););if(m)for(;f[(r<<2)+s>>2]=f[(e<<2)+l>>2],e=e+1|0,r=r+1|0,(0|m)!=(0|(_=_+1|0)););if((0|k)==(0|(i=i+1|0)))break;_=i>>>0<k>>>0,e=A[t+84|0]}e=i>>>0>=k>>>0;break o}if(v=f[t>>2],c=f[t+48>>2],w=f[t+68>>2],d=f[t+44>>2],C=m=f[t+40>>2],i){for(G=-4&i,N=3&i,r=0,R=255&e,D=i-1>>>0<3,i=0;;){if(_=ge(l,(t=f[v>>2])+(e=Pr(m,d,R?i:f[w+(i<<2)>>2],0)+c|0)|0,C),n=0,e=0,t=0,!D)for(;y=e<<2,f[(g=(r<<2)+s|0)>>2]=f[y+_>>2],f[g+4>>2]=f[_+(4|y)>>2],f[g+8>>2]=f[_+(8|y)>>2],f[g+12>>2]=f[_+(12|y)>>2],e=e+4|0,r=r+4|0,(0|G)!=(0|(t=t+4|0)););if(N)for(;f[(r<<2)+s>>2]=f[_+(e<<2)>>2],e=e+1|0,r=r+1|0,(0|N)!=(0|(n=n+1|0)););if(e=1,(0|k)==(0|(i=i+1|0)))break}break o}if(r=0,1!=(0|k))for(g=-2&k,s=255&e,i=0;t=1|r,n=ge(l,(y=f[v>>2])+(n=Pr(m,d,s?r:f[w+(r<<2)>>2],0)+c|0)|0,C),y=f[v>>2],s||(t=f[w+(t<<2)>>2]),ge(n,(t=Pr(m,d,t,0)+c|0)+y|0,C),r=r+2|0,(0|g)!=(0|(i=i+2|0)););if(!(1&k))break f;t=f[v>>2],255&e||(r=f[w+(r<<2)>>2]),ge(l,(e=Pr(m,d,r,0)+c|0)+t|0,C)}if(e=1^_,!l)break a}ee(l)}else ge(s,f[f[t>>2]>>2]+f[t+48>>2]|0,n),e=1;break r;case 8:break n;default:break e}e=0,V=v=V-16|0,i=(d=a[t+24|0])<<2,k=f[r+80>>2];n:if((0|p(i,k))==(0|n)){n=f[t+28>>2],f[v+8>>2]=0,f[v>>2]=0,f[v+4>>2]=0,r=0;a:{o:{f:{if(d){if((0|d)<0)break f;if(r=_t(i),f[v>>2]=r,c=(d<<2)+r|0,f[v+8>>2]=c,m=1+((i=i-4|0)>>>2|0)&7)for(e=r;f[e>>2]=-1073741824,e=e+4|0,(0|m)!=(0|(l=l+1|0)););else e=r;if(!(i>>>0<28))for(;f[e+24>>2]=-1073741824,f[e+28>>2]=-1073741824,f[e+16>>2]=-1073741824,f[e+20>>2]=-1073741824,f[e+8>>2]=-1073741824,f[e+12>>2]=-1073741824,f[e>>2]=-1073741824,f[e+4>>2]=-1073741824,(0|c)!=(0|(e=e+32|0)););}if(!k)break o;if(9==(0|n)){if(e=0,E=f[t>>2],i=f[t+48>>2],C=f[t+68>>2],g=A[t+84|0],n=f[t+44>>2],y=c=f[t+40>>2],(0|d)<=0){if(1!=(0|k))for(d=-2&k,t=0;s=1|e,l=ge(r,(m=f[E>>2])+(l=Pr(c,n,g?e:f[C+(e<<2)>>2],0)+i|0)|0,y),m=f[E>>2],g||(s=f[C+(s<<2)>>2]),ge(l,(s=Pr(c,n,s,0)+i|0)+m|0,y),e=e+2|0,(0|d)!=(0|(t=t+2|0)););if(!(1&k))break o;t=f[E>>2],g||(e=f[C+(e<<2)>>2]),ge(r,(e=Pr(c,n,e,0)+i|0)+t|0,y);break o}for(R=-4&d,N=3&d,l=0,D=d-1>>>0<3;;){if(t=ge(r,(t=f[E>>2])+(e=Pr(c,n,g?_:f[C+(_<<2)>>2],0)+i|0)|0,y),m=0,e=0,G=0,!D)for(;h=e<<2,u[(d=(l<<2)+s|0)>>2]=u[h+t>>2],u[d+4>>2]=u[t+(4|h)>>2],u[d+8>>2]=u[t+(8|h)>>2],u[d+12>>2]=u[t+(12|h)>>2],e=e+4|0,l=l+4|0,(0|R)!=(0|(G=G+4|0)););if(N)for(;u[(l<<2)+s>>2]=u[t+(e<<2)>>2],e=e+1|0,l=l+1|0,(0|N)!=(0|(m=m+1|0)););if(e=1,(0|k)==(0|(_=_+1|0)))break}break a}if(h=1,(0|d)<=0){for(e=0;;){if(!Z(t,A[t+84|0]?e:f[f[t+68>>2]+(e<<2)>>2],a[t+24|0],r))break o;if(h=k>>>0>(e=e+1|0)>>>0,(0|e)==(0|k))break}break o}for(E=-4&d,c=3&d,l=0,d=d-1>>>0<3;;){if(!Z(t,A[t+84|0]?_:f[f[t+68>>2]+(_<<2)>>2],a[t+24|0],r))break o;if(h=0,e=0,m=0,!d)for(;n=e<<2,u[(i=(l<<2)+s|0)>>2]=u[n+r>>2],u[i+4>>2]=u[(4|n)+r>>2],u[i+8>>2]=u[(8|n)+r>>2],u[i+12>>2]=u[(12|n)+r>>2],e=e+4|0,l=l+4|0,(0|E)!=(0|(m=m+4|0)););if(c)for(;u[(l<<2)+s>>2]=u[(e<<2)+r>>2],e=e+1|0,l=l+1|0,(0|c)!=(0|(h=h+1|0)););if(h=k>>>0>(_=_+1|0)>>>0,(0|_)==(0|k))break}e=_>>>0>=k>>>0;break a}oi(),T()}if(e=1^h,!r)break n}ee(r)}V=v+16|0,l=1&e;break e}oi(),T()}V=m+16|0,l=1&e;break e}V=h+16|0,l=1&e}return 0|l},gb:function(e,r){e|=0,r|=0;var t,i=0,n=0,o=0,s=0,c=0,b=0,u=0,_=0,p=0,k=0,d=0,m=0,h=0,y=0,v=0,g=0,w=0,C=0,E=0;V=t=V-16|0,f[t+12>>2]=r,r=_t(32),f[t>>2]=r,f[t+4>>2]=24,f[t+8>>2]=-2147483616,a[r+24|0]=0,n=A[1308]|A[1309]<<8|A[1310]<<16|A[1311]<<24,i=A[1304]|A[1305]<<8|A[1306]<<16|A[1307]<<24,a[r+16|0]=i,a[r+17|0]=i>>>8,a[r+18|0]=i>>>16,a[r+19|0]=i>>>24,a[r+20|0]=n,a[r+21|0]=n>>>8,a[r+22|0]=n>>>16,a[r+23|0]=n>>>24,n=A[1300]|A[1301]<<8|A[1302]<<16|A[1303]<<24,i=A[1296]|A[1297]<<8|A[1298]<<16|A[1299]<<24,a[r+8|0]=i,a[r+9|0]=i>>>8,a[r+10|0]=i>>>16,a[r+11|0]=i>>>24,a[r+12|0]=n,a[r+13|0]=n>>>8,a[r+14|0]=n>>>16,a[r+15|0]=n>>>24,n=A[1292]|A[1293]<<8|A[1294]<<16|A[1295]<<24,i=A[1288]|A[1289]<<8|A[1290]<<16|A[1291]<<24,a[0|r]=i,a[r+1|0]=i>>>8,a[r+2|0]=i>>>16,a[r+3|0]=i>>>24,a[r+4|0]=n,a[r+5|0]=n>>>8,a[r+6|0]=n>>>16,a[r+7|0]=n>>>24,V=b=V-48|0,p=e;e:{if(e=f[(n=e+16|0)>>2]){for(i=f[t+12>>2],r=n;r=(s=(0|i)>f[e+16>>2])?r:e,e=f[(s<<2)+e>>2];);if((0|r)!=(0|n)&&(0|i)>=f[r+16>>2])break e}if(f[4+(e=w=b+24|0)>>2]=0,f[e+8>>2]=0,C=e+4|0,f[e>>2]=C,e=f[t+12>>2],f[(i=b+16|0)>>2]=0,f[i+4>>2]=0,f[b+8>>2]=e,f[b+12>>2]=i,(0|C)!=(0|(r=f[w>>2])))for(k=b+8|4;;){s=r,c=r+16|0,V=y=V-16|0,u=y+12|0,e=y+8|0;r:{t:{i:{n:{a:{o:{f:if((0|(v=k+4|0))!=(0|i))if(o=(r=A[i+27|0])<<24>>24<0,_=(0|(E=(d=A[c+11|0])<<24>>24))<0,h=(m=(r=o?f[i+20>>2]:r)>>>0<(d=_?f[c+4>>2]:d)>>>0)?r:d){if(g=i+16|0,!(g=Rr(_=_?f[c>>2]:c,o=o?f[g>>2]:g,h))){if(r>>>0>d>>>0)break f;break o}if((0|g)>=0)break o}else if(r>>>0<=d>>>0)break a;o=f[i>>2];f:{s:if((0|(e=i))!=f[k>>2]){if(o)for(r=o;e=r,r=f[r+4>>2];);else{if(e=i+8|0,(0|i)==f[f[i+8>>2]>>2])for(;e=(r=f[e>>2])+8|0,(0|r)==f[f[r+8>>2]>>2];);e=f[e>>2]}if(r=(_=A[c+11|0])<<24>>24<0,d=(m=A[e+27|0])<<24>>24<0,!((h=(_=r?f[c+4>>2]:_)>>>0<(m=d?f[e+20>>2]:m)>>>0?_:m)&&(v=e+16|0,r=Rr(d?f[v>>2]:v,r?f[c>>2]:c,h)))){if(_>>>0>m>>>0)break s;break f}if((0|r)>=0)break f}if(!o){f[u>>2]=i,e=i;break r}f[u>>2]=e,e=e+4|0;break r}e=qe(k,u,c);break r}if(r=Rr(o,_,h))break n}if(m)break i;break t}if((0|r)>=0)break t}if(o=f[i+4>>2])for(r=o;e=r,r=f[r>>2];);else if(e=f[i+8>>2],(0|i)!=f[e>>2])for(r=i+8|0;r=(_=f[r>>2])+8|0,e=f[_+8>>2],(0|_)!=f[e>>2];);i:{n:if((0|e)!=(0|v)){if(!((m=(_=(r=(_=A[e+27|0])<<24>>24<0)?f[e+20>>2]:_)>>>0<d>>>0?_:d)&&(h=e+16|0,r=Rr((0|E)<0?f[c>>2]:c,r?f[h>>2]:h,m)))){if(_>>>0>d>>>0)break n;break i}if((0|r)>=0)break i}if(!o){f[u>>2]=i,e=i+4|0;break r}f[u>>2]=e;break r}e=qe(k,u,c);break r}f[u>>2]=i,f[e>>2]=i}(e=f[(r=e)>>2])?r=0:(o=(e=_t(40))+16|0,a[c+11|0]>=0?(u=f[c+4>>2],f[o>>2]=f[c>>2],f[o+4>>2]=u,f[o+8>>2]=f[c+8>>2]):Fr(o,f[c>>2],f[c+4>>2]),o=e+28|0,a[c+23|0]>=0?(u=f[c+16>>2],f[o>>2]=f[c+12>>2],f[o+4>>2]=u,f[o+8>>2]=f[c+20>>2]):Fr(o,f[c+12>>2],f[c+16>>2]),f[e+8>>2]=f[y+12>>2],f[e>>2]=0,f[e+4>>2]=0,f[r>>2]=e,(o=f[f[k>>2]>>2])?(f[k>>2]=o,r=f[r>>2]):r=e,Ce(f[k+4>>2],r),f[k+8>>2]=f[k+8>>2]+1,r=1),a[b+44|0]=r,f[b+40>>2]=e,V=y+16|0;r:if(e=f[s+4>>2])for(;e=f[(r=e)>>2];);else{if(r=f[s+8>>2],(0|s)==f[r>>2])break r;for(e=s+8|0;e=(s=f[e>>2])+8|0,r=f[s+8>>2],(0|s)!=f[r>>2];);}if((0|r)==(0|C))break}r:{if(e=f[n>>2])for(n=p+16|0,s=f[b+8>>2];;){t:{if((0|(r=f[e+16>>2]))>(0|s)){if(r=f[e>>2])break t;n=e;break r}if((0|r)>=(0|s))break r;if(n=e+4|0,!(r=f[e+4>>2]))break r;e=n}n=e,e=r}e=n}(r=f[n>>2])||(r=_t(32),f[r+16>>2]=f[b+8>>2],f[r+20>>2]=f[b+12>>2],s=r+24|0,o=f[b+16>>2],f[s>>2]=o,c=f[b+20>>2],f[r+28>>2]=c,c?(f[o+8>>2]=s,f[b+16>>2]=0,f[b+20>>2]=0,f[b+12>>2]=i):f[r+20>>2]=s,f[r+8>>2]=e,f[r>>2]=0,f[r+4>>2]=0,f[n>>2]=r,(e=f[f[p+12>>2]>>2])?(f[p+12>>2]=e,e=f[n>>2]):e=r,Ce(f[p+16>>2],e),f[p+20>>2]=f[p+20>>2]+1),pt(b+8|4,f[b+16>>2]),pt(w,f[w+4>>2])}if(V=i=(V=p=(V=b+48|0)-48|0)-32|0,(0|(s=(c=i+32|0)-(e=n=i+21|0)|0))<=9&(0|s)<(1-(l[2744]>1)|0)?(f[i+8>>2]=c,e=61):(a[0|e]=49,f[i+8>>2]=e+1,e=0),f[i+12>>2]=e,e=p+8|0,V=o=(V=b=V-16|0)-16|0,(s=(k=f[i+8>>2])-n|0)>>>0<=4294967279){for(s>>>0<=10?(a[e+11|0]=s,i=e):(i=s>>>0>=11?11==(0|(i=(u=s+16&-16)-1|0))?u:i:10,i=_t(u=i+1|0),f[e>>2]=i,f[e+8>>2]=-2147483648|u,f[e+4>>2]=s);(0|n)!=(0|k);)a[0|i]=A[0|n],i=i+1|0,n=n+1|0;a[o+15|0]=0,a[0|i]=A[o+15|0],V=o+16|0}else si(),T();V=b+16|0,V=c,f[p+32>>2]=t;e:{r:{if(e=f[4+(i=r+20|0)>>2])for(o=(n=(r=A[t+11|0])<<24>>24<0)?f[t>>2]:t,s=n?f[t+4>>2]:r,r=i+4|0;;){t:{i:{n:{a:{o:{f:if(k=(b=(n=(c=(n=A[e+27|0])<<24>>24<0)?f[e+20>>2]:n)>>>0<s>>>0)?n:s){if(u=e+16|0,!(u=Rr(o,c=c?f[u>>2]:u,k))){if(n>>>0>s>>>0)break f;break o}if((0|u)>=0)break o}else if(n>>>0<=s>>>0)break a;if(n=f[e>>2])break t;break r}if(n=Rr(c,o,k))break n}if(b)break i;break e}if((0|n)>=0)break e}if(r=e+4|0,!(n=f[e+4>>2]))break e;e=r}r=e,e=n}e=i+4|0}r=e}(n=f[r>>2])?e=0:(o=(n=_t(40))+16|0,s=f[p+32>>2],a[s+11|0]>=0?(c=f[s+4>>2],f[o>>2]=f[s>>2],f[o+4>>2]=c,f[o+8>>2]=f[s+8>>2]):Fr(o,f[s>>2],f[s+4>>2]),f[n+8>>2]=e,f[n>>2]=0,f[n+4>>2]=0,f[n+36>>2]=0,f[n+28>>2]=0,f[n+32>>2]=0,f[r>>2]=n,(e=f[f[i>>2]>>2])?(f[i>>2]=e,e=f[r>>2]):e=n,Ce(f[i+4>>2],e),f[i+8>>2]=f[i+8>>2]+1,e=1),a[p+44|0]=e,f[p+40>>2]=n,e=f[p+40>>2],a[e+39|0]<0&&ee(f[e+28>>2]),r=f[p+12>>2],f[e+28>>2]=f[p+8>>2],f[e+32>>2]=r,f[e+36>>2]=f[p+16>>2],V=p+48|0,a[t+11|0]<0&&ee(f[t>>2]),V=t+16|0},hb:function(e,r){e|=0;var t,i,n=0,o=0;o=8+(i=V-32|0)|0,V=t=(V=i)-80|0,e=f[36+(r|=0)>>2],f[t+72>>2]=f[r+32>>2],f[t+76>>2]=e,n=f[r+28>>2],f[(e=t- -64|0)>>2]=f[r+24>>2],f[e+4>>2]=n,e=f[r+20>>2],f[t+56>>2]=f[r+16>>2],f[t+60>>2]=e,e=f[r+12>>2],f[t+48>>2]=f[r+8>>2],f[t+52>>2]=e,e=f[r+4>>2],f[t+40>>2]=f[r>>2],f[t+44>>2]=e,L(t+8|0,t+40|0,t+24|0);e:if(e=f[t+8>>2]){if(f[o>>2]=e,e=o+4|0,a[t+23|0]>=0){o=f[4+(r=t+8|4)>>2],f[e>>2]=f[r>>2],f[e+4>>2]=o,f[e+8>>2]=f[r+8>>2];break e}if(Fr(e,f[t+12>>2],f[t+16>>2]),a[t+23|0]>=0)break e;ee(f[t+12>>2])}else a[t+23|0]<0&&ee(f[t+12>>2]),(e=A[t+31|0])>>>0>=2?(e=_t(32),r=A[1619]|A[1620]<<8,a[e+24|0]=r,a[e+25|0]=r>>>8,r=A[1615]|A[1616]<<8|A[1617]<<16|A[1618]<<24,n=A[1611]|A[1612]<<8|A[1613]<<16|A[1614]<<24,a[e+16|0]=n,a[e+17|0]=n>>>8,a[e+18|0]=n>>>16,a[e+19|0]=n>>>24,a[e+20|0]=r,a[e+21|0]=r>>>8,a[e+22|0]=r>>>16,a[e+23|0]=r>>>24,r=A[1607]|A[1608]<<8|A[1609]<<16|A[1610]<<24,n=A[1603]|A[1604]<<8|A[1605]<<16|A[1606]<<24,a[e+8|0]=n,a[e+9|0]=n>>>8,a[e+10|0]=n>>>16,a[e+11|0]=n>>>24,a[e+12|0]=r,a[e+13|0]=r>>>8,a[e+14|0]=r>>>16,a[e+15|0]=r>>>24,r=A[1599]|A[1600]<<8|A[1601]<<16|A[1602]<<24,n=A[1595]|A[1596]<<8|A[1597]<<16|A[1598]<<24,a[0|e]=n,a[e+1|0]=n>>>8,a[e+2|0]=n>>>16,a[e+3|0]=n>>>24,a[e+4|0]=r,a[e+5|0]=r>>>8,a[e+6|0]=r>>>16,a[e+7|0]=r>>>24,a[e+26|0]=0,f[t+8>>2]=-1,Fr(r=t+8|4,e,26),n=a[t+23|0],f[o>>2]=f[t+8>>2],o=o+4|0,(0|n)>=0?(n=f[r+4>>2],f[o>>2]=f[r>>2],f[o+4>>2]=n,f[o+8>>2]=f[r+8>>2]):Fr(o,f[t+12>>2],f[t+16>>2]),a[t+23|0]<0&&ee(f[t+12>>2]),ee(e)):(f[o>>2]=0,f[o+4>>2]=0,f[o+16>>2]=e,f[o+8>>2]=0,f[o+12>>2]=0);return V=t+80|0,e=f[i+24>>2],a[i+23|0]<0&&ee(f[i+12>>2]),V=i+32|0,0|e},ib:function(e,r,t){e|=0,r|=0,t|=0;var i,n=0,o=0;V=r=V-16|0,xe(r),f[e+24>>2]=f[r>>2];e:if((0|(i=e+24|0))!=(0|r))if(t=4|r,n=(o=A[r+15|0])<<24>>24,a[11+(e=e+28|0)|0]>=0){if((0|n)>=0){n=f[t+4>>2],f[e>>2]=f[t>>2],f[e+4>>2]=n,f[e+8>>2]=f[t+8>>2];break e}it(e,f[r+4>>2],f[r+8>>2])}else Lr(e,(e=(0|n)<0)?f[r+4>>2]:t,e?f[r+8>>2]:o);return a[r+15|0]<0&&ee(f[r+4>>2]),V=r+16|0,0|i},jb:function(e,r,t){var i,n,o=0;V=i=V-16|0,I(i,e|=0,r|=0,t|=0),f[e+24>>2]=f[i>>2];e:if((0|(n=e+24|0))!=(0|i))if(r=4|i,t=(o=A[i+15|0])<<24>>24,a[11+(e=e+28|0)|0]>=0){if((0|t)>=0){t=f[r+4>>2],f[e>>2]=f[r>>2],f[e+4>>2]=t,f[e+8>>2]=f[r+8>>2];break e}it(e,f[i+4>>2],f[i+8>>2])}else Lr(e,(e=(0|t)<0)?f[i+4>>2]:r,e?f[i+8>>2]:o);return a[i+15|0]<0&&ee(f[i+4>>2]),V=i+16|0,0|n},kb:function(e){(e|=0)&&(a[e+39|0]<0&&ee(f[e+28>>2]),Et(e+12|0,f[e+16>>2]),pt(e,f[e+4>>2]),ee(e))},lb:Ai,mb:ui,nb:bi,ob:ki,pb:Ai,qb:ui,rb:bi,sb:ki,tb:_i,ub:pi,vb:Ai,wb:ui,xb:bi,yb:ui,zb:bi,Ab:ki,Bb:_i,Cb:pi,Db:function(){return 5},Eb:function(){return 6},Fb:function(){return 7},Gb:function(){return 8},Hb:function(){return 9},Ib:function(){return 10},Jb:function(){return 11},Kb:function(){return 12},Lb:ui,Mb:Ai,Nb:function(){return-2},Ob:function(){return-3},Pb:function(){return-4},Qb:function(){return-5},Rb:U,Sb:ee}}(e)}(ne)},instantiate:function(e,r){return{then:function(r){var t=new w.Module(e);r({instance:new w.Instance(t)})}}},RuntimeError:Error};y=[],"object"!=typeof w&&Y("no native wasm support detected");var T=!1;function C(e,r){e||Y("Assertion failed: "+r)}var E,N,G,R,V="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function D(e,r){return e?function(e,r,t){for(var i=r+t,n=r;e[n]&&!(n>=i);)++n;if(n-r>16&&e.subarray&&V)return V.decode(e.subarray(r,n));for(var a="";r<n;){var o=e[r++];if(128&o){var f=63&e[r++];if(192!=(224&o)){var s=63&e[r++];if((o=224==(240&o)?(15&o)<<12|f<<6|s:(7&o)<<18|f<<12|s<<6|63&e[r++])<65536)a+=String.fromCharCode(o);else{var c=o-65536;a+=String.fromCharCode(55296|c>>10,56320|1023&c)}}else a+=String.fromCharCode((31&o)<<6|f)}else a+=String.fromCharCode(o)}return a}(G,e,r):""}function M(e){E=e,a.HEAP8=N=new Int8Array(e),a.HEAP16=new Int16Array(e),a.HEAP32=R=new Int32Array(e),a.HEAPU8=G=new Uint8Array(e),a.HEAPU16=new Uint16Array(e),a.HEAPU32=new Uint32Array(e),a.HEAPF32=new Float32Array(e),a.HEAPF64=new Float64Array(e)}var U,I=a.INITIAL_MEMORY||16777216;(g=a.wasmMemory?a.wasmMemory:new w.Memory({initial:I/65536,maximum:32768}))&&(E=g.buffer),I=E.byteLength,M(E);var B=[],Z=[],W=[],F=!1;function x(e){Z.unshift(e)}var S=0,j=null,O=null;function Y(e){a.onAbort&&a.onAbort(e),v(e="Aborted("+e+")"),T=!0,e+=". Build with -s ASSERTIONS=1 for more info.";var r=new w.RuntimeError(e);throw n(r),r}a.preloadedImages={},a.preloadedAudios={};var J,Q,z="data:application/octet-stream;base64,";function L(e){return e.startsWith(z)}function P(e){return e.startsWith("file://")}function X(e){try{if(e==J&&y)return new Uint8Array(y);var r=te(e);if(r)return r;if(l)return l(e);throw"both async and sync fetching of the wasm failed"}catch(e){Y(e)}}function H(e){for(;e.length>0;){var r=e.shift();if("function"!=typeof r){var t=r.func;"number"==typeof t?void 0===r.arg?K(t)():K(t)(r.arg):t(void 0===r.arg?null:r.arg)}else r(a)}}L(J="draco_decoder_gltf.wasm")||(Q=J,J=a.locateFile?a.locateFile(Q,h):h+Q);var q=[];function K(e){var r=q[e];return r||(e>=q.length&&(q.length=e+1),q[e]=r=U.get(e)),r}function $(e){this.excPtr=e,this.ptr=e-16,this.set_type=function(e){R[this.ptr+4>>2]=e},this.get_type=function(){return R[this.ptr+4>>2]},this.set_destructor=function(e){R[this.ptr+8>>2]=e},this.get_destructor=function(){return R[this.ptr+8>>2]},this.set_refcount=function(e){R[this.ptr>>2]=e},this.set_caught=function(e){e=e?1:0,N[this.ptr+12>>0]=e},this.get_caught=function(){return 0!=N[this.ptr+12>>0]},this.set_rethrown=function(e){e=e?1:0,N[this.ptr+13>>0]=e},this.get_rethrown=function(){return 0!=N[this.ptr+13>>0]},this.init=function(e,r){this.set_type(e),this.set_destructor(r),this.set_refcount(0),this.set_caught(!1),this.set_rethrown(!1)},this.add_ref=function(){var e=R[this.ptr>>2];R[this.ptr>>2]=e+1},this.release_ref=function(){var e=R[this.ptr>>2];return R[this.ptr>>2]=e-1,1===e}}function ee(e){try{return g.grow(e-E.byteLength+65535>>>16),M(g.buffer),1}catch(e){}}var re="function"==typeof atob?atob:function(e){var r,t,i,n,a,o,f="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",s="",c=0;e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{r=f.indexOf(e.charAt(c++))<<2|(n=f.indexOf(e.charAt(c++)))>>4,t=(15&n)<<4|(a=f.indexOf(e.charAt(c++)))>>2,i=(3&a)<<6|(o=f.indexOf(e.charAt(c++))),s+=String.fromCharCode(r),64!==a&&(s+=String.fromCharCode(t)),64!==o&&(s+=String.fromCharCode(i))}while(c<e.length);return s};function te(e){if(L(e))return function(e){if("boolean"==typeof m&&m){var r=Buffer.from(e,"base64");return new Uint8Array(r.buffer,r.byteOffset,r.byteLength)}try{for(var t=re(e),i=new Uint8Array(t.length),n=0;n<t.length;++n)i[n]=t.charCodeAt(n);return i}catch(e){throw new Error("Converting base64 string to bytes failed.")}}(e.slice(z.length))}var ie,ne={f:function(e){return St(e+16)+16},e:function(e,r,t){throw new $(e).init(r,t),e},b:function(){Y("")},c:function(e,r,t){G.copyWithin(e,r,r+t)},d:function(e){var r,t=G.length,i=2147483648;if((e>>>=0)>i)return!1;for(var n=1;n<=4;n*=2){var a=t*(1+.2/n);if(a=Math.min(a,e+100663296),ee(Math.min(i,((r=Math.max(e,a))%65536>0&&(r+=65536-r%65536),r))))return!0}return!1},a:g},ae=(function(){var e={a:ne};function r(e,r){var t=e.exports;a.asm=t,U=a.asm.h,x(a.asm.g),function(e){if(S--,a.monitorRunDependencies&&a.monitorRunDependencies(S),0==S&&(null!==j&&(clearInterval(j),j=null),O)){var r=O;O=null,r()}}()}function t(e){r(e.instance)}function i(r){return function(){if(!y&&(k||d)){if("function"==typeof fetch&&!P(J))return fetch(J,{credentials:"same-origin"}).then((function(e){if(!e.ok)throw"failed to load wasm binary file at '"+J+"'";return e.arrayBuffer()})).catch((function(){return X(J)}));if(b)return new Promise((function(e,r){b(J,(function(r){e(new Uint8Array(r))}),r)}))}return Promise.resolve().then((function(){return X(J)}))}().then((function(r){return w.instantiate(r,e)})).then((function(e){return e})).then(r,(function(e){v("failed to asynchronously prepare wasm: "+e),Y(e)}))}if(S++,a.monitorRunDependencies&&a.monitorRunDependencies(S),a.instantiateWasm)try{return a.instantiateWasm(e,r)}catch(e){return v("Module.instantiateWasm callback failed with error: "+e),!1}(y||"function"!=typeof w.instantiateStreaming||L(J)||P(J)||"function"!=typeof fetch?i(t):fetch(J,{credentials:"same-origin"}).then((function(r){return w.instantiateStreaming(r,e).then(t,(function(e){return v("wasm streaming compile failed: "+e),v("falling back to ArrayBuffer instantiation"),i(t)}))}))).catch(n)}(),a.___wasm_call_ctors=function(){return(a.___wasm_call_ctors=a.asm.g).apply(null,arguments)},a._emscripten_bind_VoidPtr___destroy___0=function(){return(ae=a._emscripten_bind_VoidPtr___destroy___0=a.asm.i).apply(null,arguments)}),oe=a._emscripten_bind_DecoderBuffer_DecoderBuffer_0=function(){return(oe=a._emscripten_bind_DecoderBuffer_DecoderBuffer_0=a.asm.j).apply(null,arguments)},fe=a._emscripten_bind_DecoderBuffer_Init_2=function(){return(fe=a._emscripten_bind_DecoderBuffer_Init_2=a.asm.k).apply(null,arguments)},se=a._emscripten_bind_DecoderBuffer___destroy___0=function(){return(se=a._emscripten_bind_DecoderBuffer___destroy___0=a.asm.l).apply(null,arguments)},ce=a._emscripten_bind_AttributeTransformData_AttributeTransformData_0=function(){return(ce=a._emscripten_bind_AttributeTransformData_AttributeTransformData_0=a.asm.m).apply(null,arguments)},Ae=a._emscripten_bind_AttributeTransformData_transform_type_0=function(){return(Ae=a._emscripten_bind_AttributeTransformData_transform_type_0=a.asm.n).apply(null,arguments)},be=a._emscripten_bind_AttributeTransformData___destroy___0=function(){return(be=a._emscripten_bind_AttributeTransformData___destroy___0=a.asm.o).apply(null,arguments)},le=a._emscripten_bind_GeometryAttribute_GeometryAttribute_0=function(){return(le=a._emscripten_bind_GeometryAttribute_GeometryAttribute_0=a.asm.p).apply(null,arguments)},ue=a._emscripten_bind_GeometryAttribute___destroy___0=function(){return(ue=a._emscripten_bind_GeometryAttribute___destroy___0=a.asm.q).apply(null,arguments)},_e=a._emscripten_bind_PointAttribute_PointAttribute_0=function(){return(_e=a._emscripten_bind_PointAttribute_PointAttribute_0=a.asm.r).apply(null,arguments)},pe=a._emscripten_bind_PointAttribute_size_0=function(){return(pe=a._emscripten_bind_PointAttribute_size_0=a.asm.s).apply(null,arguments)},ke=a._emscripten_bind_PointAttribute_GetAttributeTransformData_0=function(){return(ke=a._emscripten_bind_PointAttribute_GetAttributeTransformData_0=a.asm.t).apply(null,arguments)},de=a._emscripten_bind_PointAttribute_attribute_type_0=function(){return(de=a._emscripten_bind_PointAttribute_attribute_type_0=a.asm.u).apply(null,arguments)},me=a._emscripten_bind_PointAttribute_data_type_0=function(){return(me=a._emscripten_bind_PointAttribute_data_type_0=a.asm.v).apply(null,arguments)},he=a._emscripten_bind_PointAttribute_num_components_0=function(){return(he=a._emscripten_bind_PointAttribute_num_components_0=a.asm.w).apply(null,arguments)},ye=a._emscripten_bind_PointAttribute_normalized_0=function(){return(ye=a._emscripten_bind_PointAttribute_normalized_0=a.asm.x).apply(null,arguments)},ve=a._emscripten_bind_PointAttribute_byte_stride_0=function(){return(ve=a._emscripten_bind_PointAttribute_byte_stride_0=a.asm.y).apply(null,arguments)},ge=a._emscripten_bind_PointAttribute_byte_offset_0=function(){return(ge=a._emscripten_bind_PointAttribute_byte_offset_0=a.asm.z).apply(null,arguments)},we=a._emscripten_bind_PointAttribute_unique_id_0=function(){return(we=a._emscripten_bind_PointAttribute_unique_id_0=a.asm.A).apply(null,arguments)},Te=a._emscripten_bind_PointAttribute___destroy___0=function(){return(Te=a._emscripten_bind_PointAttribute___destroy___0=a.asm.B).apply(null,arguments)},Ce=a._emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0=function(){return(Ce=a._emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0=a.asm.C).apply(null,arguments)},Ee=a._emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1=function(){return(Ee=a._emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1=a.asm.D).apply(null,arguments)},Ne=a._emscripten_bind_AttributeQuantizationTransform_quantization_bits_0=function(){return(Ne=a._emscripten_bind_AttributeQuantizationTransform_quantization_bits_0=a.asm.E).apply(null,arguments)},Ge=a._emscripten_bind_AttributeQuantizationTransform_min_value_1=function(){return(Ge=a._emscripten_bind_AttributeQuantizationTransform_min_value_1=a.asm.F).apply(null,arguments)},Re=a._emscripten_bind_AttributeQuantizationTransform_range_0=function(){return(Re=a._emscripten_bind_AttributeQuantizationTransform_range_0=a.asm.G).apply(null,arguments)},Ve=a._emscripten_bind_AttributeQuantizationTransform___destroy___0=function(){return(Ve=a._emscripten_bind_AttributeQuantizationTransform___destroy___0=a.asm.H).apply(null,arguments)},De=a._emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0=function(){return(De=a._emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0=a.asm.I).apply(null,arguments)},Me=a._emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1=function(){return(Me=a._emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1=a.asm.J).apply(null,arguments)},Ue=a._emscripten_bind_AttributeOctahedronTransform_quantization_bits_0=function(){return(Ue=a._emscripten_bind_AttributeOctahedronTransform_quantization_bits_0=a.asm.K).apply(null,arguments)},Ie=a._emscripten_bind_AttributeOctahedronTransform___destroy___0=function(){return(Ie=a._emscripten_bind_AttributeOctahedronTransform___destroy___0=a.asm.L).apply(null,arguments)},Be=a._emscripten_bind_PointCloud_PointCloud_0=function(){return(Be=a._emscripten_bind_PointCloud_PointCloud_0=a.asm.M).apply(null,arguments)},Ze=a._emscripten_bind_PointCloud_num_attributes_0=function(){return(Ze=a._emscripten_bind_PointCloud_num_attributes_0=a.asm.N).apply(null,arguments)},We=a._emscripten_bind_PointCloud_num_points_0=function(){return(We=a._emscripten_bind_PointCloud_num_points_0=a.asm.O).apply(null,arguments)},Fe=a._emscripten_bind_PointCloud___destroy___0=function(){return(Fe=a._emscripten_bind_PointCloud___destroy___0=a.asm.P).apply(null,arguments)},xe=a._emscripten_bind_Mesh_Mesh_0=function(){return(xe=a._emscripten_bind_Mesh_Mesh_0=a.asm.Q).apply(null,arguments)},Se=a._emscripten_bind_Mesh_num_faces_0=function(){return(Se=a._emscripten_bind_Mesh_num_faces_0=a.asm.R).apply(null,arguments)},je=a._emscripten_bind_Mesh_num_attributes_0=function(){return(je=a._emscripten_bind_Mesh_num_attributes_0=a.asm.S).apply(null,arguments)},Oe=a._emscripten_bind_Mesh_num_points_0=function(){return(Oe=a._emscripten_bind_Mesh_num_points_0=a.asm.T).apply(null,arguments)},Ye=a._emscripten_bind_Mesh___destroy___0=function(){return(Ye=a._emscripten_bind_Mesh___destroy___0=a.asm.U).apply(null,arguments)},Je=a._emscripten_bind_Metadata_Metadata_0=function(){return(Je=a._emscripten_bind_Metadata_Metadata_0=a.asm.V).apply(null,arguments)},Qe=a._emscripten_bind_Metadata___destroy___0=function(){return(Qe=a._emscripten_bind_Metadata___destroy___0=a.asm.W).apply(null,arguments)},ze=a._emscripten_bind_Status_code_0=function(){return(ze=a._emscripten_bind_Status_code_0=a.asm.X).apply(null,arguments)},Le=a._emscripten_bind_Status_ok_0=function(){return(Le=a._emscripten_bind_Status_ok_0=a.asm.Y).apply(null,arguments)},Pe=a._emscripten_bind_Status_error_msg_0=function(){return(Pe=a._emscripten_bind_Status_error_msg_0=a.asm.Z).apply(null,arguments)},Xe=a._emscripten_bind_Status___destroy___0=function(){return(Xe=a._emscripten_bind_Status___destroy___0=a.asm._).apply(null,arguments)},He=a._emscripten_bind_DracoFloat32Array_DracoFloat32Array_0=function(){return(He=a._emscripten_bind_DracoFloat32Array_DracoFloat32Array_0=a.asm.$).apply(null,arguments)},qe=a._emscripten_bind_DracoFloat32Array_GetValue_1=function(){return(qe=a._emscripten_bind_DracoFloat32Array_GetValue_1=a.asm.aa).apply(null,arguments)},Ke=a._emscripten_bind_DracoFloat32Array_size_0=function(){return(Ke=a._emscripten_bind_DracoFloat32Array_size_0=a.asm.ba).apply(null,arguments)},$e=a._emscripten_bind_DracoFloat32Array___destroy___0=function(){return($e=a._emscripten_bind_DracoFloat32Array___destroy___0=a.asm.ca).apply(null,arguments)},er=a._emscripten_bind_DracoInt8Array_DracoInt8Array_0=function(){return(er=a._emscripten_bind_DracoInt8Array_DracoInt8Array_0=a.asm.da).apply(null,arguments)},rr=a._emscripten_bind_DracoInt8Array_GetValue_1=function(){return(rr=a._emscripten_bind_DracoInt8Array_GetValue_1=a.asm.ea).apply(null,arguments)},tr=a._emscripten_bind_DracoInt8Array_size_0=function(){return(tr=a._emscripten_bind_DracoInt8Array_size_0=a.asm.fa).apply(null,arguments)},ir=a._emscripten_bind_DracoInt8Array___destroy___0=function(){return(ir=a._emscripten_bind_DracoInt8Array___destroy___0=a.asm.ga).apply(null,arguments)},nr=a._emscripten_bind_DracoUInt8Array_DracoUInt8Array_0=function(){return(nr=a._emscripten_bind_DracoUInt8Array_DracoUInt8Array_0=a.asm.ha).apply(null,arguments)},ar=a._emscripten_bind_DracoUInt8Array_GetValue_1=function(){return(ar=a._emscripten_bind_DracoUInt8Array_GetValue_1=a.asm.ia).apply(null,arguments)},or=a._emscripten_bind_DracoUInt8Array_size_0=function(){return(or=a._emscripten_bind_DracoUInt8Array_size_0=a.asm.ja).apply(null,arguments)},fr=a._emscripten_bind_DracoUInt8Array___destroy___0=function(){return(fr=a._emscripten_bind_DracoUInt8Array___destroy___0=a.asm.ka).apply(null,arguments)},sr=a._emscripten_bind_DracoInt16Array_DracoInt16Array_0=function(){return(sr=a._emscripten_bind_DracoInt16Array_DracoInt16Array_0=a.asm.la).apply(null,arguments)},cr=a._emscripten_bind_DracoInt16Array_GetValue_1=function(){return(cr=a._emscripten_bind_DracoInt16Array_GetValue_1=a.asm.ma).apply(null,arguments)},Ar=a._emscripten_bind_DracoInt16Array_size_0=function(){return(Ar=a._emscripten_bind_DracoInt16Array_size_0=a.asm.na).apply(null,arguments)},br=a._emscripten_bind_DracoInt16Array___destroy___0=function(){return(br=a._emscripten_bind_DracoInt16Array___destroy___0=a.asm.oa).apply(null,arguments)},lr=a._emscripten_bind_DracoUInt16Array_DracoUInt16Array_0=function(){return(lr=a._emscripten_bind_DracoUInt16Array_DracoUInt16Array_0=a.asm.pa).apply(null,arguments)},ur=a._emscripten_bind_DracoUInt16Array_GetValue_1=function(){return(ur=a._emscripten_bind_DracoUInt16Array_GetValue_1=a.asm.qa).apply(null,arguments)},_r=a._emscripten_bind_DracoUInt16Array_size_0=function(){return(_r=a._emscripten_bind_DracoUInt16Array_size_0=a.asm.ra).apply(null,arguments)},pr=a._emscripten_bind_DracoUInt16Array___destroy___0=function(){return(pr=a._emscripten_bind_DracoUInt16Array___destroy___0=a.asm.sa).apply(null,arguments)},kr=a._emscripten_bind_DracoInt32Array_DracoInt32Array_0=function(){return(kr=a._emscripten_bind_DracoInt32Array_DracoInt32Array_0=a.asm.ta).apply(null,arguments)},dr=a._emscripten_bind_DracoInt32Array_GetValue_1=function(){return(dr=a._emscripten_bind_DracoInt32Array_GetValue_1=a.asm.ua).apply(null,arguments)},mr=a._emscripten_bind_DracoInt32Array_size_0=function(){return(mr=a._emscripten_bind_DracoInt32Array_size_0=a.asm.va).apply(null,arguments)},hr=a._emscripten_bind_DracoInt32Array___destroy___0=function(){return(hr=a._emscripten_bind_DracoInt32Array___destroy___0=a.asm.wa).apply(null,arguments)},yr=a._emscripten_bind_DracoUInt32Array_DracoUInt32Array_0=function(){return(yr=a._emscripten_bind_DracoUInt32Array_DracoUInt32Array_0=a.asm.xa).apply(null,arguments)},vr=a._emscripten_bind_DracoUInt32Array_GetValue_1=function(){return(vr=a._emscripten_bind_DracoUInt32Array_GetValue_1=a.asm.ya).apply(null,arguments)},gr=a._emscripten_bind_DracoUInt32Array_size_0=function(){return(gr=a._emscripten_bind_DracoUInt32Array_size_0=a.asm.za).apply(null,arguments)},wr=a._emscripten_bind_DracoUInt32Array___destroy___0=function(){return(wr=a._emscripten_bind_DracoUInt32Array___destroy___0=a.asm.Aa).apply(null,arguments)},Tr=a._emscripten_bind_MetadataQuerier_MetadataQuerier_0=function(){return(Tr=a._emscripten_bind_MetadataQuerier_MetadataQuerier_0=a.asm.Ba).apply(null,arguments)},Cr=a._emscripten_bind_MetadataQuerier_HasEntry_2=function(){return(Cr=a._emscripten_bind_MetadataQuerier_HasEntry_2=a.asm.Ca).apply(null,arguments)},Er=a._emscripten_bind_MetadataQuerier_GetIntEntry_2=function(){return(Er=a._emscripten_bind_MetadataQuerier_GetIntEntry_2=a.asm.Da).apply(null,arguments)},Nr=a._emscripten_bind_MetadataQuerier_GetIntEntryArray_3=function(){return(Nr=a._emscripten_bind_MetadataQuerier_GetIntEntryArray_3=a.asm.Ea).apply(null,arguments)},Gr=a._emscripten_bind_MetadataQuerier_GetDoubleEntry_2=function(){return(Gr=a._emscripten_bind_MetadataQuerier_GetDoubleEntry_2=a.asm.Fa).apply(null,arguments)},Rr=a._emscripten_bind_MetadataQuerier_GetStringEntry_2=function(){return(Rr=a._emscripten_bind_MetadataQuerier_GetStringEntry_2=a.asm.Ga).apply(null,arguments)},Vr=a._emscripten_bind_MetadataQuerier_NumEntries_1=function(){return(Vr=a._emscripten_bind_MetadataQuerier_NumEntries_1=a.asm.Ha).apply(null,arguments)},Dr=a._emscripten_bind_MetadataQuerier_GetEntryName_2=function(){return(Dr=a._emscripten_bind_MetadataQuerier_GetEntryName_2=a.asm.Ia).apply(null,arguments)},Mr=a._emscripten_bind_MetadataQuerier___destroy___0=function(){return(Mr=a._emscripten_bind_MetadataQuerier___destroy___0=a.asm.Ja).apply(null,arguments)},Ur=a._emscripten_bind_Decoder_Decoder_0=function(){return(Ur=a._emscripten_bind_Decoder_Decoder_0=a.asm.Ka).apply(null,arguments)},Ir=a._emscripten_bind_Decoder_DecodeArrayToPointCloud_3=function(){return(Ir=a._emscripten_bind_Decoder_DecodeArrayToPointCloud_3=a.asm.La).apply(null,arguments)},Br=a._emscripten_bind_Decoder_DecodeArrayToMesh_3=function(){return(Br=a._emscripten_bind_Decoder_DecodeArrayToMesh_3=a.asm.Ma).apply(null,arguments)},Zr=a._emscripten_bind_Decoder_GetAttributeId_2=function(){return(Zr=a._emscripten_bind_Decoder_GetAttributeId_2=a.asm.Na).apply(null,arguments)},Wr=a._emscripten_bind_Decoder_GetAttributeIdByName_2=function(){return(Wr=a._emscripten_bind_Decoder_GetAttributeIdByName_2=a.asm.Oa).apply(null,arguments)},Fr=a._emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3=function(){return(Fr=a._emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3=a.asm.Pa).apply(null,arguments)},xr=a._emscripten_bind_Decoder_GetAttribute_2=function(){return(xr=a._emscripten_bind_Decoder_GetAttribute_2=a.asm.Qa).apply(null,arguments)},Sr=a._emscripten_bind_Decoder_GetAttributeByUniqueId_2=function(){return(Sr=a._emscripten_bind_Decoder_GetAttributeByUniqueId_2=a.asm.Ra).apply(null,arguments)},jr=a._emscripten_bind_Decoder_GetMetadata_1=function(){return(jr=a._emscripten_bind_Decoder_GetMetadata_1=a.asm.Sa).apply(null,arguments)},Or=a._emscripten_bind_Decoder_GetAttributeMetadata_2=function(){return(Or=a._emscripten_bind_Decoder_GetAttributeMetadata_2=a.asm.Ta).apply(null,arguments)},Yr=a._emscripten_bind_Decoder_GetFaceFromMesh_3=function(){return(Yr=a._emscripten_bind_Decoder_GetFaceFromMesh_3=a.asm.Ua).apply(null,arguments)},Jr=a._emscripten_bind_Decoder_GetTriangleStripsFromMesh_2=function(){return(Jr=a._emscripten_bind_Decoder_GetTriangleStripsFromMesh_2=a.asm.Va).apply(null,arguments)},Qr=a._emscripten_bind_Decoder_GetTrianglesUInt16Array_3=function(){return(Qr=a._emscripten_bind_Decoder_GetTrianglesUInt16Array_3=a.asm.Wa).apply(null,arguments)},zr=a._emscripten_bind_Decoder_GetTrianglesUInt32Array_3=function(){return(zr=a._emscripten_bind_Decoder_GetTrianglesUInt32Array_3=a.asm.Xa).apply(null,arguments)},Lr=a._emscripten_bind_Decoder_GetAttributeFloat_3=function(){return(Lr=a._emscripten_bind_Decoder_GetAttributeFloat_3=a.asm.Ya).apply(null,arguments)},Pr=a._emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3=function(){return(Pr=a._emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3=a.asm.Za).apply(null,arguments)},Xr=a._emscripten_bind_Decoder_GetAttributeIntForAllPoints_3=function(){return(Xr=a._emscripten_bind_Decoder_GetAttributeIntForAllPoints_3=a.asm._a).apply(null,arguments)},Hr=a._emscripten_bind_Decoder_GetAttributeInt8ForAllPoints_3=function(){return(Hr=a._emscripten_bind_Decoder_GetAttributeInt8ForAllPoints_3=a.asm.$a).apply(null,arguments)},qr=a._emscripten_bind_Decoder_GetAttributeUInt8ForAllPoints_3=function(){return(qr=a._emscripten_bind_Decoder_GetAttributeUInt8ForAllPoints_3=a.asm.ab).apply(null,arguments)},Kr=a._emscripten_bind_Decoder_GetAttributeInt16ForAllPoints_3=function(){return(Kr=a._emscripten_bind_Decoder_GetAttributeInt16ForAllPoints_3=a.asm.bb).apply(null,arguments)},$r=a._emscripten_bind_Decoder_GetAttributeUInt16ForAllPoints_3=function(){return($r=a._emscripten_bind_Decoder_GetAttributeUInt16ForAllPoints_3=a.asm.cb).apply(null,arguments)},et=a._emscripten_bind_Decoder_GetAttributeInt32ForAllPoints_3=function(){return(et=a._emscripten_bind_Decoder_GetAttributeInt32ForAllPoints_3=a.asm.db).apply(null,arguments)},rt=a._emscripten_bind_Decoder_GetAttributeUInt32ForAllPoints_3=function(){return(rt=a._emscripten_bind_Decoder_GetAttributeUInt32ForAllPoints_3=a.asm.eb).apply(null,arguments)},tt=a._emscripten_bind_Decoder_GetAttributeDataArrayForAllPoints_5=function(){return(tt=a._emscripten_bind_Decoder_GetAttributeDataArrayForAllPoints_5=a.asm.fb).apply(null,arguments)},it=a._emscripten_bind_Decoder_SkipAttributeTransform_1=function(){return(it=a._emscripten_bind_Decoder_SkipAttributeTransform_1=a.asm.gb).apply(null,arguments)},nt=a._emscripten_bind_Decoder_GetEncodedGeometryType_Deprecated_1=function(){return(nt=a._emscripten_bind_Decoder_GetEncodedGeometryType_Deprecated_1=a.asm.hb).apply(null,arguments)},at=a._emscripten_bind_Decoder_DecodeBufferToPointCloud_2=function(){return(at=a._emscripten_bind_Decoder_DecodeBufferToPointCloud_2=a.asm.ib).apply(null,arguments)},ot=a._emscripten_bind_Decoder_DecodeBufferToMesh_2=function(){return(ot=a._emscripten_bind_Decoder_DecodeBufferToMesh_2=a.asm.jb).apply(null,arguments)},ft=a._emscripten_bind_Decoder___destroy___0=function(){return(ft=a._emscripten_bind_Decoder___destroy___0=a.asm.kb).apply(null,arguments)},st=a._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM=function(){return(st=a._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM=a.asm.lb).apply(null,arguments)},ct=a._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM=function(){return(ct=a._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM=a.asm.mb).apply(null,arguments)},At=a._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM=function(){return(At=a._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM=a.asm.nb).apply(null,arguments)},bt=a._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM=function(){return(bt=a._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM=a.asm.ob).apply(null,arguments)},lt=a._emscripten_enum_draco_GeometryAttribute_Type_INVALID=function(){return(lt=a._emscripten_enum_draco_GeometryAttribute_Type_INVALID=a.asm.pb).apply(null,arguments)},ut=a._emscripten_enum_draco_GeometryAttribute_Type_POSITION=function(){return(ut=a._emscripten_enum_draco_GeometryAttribute_Type_POSITION=a.asm.qb).apply(null,arguments)},_t=a._emscripten_enum_draco_GeometryAttribute_Type_NORMAL=function(){return(_t=a._emscripten_enum_draco_GeometryAttribute_Type_NORMAL=a.asm.rb).apply(null,arguments)},pt=a._emscripten_enum_draco_GeometryAttribute_Type_COLOR=function(){return(pt=a._emscripten_enum_draco_GeometryAttribute_Type_COLOR=a.asm.sb).apply(null,arguments)},kt=a._emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD=function(){return(kt=a._emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD=a.asm.tb).apply(null,arguments)},dt=a._emscripten_enum_draco_GeometryAttribute_Type_GENERIC=function(){return(dt=a._emscripten_enum_draco_GeometryAttribute_Type_GENERIC=a.asm.ub).apply(null,arguments)},mt=a._emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE=function(){return(mt=a._emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE=a.asm.vb).apply(null,arguments)},ht=a._emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD=function(){return(ht=a._emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD=a.asm.wb).apply(null,arguments)},yt=a._emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH=function(){return(yt=a._emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH=a.asm.xb).apply(null,arguments)},vt=a._emscripten_enum_draco_DataType_DT_INVALID=function(){return(vt=a._emscripten_enum_draco_DataType_DT_INVALID=a.asm.yb).apply(null,arguments)},gt=a._emscripten_enum_draco_DataType_DT_INT8=function(){return(gt=a._emscripten_enum_draco_DataType_DT_INT8=a.asm.zb).apply(null,arguments)},wt=a._emscripten_enum_draco_DataType_DT_UINT8=function(){return(wt=a._emscripten_enum_draco_DataType_DT_UINT8=a.asm.Ab).apply(null,arguments)},Tt=a._emscripten_enum_draco_DataType_DT_INT16=function(){return(Tt=a._emscripten_enum_draco_DataType_DT_INT16=a.asm.Bb).apply(null,arguments)},Ct=a._emscripten_enum_draco_DataType_DT_UINT16=function(){return(Ct=a._emscripten_enum_draco_DataType_DT_UINT16=a.asm.Cb).apply(null,arguments)},Et=a._emscripten_enum_draco_DataType_DT_INT32=function(){return(Et=a._emscripten_enum_draco_DataType_DT_INT32=a.asm.Db).apply(null,arguments)},Nt=a._emscripten_enum_draco_DataType_DT_UINT32=function(){return(Nt=a._emscripten_enum_draco_DataType_DT_UINT32=a.asm.Eb).apply(null,arguments)},Gt=a._emscripten_enum_draco_DataType_DT_INT64=function(){return(Gt=a._emscripten_enum_draco_DataType_DT_INT64=a.asm.Fb).apply(null,arguments)},Rt=a._emscripten_enum_draco_DataType_DT_UINT64=function(){return(Rt=a._emscripten_enum_draco_DataType_DT_UINT64=a.asm.Gb).apply(null,arguments)},Vt=a._emscripten_enum_draco_DataType_DT_FLOAT32=function(){return(Vt=a._emscripten_enum_draco_DataType_DT_FLOAT32=a.asm.Hb).apply(null,arguments)},Dt=a._emscripten_enum_draco_DataType_DT_FLOAT64=function(){return(Dt=a._emscripten_enum_draco_DataType_DT_FLOAT64=a.asm.Ib).apply(null,arguments)},Mt=a._emscripten_enum_draco_DataType_DT_BOOL=function(){return(Mt=a._emscripten_enum_draco_DataType_DT_BOOL=a.asm.Jb).apply(null,arguments)},Ut=a._emscripten_enum_draco_DataType_DT_TYPES_COUNT=function(){return(Ut=a._emscripten_enum_draco_DataType_DT_TYPES_COUNT=a.asm.Kb).apply(null,arguments)},It=a._emscripten_enum_draco_StatusCode_OK=function(){return(It=a._emscripten_enum_draco_StatusCode_OK=a.asm.Lb).apply(null,arguments)},Bt=a._emscripten_enum_draco_StatusCode_DRACO_ERROR=function(){return(Bt=a._emscripten_enum_draco_StatusCode_DRACO_ERROR=a.asm.Mb).apply(null,arguments)},Zt=a._emscripten_enum_draco_StatusCode_IO_ERROR=function(){return(Zt=a._emscripten_enum_draco_StatusCode_IO_ERROR=a.asm.Nb).apply(null,arguments)},Wt=a._emscripten_enum_draco_StatusCode_INVALID_PARAMETER=function(){return(Wt=a._emscripten_enum_draco_StatusCode_INVALID_PARAMETER=a.asm.Ob).apply(null,arguments)},Ft=a._emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION=function(){return(Ft=a._emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION=a.asm.Pb).apply(null,arguments)},xt=a._emscripten_enum_draco_StatusCode_UNKNOWN_VERSION=function(){return(xt=a._emscripten_enum_draco_StatusCode_UNKNOWN_VERSION=a.asm.Qb).apply(null,arguments)},St=a._malloc=function(){return(St=a._malloc=a.asm.Rb).apply(null,arguments)};function jt(e){function t(){ie||(ie=!0,a.calledRun=!0,T||(F=!0,H(Z),r(a),a.onRuntimeInitialized&&a.onRuntimeInitialized(),function(){if(a.postRun)for("function"==typeof a.postRun&&(a.postRun=[a.postRun]);a.postRun.length;)e=a.postRun.shift(),W.unshift(e);var e;H(W)}()))}e=e||p,S>0||(function(){if(a.preRun)for("function"==typeof a.preRun&&(a.preRun=[a.preRun]);a.preRun.length;)e=a.preRun.shift(),B.unshift(e);var e;H(B)}(),S>0||(a.setStatus?(a.setStatus("Running..."),setTimeout((function(){setTimeout((function(){a.setStatus("")}),1),t()}),1)):t()))}if(a._free=function(){return(a._free=a.asm.Sb).apply(null,arguments)},O=function e(){ie||jt(),ie||(O=e)},a.run=jt,a.preInit)for("function"==typeof a.preInit&&(a.preInit=[a.preInit]);a.preInit.length>0;)a.preInit.pop()();function Ot(){}function Yt(e){return(e||Ot).__cache__}function Jt(e,r){var t=Yt(r),i=t[e];return i||((i=Object.create((r||Ot).prototype)).ptr=e,t[e]=i)}jt(),Ot.prototype=Object.create(Ot.prototype),Ot.prototype.constructor=Ot,Ot.prototype.__class__=Ot,Ot.__cache__={},a.WrapperObject=Ot,a.getCache=Yt,a.wrapPointer=Jt,a.castObject=function(e,r){return Jt(e.ptr,r)},a.NULL=Jt(0),a.destroy=function(e){if(!e.__destroy__)throw"Error: Cannot destroy object. (Did you create it yourself?)";e.__destroy__(),delete Yt(e.__class__)[e.ptr]},a.compare=function(e,r){return e.ptr===r.ptr},a.getPointer=function(e){return e.ptr},a.getClass=function(e){return e.__class__};var Qt={buffer:0,size:0,pos:0,temps:[],needed:0,prepare:function(){if(Qt.needed){for(var e=0;e<Qt.temps.length;e++)a._free(Qt.temps[e]);Qt.temps.length=0,a._free(Qt.buffer),Qt.buffer=0,Qt.size+=Qt.needed,Qt.needed=0}Qt.buffer||(Qt.size+=128,Qt.buffer=a._malloc(Qt.size),C(Qt.buffer)),Qt.pos=0},alloc:function(e,r){C(Qt.buffer);var t,i=r.BYTES_PER_ELEMENT,n=e.length*i;return n=n+7&-8,Qt.pos+n>=Qt.size?(C(n>0),Qt.needed+=n,t=a._malloc(n),Qt.temps.push(t)):(t=Qt.buffer+Qt.pos,Qt.pos+=n),t},copy:function(e,r,t){switch(t>>>=0,r.BYTES_PER_ELEMENT){case 2:t>>>=1;break;case 4:t>>>=2;break;case 8:t>>>=3}for(var i=0;i<e.length;i++)r[t+i]=e[i]}};function zt(e){if("string"==typeof e){var r=(n=function(e){for(var r=0,t=0;t<e.length;++t){var i=e.charCodeAt(t);i>=55296&&i<=57343&&(i=65536+((1023&i)<<10)|1023&e.charCodeAt(++t)),i<=127?++r:r+=i<=2047?2:i<=65535?3:4}return r}(i=e)+1,function(e,r,t,i){if(!(i>0))return 0;for(var n=t,a=t+i-1,o=0;o<e.length;++o){var f=e.charCodeAt(o);if(f>=55296&&f<=57343&&(f=65536+((1023&f)<<10)|1023&e.charCodeAt(++o)),f<=127){if(t>=a)break;r[t++]=f}else if(f<=2047){if(t+1>=a)break;r[t++]=192|f>>6,r[t++]=128|63&f}else if(f<=65535){if(t+2>=a)break;r[t++]=224|f>>12,r[t++]=128|f>>6&63,r[t++]=128|63&f}else{if(t+3>=a)break;r[t++]=240|f>>18,r[t++]=128|f>>12&63,r[t++]=128|f>>6&63,r[t++]=128|63&f}}return r[t]=0,t-n}(i,a=new Array(n),0,a.length),a),t=Qt.alloc(r,N);return Qt.copy(r,N,t),t}var i,n,a;return e}function Lt(e){if("object"==typeof e){var r=Qt.alloc(e,N);return Qt.copy(e,N,r),r}return e}function Pt(){throw"cannot construct a VoidPtr, no constructor in IDL"}function Xt(){this.ptr=oe(),Yt(Xt)[this.ptr]=this}function Ht(){this.ptr=ce(),Yt(Ht)[this.ptr]=this}function qt(){this.ptr=le(),Yt(qt)[this.ptr]=this}function Kt(){this.ptr=_e(),Yt(Kt)[this.ptr]=this}function $t(){this.ptr=Ce(),Yt($t)[this.ptr]=this}function ei(){this.ptr=De(),Yt(ei)[this.ptr]=this}function ri(){this.ptr=Be(),Yt(ri)[this.ptr]=this}function ti(){this.ptr=xe(),Yt(ti)[this.ptr]=this}function ii(){this.ptr=Je(),Yt(ii)[this.ptr]=this}function ni(){throw"cannot construct a Status, no constructor in IDL"}function ai(){this.ptr=He(),Yt(ai)[this.ptr]=this}function oi(){this.ptr=er(),Yt(oi)[this.ptr]=this}function fi(){this.ptr=nr(),Yt(fi)[this.ptr]=this}function si(){this.ptr=sr(),Yt(si)[this.ptr]=this}function ci(){this.ptr=lr(),Yt(ci)[this.ptr]=this}function Ai(){this.ptr=kr(),Yt(Ai)[this.ptr]=this}function bi(){this.ptr=yr(),Yt(bi)[this.ptr]=this}function li(){this.ptr=Tr(),Yt(li)[this.ptr]=this}function ui(){this.ptr=Ur(),Yt(ui)[this.ptr]=this}return Pt.prototype=Object.create(Ot.prototype),Pt.prototype.constructor=Pt,Pt.prototype.__class__=Pt,Pt.__cache__={},a.VoidPtr=Pt,Pt.prototype.__destroy__=Pt.prototype.__destroy__=function(){var e=this.ptr;ae(e)},Xt.prototype=Object.create(Ot.prototype),Xt.prototype.constructor=Xt,Xt.prototype.__class__=Xt,Xt.__cache__={},a.DecoderBuffer=Xt,Xt.prototype.Init=Xt.prototype.Init=function(e,r){var t=this.ptr;Qt.prepare(),"object"==typeof e&&(e=Lt(e)),r&&"object"==typeof r&&(r=r.ptr),fe(t,e,r)},Xt.prototype.__destroy__=Xt.prototype.__destroy__=function(){var e=this.ptr;se(e)},Ht.prototype=Object.create(Ot.prototype),Ht.prototype.constructor=Ht,Ht.prototype.__class__=Ht,Ht.__cache__={},a.AttributeTransformData=Ht,Ht.prototype.transform_type=Ht.prototype.transform_type=function(){var e=this.ptr;return Ae(e)},Ht.prototype.__destroy__=Ht.prototype.__destroy__=function(){var e=this.ptr;be(e)},qt.prototype=Object.create(Ot.prototype),qt.prototype.constructor=qt,qt.prototype.__class__=qt,qt.__cache__={},a.GeometryAttribute=qt,qt.prototype.__destroy__=qt.prototype.__destroy__=function(){var e=this.ptr;ue(e)},Kt.prototype=Object.create(Ot.prototype),Kt.prototype.constructor=Kt,Kt.prototype.__class__=Kt,Kt.__cache__={},a.PointAttribute=Kt,Kt.prototype.size=Kt.prototype.size=function(){var e=this.ptr;return pe(e)},Kt.prototype.GetAttributeTransformData=Kt.prototype.GetAttributeTransformData=function(){var e=this.ptr;return Jt(ke(e),Ht)},Kt.prototype.attribute_type=Kt.prototype.attribute_type=function(){var e=this.ptr;return de(e)},Kt.prototype.data_type=Kt.prototype.data_type=function(){var e=this.ptr;return me(e)},Kt.prototype.num_components=Kt.prototype.num_components=function(){var e=this.ptr;return he(e)},Kt.prototype.normalized=Kt.prototype.normalized=function(){var e=this.ptr;return!!ye(e)},Kt.prototype.byte_stride=Kt.prototype.byte_stride=function(){var e=this.ptr;return ve(e)},Kt.prototype.byte_offset=Kt.prototype.byte_offset=function(){var e=this.ptr;return ge(e)},Kt.prototype.unique_id=Kt.prototype.unique_id=function(){var e=this.ptr;return we(e)},Kt.prototype.__destroy__=Kt.prototype.__destroy__=function(){var e=this.ptr;Te(e)},$t.prototype=Object.create(Ot.prototype),$t.prototype.constructor=$t,$t.prototype.__class__=$t,$t.__cache__={},a.AttributeQuantizationTransform=$t,$t.prototype.InitFromAttribute=$t.prototype.InitFromAttribute=function(e){var r=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),!!Ee(r,e)},$t.prototype.quantization_bits=$t.prototype.quantization_bits=function(){var e=this.ptr;return Ne(e)},$t.prototype.min_value=$t.prototype.min_value=function(e){var r=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),Ge(r,e)},$t.prototype.range=$t.prototype.range=function(){var e=this.ptr;return Re(e)},$t.prototype.__destroy__=$t.prototype.__destroy__=function(){var e=this.ptr;Ve(e)},ei.prototype=Object.create(Ot.prototype),ei.prototype.constructor=ei,ei.prototype.__class__=ei,ei.__cache__={},a.AttributeOctahedronTransform=ei,ei.prototype.InitFromAttribute=ei.prototype.InitFromAttribute=function(e){var r=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),!!Me(r,e)},ei.prototype.quantization_bits=ei.prototype.quantization_bits=function(){var e=this.ptr;return Ue(e)},ei.prototype.__destroy__=ei.prototype.__destroy__=function(){var e=this.ptr;Ie(e)},ri.prototype=Object.create(Ot.prototype),ri.prototype.constructor=ri,ri.prototype.__class__=ri,ri.__cache__={},a.PointCloud=ri,ri.prototype.num_attributes=ri.prototype.num_attributes=function(){var e=this.ptr;return Ze(e)},ri.prototype.num_points=ri.prototype.num_points=function(){var e=this.ptr;return We(e)},ri.prototype.__destroy__=ri.prototype.__destroy__=function(){var e=this.ptr;Fe(e)},ti.prototype=Object.create(Ot.prototype),ti.prototype.constructor=ti,ti.prototype.__class__=ti,ti.__cache__={},a.Mesh=ti,ti.prototype.num_faces=ti.prototype.num_faces=function(){var e=this.ptr;return Se(e)},ti.prototype.num_attributes=ti.prototype.num_attributes=function(){var e=this.ptr;return je(e)},ti.prototype.num_points=ti.prototype.num_points=function(){var e=this.ptr;return Oe(e)},ti.prototype.__destroy__=ti.prototype.__destroy__=function(){var e=this.ptr;Ye(e)},ii.prototype=Object.create(Ot.prototype),ii.prototype.constructor=ii,ii.prototype.__class__=ii,ii.__cache__={},a.Metadata=ii,ii.prototype.__destroy__=ii.prototype.__destroy__=function(){var e=this.ptr;Qe(e)},ni.prototype=Object.create(Ot.prototype),ni.prototype.constructor=ni,ni.prototype.__class__=ni,ni.__cache__={},a.Status=ni,ni.prototype.code=ni.prototype.code=function(){var e=this.ptr;return ze(e)},ni.prototype.ok=ni.prototype.ok=function(){var e=this.ptr;return!!Le(e)},ni.prototype.error_msg=ni.prototype.error_msg=function(){var e=this.ptr;return D(Pe(e))},ni.prototype.__destroy__=ni.prototype.__destroy__=function(){var e=this.ptr;Xe(e)},ai.prototype=Object.create(Ot.prototype),ai.prototype.constructor=ai,ai.prototype.__class__=ai,ai.__cache__={},a.DracoFloat32Array=ai,ai.prototype.GetValue=ai.prototype.GetValue=function(e){var r=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),qe(r,e)},ai.prototype.size=ai.prototype.size=function(){var e=this.ptr;return Ke(e)},ai.prototype.__destroy__=ai.prototype.__destroy__=function(){var e=this.ptr;$e(e)},oi.prototype=Object.create(Ot.prototype),oi.prototype.constructor=oi,oi.prototype.__class__=oi,oi.__cache__={},a.DracoInt8Array=oi,oi.prototype.GetValue=oi.prototype.GetValue=function(e){var r=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),rr(r,e)},oi.prototype.size=oi.prototype.size=function(){var e=this.ptr;return tr(e)},oi.prototype.__destroy__=oi.prototype.__destroy__=function(){var e=this.ptr;ir(e)},fi.prototype=Object.create(Ot.prototype),fi.prototype.constructor=fi,fi.prototype.__class__=fi,fi.__cache__={},a.DracoUInt8Array=fi,fi.prototype.GetValue=fi.prototype.GetValue=function(e){var r=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),ar(r,e)},fi.prototype.size=fi.prototype.size=function(){var e=this.ptr;return or(e)},fi.prototype.__destroy__=fi.prototype.__destroy__=function(){var e=this.ptr;fr(e)},si.prototype=Object.create(Ot.prototype),si.prototype.constructor=si,si.prototype.__class__=si,si.__cache__={},a.DracoInt16Array=si,si.prototype.GetValue=si.prototype.GetValue=function(e){var r=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),cr(r,e)},si.prototype.size=si.prototype.size=function(){var e=this.ptr;return Ar(e)},si.prototype.__destroy__=si.prototype.__destroy__=function(){var e=this.ptr;br(e)},ci.prototype=Object.create(Ot.prototype),ci.prototype.constructor=ci,ci.prototype.__class__=ci,ci.__cache__={},a.DracoUInt16Array=ci,ci.prototype.GetValue=ci.prototype.GetValue=function(e){var r=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),ur(r,e)},ci.prototype.size=ci.prototype.size=function(){var e=this.ptr;return _r(e)},ci.prototype.__destroy__=ci.prototype.__destroy__=function(){var e=this.ptr;pr(e)},Ai.prototype=Object.create(Ot.prototype),Ai.prototype.constructor=Ai,Ai.prototype.__class__=Ai,Ai.__cache__={},a.DracoInt32Array=Ai,Ai.prototype.GetValue=Ai.prototype.GetValue=function(e){var r=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),dr(r,e)},Ai.prototype.size=Ai.prototype.size=function(){var e=this.ptr;return mr(e)},Ai.prototype.__destroy__=Ai.prototype.__destroy__=function(){var e=this.ptr;hr(e)},bi.prototype=Object.create(Ot.prototype),bi.prototype.constructor=bi,bi.prototype.__class__=bi,bi.__cache__={},a.DracoUInt32Array=bi,bi.prototype.GetValue=bi.prototype.GetValue=function(e){var r=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),vr(r,e)},bi.prototype.size=bi.prototype.size=function(){var e=this.ptr;return gr(e)},bi.prototype.__destroy__=bi.prototype.__destroy__=function(){var e=this.ptr;wr(e)},li.prototype=Object.create(Ot.prototype),li.prototype.constructor=li,li.prototype.__class__=li,li.__cache__={},a.MetadataQuerier=li,li.prototype.HasEntry=li.prototype.HasEntry=function(e,r){var t=this.ptr;return Qt.prepare(),e&&"object"==typeof e&&(e=e.ptr),r=r&&"object"==typeof r?r.ptr:zt(r),!!Cr(t,e,r)},li.prototype.GetIntEntry=li.prototype.GetIntEntry=function(e,r){var t=this.ptr;return Qt.prepare(),e&&"object"==typeof e&&(e=e.ptr),r=r&&"object"==typeof r?r.ptr:zt(r),Er(t,e,r)},li.prototype.GetIntEntryArray=li.prototype.GetIntEntryArray=function(e,r,t){var i=this.ptr;Qt.prepare(),e&&"object"==typeof e&&(e=e.ptr),r=r&&"object"==typeof r?r.ptr:zt(r),t&&"object"==typeof t&&(t=t.ptr),Nr(i,e,r,t)},li.prototype.GetDoubleEntry=li.prototype.GetDoubleEntry=function(e,r){var t=this.ptr;return Qt.prepare(),e&&"object"==typeof e&&(e=e.ptr),r=r&&"object"==typeof r?r.ptr:zt(r),Gr(t,e,r)},li.prototype.GetStringEntry=li.prototype.GetStringEntry=function(e,r){var t=this.ptr;return Qt.prepare(),e&&"object"==typeof e&&(e=e.ptr),r=r&&"object"==typeof r?r.ptr:zt(r),D(Rr(t,e,r))},li.prototype.NumEntries=li.prototype.NumEntries=function(e){var r=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),Vr(r,e)},li.prototype.GetEntryName=li.prototype.GetEntryName=function(e,r){var t=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),r&&"object"==typeof r&&(r=r.ptr),D(Dr(t,e,r))},li.prototype.__destroy__=li.prototype.__destroy__=function(){var e=this.ptr;Mr(e)},ui.prototype=Object.create(Ot.prototype),ui.prototype.constructor=ui,ui.prototype.__class__=ui,ui.__cache__={},a.Decoder=ui,ui.prototype.DecodeArrayToPointCloud=ui.prototype.DecodeArrayToPointCloud=function(e,r,t){var i=this.ptr;return Qt.prepare(),"object"==typeof e&&(e=Lt(e)),r&&"object"==typeof r&&(r=r.ptr),t&&"object"==typeof t&&(t=t.ptr),Jt(Ir(i,e,r,t),ni)},ui.prototype.DecodeArrayToMesh=ui.prototype.DecodeArrayToMesh=function(e,r,t){var i=this.ptr;return Qt.prepare(),"object"==typeof e&&(e=Lt(e)),r&&"object"==typeof r&&(r=r.ptr),t&&"object"==typeof t&&(t=t.ptr),Jt(Br(i,e,r,t),ni)},ui.prototype.GetAttributeId=ui.prototype.GetAttributeId=function(e,r){var t=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),r&&"object"==typeof r&&(r=r.ptr),Zr(t,e,r)},ui.prototype.GetAttributeIdByName=ui.prototype.GetAttributeIdByName=function(e,r){var t=this.ptr;return Qt.prepare(),e&&"object"==typeof e&&(e=e.ptr),r=r&&"object"==typeof r?r.ptr:zt(r),Wr(t,e,r)},ui.prototype.GetAttributeIdByMetadataEntry=ui.prototype.GetAttributeIdByMetadataEntry=function(e,r,t){var i=this.ptr;return Qt.prepare(),e&&"object"==typeof e&&(e=e.ptr),r=r&&"object"==typeof r?r.ptr:zt(r),t=t&&"object"==typeof t?t.ptr:zt(t),Fr(i,e,r,t)},ui.prototype.GetAttribute=ui.prototype.GetAttribute=function(e,r){var t=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),r&&"object"==typeof r&&(r=r.ptr),Jt(xr(t,e,r),Kt)},ui.prototype.GetAttributeByUniqueId=ui.prototype.GetAttributeByUniqueId=function(e,r){var t=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),r&&"object"==typeof r&&(r=r.ptr),Jt(Sr(t,e,r),Kt)},ui.prototype.GetMetadata=ui.prototype.GetMetadata=function(e){var r=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),Jt(jr(r,e),ii)},ui.prototype.GetAttributeMetadata=ui.prototype.GetAttributeMetadata=function(e,r){var t=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),r&&"object"==typeof r&&(r=r.ptr),Jt(Or(t,e,r),ii)},ui.prototype.GetFaceFromMesh=ui.prototype.GetFaceFromMesh=function(e,r,t){var i=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),r&&"object"==typeof r&&(r=r.ptr),t&&"object"==typeof t&&(t=t.ptr),!!Yr(i,e,r,t)},ui.prototype.GetTriangleStripsFromMesh=ui.prototype.GetTriangleStripsFromMesh=function(e,r){var t=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),r&&"object"==typeof r&&(r=r.ptr),Jr(t,e,r)},ui.prototype.GetTrianglesUInt16Array=ui.prototype.GetTrianglesUInt16Array=function(e,r,t){var i=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),r&&"object"==typeof r&&(r=r.ptr),t&&"object"==typeof t&&(t=t.ptr),!!Qr(i,e,r,t)},ui.prototype.GetTrianglesUInt32Array=ui.prototype.GetTrianglesUInt32Array=function(e,r,t){var i=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),r&&"object"==typeof r&&(r=r.ptr),t&&"object"==typeof t&&(t=t.ptr),!!zr(i,e,r,t)},ui.prototype.GetAttributeFloat=ui.prototype.GetAttributeFloat=function(e,r,t){var i=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),r&&"object"==typeof r&&(r=r.ptr),t&&"object"==typeof t&&(t=t.ptr),!!Lr(i,e,r,t)},ui.prototype.GetAttributeFloatForAllPoints=ui.prototype.GetAttributeFloatForAllPoints=function(e,r,t){var i=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),r&&"object"==typeof r&&(r=r.ptr),t&&"object"==typeof t&&(t=t.ptr),!!Pr(i,e,r,t)},ui.prototype.GetAttributeIntForAllPoints=ui.prototype.GetAttributeIntForAllPoints=function(e,r,t){var i=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),r&&"object"==typeof r&&(r=r.ptr),t&&"object"==typeof t&&(t=t.ptr),!!Xr(i,e,r,t)},ui.prototype.GetAttributeInt8ForAllPoints=ui.prototype.GetAttributeInt8ForAllPoints=function(e,r,t){var i=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),r&&"object"==typeof r&&(r=r.ptr),t&&"object"==typeof t&&(t=t.ptr),!!Hr(i,e,r,t)},ui.prototype.GetAttributeUInt8ForAllPoints=ui.prototype.GetAttributeUInt8ForAllPoints=function(e,r,t){var i=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),r&&"object"==typeof r&&(r=r.ptr),t&&"object"==typeof t&&(t=t.ptr),!!qr(i,e,r,t)},ui.prototype.GetAttributeInt16ForAllPoints=ui.prototype.GetAttributeInt16ForAllPoints=function(e,r,t){var i=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),r&&"object"==typeof r&&(r=r.ptr),t&&"object"==typeof t&&(t=t.ptr),!!Kr(i,e,r,t)},ui.prototype.GetAttributeUInt16ForAllPoints=ui.prototype.GetAttributeUInt16ForAllPoints=function(e,r,t){var i=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),r&&"object"==typeof r&&(r=r.ptr),t&&"object"==typeof t&&(t=t.ptr),!!$r(i,e,r,t)},ui.prototype.GetAttributeInt32ForAllPoints=ui.prototype.GetAttributeInt32ForAllPoints=function(e,r,t){var i=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),r&&"object"==typeof r&&(r=r.ptr),t&&"object"==typeof t&&(t=t.ptr),!!et(i,e,r,t)},ui.prototype.GetAttributeUInt32ForAllPoints=ui.prototype.GetAttributeUInt32ForAllPoints=function(e,r,t){var i=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),r&&"object"==typeof r&&(r=r.ptr),t&&"object"==typeof t&&(t=t.ptr),!!rt(i,e,r,t)},ui.prototype.GetAttributeDataArrayForAllPoints=ui.prototype.GetAttributeDataArrayForAllPoints=function(e,r,t,i,n){var a=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),r&&"object"==typeof r&&(r=r.ptr),t&&"object"==typeof t&&(t=t.ptr),i&&"object"==typeof i&&(i=i.ptr),n&&"object"==typeof n&&(n=n.ptr),!!tt(a,e,r,t,i,n)},ui.prototype.SkipAttributeTransform=ui.prototype.SkipAttributeTransform=function(e){var r=this.ptr;e&&"object"==typeof e&&(e=e.ptr),it(r,e)},ui.prototype.GetEncodedGeometryType_Deprecated=ui.prototype.GetEncodedGeometryType_Deprecated=function(e){var r=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),nt(r,e)},ui.prototype.DecodeBufferToPointCloud=ui.prototype.DecodeBufferToPointCloud=function(e,r){var t=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),r&&"object"==typeof r&&(r=r.ptr),Jt(at(t,e,r),ni)},ui.prototype.DecodeBufferToMesh=ui.prototype.DecodeBufferToMesh=function(e,r){var t=this.ptr;return e&&"object"==typeof e&&(e=e.ptr),r&&"object"==typeof r&&(r=r.ptr),Jt(ot(t,e,r),ni)},ui.prototype.__destroy__=ui.prototype.__destroy__=function(){var e=this.ptr;ft(e)},function(){function e(){a.ATTRIBUTE_INVALID_TRANSFORM=st(),a.ATTRIBUTE_NO_TRANSFORM=ct(),a.ATTRIBUTE_QUANTIZATION_TRANSFORM=At(),a.ATTRIBUTE_OCTAHEDRON_TRANSFORM=bt(),a.INVALID=lt(),a.POSITION=ut(),a.NORMAL=_t(),a.COLOR=pt(),a.TEX_COORD=kt(),a.GENERIC=dt(),a.INVALID_GEOMETRY_TYPE=mt(),a.POINT_CLOUD=ht(),a.TRIANGULAR_MESH=yt(),a.DT_INVALID=vt(),a.DT_INT8=gt(),a.DT_UINT8=wt(),a.DT_INT16=Tt(),a.DT_UINT16=Ct(),a.DT_INT32=Et(),a.DT_UINT32=Nt(),a.DT_INT64=Gt(),a.DT_UINT64=Rt(),a.DT_FLOAT32=Vt(),a.DT_FLOAT64=Dt(),a.DT_BOOL=Mt(),a.DT_TYPES_COUNT=Ut(),a.OK=It(),a.DRACO_ERROR=Bt(),a.IO_ERROR=Zt(),a.INVALID_PARAMETER=Wt(),a.UNSUPPORTED_VERSION=Ft(),a.UNKNOWN_VERSION=xt()}F?e():x(e)}(),"function"==typeof a.onModuleParsed&&a.onModuleParsed(),a.Decoder.prototype.GetEncodedGeometryType=function(e){if(e.__class__&&e.__class__===a.DecoderBuffer)return a.Decoder.prototype.GetEncodedGeometryType_Deprecated(e);if(e.byteLength<8)return a.INVALID_GEOMETRY_TYPE;switch(e[7]){case 0:return a.POINT_CLOUD;case 1:return a.TRIANGULAR_MESH;default:return a.INVALID_GEOMETRY_TYPE}},e.ready});e.exports=n},501:()=>{}},r={};function t(i){var n=r[i];if(void 0!==n)return n.exports;var a=r[i]={exports:{}};return e[i](a,a.exports,t),a.exports}t.n=e=>{var r=e&&e.__esModule?()=>e.default:()=>e;return t.d(r,{a:r}),r},t.d=(e,r)=>{for(var i in r)t.o(r,i)&&!t.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:r[i]})},t.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),t.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.p="https://apps-cdn.cogniteapp.com/@cognite/reveal-parser-worker/1.3.0/";var i={};return(()=>{"use strict";t.r(i),t.d(i,{AxisViewTool:()=>J,BingMapImageFormat:()=>K,BingMapType:()=>q,Cognite3DViewerToolBase:()=>d,Corner:()=>x,DebugCameraTool:()=>D,DebugLoadedSectorsTool:()=>Te,ExplodedViewTool:()=>V,GeomapTool:()=>fe,HereMapImageFormat:()=>re,HereMapScheme:()=>ee,HereMapType:()=>$,HtmlOverlayTool:()=>G,Keyframe:()=>se,MapProviders:()=>z,MapboxImageFormat:()=>H,MapboxMode:()=>L,MapboxStyle:()=>P,MeasurementTool:()=>De,TimelineTool:()=>ce});const e=require("three");class r{static color(e){const t=r._colors.get(e);if(void 0!==t)return t;const i=r.generateRandomColor();return r._colors.set(e,i),i}static colorRGB(e){const t=r.color(e);return[Math.floor(255*t.r),Math.floor(255*t.g),Math.floor(255*t.b)]}static colorCSS(e){const[t,i,n]=r.colorRGB(e);return`rgb(${t}, ${i}, ${n})`}static generateRandomColor(){const r=Math.random(),t=.4+.6*Math.random(),i=.3+.4*Math.random();return(new e.Color).setHSL(r,t,i)}}r._colors=new Map;class n{constructor(){this._listeners=[]}subscribe(e){this._listeners.push(e)}unsubscribe(e){const r=this._listeners.indexOf(e);-1!==r&&this._listeners.splice(r,1)}unsubscribeAll(){this._listeners.splice(0)}fire(...e){this._listeners.forEach((r=>r(...e)))}}function a(e,r){const t=r.getBoundingClientRect();if(e instanceof MouseEvent)return{offsetX:e.clientX-t.left,offsetY:e.clientY-t.top};if(e.changedTouches.length>0){const r=e.changedTouches[0];return{offsetX:r.clientX-t.left,offsetY:r.clientY-t.top}}return{offsetX:-1,offsetY:-1}}const o=require("lodash/debounce");var f=t.n(o);function s(e,r){throw new Error(r||"Unexpected object: "+e)}class c{constructor(e){this._events={click:new n,hover:new n},this.onHoverCallback=f()((e=>{this._events.hover.fire(a(e,this.domElement))}),100),this.domElement=e,this.setupEventListeners()}on(e,r){switch(e){case"click":this._events.click.subscribe(r);break;case"hover":this._events.hover.subscribe(r);break;default:s(e)}}off(e,r){switch(e){case"click":this._events.click.unsubscribe(r);break;case"hover":this._events.hover.unsubscribe(r);break;default:s(e)}}dispose(){!function(e){for(const r of Object.keys(e))e[r].unsubscribeAll()}(this._events)}setupEventListeners(){const{domElement:r}=this;let t=!1,i=0,n=!1;const o=new e.Vector2,f=e=>{this.handleClickEvent(e,o,t,n,i),t=!1,n=!1,r.removeEventListener("mouseup",f),r.removeEventListener("touchend",f),r.addEventListener("mousemove",this.onHoverCallback)},s=e=>{t=!0,n=!0,i=e.timeStamp;const{offsetX:s,offsetY:c}=a(e,r);o.set(s,c),r.addEventListener("mouseup",f),r.addEventListener("touchend",f),r.removeEventListener("mousemove",this.onHoverCallback)};r.addEventListener("mousedown",s),r.addEventListener("touchstart",s),r.addEventListener("mousemove",this.onHoverCallback)}isProperClick(e,r,t,i,n){const{offsetX:o,offsetY:f}=a(e,this.domElement),s=e.timeStamp-n,A=Math.abs(o-r.x)+Math.abs(f-r.y)>c.maxMoveDistance;return t&&i&&s<c.maxClickDuration&&!A}handleClickEvent(e,r,t,i,n){if(this.isProperClick(e,r,t,i,n)){const r={...a(e,this.domElement),button:e instanceof MouseEvent?e.button:void 0};this._events.click.fire(r)}}}c.maxMoveDistance=8,c.maxClickDuration=250,Math.log(2);const A=require("assert");var b=t.n(A);new e.BufferGeometry,e.Group,new e.Vector3,new e.Box3,e.Object3D,new e.Vector3;class l{constructor(e){this._originalState={},this._renderer=e,this._originalState={}}setScissor(r,t,i,n){const a=this._renderer.getScissor(new e.Vector4);this._originalState={scissorData:a,...this._originalState},this._renderer.setScissor(r,t,i,n)}setScissorTest(e){this._originalState={scissorTest:this._renderer.getScissorTest(),...this._originalState},this._renderer.setScissorTest(e)}setClearColor(r,t){this._originalState={clearColor:this._renderer.getClearColor(new e.Color),clearAlpha:this._renderer.getClearAlpha(),...this._originalState},this._renderer.setClearColor(r,t)}setWebGLState(e,r=l.DefaultWebGLState){var t,i,n,a,o,f,s;if(this._originalState={webGLState:{buffers:(null==e?void 0:e.buffers)?{}:void 0},...this._originalState},null===(t=null==e?void 0:e.buffers)||void 0===t?void 0:t.depth){const t=null===(i=e.buffers.depth)||void 0===i?void 0:i.test,c=null===(n=e.buffers.depth)||void 0===n?void 0:n.mask;this._originalState.webGLState.buffers.depth={test:void 0!==t?null===(o=null===(a=r.buffers)||void 0===a?void 0:a.depth)||void 0===o?void 0:o.test:void 0,mask:void 0!==c?null===(s=null===(f=r.buffers)||void 0===f?void 0:f.depth)||void 0===s?void 0:s.mask:void 0},void 0!==c&&this._renderer.state.buffers.depth.setMask(c),void 0!==t&&this._renderer.state.buffers.depth.setTest(t)}}setSize(r,t){this._originalState={size:this._renderer.getSize(new e.Vector2),...this._originalState},this._renderer.setSize(r,t)}set localClippingEnabled(e){this._originalState={localClippingEnabled:this._renderer.localClippingEnabled,...this._originalState},this._renderer.localClippingEnabled=e}set autoClear(e){this._originalState={autoClear:this._renderer.autoClear,...this._originalState},this._renderer.autoClear=e}set autoClearDepth(e){this._originalState={autoClearDepth:this._renderer.autoClearDepth,...this._originalState},this._renderer.autoClearDepth=e}setRenderTarget(e){this._originalState={renderTarget:this._renderer.getRenderTarget(),...this._originalState},this._renderer.setRenderTarget(e)}resetState(){var e,r,t,i;if(void 0!==this._originalState.autoClear&&(this._renderer.autoClear=this._originalState.autoClear),void 0!==this._originalState.autoClearDepth&&(this._renderer.autoClearDepth=this._originalState.autoClearDepth),void 0!==this._originalState.clearColor&&this._renderer.setClearColor(this._originalState.clearColor,this._originalState.clearAlpha),void 0!==this._originalState.localClippingEnabled&&(this._renderer.localClippingEnabled=this._originalState.localClippingEnabled),void 0!==this._originalState.size&&this._renderer.setSize(this._originalState.size.width,this._originalState.size.height),void 0!==this._originalState.renderTarget&&this._renderer.setRenderTarget(this._originalState.renderTarget),void 0!==this._originalState.scissorData&&this._renderer.setScissor(this._originalState.scissorData),void 0!==this._originalState.scissorTest&&this._renderer.setScissorTest(this._originalState.scissorTest),void 0!==this._originalState.webGLState&&(this._renderer.state.reset(),null===(r=null===(e=this._originalState.webGLState)||void 0===e?void 0:e.buffers)||void 0===r?void 0:r.depth)){const e=null===(t=this._originalState.webGLState.buffers.depth)||void 0===t?void 0:t.test,r=null===(i=this._originalState.webGLState.buffers.depth)||void 0===i?void 0:i.mask;void 0!==r&&this._renderer.state.buffers.depth.setMask(r),void 0!==e&&this._renderer.state.buffers.depth.setTest(e)}this._originalState={}}}l.DefaultWebGLState={buffers:{depth:{mask:!0,test:!0}}},require("comlink");const u=require("loglevel");class _{constructor(e){this._value=e,this._lastAccessTime=Date.now()}get value(){return this.touch(),this._value}get lastAccessTime(){return this._lastAccessTime}touch(){this._lastAccessTime=Date.now()}}class p{constructor(e=50,r,t=10){this._data=new Map,this._maxElementsInCache=e,this._defaultCleanupCount=Math.max(t,1),this._removeCallback=r}has(e){return this._data.has(e)}forceInsert(e,r){this.isFull()&&this.cleanCache(this._defaultCleanupCount),this.insert(e,r)}insert(e,r){if(this._data.size<this._maxElementsInCache)this._data.set(e,new _(r));else if(this._maxElementsInCache>0)throw new Error("Cache full, please clean Cache and retry adding data")}remove(e){if(void 0!==this._removeCallback){const r=this._data.get(e);void 0!==r&&this._removeCallback(r.value)}this._data.delete(e)}get(e){const r=this._data.get(e);if(void 0!==r)return r.value;throw new Error(`Cache element ${e} does not exist`)}isFull(){return this._data.size>=this._maxElementsInCache}cleanCache(e){const r=Array.from(this._data.entries());r.sort(((e,r)=>r[1].lastAccessTime-e[1].lastAccessTime));for(let t=0;t<e;t++){const e=r.pop();if(void 0===e)return;this.remove(e[0])}}resize(e){this._maxElementsInCache=e,this._defaultCleanupCount=Math.max(e*p.CLEANUP_COUNT_TO_CAPACITY_RATIO,1),this.isFull()&&this.cleanCache(this._data.size-this._maxElementsInCache)}clear(){if(void 0!==this._removeCallback)for(const e of this._data.values())this._removeCallback(e.value);this._data.clear()}}p.CLEANUP_COUNT_TO_CAPACITY_RATIO=.2,require("lodash/chunk"),require("lodash/map");const k={renderSize:new e.Vector2,position:new e.Vector3};Symbol.toStringTag,require("lodash/remove");class d{constructor(){this._disposedEvent=new n,this._disposed=!1}on(e,r){"disposed"===e?this._disposedEvent.subscribe(r):s(e)}off(e,r){"disposed"===e?this._disposedEvent.unsubscribe(r):s(e)}dispose(){if(this._disposed)throw new Error("Already disposed");this._disposed=!0,this._disposedEvent.fire(),this._disposedEvent.unsubscribeAll()}ensureNotDisposed(){if(this._disposed)throw new Error("The tool has been disposed")}}const m=require("lodash/range");var h=t.n(m);class y{constructor(e,r){this._removedElements=new Set,this._dimensions=r,this._cells=h()(0,r[0]*r[1]).map((()=>new Array)),this._bounds=e}insert(e,r){if(!this._bounds.intersectsBox(e))throw new Error("Element to be added must be partially inside grid");if(this._removedElements.has(r))throw new Error("Re-adding previously taken elements is currently not supported");for(const t of this.cellsIntersecting(e))t.push({bounds:e,element:r})}*overlappingElements(e){if(!this._bounds.intersectsBox(e))return;const r=new Set;for(const t of this.cellsIntersecting(e))for(const i of t)r.has(i.element)||this._removedElements.has(i.element)||!e.intersectsBox(i.bounds)||(r.add(i.element),yield i.element)}*removeOverlappingElements(e){if(this._bounds.intersectsBox(e))for(const r of this.cellsIntersecting(e))for(let t=0;t<r.length;t++){const i=r[t];!this._removedElements.has(i.element)&&e.intersectsBox(i.bounds)&&(this._removedElements.add(i.element),yield i.element)}}*cellsIntersecting(r){const{min:t,max:i}=this._bounds,n=this._dimensions[0],a=this._dimensions[1],o=(r.min.x-t.x)/(i.x-t.x),f=(r.max.x-t.x)/(i.x-t.x),s=(r.min.y-t.y)/(i.y-t.y),c=(r.max.y-t.y)/(i.y-t.y),A=e.MathUtils.clamp,b=A(Math.floor(n*o),0,n-1),l=A(Math.floor(n*f),0,n-1),u=A(Math.floor(a*s),0,a-1),_=A(Math.floor(a*c),0,a-1);for(let e=u;e<=_;++e)for(let r=b;r<=l;++r)yield this._cells[e*n+r]}}const v=require("mixpanel-browser");var g=t.n(v);const w=require("lodash/throttle");var T=t.n(w);const{VERSION:C,MIXPANEL_TOKEN:E}={VERSION:"3.2.0",WORKER_VERSION:"1.3.0",MIXPANEL_TOKEN:"8c900bdfe458e32b768450c20750853d",IS_DEVELOPMENT_MODE:!1};class N{constructor(e,r,t){g().init(E,{batch_requests:!0,disable_cookie:!0,disable_persistence:!0,ip:!1,property_blacklist:["$city","$region","mp_country_code","$geo_source","$timezone","mp_lib","$lib_version","$device_id","$user_id","$current_url","$screen_width","$screen_height","$referrer","$referring_domain","$initial_referrer","$initial_referring_domain"]}),g().reset(),g().identify("reveal-single-user"),this._sessionProps={VERSION:C,project:"unknown",application:"unknown",sessionId:"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(function(e){const r=16*Math.random()|0;return("x"==e?r:3&r|8).toString(16)}))},e&&(this._sessionProps.project=e),r&&(this._sessionProps.application=r),this.innerTrackEvent("init",t)}static init(e,r,t,i){if(void 0===globalThis.revealMetricsLogger&&e){const e=new N(r,t,i);globalThis.revealMetricsLogger={metricsLogger:e}}}innerTrackEvent(e,r){const t={...this._sessionProps,...r};g().track(e,t)}static trackEvent(e,r){globalThis.revealMetricsLogger&&globalThis.revealMetricsLogger.metricsLogger.innerTrackEvent(e,r)}static trackCreateTool(e){N.trackEvent("toolCreated",{toolName:e})}static trackLoadModel(e,r,t){N.trackEvent("loadModel",{...e,modelIdentifier:r,modelVersion:t})}static trackCadModelStyled(e,r){N.trackEvent("cadModelStyleAssigned",{nodeCollectionClassToken:e,style:r})}static trackCadNodeTransformOverriddenImpl(e,r){const{zeroVector:t,oneVector:i,identityRotation:n,translation:a,scale:o,rotation:f}=N.trackCadNodeTransformOverriddenVars;r.decompose(a,f,o);const s=Math.abs(f.angleTo(n))>1e-5,c=a.distanceToSquared(t)>1e-5,A=o.distanceToSquared(i)>1e-5;N.trackEvent("cadNodeTransformOverridden",{nodeCount:e,hasTranslation:c,hasRotation:s,hasScale:A})}static trackCameraNavigationImpl(e){N.trackEvent("cameraNavigated",e)}static trackError(e,r){u.error(e),void 0!==e?this.trackEvent("error",{message:e.message||e,name:e.name,stack:e.stack,...r}):this.trackEvent("error",{name:"unknown",...r})}}N.TrackCameraNavigationThrottleDelay=5e3,N.TrackCadNodeTransformOverriddenThrottleDelay=1e3,N.trackCadNodeTransformOverriddenVars={zeroVector:new e.Vector3(0,0,0),oneVector:new e.Vector3(1,1,1),identityRotation:(new e.Quaternion).identity(),translation:new e.Vector3,scale:new e.Vector3,rotation:new e.Quaternion},N.trackCadNodeTransformOverridden=T()(((e,r)=>N.trackCadNodeTransformOverriddenImpl(e,r)),N.TrackCadNodeTransformOverriddenThrottleDelay),N.trackCameraNavigation=T()((e=>N.trackCameraNavigationImpl(e)),N.TrackCameraNavigationThrottleDelay);class G extends d{constructor(r,t){super(),this._htmlOverlays=new Map,this._compositeOverlays=[],this._preallocatedVariables={camPos:new e.Vector3,camNormal:new e.Vector3,point:new e.Vector3,nearPlane:new e.Plane,farPlane:new e.Plane,position2D:new e.Vector2},this._onSceneRenderedHandler=this.onSceneRendered.bind(this),this._onViewerDisposedHandler=this.onViewerDisposed.bind(this),this._options=null!=t?t:{},this._viewer=r,this._viewer.on("sceneRendered",this._onSceneRenderedHandler),this._viewer.on("disposed",this._onViewerDisposedHandler),this.scheduleUpdate=f()((()=>this.forceUpdate()),20),this._visible=!0,N.trackCreateTool("HtmlOverlayTool")}get viewerDomElement(){return this._viewer.domElement}get viewerCamera(){return this._viewer.getCamera()}get viewerRenderer(){return this._viewer.renderer}get elements(){return Array.from(this._htmlOverlays.entries()).map((([e,r])=>({element:e,position3D:r.position3D})))}dispose(){this._viewer.off("sceneRendered",this._onSceneRenderedHandler),this._viewer.off("disposed",this._onViewerDisposedHandler),this.clear(),super.dispose()}add(r,t,i={}){if(this.ensureNotDisposed(),this.viewerDomElement.contains(r))throw new Error("Element is already attached to viewer");r.style.visibility="hidden",this.viewerDomElement.appendChild(r);const n=getComputedStyle(r);if("absolute"!==n.position)throw this.viewerDomElement.removeChild(r),new Error(`htmlElement style must have a position of absolute. but was '${n.position}'`);const a={position3D:t,options:i,state:{position2D:new e.Vector2,width:-1,height:-1,visible:!0}};this._htmlOverlays.set(r,a),this.scheduleUpdate()}remove(e){if(this.ensureNotDisposed(),!this.viewerDomElement.contains(e)||!this._htmlOverlays.has(e))throw new Error("Element is not attached to viewer");this.viewerDomElement.removeChild(e),this._htmlOverlays.delete(e)}clear(){const e=Array.from(this._htmlOverlays.keys());for(const r of e)this.remove(r);this.forceUpdate()}visible(e){const r=!0===e?"visible":"hidden";this._visible=e,this._htmlOverlays.forEach(((e,t)=>{t.style.visibility=r})),this._compositeOverlays.forEach((e=>{e.style.visibility=r})),this.forceUpdate()}forceUpdate(){if(!this._visible)return;if(this.ensureNotDisposed(),this.cleanupClusterElements(),0===this._htmlOverlays.size)return;this.updateNewElementSizes();const r=this.viewerCamera,t=this.viewerRenderer,{camPos:i,camNormal:n,point:a,nearPlane:o,farPlane:f,position2D:s}=this._preallocatedVariables;r.getWorldPosition(i),r.getWorldDirection(n),a.copy(i).addScaledVector(n,r.near),o.setFromNormalAndCoplanarPoint(n,a),a.copy(i).addScaledVector(n,r.far),f.setFromNormalAndCoplanarPoint(n,a),this._htmlOverlays.forEach(((n,a)=>{const{position3D:c,options:{positionUpdatedCallback:A,userData:b},state:l}=n,u=o.distanceToPoint(c)>=0&&f.distanceToPoint(c)<=0,{x:_,y:p}=function(r,t,i,n=new e.Vector3){!function(r,t,i=new e.Vector3){const{position:n}=k;n.copy(t),n.project(r);const a=(n.x+1)/2,o=(1-n.y)/2;i.set(a,o,n.z)}(t,i,n);const{renderSize:a}=k;r.getSize(a);const o=r.domElement,{width:f,height:s}=o.getBoundingClientRect();return n.x=Math.round(n.x*f),n.y=Math.round(n.y*s),n}(t,r,c);if(u?(l.position2D.set(_,p),l.visible=!0):l.visible=!1,A){s.set(_,p);const e=i.distanceTo(c);A(a,s,c,e,b)}})),this.clusterElements(),this.commitDOMChanges()}updateNewElementSizes(){this._htmlOverlays.forEach(((e,r)=>{if(-1===e.state.width){const t=r.getBoundingClientRect();e.state.width=t.width,e.state.height=t.height}}))}commitDOMChanges(){const e=this.viewerRenderer.domElement,r=e.offsetLeft,t=e.offsetTop;this._htmlOverlays.forEach(((e,i)=>{const{state:n}=e;i.style.left=`${n.position2D.x+r}px`,i.style.top=`${n.position2D.y+t}px`,n.visible&&"visible"!==i.style.visibility?function(e){e.style.visibility="visible",e.style.opacity="1",e.style.transition="opacity 0.2s linear"}(i):n.visible||"hidden"===i.style.visibility||function(e){e.style.visibility="hidden",e.style.opacity="0",e.style.transition="visibility 0s 0.2s, opacity 0.2s linear"}(i)})),this._compositeOverlays.forEach((e=>{this.viewerDomElement.appendChild(e)}))}clusterElements(){const e=this._options.clusteringOptions;void 0!==e&&("overlapInScreenSpace"===e.mode?this.clusterByOverlapInScreenSpace(e.createClusterElementCallback):s(e.mode,`Unsupported clustering mode: '${e.mode}`))}cleanupClusterElements(){this._compositeOverlays.forEach((e=>{this.viewerDomElement.removeChild(e)})),this._compositeOverlays.splice(0)}clusterByOverlapInScreenSpace(r){const t=(i=this.viewerRenderer.domElement.getBoundingClientRect(),(n=null!=n?n:new e.Box2).min.set(i.left,i.top),n.max.set(i.right,i.bottom),n);var i,n;const a=t.getSize(new e.Vector2);t.set(new e.Vector2(0,0),a);const o=new y(t,[10,10]);for(const[e,r]of this._htmlOverlays.entries()){const{state:i}=r,n=R(r);i.visible&&n.intersectsBox(t)&&o.insert(n,{htmlElement:e,...r})}const f=new e.Box2,s=new e.Vector2;for(const e of this._htmlOverlays.values()){const{state:i}=e;if(R(e,f),!i.visible||!f.intersectsBox(t))continue;const n=Array.from(o.removeOverlappingElements(f));if(n.length>1){const e=n.reduce(((e,r)=>e.add(r.state.position2D)),s.set(0,0)).divideScalar(n.length),t=r(n.map((e=>({htmlElement:e.htmlElement,userData:e.options.userData}))));n.forEach((e=>e.state.visible=!1)),this.addComposite(t,e)}}}addComposite(e,r){const t=this.viewerRenderer.domElement;e.style.visibility="visible",e.style.left=`${r.x+t.offsetLeft}px`,e.style.top=`${r.y+t.offsetTop}px`,this._compositeOverlays.push(e)}onSceneRendered(){this.forceUpdate()}onViewerDisposed(){this.dispose()}}function R(r,t){const{state:i}=r;return(t=null!=t?t:new e.Box2).min.set(i.position2D.x,i.position2D.y),t.max.set(i.position2D.x+i.width,i.position2D.y+i.height),t}class V extends d{constructor(e,r){super(),this._cadModel=r,this._rootTreeIndex=e,this.preloadBoundingBoxData(r,e),N.trackCreateTool("ExplodedViewTool")}get readyPromise(){return this._treeBoundingBoxdata.then()}async expand(e){const r=await this._treeBoundingBoxdata;await Promise.all(r.map((({treeIndex:r,direction:t,transform:i})=>0===e?(this._cadModel.resetNodeTransformByTreeIndex(r),Promise.resolve(0)):(i.setPosition(t.x*e,t.y*e,t.z*e),this._cadModel.setNodeTransformByTreeIndex(r,i)))))}reset(){this._cadModel.resetNodeTransformByTreeIndex(this._rootTreeIndex,!0)}preloadBoundingBoxData(r,t){const i=r.getBoundingBoxByTreeIndex(t).then((r=>r.getCenter(new e.Vector3))),n=r.getSubtreeTreeIndices(t).then((e=>{if(e.count>1e3)throw new Error(`Subtree size of ${e.count} is too large (max size = 1000)`);return e})).then((t=>Promise.all(t.toArray().map((async t=>({subTreeIndex:t,subTreeIndexBoundingBoxCenter:(await r.getBoundingBoxByTreeIndex(t)).getCenter(new e.Vector3)}))))));this._treeBoundingBoxdata=Promise.all([i,n]).then((r=>{const[t,i]=r;return i.map((({subTreeIndex:r,subTreeIndexBoundingBoxCenter:i})=>({treeIndex:r,direction:(new e.Vector3).subVectors(i,t),transform:new e.Matrix4})))})).then((async e=>(await Promise.all(e.map((e=>r.setNodeTransformByTreeIndex(e.treeIndex,e.transform)))),e)))}}class D extends d{constructor(e){super(),this._onViewerDisposedHandler=this.onViewerDisposed.bind(this),this._viewer=e,this._viewer.on("disposed",this._onViewerDisposedHandler)}get viewerCamera(){return this._viewer.getCamera()}dispose(){this._viewer.off("disposed",this._onViewerDisposedHandler),super.dispose()}showCameraHelper(){this.hideCameraHelper(),this._cameraHelper=new e.CameraHelper(this.viewerCamera.clone()),this._viewer.addObject3D(this._cameraHelper)}hideCameraHelper(){void 0!==this._cameraHelper&&(this._viewer.removeObject3D(this._cameraHelper),this._cameraHelper=void 0)}onViewerDisposed(){this.dispose()}}const M=require("lodash/cloneDeep");var U=t.n(M);const I=require("lodash/merge");var B=t.n(I);const Z=require("@tweenjs/tween.js");var W=t.n(Z);const F=require("glslify");var x,S=t.n(F);!function(e){e[e.TopRight=0]="TopRight",e[e.TopLeft=1]="TopLeft",e[e.BottomLeft=2]="BottomLeft",e[e.BottomRight=3]="BottomRight"}(x||(x={}));const j={ringLabel:"N",labelDelta:Math.PI,fontSize:void 0,fontColor:new e.Color(16711680),tickColor:new e.Color(9737364)},O={label:"",fontSize:void 0,fontColor:new e.Color(3355443),outlineSize:void 0,outlineColor:new e.Color(3355443),faceColor:new e.Color(9737364)},Y={size:128,position:{corner:x.BottomRight,padding:new e.Vector2},animationSpeed:200,faces:{xPositiveFace:{...O,label:"Right"},xNegativeFace:{...O,label:"Left"},yPositiveFace:{...O,label:"Up"},yNegativeFace:{...O,label:"Down"},zPositiveFace:{...O,label:"Front"},zNegativeFace:{...O,label:"Back"}},compass:j};class J extends d{constructor(r,t){super(),this._dynamicUpdatePosition=()=>{},this._updateClickDiv=()=>{},this._screenPosition=new e.Vector2,this._boxFaceGeometry=new e.PlaneGeometry(.9,.9,1,1),this._raycaster=new e.Raycaster,this._raycaster.layers.enableAll(),this._viewer=r,this._layoutConfig=B()(U()(Y),t),this._axisGroup=new e.Group,this._axisGroup.name="Axis View Tool",this._axisGroup.renderOrder=1,this._interactiveObjects=this.createAxisCross(this._axisGroup),[this._updateClickDiv,this._disposeClickDiv]=this.createClickDiv(r),this.addAxisBoxToViewer(this._axisGroup,this._layoutConfig.position),N.trackCreateTool("AxisViewTool")}dispose(){super.dispose(),this._viewer.removeObject3D(this._axisGroup),this._disposeClickDiv()}createClickDiv(e){if(null===e.domElement.querySelector("canvas"))throw new Error("Could not find canvas");const r=document.createElement("div");r.style.position="absolute",r.style.height=`${this._layoutConfig.size}px`,r.style.width=`${this._layoutConfig.size}px`,r.style.zIndex="1";let t=0,i=0;return r.addEventListener("mousedown",(r=>{const n=new MouseEvent("mousedown",{clientX:r.clientX,clientY:r.clientY,button:r.button});t=r.clientX,i=r.clientY,e.renderer.domElement.dispatchEvent(n)})),r.addEventListener("mousemove",(r=>{const t=new MouseEvent("mousemove",{clientX:r.clientX,clientY:r.clientY,button:r.button});e.renderer.domElement.dispatchEvent(t)})),r.addEventListener("contextmenu",(e=>e.preventDefault())),r.addEventListener("mouseup",(r=>{const n=new MouseEvent("mouseup",{clientX:r.clientX,clientY:r.clientY,button:r.button}),a=e.domElement.getBoundingClientRect(),o=r.clientX-a.left,f=r.clientY-a.top;Math.abs(t-r.clientX)+Math.abs(i-r.clientY)<=10&&!this.handleClick(o,f,a)&&e.renderer.domElement.dispatchEvent(n)})),e.domElement.appendChild(r),[()=>{r.style.left=`${this._screenPosition.x}px`,r.style.bottom=`${this._screenPosition.y}px`},()=>{e.domElement.removeChild(r)}]}addAxisBoxToViewer(e,r){const t=this._layoutConfig.size;if(function(e){return void 0!==e.xAbsolute&&void 0!==e.yAbsolute}(r))this._screenPosition.x=r.xAbsolute,this._screenPosition.y=r.yAbsolute;else{switch(r.corner){case x.BottomRight:this._screenPosition.y=r.padding.y,this._dynamicUpdatePosition=()=>{this._screenPosition.x=this._viewer.renderer.domElement.clientWidth-r.padding.x-t};break;case x.TopRight:this._dynamicUpdatePosition=()=>{this._screenPosition.x=this._viewer.renderer.domElement.clientWidth-r.padding.x-t,this._screenPosition.y=this._viewer.renderer.domElement.clientHeight-r.padding.y-t};break;case x.TopLeft:this._screenPosition.x=r.padding.x,this._dynamicUpdatePosition=()=>{this._screenPosition.y=this._viewer.renderer.domElement.clientHeight-r.padding.y-t};break;case x.BottomLeft:this._screenPosition.x=r.padding.x,this._screenPosition.y=r.padding.y;break;default:throw new Error(`Unknown corner position for Axis Cross: Corner = ${r.corner}`)}this._dynamicUpdatePosition()}this._viewer.addObject3D(e)}handleClick(r,t,i){const n=2*(r-this._screenPosition.x)/this._layoutConfig.size-1,a=2*(i.height-t-this._screenPosition.y)/this._layoutConfig.size-1,o=new e.Vector3(n,a,1),f=new e.Vector3(0,0,-1).normalize();this._raycaster.set(o,f);const s=this._raycaster.intersectObjects(this._interactiveObjects);if(!(s.length>0))return!1;const c=s[0].object.position.clone().normalize(),A=s[0].object.userData.upVector.clone();return this.moveCameraTo(c,A),!0}createAxisCross(e){const r=this.createCompass();e.add(r);const t=this.createBoxFaces();return e.add(...t),this.setupTransformOnRender(e),t}setupTransformOnRender(r){r.children[0].onBeforeRender=t=>{this._dynamicUpdatePosition(),r.quaternion.copy(this._viewer.getCamera().quaternion).invert(),r.updateMatrixWorld(),this._updateClickDiv();const i=t.domElement.clientWidth,n=t.domElement.clientHeight,a=new e.Vector2;t.getSize(a);const o=this._layoutConfig.size,f=new e.Vector2(o/i,o/n),s=new e.Vector2(this._screenPosition.x/i*2+o/i,this._screenPosition.y/n*2+o/n);r.traverse((r=>{r instanceof e.Mesh&&(r.material.uniforms.offset.value=s,r.material.uniforms.scale.value=f,r.material.uniformsNeedUpdate=!0)}))}}createBoxFaces(){const r=this._layoutConfig.faces;return[this.createBoxFace(new e.Vector3(1,0,0),r.xPositiveFace),this.createBoxFace(new e.Vector3(-1,0,0),r.xNegativeFace),this.createBoxFace(new e.Vector3(0,1,0),r.yPositiveFace,new e.Vector3(0,0,-1)),this.createBoxFace(new e.Vector3(0,-1,0),r.yNegativeFace,new e.Vector3(0,0,1)),this.createBoxFace(new e.Vector3(0,0,1),r.zPositiveFace),this.createBoxFace(new e.Vector3(0,0,-1),r.zNegativeFace)]}createCompass(){const r=new e.PlaneGeometry(2,2,1,1),i=new e.Mesh(r,new e.RawShaderMaterial({vertexShader:S()(t(479).Z),fragmentShader:S()(t(430).Z),uniforms:{offset:{value:new e.Vector2},scale:{value:new e.Vector2},tex:{value:this.createCompassTexture()}},side:e.DoubleSide,glslVersion:e.GLSL3,depthTest:!1,blending:e.CustomBlending,blendDst:e.OneMinusSrcAlphaFactor,blendSrc:e.SrcAlphaFactor}));i.frustumCulled=!1,i.renderOrder=1;const n=Math.sin(this._layoutConfig.compass.labelDelta),a=Math.cos(this._layoutConfig.compass.labelDelta);return i.position.y=-.45,i.up.copy(new e.Vector3(n,0,a)),i.lookAt(0,0,0),i}createCompassTexture(){var r;const t=this._layoutConfig.compass,i=this._layoutConfig.size,n=document.createElement("canvas");n.width=i,n.height=i;const a=n.getContext("2d"),o=i/2,f=o-o/4,s=i/32,c=i/8;if(a.strokeStyle=t.tickColor.getStyle(),a.lineWidth=i/16,a.setLineDash([s,c]),a.beginPath(),a.arc(o,o,f,0,2*Math.PI),a.stroke(),t.ringLabel&&t.ringLabel.length>0){const e=null!==(r=t.fontSize)&&void 0!==r?r:i/5;a.font=`bold ${e}px Arial`,a.textAlign="center",a.fillStyle=t.fontColor.getStyle(),a.fillText(t.ringLabel,o,o*(1/4)+e/3)}return new e.CanvasTexture(n)}getFaceTexture(r,t){var i,n;const a=t/2,o=document.createElement("canvas");o.width=a,o.height=a;const f=o.getContext("2d");f.fillStyle=r.outlineColor.getStyle(),f.fillRect(0,0,a,a),f.fillStyle=r.faceColor.getStyle();const s=null!==(i=r.outlineSize)&&void 0!==i?i:a/32;if(f.fillRect(s,s,a-2*s,a-2*s),f.fill(),""!==r.label){const e=null!==(n=r.fontSize)&&void 0!==n?n:a/3;f.font=`bold ${e}px Arial`,f.textAlign="center",f.fillStyle=r.fontColor.getStyle(),f.fillText(r.label,a/2,a/2+e/3)}return new e.CanvasTexture(o)}createBoxFace(r,i,n=new e.Vector3(0,1,0)){const a=new e.Mesh(this._boxFaceGeometry,new e.RawShaderMaterial({vertexShader:S()(t(479).Z),fragmentShader:S()(t(430).Z),uniforms:{offset:{value:new e.Vector2},scale:{value:new e.Vector2},tex:{value:this.getFaceTexture(i,this._layoutConfig.size)}},depthTest:!1,glslVersion:e.GLSL3,transparent:!0}));return a.frustumCulled=!1,a.renderOrder=1e3,a.position.copy(r.multiplyScalar(.5*this._boxFaceGeometry.parameters.width)),a.lookAt(r.multiplyScalar(2)),a.userData.upVector=n,a}moveCameraTo(r,t){const i=this._viewer.cameraManager,{position:n,target:a,rotation:o}=i.getCameraState(),f=n.clone().sub(a),s=f.length(),c=f.clone().normalize(),A=Math.acos(c.dot(r)),b={t:0},l=new(W().Tween)(b),u=r.clone(),_=o.clone(),p=(new e.Quaternion).setFromRotationMatrix((new e.Matrix4).makeBasis(t.clone().cross(u),t,u));if(_.angleTo(p)<1e-6)return;const k=new e.Vector3,d=new e.Quaternion;l.to({t:1},this._layoutConfig.animationSpeed).onUpdate((()=>{k.copy(c).multiplyScalar(Math.sin((1-b.t)*A)/Math.sin(A)).add(r.clone().multiplyScalar(Math.sin(b.t*A)/Math.sin(A))),k.multiplyScalar(s),k.add(a),d.slerpQuaternions(_,p,b.t),i.setCameraState({position:k,rotation:d})})).onComplete((()=>{i.setCameraState({position:k,target:a})})).start(W().now()).update(W().now())}}const Q=require("geo-three");var z,L,P,X,H,q,K,$,ee,re,te,ie,ne,ae;!function(e){e.BingMap="BingMap",e.HereMap="HereMap",e.MapboxMap="MapboxMap",e.OpenStreetMap="OpenStreetMap"}(z||(z={})),function(e){e[e.Style=100]="Style",e[e.Map_Id=101]="Map_Id"}(L||(L={})),function(e){e.Streets="mapbox/streets-v10",e.Outdoor="mapbox/outdoors-v10",e.Light="mapbox/light-v9",e.Dark="mapbox/dark-v9",e.Satellite="mapbox/satellite-v9",e.Satellite_Streets="mapbox/satellite-streets-v10",e.Navigation_Day="mapbox/navigation-preview-day-v4",e.Navigation_Night="mapbox/navigation-preview-night-v4",e.Navigation_Guide_Day="mapbox/navigation-guidance-day-v4",e.Navigation_Guide_Night="mapbox/navigation-guidance-night-v4"}(P||(P={})),function(e){e.Streets="mapbox.mapbox-streets-v7",e.Satellite="mapbox.satellite",e.Terrain="mapbox.mapbox-terrain-v2",e.Traffic="mapbox.mapbox-traffic-v1",e.TerrainRGB="mapbox.terrain-rgb"}(X||(X={})),function(e){e.PNG="png",e.PNG32="png32",e.PNG64="png64",e.PNG128="png128",e.PNG256="png256",e.JPG70="jpg70",e.JPG80="jpg80",e.JPG90="jpg90",e.PNGRAW="pngraw"}(H||(H={})),function(e){e.Aerial="a",e.Road="r",e.Aerial_Labels="h",e.Oblique="o",e.Oblique_Labels="b"}(q||(q={})),function(e){e.GIF="gif",e.JPEG="jpeg",e.PNG="png"}(K||(K={})),function(e){e.Aerial="aerial",e.Base="base",e.Pano="pano",e.Traffic="traffic"}($||($={})),function(e){e.Day="normal.day",e.Night="normal.night",e.Terrain="terrain.day",e.Satellite="satellite.day"}(ee||(ee={})),function(e){e.PNG="png",e.PNG8="png8",e.JPG="jpg"}(re||(re={}));class oe{constructor(e,r){this._intervalId=0,this._onCameraChange=this.handleCameraChange.bind(this),this._viewer=e;const t=this.getMapProvider(r);this._map=new Q.GEOTHREE.MapView(Q.GEOTHREE.MapView.PLANAR,t,t),this._viewer.addObject3D(this._map);const i=Q.GEOTHREE.UnitsUtils.datumsToSpherical(r.latlong.latitude,r.latlong.longitude),n=this._viewer.models[0].getModelBoundingBox();this._map.position.set(-i.x,n.min.y,i.y),this._map.updateMatrixWorld(!0),this.requestRedraw(1e4),this._viewer.on("cameraChange",this._onCameraChange)}requestRedraw(e){0==this._intervalId&&(this._intervalId=setInterval((()=>{this._viewer.requestRedraw()}),100),setTimeout((()=>{clearInterval(this._intervalId),this._intervalId=0}),e))}getMapProvider(e){let r;switch(e.provider){case z.BingMap:r=new Q.GEOTHREE.BingMapsProvider(e.APIKey,e.type);break;case z.HereMap:r=new Q.GEOTHREE.HereMapsProvider(e.APIKey,e.appCode,e.style,e.scheme,e.imageFormat,e.size);break;case z.MapboxMap:r=new Q.GEOTHREE.MapBoxProvider(e.APIKey,e.id,e.mode,e.tileFormat);break;case z.OpenStreetMap:r=new Q.GEOTHREE.OpenStreetMapsProvider;break;default:throw new Error("Unsupported map provider")}return r}latLongToWorldCoordinates(e){return Q.GEOTHREE.UnitsUtils.datumsToSpherical(e.latitude,e.longitude)}handleCameraChange(){this.requestRedraw(1e3)}dispose(){this._viewer.removeObject3D(this._map),this._viewer.off("cameraChange",this._onCameraChange)}}class fe extends d{constructor(e,r){super(),this._viewer=e,this._maps=new oe(this._viewer,r),N.trackCreateTool("GeomapTool")}latLongToWorldCoordinates(e){return this._maps.latLongToWorldCoordinates(e)}dispose(){super.dispose(),this._maps.dispose()}}class se{constructor(e,r){this._nodeCollectionAndAppearance=[],this._model=e,this._date=r}getKeyframeDate(){return this._date}activate(){this._nodeCollectionAndAppearance.forEach(((e,r)=>{this._model.assignStyledNodeCollection(e.nodes,e.nodeAppearance)}))}deactivate(){this._nodeCollectionAndAppearance.forEach(((e,r)=>{this._model.unassignStyledNodeCollection(e.nodes)}))}assignStyledNodeCollection(e,r){N.trackCadModelStyled(e.classToken,r);const t=this._nodeCollectionAndAppearance.findIndex((r=>r.nodes===e));-1!==t?this._nodeCollectionAndAppearance[t].nodeAppearance=r:this._nodeCollectionAndAppearance.push({nodes:e,nodeAppearance:r})}unassignStyledNodeCollection(e){const r=this._nodeCollectionAndAppearance.findIndex((r=>r.nodes===e));if(-1===r)throw new Error("Node collection has not been assigned to model");this._nodeCollectionAndAppearance.splice(r,1)}}class ce extends d{constructor(e){super(),this._playback=void 0,this._events={dateChanged:new n},this._model=e,this._keyframes=new Array}subscribe(e,r){"dateChanged"===e?this._events.dateChanged.subscribe(r):s(e,`Unsupported event: '${e}'`)}unsubscribe(e,r){"dateChanged"===e?this._events.dateChanged.unsubscribe(r):s(e,`Unsupported event: '${e}'`)}createKeyframe(e){const r=new se(this._model,e);return this._keyframes.push(r),this.sortKeyframesByDates(),r}getKeyframeByDate(e){return this._keyframes.find((r=>r.getKeyframeDate()===e))}removeKeyframe(e){const r=this._keyframes.findIndex((r=>r===e));r>-1&&this._keyframes.splice(r,1)}removeKeyframeByDate(e){const r=this._keyframes.findIndex((r=>r.getKeyframeDate()===e));r>-1&&this._keyframes.splice(r,1)}play(e,r,t){this.stop();const i={dateInMs:e.getTime()},n={dateInMs:r.getTime()},a=new(W().Tween)(i).to(n,t);let o=-1;a.onUpdate((()=>{const t=new Date(i.dateInMs),n=o;for(;o<this._keyframes.length-1&&this._keyframes[o+1].getKeyframeDate().getTime()<=t.getTime();)o++;o!==n&&(-1!==n&&this._keyframes[n].deactivate(),this._keyframes[o].activate()),this._events.dateChanged.fire({date:t,activeKeyframe:this._keyframes[o],startDate:e,endDate:r})})),this._playback=a,a.start()}stop(){void 0!==this._playback&&(this._playback.stop(),this._playback=void 0)}pause(){void 0!==this._playback&&this._playback.isPlaying()&&this._playback.pause()}resume(){void 0!==this._playback&&this._playback.isPaused()&&this._playback.resume()}getAllKeyframes(){return this._keyframes.slice()}dispose(){super.dispose(),this._events.dateChanged.unsubscribeAll()}sortKeyframesByDates(){this._keyframes.length>1&&this._keyframes.sort(((e,r)=>e.getKeyframeDate().getTime()-r.getKeyframeDate().getTime()))}}require("skmeans"),new Map([["meters",1],["meter",1],["m",1],["centimeters",.01],["centimeter",.01],["cm",.01],["millimeters",.001],["millimeter",.001],["mm",.001],["micrometers",1e-6],["micrometer",1e-6],["kilometers",1e3],["kilometer",1e3],["km",1e3],["feet",.3048],["ft",.3048],["inches",.0254],["inch",.0254],["yards",.9144],["yard",.9144],["miles",1609.34],["miles",1609.34],["mile",1609.34],["mils",254e-7],["mil",254e-7],["microinches",2.54e-8],["microinch",2.54e-8]]),(ie=te||(te={})).EptPointCloud="ept-pointcloud",ie.RevealCadModel="reveal-directory",ie.GltfCadModel="gltf-directory",ie.AnyFormat="all-outputs",(new e.Matrix4).set(1,0,0,0,0,0,1,0,0,-1,0,0,0,0,0,1),require("@cognite/sdk-core"),new e.Vector3,(ae=ne||(ne={}))[ae.Discarded=0]="Discarded",ae[ae.Simple=1]="Simple",ae[ae.Detailed=2]="Detailed",e.Group,new e.Vector3,new e.Vector3,new e.Sphere,new e.Box3,new e.Vector3,new e.Vector3,new e.Vector3,new e.Vector3,new e.Matrix4,new e.Vector3,new e.Vector3,new e.Vector3,new e.Matrix4,new e.Box3,new e.Box3;const{boxGeometry:Ae,boxGeometryBoundingBox:be}=(()=>{const r=function(){const r=function(){const e=[1,3,2,6,4,5],r=[];for(let t=0;t<e.length;t++){const i=(t+1)%e.length;r.push(0),r.push(e[t]),r.push(e[i]),r.push(7),r.push(e[i]),r.push(e[t])}return r}(),t=new Float32Array([-.5,-.5,-.5,-.5,-.5,.5,-.5,.5,-.5,-.5,.5,.5,.5,-.5,-.5,.5,-.5,.5,.5,.5,-.5,.5,.5,.5]),i=new e.BufferAttribute(t,3,!1),n=new e.BufferGeometry;return n.setIndex(r),n.setAttribute("position",i),n}();try{const e={index:r.getIndex(),position:r.getAttribute("position")};return r.computeBoundingBox(),{boxGeometry:e,boxGeometryBoundingBox:r.boundingBox}}finally{r.dispose()}})(),{quadGeometry:le,quadGeometryBoundingBox:ue}=(()=>{const r=new e.PlaneBufferGeometry(1,1,1,1);try{const e={index:r.getIndex(),position:r.getAttribute("position"),normal:r.getAttribute("normal")};return r.computeBoundingBox(),{quadGeometry:e,quadGeometryBoundingBox:r.boundingBox}}finally{r.dispose()}})(),{trapeziumGeometry:_e,trapeziumGeometryBoundingBox:pe}=(()=>{const r=[0,0,0,1,1,1,2,2,2,3,3,3];return{trapeziumGeometry:{index:new e.BufferAttribute(new Uint16Array([0,1,3,0,3,2]),1),position:new e.BufferAttribute(new Float32Array(r),3)},trapeziumGeometryBoundingBox:(new e.Box3).setFromArray(r)}})(),{coneGeometry:ke,coneGeometryBoundingBox:de}=(()=>{const r=[];r.push(-1,1,-1),r.push(-1,-1,-1),r.push(1,1,-1),r.push(1,-1,-1),r.push(1,1,1),r.push(1,-1,1);const t=new Uint16Array([1,2,0,1,3,2,3,4,2,3,5,4]);return{coneGeometry:{index:new e.BufferAttribute(t,1),position:new e.BufferAttribute(new Float32Array(r),3)},coneGeometryBoundingBox:(new e.Box3).setFromArray(r)}})(),{torusLodGeometries:me}=(()=>{const r=(e,r)=>[e,2*r*Math.PI],t=[{tubularSegments:9,radialSegments:18},{tubularSegments:5,radialSegments:12},{tubularSegments:4,radialSegments:5}].map((({tubularSegments:t,radialSegments:i})=>function(r,t,i=((e,r)=>[e,r,0])){const n=[],a=[],o=1/r,f=1/t;for(let e=0;e<=t;e++)for(let t=0;t<=r;t++){const[r,a,s]=i(t*o,e*f);n.push(r||0,a||0,s||0)}for(let e=1;e<=t;e++)for(let t=1;t<=r;t++){const i=(r+1)*e+t-1,n=(r+1)*(e-1)+t-1,o=(r+1)*(e-1)+t,f=(r+1)*e+t;a.push(i,n,f),a.push(n,o,f)}return{index:new e.Uint16BufferAttribute(a,1),position:new e.Float32BufferAttribute(n,3)}}(i,t,r)));return{torusLodGeometries:t}})(),{nutGeometry:he,nutGeometryBoundingBox:ye}=(()=>{const r=new e.CylinderBufferGeometry(.5,.5,1,6);try{r.applyMatrix4((new e.Matrix4).makeRotationX(-Math.PI/2));const t={index:r.getIndex(),position:r.getAttribute("position"),normal:r.getAttribute("normal")};return{nutGeometry:t,nutGeometryBoundingBox:(new e.Box3).setFromArray(t.position.array)}}finally{r.dispose()}})();var ve,ge;(ge=ve||(ve={}))[ge.BoxCollection=0]="BoxCollection",ge[ge.CircleCollection=1]="CircleCollection",ge[ge.ConeCollection=2]="ConeCollection",ge[ge.EccentricConeCollection=3]="EccentricConeCollection",ge[ge.EllipsoidSegmentCollection=4]="EllipsoidSegmentCollection",ge[ge.GeneralCylinderCollection=5]="GeneralCylinderCollection",ge[ge.GeneralRingCollection=6]="GeneralRingCollection",ge[ge.QuadCollection=7]="QuadCollection",ge[ge.TorusSegmentCollection=8]="TorusSegmentCollection",ge[ge.TrapeziumCollection=9]="TrapeziumCollection",ge[ge.NutCollection=10]="NutCollection",ge[ge.TriangleMesh=11]="TriangleMesh",ge[ge.InstanceMesh=12]="InstanceMesh";class we{constructor(){this._textDecoder=new TextDecoder}parseGlbMetadata(e){this.verifyGlbHeaders(e);const{length:r,json:t}=this.parseJson(e),{length:i,byteOffsetToBinContent:n}=this.parseBinHeaders(e,we.CHUNK_HEADER_BYTE_SIZE+r);return{json:t,byteOffsetToBinContent:n,binContentLength:i}}verifyGlbHeaders(e){const r=new DataView(e,0,we.GLB_HEADER_BYTE_SIZE),t=this._textDecoder.decode(new Uint8Array(e,0,4)),i=r.getUint32(4,!0);b()("glTF"===t,"Unknown file format"),b()(2===i,`Unsupported glTF version{${i}}`)}parseJson(e){const r=new DataView(e,we.GLB_HEADER_BYTE_SIZE,we.CHUNK_HEADER_BYTE_SIZE).getUint32(0,!0),t=this._textDecoder.decode(new Uint8Array(e,we.GLB_HEADER_BYTE_SIZE+4,4));b()("JSON"===t);const i=new Uint8Array(e,we.GLB_HEADER_BYTE_SIZE+we.CHUNK_HEADER_BYTE_SIZE,r),n=JSON.parse(this._textDecoder.decode(i));return b()(void 0!==n,"Failed to assign types to gltf json"),{type:t,length:r,json:n}}parseBinHeaders(e,r){const t=new DataView(e,we.GLB_HEADER_BYTE_SIZE+r,we.CHUNK_HEADER_BYTE_SIZE).getUint32(0,!0),i=this._textDecoder.decode(new Uint8Array(e,we.GLB_HEADER_BYTE_SIZE+r+4,4));return b()(i.includes("BIN")),{type:i,byteOffsetToBinContent:we.GLB_HEADER_BYTE_SIZE+r+we.CHUNK_HEADER_BYTE_SIZE,length:t}}}we.GLB_HEADER_BYTE_SIZE=12,we.CHUNK_HEADER_BYTE_SIZE=8,new Map([["SCALAR",1],["VEC2",2],["VEC3",3],["VEC4",4],["MAT2",4],["MAT3",9],["MAT4",16]]),new Map([[5120,Int8Array],[5121,Uint8Array],[5122,Int16Array],[5123,Uint16Array],[5125,Uint32Array],[5126,Float32Array]]),t(812),new Map([[1,Uint8Array],[4,Float32Array]]);new e.Box3(new e.Vector3(-.5,-.5,-1e-4),new e.Vector3(.5,.5,1e-4)),new e.Box3(new e.Vector3(-.5,-.5,-.5),new e.Vector3(.5,.5,.5)),new e.Box3,new e.Vector3,new e.Vector3,new e.Box3;class Te extends d{constructor(r,t={}){super(),this._boundingBoxes=new e.Group,this._viewer=r,this._viewer.addObject3D(this._boundingBoxes),this._options={},this.setOptions(t)}setOptions(e){this._options={showDetailedSectors:!0,showDiscardedSectors:!1,showSimpleSectors:!0,colorBy:"lod",leafsOnly:!1,sectorPathFilterRegex:".*",...e}}dispose(){this._viewer.removeObject3D(this._boundingBoxes)}showSectorBoundingBoxes(e){this._model=e,this.updateBoundingBoxes()}updateBoundingBoxes(){if(this._boundingBoxes.clear(),void 0===this._model)return;this._model.getModelTransformation(this._boundingBoxes.matrix);const e=[];e[ne.Discarded]=this._options.showDiscardedSectors,e[ne.Simple]=this._options.showSimpleSectors,e[ne.Detailed]=this._options.showDetailedSectors;const r=[];this._model.cadNode.traverse((t=>{if(Ee(t)){const i=t;this.isSectorAcceptedByCurrentFilter(i)&&e[i.levelOfDetail]&&(!this._options.leafsOnly||function(e){return!e.children.some((e=>Ee(e)))}(i))&&r.push(i)}})),r.forEach((e=>{const t=this.createBboxNodeFor(e,r);this._boundingBoxes.add(t)})),this._boundingBoxes.updateMatrixWorld(!0),this._viewer.requestRedraw()}isSectorAcceptedByCurrentFilter(e){return new RegExp(this._options.sectorPathFilterRegex).test(e.sectorPath)}createBboxNodeFor(r,t){const i=this._options,n=this._model.cadNode.sectorScene,a=function(){switch(i.colorBy){case"depth":{const t=Math.min(1,r.depth/8);return new e.Color(Ce.green).lerpHSL(Ce.red,t)}case"lod":switch(r.levelOfDetail){case ne.Simple:return Ce.yellow;case ne.Detailed:return Ce.green;case ne.Discarded:return Ce.red;default:s(r.levelOfDetail)}case"random":return(new e.Color).setHSL(Math.random(),1,.5);case"loadedTimestamp":{const i=[...t].sort(((e,r)=>e.updatedTimestamp-r.updatedTimestamp)),n=i.findIndex((e=>e===r)),a=(i.length-1-n)/Math.max(i.length-1,1);return new e.Color(Ce.green).lerpHSL(Ce.red,a)}case"drawcalls":{const[i,a]=t.reduce((([e,r],t)=>{const i=n.getSectorById(t.sectorId);return[Math.min(e,i.estimatedDrawCallCount),Math.max(r,i.estimatedDrawCallCount)]}),[1/0,-1/0]),o=(n.getSectorById(r.sectorId).estimatedDrawCallCount-i)/(a-i);return new e.Color(Ce.green).lerpHSL(Ce.red,o)}default:s(i.colorBy)}}();return new e.Box3Helper(r.bounds,a)}}const Ce={green:new e.Color("#00ff00"),yellow:new e.Color("yellow"),red:new e.Color("red")};function Ee(e){return e.name.match(/^Sector \d+$/)}class Ne{constructor(){Ne.ensureStylesLoaded()}createLabel(e){const r=document.createElement("div");return r.innerText=e,r.className=Ne.stylesId,r}static ensureStylesLoaded(){if(document.getElementById(Ne.stylesId))return;const e=document.createElement("style");e.id=Ne.stylesId,e.appendChild(document.createTextNode(".reveal-measurement-label {\n\tposition: absolute;\n\n /* Anchor to the center of the element and ignore events */\n transform: translate(-50%, -50%);\n pointer-events: none;\n touch-action: none;\n user-select: none;\n border-radius: 6px;\n\n /* Make it look nice */\n padding: 6px;\n color: #fff;\n background: #232323da;\n border: #ffffff22 solid 1px;\n overflow: hidden;\n white-space: nowrap;\n\n /*Font - fallback to generic font if Inter not available*/\n font-family: 'Inter', sans-serif;\n font-style: normal;\n font-weight: 500;\n}\n")),document.head.appendChild(e)}}Ne.stylesId="reveal-measurement-label";const Ge=require("three-stdlib");class Re{constructor(r,t,i){this._position=new Float32Array(6),this._geometry=new Ge.LineGeometry,this._adaptiveWidthLineMaterial=new Ge.LineMaterial({color:t.getHex(),linewidth:r,worldUnits:!0,depthTest:!1}),this._fixedWidthLineMaterial=new Ge.LineMaterial({color:t.getHex(),linewidth:2,worldUnits:!1,depthTest:!1}),this._meshes=new e.Group,this._meshes.name="Measurement";const n=new e.Mesh(new e.BufferGeometry);n.name="onBeforeRenderTrigger trigger (no geometry)",n.frustumCulled=!1;const a=new e.Vector2;n.onBeforeRender=e=>{const{width:r,height:t}=e.domElement.getBoundingClientRect();a.set(r,t),this._adaptiveWidthLineMaterial.resolution=this._fixedWidthLineMaterial.resolution=a},this._meshes.add(n),this.startLine(i)}dispose(){this._geometry&&this._geometry.dispose(),this._adaptiveWidthLineMaterial.dispose(),this._fixedWidthLineMaterial.dispose(),this._meshes.clear(),this._meshes.removeFromParent()}get meshes(){return this._meshes}updateLine(e){this._position[3]=e.x,this._position[4]=e.y,this._position[5]=e.z,this._geometry.setPositions(this._position)}getMeasuredDistance(){const r=new e.Vector3(this._position[0],this._position[1],this._position[2]);return new e.Vector3(this._position[3],this._position[4],this._position[5]).distanceTo(r)}getMidPointOnLine(){const r=new e.Vector3(this._position[0],this._position[1],this._position[2]);let t=new e.Vector3(this._position[3],this._position[4],this._position[5]).clone().sub(r);const i=t.length();return t=t.normalize().multiplyScalar(.5*i),r.clone().add(t)}updateLineWidth(e){this._adaptiveWidthLineMaterial.linewidth=e}updateLineColor(e){this._fixedWidthLineMaterial.color=this._adaptiveWidthLineMaterial.color=e}startLine(e){this._position[0]=this._position[3]=e.x,this._position[1]=this._position[4]=e.y,this._position[2]=this._position[5]=e.z,this._geometry.setPositions(this._position);const r=new Ge.Line2(this._geometry,this._adaptiveWidthLineMaterial);r.computeLineDistances(),r.renderOrder=100;const t=new Ge.Line2(this._geometry,this._fixedWidthLineMaterial);t.computeLineDistances(),t.renderOrder=100,this._meshes.add(r),this._meshes.add(t)}}class Ve{constructor(r,t,i,n,a,o){this._measurement={measurementId:0,startPoint:new e.Vector3,endPoint:new e.Vector3,distanceInMeters:0},this._options=n,this._measurementLabel=new Ne,this._htmlOverlay=a,this._domElement=r,this._camera=t,this._meshGroup=i,this._startPoint=o,this._distanceToCamera=this._camera.getWorldPosition(new e.Vector3).distanceTo(o),this._line=this.startMeasurement(o),this._meshGroup.add(this._line.meshes)}update(e){const{offsetX:r,offsetY:t}=e;this._line.updateLine(this.pointerTo3DPosition(r,t))}endMeasurement(e){const{distanceToLabelCallback:r}=this._options;this._line.updateLine(e);const t=r(this._line.getMeasuredDistance());this._labelElement=this.addLabel(this._line.getMidPointOnLine(),t),this._measurement={measurementId:Date.now(),startPoint:this._startPoint,endPoint:e,distanceInMeters:this._line.getMeasuredDistance()}}removeMeasurement(){this._meshGroup.remove(this._line.meshes),this._labelElement&&this._htmlOverlay.remove(this._labelElement),this._line&&this._line.dispose()}getMeasurement(){return this._measurement}updateLineWidth(e){this._line.updateLineWidth(e)}updateLineColor(e){this._line.updateLineColor(e)}startMeasurement(e){return new Re(this._options.lineWidth,this._options.color,e)}addLabel(e,r){const t=this._measurementLabel.createLabel(r);return this._htmlOverlay.add(t,e),t}pointerTo3DPosition(r,t){const i=new e.Vector3,n=new e.Vector2;n.x=r/this._domElement.clientWidth*2-1,n.y=-t/this._domElement.clientHeight*2+1;const a=new e.Vector3,o=new e.Ray,f=new e.Vector3;return f.setFromMatrixPosition(this._camera.matrixWorld),o.origin.copy(f),a.set(n.x,n.y,.5).unproject(this._camera).sub(o.origin).normalize(),o.direction.copy(a),o.at(this._distanceToCamera,i),i}}class De extends d{constructor(r,t){super(),this._geometryGroup=new e.Group,this._handleLabelClustering=this.createCombineClusterElement.bind(this),this._handlePointerClick=this.onPointerClick.bind(this),this._handlePointerMove=this.onPointerMove.bind(this),this._handleMeasurementCancel=this.onKeyDown.bind(this),this._events={measurementAdded:new n,measurementStarted:new n,measurementEnded:new n,disposed:new n},this._overlayOptions={clusteringOptions:{mode:"overlapInScreenSpace",createClusterElementCallback:this._handleLabelClustering}},this._viewer=r,this._options={...De.defaultLineOptions,...t},this._measurements=[],this._measurementMode=!1,this._htmlOverlay=new G(this._viewer,this._overlayOptions),this._geometryGroup.name=De.name,this._viewer.addObject3D(this._geometryGroup)}get isInMeasurementMode(){return this._measurementMode}on(e,r){switch(e){case"added":this._events.measurementAdded.subscribe(r);break;case"started":this._events.measurementStarted.subscribe(r);break;case"ended":this._events.measurementEnded.subscribe(r);break;case"disposed":this._events.disposed.subscribe(r);break;default:s(e,`Unsupported event: '${e}'`)}}off(e,r){switch(e){case"added":this._events.measurementAdded.unsubscribe(r);break;case"started":this._events.measurementStarted.unsubscribe(r);break;case"ended":this._events.measurementEnded.unsubscribe(r);break;case"disposed":this._events.disposed.unsubscribe(r);break;default:s(e,`Unsupported event: '${e}'`)}}enterMeasurementMode(){if(this._measurementMode)throw new Error("Measurement mode is active, call exitMeasurementMode()");this._viewer.on("click",this._handlePointerClick),this._events.measurementStarted.fire(),this._measurementMode=!0}exitMeasurementMode(){if(!this._measurementMode)throw new Error("Measurement mode is not active, call enterMeasurementMode()");this.cancelActiveMeasurement(),this._viewer.off("click",this._handlePointerClick),this._events.measurementEnded.fire(),this._measurementMode=!1}removeMeasurement(e){const r=this._measurements.findIndex((r=>r.getMeasurement()===e));if(-1===r)throw new Error("Measurement not found");this._measurements[r].removeMeasurement(),this._measurements.splice(r,1),this._viewer.requestRedraw()}removeAllMeasurements(){this._measurements.forEach((e=>{e.removeMeasurement()})),this._measurements.splice(0),this._viewer.requestRedraw()}setMeasurementLabelsVisible(e){this._htmlOverlay.visible(e)}setLineOptions(e){this._options={...this._options,...e}}updateLineWidth(e,r){const t=this._measurements.findIndex((r=>r.getMeasurement()===e));if(-1===t)throw new Error("Measurement not found");this._measurements[t].updateLineWidth(r),this._viewer.requestRedraw()}updateLineColor(e,r){const t=this._measurements.findIndex((r=>r.getMeasurement()===e));if(-1===t)throw new Error("Measurement not found");this._measurements[t].updateLineColor(r),this._viewer.requestRedraw()}getAllMeasurements(){return this._measurements.map((e=>e.getMeasurement()))}dispose(){var e;this.removeAllMeasurements(),this.exitMeasurementMode(),null===(e=this._activeMeasurement)||void 0===e||e.removeMeasurement(),this._htmlOverlay.dispose(),this._geometryGroup.clear(),this._viewer.removeObject3D(this._geometryGroup),this._events.measurementAdded.unsubscribeAll(),this._events.measurementStarted.unsubscribeAll(),this._events.measurementEnded.unsubscribeAll(),super.dispose()}async onPointerClick(e){const{offsetX:r,offsetY:t}=e,i=await this._viewer.getIntersectionFromPixel(r,t);if(i){if(this._activeMeasurement)this._activeMeasurement.endMeasurement(i.point),this._measurements.push(this._activeMeasurement),this._activeMeasurement=void 0,this._events.measurementAdded.fire(this._measurements[this._measurements.length-1].getMeasurement()),this._viewer.domElement.removeEventListener("pointermove",this._handlePointerMove),window.removeEventListener("keydown",this._handleMeasurementCancel);else{const e=this._viewer.getCamera(),r=this._viewer.domElement;this._activeMeasurement=new Ve(r,e,this._geometryGroup,this._options,this._htmlOverlay,i.point),this._viewer.domElement.addEventListener("pointermove",this._handlePointerMove),window.addEventListener("keydown",this._handleMeasurementCancel)}this._viewer.requestRedraw()}}onPointerMove(e){this._activeMeasurement&&(this._activeMeasurement.update(e),this._viewer.requestRedraw())}createCombineClusterElement(){const e=document.createElement("div");return e.className=Ne.stylesId,e.innerHTML='<?xml version="1.0" encoding="UTF-8"?>\n<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="50px" height="20px" viewBox="0 0 50 20" version="1.1">\n<g id="surface1">\n<path style=" stroke:none;fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:0.8;" d="M 0.832031 4 C 0.371094 4 0 4.148438 0 4.332031 L 0 10 C 0 10.183594 0.371094 10.332031 0.832031 10.332031 C 1.292969 10.332031 1.667969 10.183594 1.667969 10 L 1.667969 4.332031 C 1.667969 4.148438 1.292969 4 0.832031 4 Z M 0.832031 4 "/>\n<path style=" stroke:none;fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:0.8;" d="M 49.167969 4 C 48.707031 4 48.332031 4.148438 48.332031 4.332031 L 48.332031 10 C 48.332031 10.183594 48.707031 10.332031 49.167969 10.332031 C 49.628906 10.332031 50 10.183594 50 10 L 50 4.332031 C 50 4.148438 49.628906 4 49.167969 4 Z M 49.167969 4 "/>\n<path style=" stroke:none;fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:0.8;" d="M 49.582031 11.332031 L 46.25 11.332031 C 46.019531 11.332031 45.835938 11.40625 45.835938 11.5 L 45.835938 12.332031 C 45.835938 12.515625 45.460938 12.667969 45 12.667969 C 44.542969 12.667969 44.167969 12.519531 44.167969 12.332031 L 44.167969 11.5 C 44.167969 11.40625 43.980469 11.332031 43.75 11.332031 L 41.25 11.332031 C 41.019531 11.332031 40.835938 11.40625 40.835938 11.5 L 40.835938 13 C 40.835938 13.183594 40.460938 13.332031 40 13.332031 C 39.542969 13.332031 39.167969 13.183594 39.167969 13 L 39.167969 11.5 C 39.167969 11.40625 38.980469 11.332031 38.75 11.332031 L 36.25 11.332031 C 36.019531 11.332031 35.832031 11.40625 35.832031 11.5 L 35.835938 12.332031 C 35.835938 12.515625 35.460938 12.667969 35 12.667969 C 34.539062 12.667969 34.167969 12.519531 34.167969 12.332031 L 34.167969 11.5 C 34.167969 11.40625 33.980469 11.332031 33.75 11.332031 L 31.25 11.332031 C 31.019531 11.332031 30.832031 11.40625 30.832031 11.5 L 30.835938 13 C 30.835938 13.183594 30.460938 13.332031 30 13.332031 C 29.539062 13.332031 29.167969 13.183594 29.167969 13 L 29.167969 11.5 C 29.167969 11.40625 28.980469 11.332031 28.75 11.332031 L 26.25 11.332031 C 26.019531 11.332031 25.832031 11.40625 25.832031 11.5 L 25.835938 12.332031 C 25.835938 12.515625 25.460938 12.667969 25 12.667969 C 24.539062 12.667969 24.167969 12.519531 24.167969 12.332031 L 24.167969 11.5 C 24.167969 11.40625 23.980469 11.332031 23.75 11.332031 L 21.25 11.332031 C 21.019531 11.332031 20.832031 11.40625 20.832031 11.5 L 20.835938 13 C 20.835938 13.183594 20.460938 13.332031 20 13.332031 C 19.539062 13.332031 19.167969 13.183594 19.167969 13 L 19.167969 11.5 C 19.167969 11.40625 18.980469 11.332031 18.75 11.332031 L 16.25 11.332031 C 16.019531 11.332031 15.832031 11.40625 15.832031 11.5 L 15.835938 12.332031 C 15.835938 12.515625 15.460938 12.667969 15 12.667969 C 14.539062 12.667969 14.167969 12.519531 14.167969 12.332031 L 14.167969 11.5 C 14.167969 11.40625 13.980469 11.332031 13.75 11.332031 L 11.25 11.332031 C 11.019531 11.332031 10.832031 11.40625 10.832031 11.5 L 10.835938 13 C 10.835938 13.183594 10.460938 13.332031 10 13.332031 C 9.539062 13.332031 9.167969 13.183594 9.167969 13 L 9.167969 11.5 C 9.167969 11.40625 8.980469 11.332031 8.75 11.332031 L 6.25 11.332031 C 6.019531 11.332031 5.832031 11.40625 5.832031 11.5 L 5.832031 12.332031 C 5.832031 12.519531 5.460938 12.667969 5 12.667969 C 4.539062 12.667969 4.167969 12.519531 4.167969 12.332031 L 4.167969 11.5 C 4.167969 11.40625 3.980469 11.332031 3.75 11.332031 L 0.417969 11.332031 C 0.1875 11.332031 0 11.40625 0 11.5 L 0 15.832031 C 0 15.925781 0.1875 16 0.417969 16 L 49.582031 16 C 49.8125 16 50 15.925781 50 15.832031 L 50 11.5 C 50 11.40625 49.8125 11.332031 49.582031 11.332031 Z M 49.582031 11.332031 "/>\n<path style=" stroke:none;fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:0.8;" d="M 46.488281 7.121094 L 42.617188 5.121094 C 42.410156 5.011719 42.066406 4.972656 41.761719 5.019531 C 41.453125 5.066406 41.25 5.191406 41.25 5.332031 L 41.25 7 L 8.75 7 L 8.75 5.332031 C 8.75 5.191406 8.546875 5.066406 8.238281 5.019531 C 7.933594 4.972656 7.589844 5.011719 7.382812 5.121094 L 3.511719 7.121094 C 3.394531 7.183594 3.332031 7.257812 3.332031 7.332031 C 3.332031 7.410156 3.394531 7.484375 3.511719 7.546875 L 7.382812 9.546875 C 7.53125 9.625 7.75 9.667969 7.976562 9.667969 C 8.0625 9.667969 8.152344 9.660156 8.238281 9.648438 C 8.546875 9.597656 8.75 9.472656 8.75 9.332031 L 8.75 7.667969 L 41.25 7.667969 L 41.25 9.332031 C 41.25 9.472656 41.453125 9.597656 41.757812 9.648438 C 41.84375 9.660156 41.933594 9.667969 42.023438 9.667969 C 42.246094 9.667969 42.464844 9.625 42.617188 9.546875 L 46.488281 7.546875 C 46.605469 7.484375 46.667969 7.410156 46.667969 7.332031 C 46.667969 7.257812 46.605469 7.183594 46.488281 7.121094 Z M 46.488281 7.121094 "/>\n</g>\n</svg>\n',e}static metersLabelCallback(e){return`${e.toFixed(2)} m`}onKeyDown(e){e.metaKey||e.altKey||e.ctrlKey||"Escape"===e.key&&(this.cancelActiveMeasurement(),e.preventDefault())}cancelActiveMeasurement(){this._activeMeasurement&&(this._activeMeasurement.removeMeasurement(),this._activeMeasurement=void 0,this._viewer.requestRedraw(),this._viewer.domElement.removeEventListener("pointermove",this._handlePointerMove))}}De.defaultLineOptions={distanceToLabelCallback:e=>De.metersLabelCallback(e),lineWidth:.01,color:new e.Color(16746310)}})(),i})()));
281
3
  //# sourceMappingURL=tools.map